Initial commit: new history

This commit is contained in:
king
2025-06-30 21:59:46 +08:00
commit cd32a8c7e5
1945 changed files with 111356 additions and 0 deletions

265
Scripts/qinglong/api.js Normal file
View File

@ -0,0 +1,265 @@
'use strict';
const got = require('got');
require('dotenv').config();
const {readFile} = require('fs/promises');
const fs = require('fs');
let fileExists = fs.existsSync('/ql/data/config/auth.json');
let authFile = "";
if (fileExists)
authFile = "/ql/data/config/auth.json"
else
authFile = "/ql/config/auth.json"
const api = got.extend({
prefixUrl: 'http://127.0.0.1:5600',
retry: {limit: 0},
});
async function getToken() {
const authConfig = JSON.parse(await readFile(authFile));
return authConfig.token;
}
module.exports.getEnvsByNameBackUp = async (searchValue) => {
const token = await getToken();
const body = await api({
url: 'api/envs',
searchParams: {
searchValue: searchValue,
t: Date.now(),
},
headers: {
'Accept': 'application/json',
'authorization': `Bearer ${token}`,
'host': '127.0.0.1',
'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
},
}).json();
return body.data;
};
module.exports.getEnvsByName = async (searchValue) => {
const token = await getToken();
const url = `http://127.0.0.1:5600/api/envs?searchValue=${searchValue}&t=` + Date.now();
const headers = {
"Accept": "application/json",
"authorization": `Bearer ${token}`,
"Content-Type": "application/json;charset=UTF-8",
"host": "127.0.0.1",
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
}
const request = {
method: "get",
headers: headers
}
console.log("url=" + url);
console.log("request=" + JSON.stringify(request));
fetch(url, request)
.then(response => {
console.log(response.status + "\n\n" + response.statusText);
return response.text();
})
.then(body => {
console.log(body);
})
.catch(error => {
console.log(error);
});
};
module.exports.getEnvsCount = async () => {
const data = await this.getEnvsByName();
return data.length;
};
module.exports.addEnv = async (cookie, remarks) => {
const token = await getToken();
return await api({
method: 'post',
url: 'api/envs',
params: {t: Date.now()},
json: [{
name: 'JD_COOKIE',
value: cookie,
remarks,
}],
headers: {
Accept: 'application/json',
authorization: `Bearer ${token}`,
'Content-Type': 'application/json;charset=UTF-8',
},
}).json();
};
module.exports.updateEnv = async (value, eid, remarks) => {
const token = await getToken();
const body = await api({
method: 'put',
url: 'api/envs',
params: {t: Date.now()},
json: {
name: 'JD_COOKIE',
value: value,
_id: eid,
remarks,
},
headers: {
Accept: 'application/json',
authorization: `Bearer ${token}`,
'Content-Type': 'application/json;charset=UTF-8',
},
}).json();
return body;
};
module.exports.updateEnvByIdBackUp = async (name, value, eid, remarks) => {
const token = await getToken();
return await api({
method: 'put',
url: 'api/envs',
params: {t: Date.now()},
json: {
name: name,
value: value,
id: eid,
remarks,
},
headers: {
Accept: 'application/json',
authorization: `Bearer ${token}`,
'Content-Type': 'application/json;charset=UTF-8',
},
}).json();
};
// id是必传字段否则青龙会报错
module.exports.updateEnvById = async (id, name, value, remarks) => {
const token = await getToken();
const url = "http://127.0.0.1:5600/api/envs?t=" + Date.now();
const headers = {
"Accept": "application/json",
"authorization": `Bearer ${token}`,
"Content-Type": "application/json;charset=UTF-8",
"host": "127.0.0.1",
"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
}
const body = {
"id": id,
"name": name,
"value": value,
"remarks": remarks
};
const request = {
method: "put",
headers: headers,
body: JSON.stringify(body)
}
console.log("request=" + JSON.stringify(request));
fetch(url, request)
.then(response => {
console.log(response.status + "\n\n" + response.statusText);
return response.text();
})
.then(body => {
console.log(body);
})
.catch(error => {
console.log(error);
});
};
module.exports.DisableCk = async (eid) => {
const token = await getToken();
const body = await api({
method: 'put',
url: 'api/envs/disable',
params: {t: Date.now()},
body: JSON.stringify([eid]),
headers: {
Accept: 'application/json',
authorization: `Bearer ${token}`,
'Content-Type': 'application/json;charset=UTF-8',
},
}).json();
return body;
};
module.exports.EnableCk = async (eid) => {
const token = await getToken();
const body = await api({
method: 'put',
url: 'api/envs/enable',
params: {t: Date.now()},
body: JSON.stringify([eid]),
headers: {
Accept: 'application/json',
authorization: `Bearer ${token}`,
'Content-Type': 'application/json;charset=UTF-8',
},
}).json();
return body;
};
module.exports.getStatus = async (eid) => {
const envs = await this.getEnvsByName();
var tempid = 0;
for (let i = 0; i < envs.length; i++) {
tempid = 0;
if (envs[i]._id) {
tempid = envs[i]._id;
}
if (envs[i].id) {
tempid = envs[i].id;
}
if (tempid == eid) {
return envs[i].status;
}
}
return 99;
};
module.exports.getEnvById = async (eid) => {
const envs = await this.getEnvsByName();
var tempid = 0;
for (let i = 0; i < envs.length; i++) {
tempid = 0;
if (envs[i]._id) {
tempid = envs[i]._id;
}
if (envs[i].id) {
tempid = envs[i].id;
}
if (tempid == eid) {
return envs[i].value;
}
}
return "";
};
module.exports.getEnvByPtPin = async (Ptpin) => {
const envs = await this.getEnvsByName();
for (let i = 0; i < envs.length; i++) {
var tempptpin = decodeURIComponent(envs[i].value.match(/pt_pin=([^; ]+)(?=;?)/) && envs[i].value.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
if (tempptpin == Ptpin) {
return envs[i];
}
}
return "";
};
module.exports.delEnv = async (eid) => {
const token = await getToken();
const body = await api({
method: 'delete',
url: 'api/envs',
params: {t: Date.now()},
body: JSON.stringify([eid]),
headers: {
Accept: 'application/json',
authorization: `Bearer ${token}`,
'Content-Type': 'application/json;charset=UTF-8',
},
}).json();
return body;
};