mirror of
https://github.com/PaiGramTeam/GetToken.git
synced 2024-11-23 07:50:56 +00:00
64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
const fs = require("fs")
|
|
const axios = require("axios").create({
|
|
validateStatus: _ => true,
|
|
maxBodyLength: Infinity
|
|
})
|
|
|
|
const repo = "PaiGramTeam/GetToken"
|
|
const token = process.env.GHP_TOKEN
|
|
|
|
const getAppVersion = async () => {
|
|
const latestVersionRsp = await axios.get("https://api-takumi.mihoyo.com/ptolemaios/api/getLatestRelease", {
|
|
headers: {
|
|
"x-rpc-client_type": "2",
|
|
"x-rpc-app_version": "2.37.1",
|
|
"x-rpc-channel": "miyousheluodi"
|
|
}
|
|
})
|
|
return latestVersionRsp.data.data
|
|
}
|
|
|
|
const getLatestRelease = async () => {
|
|
const repoLatestVersionRsp = await axios.get(`https://api.github.com/repos/${repo}/releases/latest`)
|
|
return repoLatestVersionRsp.data
|
|
}
|
|
|
|
const createRelease = async (name, desc) => {
|
|
const result = await axios.post(`https://api.github.com/repos/${repo}/releases`, {
|
|
tag_name: name,
|
|
name: name,
|
|
body: desc,
|
|
generate_release_notes: true
|
|
}, {
|
|
headers: {
|
|
"Authorization": `Bearer ${token}`,
|
|
}
|
|
})
|
|
return result.data
|
|
}
|
|
|
|
const uploadReleaseAsset = async (url, path) => {
|
|
const uri = url.substring(0, url.indexOf("{")) + "?name=" + require("path").basename(path)
|
|
const size = fs.statSync(path).size
|
|
const data = fs.readFileSync(path)
|
|
await axios.post(uri, data, {
|
|
headers: {
|
|
"Content-Type": "application/vnd.android.package-archive",
|
|
"Content-Length": `${size}`,
|
|
"Authorization": `Bearer ${token}`,
|
|
}
|
|
})
|
|
}
|
|
|
|
const runWorkflow = async id => {
|
|
return await axios.post(`https://api.github.com/repos/${repo}/actions/workflows/${id}/dispatches`, {
|
|
ref: "master"
|
|
}, {
|
|
headers: {
|
|
"Authorization": `Bearer ${token}`,
|
|
}
|
|
})
|
|
}
|
|
|
|
module.exports = { getAppVersion, getLatestRelease, createRelease, uploadReleaseAsset, runWorkflow }
|