51 lines
1.5 KiB
JavaScript
51 lines
1.5 KiB
JavaScript
import { httpGet } from './request'
|
|
import { name, author } from '../../../package.json'
|
|
|
|
// TODO add Notice
|
|
|
|
export const getVersionInfo = async(retryNum = 0) => {
|
|
return await new Promise((resolve, reject) => {
|
|
httpGet(`https://raw.githubusercontent.com/${author.name}/${name}/master/publish/version.json`, {
|
|
timeout: 20000,
|
|
}, (err, resp, body) => {
|
|
if (err) {
|
|
return ++retryNum > 3
|
|
? getVersionInfo2().then(resolve).catch(reject)
|
|
: getVersionInfo(retryNum).then(resolve).catch(reject)
|
|
}
|
|
resolve(body)
|
|
})
|
|
})
|
|
}
|
|
|
|
const getVersionInfo2 = async(retryNum = 0) => {
|
|
return await new Promise((resolve, reject) => {
|
|
httpGet('https://gitee.com/lyswhut/lx-music-desktop-versions/raw/master/version.json', {
|
|
timeout: 20000,
|
|
}, (err, resp, body) => {
|
|
if (!err && !body.version) err = new Error(JSON.stringify(body))
|
|
if (err) {
|
|
return ++retryNum > 3
|
|
? getVersionInfo3().then(resolve).catch(reject)
|
|
: getVersionInfo2(retryNum).then(resolve).catch(reject)
|
|
}
|
|
resolve(body)
|
|
})
|
|
})
|
|
}
|
|
|
|
const getVersionInfo3 = async(retryNum = 0) => {
|
|
return await new Promise((resolve, reject) => {
|
|
httpGet('https://cdn.stsky.cn/lx-music/desktop/version.json', {
|
|
timeout: 20000,
|
|
}, (err, resp, body) => {
|
|
if (err) {
|
|
return ++retryNum > 3
|
|
? reject(err)
|
|
: getVersionInfo3(retryNum).then(resolve).catch(reject)
|
|
}
|
|
resolve(body)
|
|
})
|
|
})
|
|
}
|