修改强制退出登录

This commit is contained in:
haomingming 2025-11-14 13:57:14 +08:00
parent 5d2d8cc9ff
commit 38d13d33ce

366
App.vue
View File

@ -1,185 +1,221 @@
<script > <script>
export default {
globalData: {
plAd: true,
dotNumber:{
} export default {
}, globalData: {
onLaunch(options) { plAd: true,
dotNumber: {
console.log('打印options'); }
console.log(options); },
if(options && options.referrerInfo.extraData && options.referrerInfo.extraData.token){ onLaunch(options) {
uni.setStorageSync("AUTH_TOKEN_App", options.referrerInfo.extraData.token);
uni.setStorageSync("userInfo", options.referrerInfo.extraData.userInfo); console.log('打印options');
}; console.log(options);
if(options && options.referrerInfo.extraData && options.referrerInfo.extraData.targetPath){ if (options && options.referrerInfo.extraData && options.referrerInfo.extraData.token) {
uni.navigateTo({ uni.setStorageSync("AUTH_TOKEN_App", options.referrerInfo.extraData.token);
url: options.referrerInfo.extraData.targetPath uni.setStorageSync("userInfo", options.referrerInfo.extraData.userInfo);
}); };
}; if (options && options.referrerInfo.extraData && options.referrerInfo.extraData.targetPath) {
uni.navigateTo({
url: options.referrerInfo.extraData.targetPath
});
};
console.log("app传递登录信息onLaunch-------------------"); console.log("app传递登录信息onLaunch-------------------");
try { try {
// #ifdef APP // #ifdef APP
// uni.onNativeEventReceive((event, data) => { // uni.onNativeEventReceive((event, data) => {
// console.log("app-------------------"); // console.log("app-------------------");
// console.log("event"); // console.log("event");
// console.log(event); // console.log(event);
// console.log("data"); // console.log("data");
// console.log(data); // console.log(data);
// if (event.indexOf("loginInfo") > -1) { // if (event.indexOf("loginInfo") > -1) {
// uni.setStorageSync("DEV_AUTH_TOKEN_App", data.token); // uni.setStorageSync("DEV_AUTH_TOKEN_App", data.token);
// uni.setStorageSync("userInfo", data.userInfo); // uni.setStorageSync("userInfo", data.userInfo);
// console.log("token"); // console.log("token");
// console.log(uni.getStorageSync("DEV_AUTH_TOKEN_App")); // console.log(uni.getStorageSync("DEV_AUTH_TOKEN_App"));
// } // }
// }); // });
// #endif // #endif
} catch (error) { } catch (error) {
console.log("app传递登录信息error-------------------"); console.log("app传递登录信息error-------------------");
console.log(error); console.log(error);
} }
}, },
onShow() { onShow() {
try { try {
// #ifdef APP
let checkTokenCallBackFlag = false
console.log("执行onshow")
uni.sendNativeEvent('checkToken', {
msg: 'checkToken'
}, ret => {
checkTokenCallBackFlag = true
console.log('check回调')
console.log(ret)
if (ret.code == 0) {
uni.showModal({
title: '提示',
content: '您已退出登录!',
success: function (res) {
if (res.confirm) {
uni.sendNativeEvent('goTabbarPage', {
msg: 'home'
}, ret => {
console.log(ret);
})
plus.runtime.quit()
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
})
// #ifdef APP setTimeout(function(){
console.log("执行onshow") console.log("执行 setTimeout")
let temp_token = uni.getStorageSync('AUTH_TOKEN_App'); if(!checkTokenCallBackFlag){
uni.setStorageSync('AUTH_TOKEN_App',''); uni.showModal({
console.log("temp_token", temp_token); title: '提示',
uni.sendNativeEvent('checkToken', { content: '您已退出登录',
msg: 'checkToken' success: function (res) {
}, ret => { if (res.confirm) {
console.log('check回调') uni.sendNativeEvent('goTabbarPage', {
console.log(ret) msg: 'home'
if(ret.code==0){ }, ret => {
uni.setStorageSync('AUTH_TOKEN_App','') console.log(ret);
uni.sendNativeEvent('goTabbarPage', { })
msg: 'home' } else if (res.cancel) {
},ret => { console.log('用户点击取消');
console.log(ret); }
}
});
}
}, 200)
uni.onNativeEventReceive((event, data) => {
console.log("event", event);
console.log("data", data);
if (event.indexOf("clearToken") > -1) {
uni.setStorageSync('AUTH_TOKEN_App', '')
plus.runtime.quit()
}
})
let main = plus.android.runtimeMainActivity();
//退quit
plus.runtime.quit = function() {
main.moveTaskToBack(false);
};
//toast 退 toast
plus.nativeUI.toast = (function(str) {
if (str == '再按一次退出应用') {
main.moveTaskToBack(false);
} else {
uni.showToast({
title: str,
icon: 'none',
}) })
plus.runtime.quit() }
}else{ });
uni.setStorageSync('AUTH_TOKEN_App',temp_token);
}
})
uni.onNativeEventReceive((event,data)=>{
console.log("event", event);
console.log("data", data);
if (event.indexOf("clearToken") > -1){
uni.setStorageSync('AUTH_TOKEN_App','')
plus.runtime.quit()
} // uni.onNativeEventReceive((event, data) => {
}) // console.log("apponshow-------------------");
let main = plus.android.runtimeMainActivity(); // console.log("event", event);
//退quit // console.log("data", data);
plus.runtime.quit = function(){ // if (event == "loginInfo") {
main.moveTaskToBack(false); // uni.setStorageSync("DEV_AUTH_YX_TOKEN_App", data.token);
}; // uni.setStorageSync("userInfo", data.userInfo);
//toast 退 toast // }else if(event == "showRedDot"){
plus.nativeUI.toast = (function(str){ // console.log("showRedDot");
if(str == '再按一次退出应用'){ // console.log(data);
main.moveTaskToBack(false); // getApp().globalData.dotNumber=data;
// }
}else{ // });
uni.showToast({ // #endif
title:str,
icon:'none',
})
}
});
// uni.onNativeEventReceive((event, data) => {
// console.log("apponshow-------------------");
// console.log("event", event);
// console.log("data", data);
// if (event == "loginInfo") {
// uni.setStorageSync("DEV_AUTH_YX_TOKEN_App", data.token);
// uni.setStorageSync("userInfo", data.userInfo);
// }else if(event == "showRedDot"){
// console.log("showRedDot");
// console.log(data);
// getApp().globalData.dotNumber=data;
// }
// });
// #endif
} catch (error) { } catch (error) {
console.log('error'); console.log('error');
console.log(error) console.log(error)
} }
}, },
onHide() {}, onHide() {},
methods: {}, methods: {},
}; };
</script> </script>
<template> <template>
<GlobalDialog /> <GlobalDialog />
</template> </template>
<style lang="scss"> <style lang="scss">
/*每个页面公共css */ /*每个页面公共css */
@import "@/uni_modules/uni-scss/index.scss"; @import "@/uni_modules/uni-scss/index.scss";
/* #ifndef APP-NVUE */ /* #ifndef APP-NVUE */
@import "@/static/customicons.css"; @import "@/static/customicons.css";
//
page {
background-color: #f5f5f5;
}
.uni-navbar__header-btns-right {
min-width: 120rpx;
width: auto !important;
}
/* #endif */
.uni-nav-bar-text {
font-weight: bold;
font-size: 36rpx !important;
}
.example-info {
font-size: 14px;
color: #333;
padding: 10px;
}
.twoline {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.oneline { //
overflow: hidden; page {
white-space: nowrap; background-color: #f5f5f5;
text-overflow: ellipsis; }
}
.uni-navbar .uniui-left { .uni-navbar__header-btns-right {
font-weight: bold; min-width: 120rpx;
font-size: 50rpx !important; width: auto !important;
} }
::-webkit-scrollbar {
display: none; /* #endif */
} .uni-nav-bar-text {
.status_bar { font-weight: bold;
height: var(--status-bar-height); font-size: 36rpx !important;
background-color: #eeeeee; }
}
.navbox{ .example-info {
position: fixed; font-size: 14px;
top: 0; color: #333;
left: 0; padding: 10px;
right: 0; }
height:calc(var(--status-bar-height) + 44px);
z-index: 9999; .twoline {
} display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.oneline {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.uni-navbar .uniui-left {
font-weight: bold;
font-size: 50rpx !important;
}
::-webkit-scrollbar {
display: none;
}
.status_bar {
height: var(--status-bar-height);
background-color: #eeeeee;
}
.navbox {
position: fixed;
top: 0;
left: 0;
right: 0;
height: calc(var(--status-bar-height) + 44px);
z-index: 9999;
}
</style> </style>