feat(jd): 添加京东CK重排序脚本
- 实现了京东Cookie的自动重排序功能 - 通过QL面板API获取并操作环境变量 - 支持将指定CK移动到指定位置 - 添加了对CK状态的过滤处理 - 集成了错误处理和日志记录机制 - 配置了定时执行的cron表达式
This commit is contained in:
71
jd/moving_env_enhance.js
Normal file
71
jd/moving_env_enhance.js
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
/**
|
||||||
|
* cron: 59 23 *\/3 * *
|
||||||
|
*
|
||||||
|
* 京东Cookie辅助脚本(将JD CK进行重排序 保证所有账号都有助力与被助力的机会)
|
||||||
|
*/
|
||||||
|
const { Env } = require('../common');
|
||||||
|
const $ = new Env('京东Cookie辅助脚本(将JD CK进行重排序)');
|
||||||
|
const fs = require('fs').promises;
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
const envName = 'JD_COOKIE';
|
||||||
|
const qlPanelUrl = 'https://ql.zhuhjay.cn';
|
||||||
|
|
||||||
|
|
||||||
|
!(async () => {
|
||||||
|
let token = JSON.parse(await fs.readFile('/ql/data/config/auth.json', 'utf-8'))?.token;
|
||||||
|
if(!token) return $.log('未登录');
|
||||||
|
const rsp1 = await fetch(`${qlPanelUrl}/api/envs?t=${Date.now()}`, {
|
||||||
|
"headers": {
|
||||||
|
"authorization": `Bearer ${token}`,
|
||||||
|
"content-type": 'application/json'
|
||||||
|
},
|
||||||
|
"body": null,
|
||||||
|
"method": "GET",
|
||||||
|
});
|
||||||
|
const { data } = await rsp1.json();
|
||||||
|
let cks = data.map((item, idx) => {
|
||||||
|
return {
|
||||||
|
idx,
|
||||||
|
item
|
||||||
|
}
|
||||||
|
}).filter(d => d.item.name === envName && d.item.status === 0);
|
||||||
|
|
||||||
|
// 将最后一个放置到最前
|
||||||
|
let moveingCk = cks[cks.length - 1];
|
||||||
|
let toIdx = 0;
|
||||||
|
const rsp2 = await fetch(`${qlPanelUrl}/api/envs/${moveingCk.item.id}/move?t=${Date.now()}`, {
|
||||||
|
"headers": {
|
||||||
|
"authorization": `Bearer ${token}`,
|
||||||
|
"content-type": 'application/json'
|
||||||
|
},
|
||||||
|
"body": JSON.stringify({
|
||||||
|
fromIndex: moveingCk.idx,
|
||||||
|
toIndex: toIdx
|
||||||
|
}),
|
||||||
|
"method": "PUT",
|
||||||
|
});
|
||||||
|
await rsp2.json();
|
||||||
|
|
||||||
|
// 将 第一个 ck 移动到最后一个即可
|
||||||
|
|
||||||
|
// let moveingCk = cks[0];
|
||||||
|
// let toIdx = cks[cks.length - 1].idx;
|
||||||
|
// const rsp2 = await fetch(`${qlPanelUrl}/api/envs/${moveingCk.item.id}/move?t=${Date.now()}`, {
|
||||||
|
// "headers": {
|
||||||
|
// "authorization": `Bearer ${token}`,
|
||||||
|
// "content-type": 'application/json'
|
||||||
|
// },
|
||||||
|
// "body": JSON.stringify({
|
||||||
|
// fromIndex: moveingCk.idx,
|
||||||
|
// toIndex: toIdx
|
||||||
|
// }),
|
||||||
|
// "method": "PUT",
|
||||||
|
// });
|
||||||
|
// await rsp2.json();
|
||||||
|
})()
|
||||||
|
.catch((e) => {
|
||||||
|
$.logErr(e);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
$.done();
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user