diff --git a/src/App.vue b/src/App.vue index 63de7f8..1535686 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,14 +2,20 @@ import { onLaunch, onShow, onHide } from "@dcloudio/uni-app"; import { store } from "./store"; onLaunch(async (query) => { - - console.log("App Launch,扫码的参数信息",query); - wx.getLaunchOptionsSync((res:any) => { - console.log('获取本次应用启动的参数信息',res) - }) + + + // wx.getLaunchOptionsSync((res:any) => { + // console.log('获取本次应用启动的参数信息',res) + // }) await store.dispatch('serveInfo/wxLogin',{authType:'wx',isJudg:true}) // 查看当前用户是否为新用户 // console.log('查看当前用户是否为新用户',res) + let userInfo = uni.getStorageSync('userInfo') + + // savePromoteInfo(query) // 新用户 + if(!userInfo.phoneNumber) savePromoteInfo(query) // 新用户 + + autoUpdate() // 检查版本更新 }); onShow(() => { @@ -18,6 +24,69 @@ onShow(() => { onHide(() => { console.log("App Hide"); }); + +/** + * 自动更新版本 + */ +function autoUpdate(){ + // 获取小程序更新机制兼容 + if (uni.canIUse('getUpdateManager')) { + const updateManager = uni.getUpdateManager() + // 检查是否有新版本发布 + updateManager.onCheckForUpdate(function (res) { + if (res.hasUpdate) { + //小程序有新版本,则静默下载新版本,做好更新准备 + updateManager.onUpdateReady(function () { + // uni.jxAlert({ + // title: '更新提示', + // content: '应用已经升级到新版本了请及时更新', + // success: () => { + // updateManager.applyUpdate() + // } + // }) + uni.showModal({ + title:'更新提示', + content: '应用已经升级到新版本了请及时更新', + confirmText: '确定', + showCancel: false, + confirmColor: "#51b535", + success: () => { + updateManager.applyUpdate() + } + }) + }) + // 新的版本下载失败 + updateManager.onUpdateFailed(function () { + uni.showModal({ + title: '温馨提示', + content: '新版本已经上线,请您删除当前小程序,重新搜索打开', + }) + }) + } + }) + } else { + // 提示用户在最新版本的客户端上体验 + uni.showModal({ + title: '温馨提示', + content: '当前微信版本过低,可能无法使用该功能,请升级到最新版本后重试。' + }) + } +} + +/** + * 是否保存推荐信息 + */ +function savePromoteInfo(query:any){ + if(query?.scene && query.scene === 1047){ + // 扫描小程序码进入 + if(query.query){ + console.log(query,"App Launch,扫码的参数信息",query?.query); + const encodedStr = decodeURIComponent(query.query.scene); // 编码单个参数 + console.log('encodedStr',encodedStr) + uni.setStorageSync('promotionSource',encodedStr.slice(8)) + } + } +}