mirror of https://github.com/lhie1/Rules.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.8 KiB
JavaScript
61 lines
1.8 KiB
JavaScript
function getCurVersion() {
|
|
let version = $file.read("version.fndroid").string
|
|
return version
|
|
}
|
|
|
|
function needRestart() {
|
|
return $http.get({
|
|
url: 'https://raw.githubusercontent.com/Fndroid/jsbox_script/master/Rules-lhie1/restart.fndroid'
|
|
})
|
|
}
|
|
|
|
function getLatestVersion(params) {
|
|
$http.get({
|
|
url: 'https://raw.githubusercontent.com/Fndroid/jsbox_script/master/Rules-lhie1/version.fndroid' + '?t=' + new Date().getTime(),
|
|
handler: res => {
|
|
params.handler(res.data)
|
|
}
|
|
})
|
|
}
|
|
|
|
function updateScript(version) {
|
|
let url = 'https://raw.githubusercontent.com/Fndroid/jsbox_script/master/Rules-lhie1/.output/Rules-lhie1.box' + '?t=' + new Date().getTime()
|
|
const scriptName = $addin.current.name
|
|
let downloadBox = $http.download({
|
|
url: url
|
|
})
|
|
Promise.all([downloadBox, needRestart()]).then(res => {
|
|
let box = res[0].data
|
|
let restart = /true/.test(res[1].data)
|
|
$addin.save({
|
|
name: scriptName,
|
|
data: box,
|
|
handler: (success) => {
|
|
if (success) {
|
|
$ui.toast(`更新完成`)
|
|
if (restart) {
|
|
$delay(0.3, () => {
|
|
$addin.run(scriptName)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
function needUpdate(nv, ov) {
|
|
let getVersionWeight = i => {
|
|
return i.split('.').map(i => i * 1).reduce((s, i) => s * 100 + i)
|
|
}
|
|
return getVersionWeight(nv) > getVersionWeight(ov)
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
getCurVersion: getCurVersion,
|
|
getLatestVersion: getLatestVersion,
|
|
updateScript: updateScript,
|
|
needUpdate: needUpdate
|
|
}
|