import uniStarterConfig from '@/uni-starter.config.js'; //应用初始化页 // #ifdef APP-PLUS import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'; import callCheckVersion from '@/uni_modules/uni-upgrade-center-app/utils/call-check-version'; // 实现,路由拦截。当应用无访问摄像头/相册权限,引导跳到设置界面 https://ext.dcloud.net.cn/plugin?id=5095 import interceptorChooseImage from '@/uni_modules/json-interceptor-chooseImage/js_sdk/main.js'; interceptorChooseImage() // #endif const db = uniCloud.database() export default async function() { const debug = uniStarterConfig.debug; // uniStarterConfig挂载到getApp().globalData.config setTimeout(() => { getApp({ allowDefault: true }).globalData.config = uniStarterConfig; }, 1) // 初始化appVersion(仅app生效) initAppVersion(); //clientDB的错误提示 function onDBError({ code, // 错误码详见https://uniapp.dcloud.net.cn/uniCloud/clientdb?id=returnvalue message }) { console.log('onDBError', { code, message }); // 处理错误 console.error(code, message); } // 绑定clientDB错误事件 db.on('error', onDBError) //拦截云对象请求 uniCloud.interceptObject({ async invoke({ objectName, // 云对象名称 methodName, // 云对象的方法名称 params // 参数列表 }) { console.log('interceptObject',{ objectName, // 云对象名称 methodName, // 云对象的方法名称 params // 参数列表 }); if(objectName == "uni-id-co" && (methodName.includes('loginBy') || ['login','registerUser'].includes(methodName) )){ // console.log('执行登录相关云对象'); params[0].inviteCode = await new Promise((callBack) => { uni.getClipboardData({ success: function(res) { // console.log('剪切板内容:'+res.data); if (res.data.slice(0, 18) == 'uniInvitationCode:') { let uniInvitationCode = res.data.slice(18, 38) // console.log('当前用户是其他用户推荐下载的,推荐者的code是:' + uniInvitationCode); // uni.showModal({ // content: '当前用户是其他用户推荐下载的,推荐者的code是:'+uniInvitationCode, // showCancel: false // }); callBack(uniInvitationCode) //当前用户是其他用户推荐下载的。这里登记他的推荐者id 为当前用户的myInviteCode。判断如果是注册 } else { callBack() } }, fail() { console.log('error--'); callBack() }, complete() { // #ifdef MP-WEIXIN uni.hideToast() // #endif } }); }) console.log(params); } console.log(params); }, success(e) { console.log(e); }, complete() { }, fail(e){ console.error(e); if (debug) { // uni.showModal({ // content: JSON.stringify(e), // showCancel: false // }); }else{ uni.showToast({ title: '系统错误请稍后再试', icon:'error' }); } } }) // #ifdef APP-PLUS // 监听并提示设备网络状态变化 uni.onNetworkStatusChange(res => { console.log(res.isConnected); console.log(res.networkType); if (res.networkType != 'none') { uni.showToast({ title: '当前网络类型为:' + res.networkType, icon: 'none', duration: 5000 }) } else { uni.showToast({ title: '网络异常,请重新启动', icon: 'none', duration: 10000 }) // //没有网络就提示 // plus.runtime.quit();、 } }); // #endif // //检查当前网络状态 // uni.getNetworkType({ // success: function (res) { // console.log(res.networkType);//网络类型 wifi、2g、3g、4g、ethernet、unknown、none // if(res.networkType === "none"){ // console.log("当前无网络"); // uni.showToast({ // title: '网络异常,请重新启动', // icon: "none", // duration: 10000 // }); // //重启 // }else{ // //有网络 // console.log("有网络"); // uni.showToast({ // title: '当前网络类型为' + res.networkType, // icon: "none", // duration: 5000 // }); // } // } // }); } /** * // 初始化appVersion */ function initAppVersion() { // #ifdef APP-PLUS let appid = plus.runtime.appid; plus.runtime.getProperty(appid, (wgtInfo) => { let appVersion = plus.runtime; let currentVersion = appVersion.versionCode > wgtInfo.versionCode ? appVersion : wgtInfo; getApp({ allowDefault: true }).appVersion = { ...currentVersion, appid, hasNew: false } // 检查更新小红点 callCheckVersion().then(res => { // console.log('检查是否有可以更新的版本', res); if (res.result.code > 0) { // 有新版本 getApp({ allowDefault: true }).appVersion.hasNew = true; } }) }); // 检查更新 // #endif }