mirror of
https://github.com/Jerryplusy/rc-plugin.git
synced 2025-12-05 18:01:56 +00:00
🐞 fix: 修复netease中ck过期无法刷新的问题
This commit is contained in:
parent
ec147c0317
commit
68edefe056
@ -15,6 +15,7 @@ import {
|
|||||||
} from "../utils/netease.js";
|
} from "../utils/netease.js";
|
||||||
import { ha12store, store2ha1 } from "../utils/encrypt.js";
|
import { ha12store, store2ha1 } from "../utils/encrypt.js";
|
||||||
import fetch from "node-fetch";
|
import fetch from "node-fetch";
|
||||||
|
import _ from "lodash";
|
||||||
|
|
||||||
export class neteasepro extends plugin {
|
export class neteasepro extends plugin {
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -70,9 +71,16 @@ export class neteasepro extends plugin {
|
|||||||
neteaseCookie = cookie;
|
neteaseCookie = cookie;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
const userData = await redis.get(await this.getRedisKey(e.user_id));
|
||||||
|
// 如果cookie存在但是为空
|
||||||
|
if (_.isEmpty(userData)) {
|
||||||
|
await redis.del(await this.getRedisKey(e.user_id));
|
||||||
|
e.reply("发生已知错误:cookie为空,请重试 #网易云登录 即可!")
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 已经登陆过的,直接从redis取出
|
// 已经登陆过的,直接从redis取出
|
||||||
neteaseCookie = await store2ha1(
|
neteaseCookie = await store2ha1(
|
||||||
JSON.parse(await redis.get(await this.getRedisKey(e.user_id))).cookie
|
JSON.parse(userData).cookie
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
@ -211,16 +219,28 @@ export class neteasepro extends plugin {
|
|||||||
// 切面方法检测cookie & 获取cookie和uid
|
// 切面方法检测cookie & 获取cookie和uid
|
||||||
async aopBefore(e) {
|
async aopBefore(e) {
|
||||||
// 取出cookie
|
// 取出cookie
|
||||||
let userInfo = JSON.parse(await redis.get(await this.getRedisKey(e.user_id)));
|
const userDataJson = await redis.get(await this.getRedisKey(e.user_id));
|
||||||
const cookie = userInfo?.cookie;
|
|
||||||
// 如果不存在cookie
|
// 如果不存在cookie
|
||||||
if (!cookie) {
|
if (_.isEmpty(userDataJson)) {
|
||||||
e.reply("请先#网易云登录");
|
e.reply("请先#网易云登录");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
let userData = JSON.parse(userDataJson);
|
||||||
|
const cookie = userData?.cookie;
|
||||||
|
console.log(cookie);
|
||||||
// 解析cookie
|
// 解析cookie
|
||||||
userInfo.cookie = store2ha1(cookie);
|
userData.cookie = await store2ha1(cookie);
|
||||||
return userInfo;
|
// 检查cookie是否可用
|
||||||
|
const userInfo = await getLoginStatus(userData.cookie);
|
||||||
|
console.log(userData);
|
||||||
|
if (_.isNil(userInfo.profile)) {
|
||||||
|
e.reply("cookie已经过期,请重新#网易云登录!");
|
||||||
|
// 删除过期的cookie
|
||||||
|
await redis.del(await this.getRedisKey(e.user_id));
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
// 没有过期直接返回
|
||||||
|
return userData;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 下载二维码
|
// 下载二维码
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user