feat: 自己的笔记也需要at才能评论了,优化一下

This commit is contained in:
2025-06-22 09:30:03 +08:00
parent 71359fba88
commit 530a4f21f5
7 changed files with 78 additions and 13 deletions

View File

@@ -33,6 +33,10 @@
},
"./index": {
"import": "./src/index.ts"
},
"./index.ts": {
"import": "./src/index.ts",
"types": "./src/index.ts"
}
},
"dependencies": {

View File

@@ -1,6 +1,6 @@
import { QueryRouterServer } from '@kevisual/router/browser';
import { XhsServices, XhsClient } from '@kevisual/xhs/services/xhs-services.ts';
export { XhsServices };
export const app = new QueryRouterServer();
export const xhsServices = new XhsServices(); // Semicolon separated Cookie File

View File

@@ -1,5 +1,5 @@
import { XhsClient } from './libs/xhs.ts';
import { app, xhsServices, xhsRootClient } from './app.ts';
import { app, xhsServices, xhsRootClient, XhsServices } from './app.ts';
import './routes/index.ts';
export { XhsClient, app, xhsServices, xhsRootClient };
export { XhsClient, app, xhsServices, xhsRootClient, XhsServices };

View File

@@ -125,22 +125,26 @@ app
const handleMention: any[] = [];
for (const mention of mentionList) {
const mention_id = mention.id;
const note_id = mention.item_info.id;
const note_id = mention.item_info.id; // item_info 是笔记信息
const note_userid = mention.item_info.user_info?.userid || '';
const note_username = mention.item_info.user_info?.nickname || '';
const xsec_token = mention.item_info.xsec_token;
let comment: any = Parse.getComment(mention);
// console.log('note_id', note_id, 'xsec_token', xsec_token, comment);
handleMention.push({
mention_id,
note_id,
note_userid,
note_username,
xsec_token,
comment,
mention,
});
}
console.log('获取提及列表成功', res.code, res.data?.message_list?.length);
console.log('获取提及列表成功', '[小红书code]', res.code, '提及数量', res.data?.message_list?.length);
ctx.body = handleMention;
} else {
console.log('获取提及列表失败', res.code);
console.log('获取提及列表失败', '[小红书code]', res.code);
ctx.throw(res.code, '获取提及列表失败');
}
})

View File

@@ -7,6 +7,8 @@ export { XhsClient };
type XhsClientOptions = {
key: string;
cookie: string;
userid?: string;
username?: string;
signConfig?: {
signUrl: string;
};
@@ -88,4 +90,37 @@ export class XhsServices {
const xhsClient = this.map.get(this.getKey(key));
return xhsClient;
}
getXhsUserInfo(key?: string) {
const xhsClient = this.map.get(this.getKey(key));
return {
userid: xhsClient?.options?.userid || '',
username: xhsClient?.options?.username || '',
};
}
isOwner(user: { username: string; userid: string }, key?: string) {
const xhsUserInfo = this.getXhsUserInfo(key);
if (!xhsUserInfo.userid || !xhsUserInfo.username) {
return false;
}
return user.userid === xhsUserInfo.userid;
}
setCookie(cookie: string, key?: string) {
const xhsClient = this.map.get(this.getKey(key));
if (xhsClient) {
xhsClient.options.cookie = cookie;
xhsClient.client.setCookie(cookie);
}
}
/**
* 设置用户信息
* @param user
* @param key
*/
setUserInfo(user: { userid: string; username: string }, key?: string) {
const xhsClient = this.map.get(this.getKey(key));
if (xhsClient) {
xhsClient.options.userid = user.userid;
xhsClient.options.username = user.username;
}
}
}