mirror of
https://github.com/fmz200/wool_scripts.git
synced 2025-12-20 13:43:58 +08:00
266 lines
6.6 KiB
JavaScript
266 lines
6.6 KiB
JavaScript
'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;
|
||
};
|