Commit 2cdbbf39 authored by chenqikuai's avatar chenqikuai

获取最新版本

parent 3dcce0cb
......@@ -40,21 +40,48 @@ import Bridge from '@/utils/jsBridge2'
import { chatAuthCheck } from "./utils/authCheck";
import { clipboardValue, notchHeight } from "./store/AppStore";
import ClipboardJS from "clipboard"
import { judgeClient } from "./utils/env";
import { getLatestVersion } from "./service/VersionService";
export default defineComponent({
setup() {
const btn = ref<HTMLButtonElement | null>(null)
const getNewestApp = () => {
new Bridge().bridge_getNewestApp({
status: 1, // 0代表强制更新 1代表普通更新
modifyContent: '代表本次更新的修改内容', // 代表本次更新的修改内容
versionCode: '版本号', // 版本号
versionName: '版本名称', //版本名称
downloadUrl: '安卓下载链接',
downloadUrl_ios: '下载链接' // 下载链接
})
const getNewestApp = async () => {
const client = judgeClient()
function formatUpdateType(t: number) {
if (t === 1) {
return 1;
} else if (t == 2) {
return 0;
}
}
if (client === 'iOS') {
const ret = await getLatestVersion({ os: 'ios' })
if (ret.code === 200) {
new Bridge().bridge_getNewestApp({
status: formatUpdateType(ret.data.update_type), // 0代表强制更新 1代表普通更新
modifyContent: ret.data.content, // 代表本次更新的修改内容
versionCode: ret.data.version_num, // 版本号
versionName: ret.data.version_name, //版本名称
downloadUrl_ios: ret.data.url // 下载链接
})
}
} else if (client === 'Android') {
const ret = await getLatestVersion({ os: 'android' })
if (ret.code === 200) {
new Bridge().bridge_getNewestApp({
status: formatUpdateType(ret.data.update_type), // 0代表强制更新 1代表普通更新
modifyContent: ret.data.content, // 代表本次更新的修改内容
versionCode: ret.data.version_num, // 版本号
versionName: ret.data.version_name, //版本名称
downloadUrl: ret.data.url,
})
}
}
}
onMounted(() => {
......
import baseAxios from '../index'
export function getLatestVersion(data: { os: 'ios' | 'android' }) {
return baseAxios<{
content: string
id: number
os_type: string
publish_status: number
update_at: number
update_type: number /* 1 normal 2 force*/
url: string
version_name: string
version_num: string
}>({
url: '/version/latest',
method: 'get',
params: data,
})
}
type tClient = 'iOS' | 'Android' | 'PC'
/*判断客户端*/
export function judgeClient(): tClient {
let client: tClient
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//判断iPhone|iPad|iPod|iOS
client = 'iOS'
} else if (/(Android)/i.test(navigator.userAgent)) {
//判断Android
client = 'Android'
} else {
client = 'PC'
}
return client
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment