Commit d568cd6d by zhangxingmin

push

parent a2e2e7a4
......@@ -89,144 +89,146 @@ export default {
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',
'/myPackageA/applyFranchise/applyFranchise',
'/pages/applyFranchise/applyFranchise',
'/myPackageA/ruleAndContract/clause',
'/pages/courselist/courselist',
'/pages/courseDetail/courseDetail',
'/pages/orderDetail/orderDetail',
'/pages/orderStatus/orderStatus',
'/pages/index/index'
] // 根据需要调整
if(!whiteList.includes(currentRoute)) {
uni.navigateTo({
url: '/myPackageA/login/login'
});
}
}
}
if (res['success']) {
const cffp_userInfo = {
name: res['data']['realName'],
mobile: res['data']['mobile'],
partnerType:res['data']['partnerType'],
nickName:res['data']['nickName'],
}
uni.setStorageSync('cffp_userInfo', JSON.stringify(cffp_userInfo))
}
} catch (err) {
console.error('检查用户状态失败:', err);
}
}
},
// 清除登录状态
clearLoginState() {
uni.clearStorageSync();
uni.setStorageSync('loginType', 'visitor');
// 可以在这里添加其他需要清除的状态
},
// 处理外部链接参数
handleExternalUrlParams() {
// #ifdef H5
this.handleH5UrlParams();
// #endif
// #ifdef APP-PLUS
this.handleAppUrlParams();
// #endif
},
// 处理H5平台的URL参数
handleH5UrlParams() {
const url = window.location.href;
if(url.indexOf('?') > -1) {
const queryString = url.split('?')[1];
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) {
const params = this.parseAppLaunchArgs(args);
this.saveUrlParams(params);
}
});
// 监听热启动事件
plus.runtime.addEventListener('newintent', (e) => {
const args = e.arguments;
if(args) {
const params = this.parseAppLaunchArgs(args);
this.saveUrlParams(params);
}
});
},
// 解析H5的查询字符串
parseQueryString(queryString) {
const params = {};
const pairs = queryString.split('&');
for(let i = 0; i < pairs.length; i++) {
const pair = pairs[i].split('=');
if(pair.length === 2) {
params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
}
}
return params;
},
// 解析App启动参数
parseAppLaunchArgs(args) {
// 处理 scheme://path?key=value 格式
if(args.indexOf('?') > -1) {
const queryString = args.split('?')[1];
return this.parseQueryString(queryString);
}
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);
}
}
}
// 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',
// '/myPackageA/applyFranchise/applyFranchise',
// '/pages/applyFranchise/applyFranchise',
// '/myPackageA/ruleAndContract/clause',
// '/pages/courselist/courselist',
// '/pages/courseDetail/courseDetail',
// '/pages/orderDetail/orderDetail',
// '/pages/orderStatus/orderStatus',
// '/pages/index/index'
// ] // 根据需要调整
// if (!whiteList.includes(currentRoute)) {
// uni.navigateTo({
// url: '/myPackageA/login/login'
// });
// }
// }
// }
// if (res['success']) {
// const cffp_userInfo = {
// name: res['data']['realName'],
// mobile: res['data']['mobile'],
// partnerType: res['data']['partnerType'],
// nickName: res['data']['nickName'],
// }
// uni.setStorageSync('cffp_userInfo', JSON.stringify(cffp_userInfo))
// }
// } catch (err) {
// console.error('检查用户状态失败:', err);
// }
// }
// },
// // 清除登录状态
// clearLoginState() {
// uni.clearStorageSync();
// uni.setStorageSync('loginType', 'visitor');
// // 可以在这里添加其他需要清除的状态
// },
// // 处理外部链接参数
// handleExternalUrlParams() {
// // #ifdef H5
// this.handleH5UrlParams();
// // #endif
//
// // #ifdef APP-PLUS
// this.handleAppUrlParams();
// // #endif
// },
//
// // 处理H5平台的URL参数
// handleH5UrlParams() {
// const url = window.location.href;
// if (url.indexOf('?') > -1) {
// const queryString = url.split('?')[1];
// 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) {
// const params = this.parseAppLaunchArgs(args);
// this.saveUrlParams(params);
// }
// });
//
// // 监听热启动事件
// plus.runtime.addEventListener('newintent', (e) => {
// const args = e.arguments;
// if (args) {
// const params = this.parseAppLaunchArgs(args);
// this.saveUrlParams(params);
// }
// });
// },
//
// // 解析H5的查询字符串
// parseQueryString(queryString) {
// const params = {};
// const pairs = queryString.split('&');
// for (let i = 0; i < pairs.length; i++) {
// const pair = pairs[i].split('=');
// if (pair.length === 2) {
// params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');
// }
// }
// return params;
// },
//
// // 解析App启动参数
// parseAppLaunchArgs(args) {
// // 处理 scheme://path?key=value 格式
// if (args.indexOf('?') > -1) {
// const queryString = args.split('?')[1];
// return this.parseQueryString(queryString);
// }
// 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>
......
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