更新 package.json 和多个路由,添加描述和元数据,增强功能和可读性
This commit is contained in:
@@ -19,11 +19,11 @@
|
||||
"build": "bun run bun.config.ts",
|
||||
"browser": "pm2 start start-browser.js --name browser-helper",
|
||||
"cmd": "tsx src/test/cmd.ts ",
|
||||
"pm2": "pm2 start dist/app.js --name /root/browser-helper",
|
||||
"init": "pnpm run init:pnpm && pnpm run init:db && pnpm run init:browser",
|
||||
"init:pnpm": "pnpm approve-builds",
|
||||
"init:db": "npx drizzle-kit push",
|
||||
"studio": "npx drizzle-kit studio",
|
||||
"pm2": "pm2 start dist/app.js --name /root/browser-helper",
|
||||
"drizzle:migrate": "npx drizzle-kit migrate",
|
||||
"drizzle:push": "npx drizzle-kit push"
|
||||
},
|
||||
|
||||
@@ -4,7 +4,11 @@ import { app, core } from "../../app.ts";
|
||||
app.route({
|
||||
path: 'page',
|
||||
key: 'go',
|
||||
middleware: ['auth']
|
||||
middleware: ['auth'],
|
||||
description: '导航到指定页面。参数:url (string, 必需) - 目标 URL 地址',
|
||||
metadata: {
|
||||
tags: ['浏览器操作'],
|
||||
}
|
||||
}).define(async (ctx) => {
|
||||
const url = ctx.query?.url as string;
|
||||
if (!url) {
|
||||
|
||||
@@ -38,7 +38,10 @@ app.route({
|
||||
path: 'window',
|
||||
key: 'manager',
|
||||
description: desc,
|
||||
middleware: ['auth']
|
||||
middleware: ['auth'],
|
||||
metadata: {
|
||||
tags: ['浏览器操作', '窗口管理'],
|
||||
}
|
||||
}).define(async (ctx) => {
|
||||
const bounds = ctx.query as Bounds || {};
|
||||
const { left, top, width, height, windowState } = bounds;
|
||||
|
||||
48
src/routes/good/index.ts
Normal file
48
src/routes/good/index.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import { app, core, db } from '../../app.ts';
|
||||
|
||||
app.route({
|
||||
path: 'good',
|
||||
key: 'searchInfo',
|
||||
description: '搜索小红书今日热门信息差内容。支持自定义关键词,参数keyword(字符串)可选,默认搜索"信息差"',
|
||||
middleware: ['auth'],
|
||||
metadata: {
|
||||
tags: ['小红书', '信息差', '热门'],
|
||||
icon: 'search',
|
||||
}
|
||||
}).define(async (ctx) => {
|
||||
const keyword = ctx.query?.keyword as string || '信息差';
|
||||
const res = await app.run({
|
||||
path: 'xhs',
|
||||
key: 'search-notes',
|
||||
payload: {
|
||||
keyword: keyword,
|
||||
scrollTimes: 5,
|
||||
token: ctx.query?.token as string,
|
||||
}
|
||||
})
|
||||
ctx.forward(res)
|
||||
}).addTo(app);
|
||||
|
||||
|
||||
app.route({
|
||||
path: 'good',
|
||||
key: 'searchWork',
|
||||
description: '搜索小红书今日工作机会与招聘信息。支持自定义关键词搜索,默认搜索"工作 杭州"',
|
||||
middleware: ['auth'],
|
||||
metadata: {
|
||||
tags: ['小红书', '工作', '招聘'],
|
||||
icon: 'search',
|
||||
}
|
||||
}).define(async (ctx) => {
|
||||
const keyword = ctx.query?.keyword as string || '工作 杭州';
|
||||
const res = await app.run({
|
||||
path: 'xhs',
|
||||
key: 'search-notes',
|
||||
payload: {
|
||||
keyword: keyword,
|
||||
scrollTimes: 5,
|
||||
token: ctx.query?.token as string,
|
||||
}
|
||||
})
|
||||
ctx.forward(res)
|
||||
}).addTo(app);
|
||||
@@ -1,2 +1,3 @@
|
||||
import './browser/index.ts';
|
||||
import './xhs/index.ts';
|
||||
import './good/index.ts';
|
||||
@@ -120,7 +120,11 @@ app.route({
|
||||
path: 'xhs',
|
||||
key: 'search-notes',
|
||||
description: searchNoteDesc,
|
||||
middleware: ['auth']
|
||||
middleware: ['auth'],
|
||||
metadata: {
|
||||
tags: ['小红书', '搜索', '笔记'],
|
||||
icon: 'search',
|
||||
}
|
||||
}).define(
|
||||
async (ctx) => {
|
||||
const query = ctx.query!;
|
||||
@@ -153,21 +157,25 @@ app.route({
|
||||
path: 'xhs',
|
||||
key: 'save-search-notes',
|
||||
description: '保存搜索笔记结果',
|
||||
middleware: ['auth']
|
||||
middleware: ['auth'],
|
||||
metadata: {
|
||||
tags: ['小红书', '搜索', '保存'],
|
||||
icon: 'save',
|
||||
}
|
||||
}).define(async (ctx) => {
|
||||
const data = ctx.query!.data as XHS.SearchNote[];
|
||||
try {
|
||||
const getNoteUrl = (note: XHS.SearchNote) => {
|
||||
const id = note.id;
|
||||
const secToken = note.xsec_token;
|
||||
return `https://www.xiaohongshu.com/explore/${id}?xsec_token=${secToken}&xsec_source=pc_feed`
|
||||
return `https://www.xiaohongshu.com/explore/${id}?xsec_token=${secToken}`
|
||||
}
|
||||
const getUserUrl = (note: XHS.SearchNote) => {
|
||||
const user = note.note_card?.user;
|
||||
const id = user?.user_id;
|
||||
const secToken = user?.xsec_token;
|
||||
if (user) {
|
||||
return `https://www.xiaohongshu.com/user/profile/${id}?xsec_token=${secToken}&xsec_source=pc_note`
|
||||
return `https://www.xiaohongshu.com/user/profile/${id}?xsec_token=${secToken}`
|
||||
}
|
||||
return ``
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user