Commit 688f6e97 by zhangxingmin

push

parent f2caa581
<script>
import initApp from "@/util/router.js";
import {interceptor} from "@/util/interceptor";
import {baseURL,apiURL,cffpURL,companyInfo} from "@/environments/environment";
import api from './api/api';
export default {
import initApp from "@/util/router.js";
import {interceptor} from "@/util/interceptor";
import {baseURL,apiURL,cffpURL,companyInfo} from "@/environments/environment";
import api from './api/api';
export default {
data() {
return {
invitationHandled: false // 在data中明确定义
invitationHandled: false
}
},
onLaunch: function() {
......@@ -15,25 +16,10 @@
uni.clearStorageSync();
uni.setStorageSync('loginType','visitor');
}
// 处理外部链接参数
this.handleExternalUrlParams();
// #ifdef APP-PLUS
// uni.downloadFile({
// url: '/cffpUpdate/__UNI__ED34740.wgt',
// success: (downloadResult) => {
// if (downloadResult.statusCode === 200) {
// plus.runtime.install(downloadResult.tempFilePath, {
// force: true
// }, function() {
// console.log('install success...');
// plus.runtime.restart();
// }, function(e) {
// console.error('install fail...');
// });
// }
// }
// });
// #endif
// App更新逻辑
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
uni.getSystemInfo({
......@@ -69,42 +55,36 @@
}
})
})
// #endif
interceptor();
initApp();
},
onShow: function(options) {
console.log('App Show', options);
// 每次进应用显示时检查用户状态
this.checkUserStatus();
// App平台从options获取参数
// #ifdef APP-PLUS
if(options && options.query) {
this.saveUrlParams(options.query);
}
// #endif
},
onHide: function() {
console.log('App Hide')
},
methods: {
// 检查用户状态的方法
async checkUserStatus() {
// 只有已登录用户才需要检查
if(uni.getStorageSync('loginType') == 'codelogin' && uni.getStorageSync('cffp_userId')) {
try {
const res = await api.queryInfo({userId: uni.getStorageSync('cffp_userId')});
if(!res['success']) {
// 用户已注销,清除缓存
this.clearLoginState();
// 如果不是在白名单页面,跳转到登录页
const pages = getCurrentPages();
if(pages.length > 0) {
const currentRoute = pages[pages.length - 1].route;
console.log('currentRoute',currentRoute);
const whiteList = [
'/myPackageA/login/login',
'/pages/invitationRegister/invitationlogin',
......@@ -116,7 +96,7 @@
'/pages/orderDetail/orderDetail',
'/pages/orderStatus/orderStatus',
'/pages/index/index'
] // 根据需要调整
];
if(!whiteList.includes(currentRoute)) {
uni.navigateTo({
url: '/myPackageA/login/login'
......@@ -138,13 +118,12 @@
}
}
},
// 清除登录状态
clearLoginState() {
uni.clearStorageSync();
uni.setStorageSync('loginType', 'visitor');
// 可以在这里添加其他需要清除的状态
},
// 处理外部链接参数
handleExternalUrlParams() {
// #ifdef H5
this.handleH5UrlParams();
......@@ -155,7 +134,6 @@
// #endif
},
// 处理H5平台的URL参数
handleH5UrlParams() {
const url = window.location.href;
if(url.indexOf('?') > -1) {
......@@ -163,12 +141,9 @@
const params = this.parseQueryString(queryString);
this.saveUrlParams(params);
}
},
// 处理App平台的URL参数
handleAppUrlParams() {
// 处理冷启动参数
plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {
const args = plus.runtime.arguments;
if(args) {
......@@ -177,7 +152,6 @@
}
});
// 监听热启动事件
plus.runtime.addEventListener('newintent', (e) => {
const args = e.arguments;
if(args) {
......@@ -187,7 +161,6 @@
});
},
// 解析H5的查询字符串
parseQueryString(queryString) {
const params = {};
const pairs = queryString.split('&');
......@@ -200,9 +173,7 @@
return params;
},
// 解析App启动参数
parseAppLaunchArgs(args) {
// 处理 scheme://path?key=value 格式
if(args.indexOf('?') > -1) {
const queryString = args.split('?')[1];
return this.parseQueryString(queryString);
......@@ -210,25 +181,20 @@
return {};
},
// 保存URL参数到本地存储
saveUrlParams(params) {
if(Object.keys(params).length > 0) {
console.log('获取到外部链接参数:', params);
// 使用uni.setStorageSync存储到本地
try {
if(params.addSystemType){
uni.setStorageSync('addSystemType', params.addSystemType);
}
// // 可以在这里添加事件通知其他页面参数已准备好
// uni.$emit('externalParamsReady', params);
} catch(e) {
console.error('存储外部链接参数失败:', e);
}
}
}
}
}
}
</script>
<style>
......
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