Compare commits

...

2 Commits

Author SHA1 Message Date
b2275c2636 继续修复白屏bug 2026-06-03 16:02:11 +08:00
ff60913b5b 修复bug,未登录时不校验实名状态 2026-06-03 15:31:22 +08:00
19 changed files with 191 additions and 73 deletions

View File

@@ -23,6 +23,9 @@ const install = (Vue, vm) => {
return config;
};
// 响应拦截,判断状态码是否通过
// 防止多次跳转登录页
let isRedirectingToLogin = false;
Vue.prototype.$u.http.interceptor.response = (res) => {
// 如果把originalData设置为了true这里得到将会是服务器返回的所有的原始数据
// 判断可能变成了res.statueCode或者res.data.code之类的请打印查看结果
@@ -32,17 +35,36 @@ const install = (Vue, vm) => {
vm.$u.toast('警告:' + res.msg);
return false;
} else if(res.statusCode == 401 || res.statusCode == 403) {
const currentPage = vm.$route.path;
// 防止多次跳转
if (isRedirectingToLogin) {
return false;
}
// 判断当前页面是否为登录页
// 登录成功修改token与用户信息
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
const currentPath = currentPage ? currentPage.route : '';
if (currentPath !== 'pages-biz/login/login') {
isRedirectingToLogin = true;
// 清除 token 和用户信息
vm.$u.vuex('vuex_token', '');
vm.$u.vuex('vuex_user', {});
uni.removeStorageSync('userInfo');
if (currentPage !== '/pages-biz/login/login') {
uni.navigateTo({
url: '/pages-biz/login/login'
});
vm.$u.toast('认证失败,请重新登录');
// 使用 reLaunch 清空页面栈,避免返回时出现问题
uni.reLaunch({
url: '/pages-biz/login/login',
complete: () => {
// 跳转完成后重置标记
setTimeout(() => {
isRedirectingToLogin = false;
}, 1000)
}
});
}
return false;
} else if(res.statusCode == 500) {

View File

@@ -82,10 +82,15 @@
};
},
onLoad() {
this.fetchContractList();
// fetchContractList 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken());
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.fetchContractList()
} catch (e) {
return
}
},
computed: {
filteredAssets() {
@@ -143,8 +148,16 @@
});
},
submitForm() {
const token = this.$getToken()
if (!token) {
uni.showToast({
title: '请先登录',
icon: 'none'
});
return
}
let userInfo = uni.getStorageSync('userInfo');
if(!userInfo.cusNo) {
if(!userInfo || !userInfo.cusNo) {
uni.showToast({
title: '您还未实名',
icon: 'none'

View File

@@ -68,6 +68,8 @@
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({
@@ -173,12 +175,17 @@
})
}
},
onShow() {
this.$checkToken(this.$getToken())
this.checkOaAuth()
},
onLoad() {
// fetchApplys 移到 onShow 中,等 token 校验通过后再加载
},
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.fetchApplys()
} catch (e) {
return
}
}
};
</script>

View File

@@ -78,15 +78,22 @@
this.scrollTop = e.scrollTop;
this.updateNavbarStyle(e.scrollTop);
},
onShow() {
this.$checkToken(this.$getToken())
this.checkOaAuth()
},
onLoad() {
this.fetchFallback();
// fetchFallback 移到 onShow 中,等 token 校验通过后再加载
},
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.fetchFallback()
} catch (e) {
return
}
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({
@@ -159,8 +166,13 @@
},
addFallback() {
const content = this.newMessageContent.trim();
const token = this.$getToken()
if (!token) {
uni.showToast({ title: '请先登录', icon: 'none' });
return
}
let userInfo = uni.getStorageSync('userInfo');
if(!userInfo.cusNo) {
if(!userInfo || !userInfo.cusNo) {
uni.showToast({ title: '您还未实名', icon: 'none' });
return;
}

View File

@@ -54,7 +54,7 @@
this.updateNavbarStyle(e.scrollTop);
},
onShow(){
this.$checkToken(this.$getToken())
this.$checkToken(this.$getToken()).catch(() => {})
},
onLoad(options) {
// 从路由参数中获取留言ID

View File

@@ -92,7 +92,7 @@
this.loadBills();
},
onShow(){
this.$checkToken(this.$getToken())
this.$checkToken(this.$getToken()).catch(() => {})
},
methods: {
// 切换年份选择器显示

View File

@@ -55,7 +55,7 @@ export default {
this.loadBillDetail(id);
},
onShow() {
this.$checkToken(this.$getToken())
this.$checkToken(this.$getToken()).catch(() => {})
},
methods: {
loadBillDetail(id) {

View File

@@ -96,11 +96,16 @@
for (let i = 5; i >= 1; i--) {
this.years.push(year - i);
}
this.fetchPayRecord();
// fetchPayRecord 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.fetchPayRecord()
} catch (e) {
return
}
},
// ✅ 删除和 scroll-view 冲突的 onReachBottom
watch: {
@@ -112,6 +117,8 @@
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -70,11 +70,18 @@ export default {
};
},
onLoad(options) {
this.loadContracts();
// loadContracts 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
// token 有效,继续执行
this.checkOaAuth()
this.loadContracts()
} catch (e) {
// token 无效,$checkToken 内部已处理跳转登录页
return
}
},
// ✅ 删除和 scroll-view 冲突的 onReachBottom
computed: {
@@ -84,6 +91,8 @@ export default {
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -92,9 +92,13 @@ export default {
}
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.getContractDetail()
} catch (e) {
return
}
},
onLoad(options) {

View File

@@ -43,11 +43,16 @@ export default {
}
},
onLoad() { // ✅ 修复生命周期拼写
this.fetchMessageList();
// fetchMessageList 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.fetchMessageList()
} catch (e) {
return
}
},
// ✅ 删除和 scroll-view 冲突的 onReachBottom
computed: {
@@ -57,6 +62,8 @@ export default {
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -23,7 +23,7 @@ export default {
}
},
onShow() {
this.$checkToken(this.$getToken())
this.$checkToken(this.$getToken()).catch(() => {})
},
onLoad(e) {
this.id = e.id

View File

@@ -36,11 +36,16 @@ export default {
},
onLoad(options) {
this.cusNo = options.cusNo;
this.loadAssets();
// loadAssets 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.loadAssets()
} catch (e) {
return
}
},
// ✅ 删除和 scroll-view 冲突的 onReachBottom
computed: {
@@ -50,6 +55,8 @@ export default {
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -96,10 +96,15 @@ export default {
}
},
onLoad(options){
this.fetchReserve()
// fetchReserve 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.fetchReserve()
} catch (e) {
return
}
},
// ✅ 删除 scroll-view 冲突的 onReachBottom
methods: {

View File

@@ -82,14 +82,21 @@
};
},
onLoad(options) {
this.loadBills();
// loadBills 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.loadBills()
} catch (e) {
return
}
},
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -80,15 +80,22 @@
};
},
onLoad(options) {
this.loadBills();
// loadBills 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.loadBills()
} catch (e) {
return
}
},
// ❌ 已删除冲突的 onReachBottom
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -77,15 +77,22 @@
};
},
onLoad(options) {
this.loadBills();
// loadBills 移到 onShow 中,等 token 校验通过后再加载
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.checkOaAuth()
this.loadBills()
} catch (e) {
return
}
},
// ❌ 已删除冲突的 onReachBottom
methods: {
checkOaAuth() {
const token = this.$getToken()
if (!token) return
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo || !userInfo.oaAuth) {
uni.showModal({

View File

@@ -54,7 +54,7 @@ export default {
};
},
onShow() {
this.$checkToken(this.$getToken())
this.$checkToken(this.$getToken()).catch(() => {})
},
onLoad() {
this.fetchDataList();

View File

@@ -179,8 +179,9 @@
onUnload() {
uni.$off('updateAvatar')
},
onShow() {
this.$checkToken(this.$getToken())
async onShow() {
try {
await this.$checkToken(this.$getToken())
this.loadUserInfo()
this.countHandlingReserve()
this.countUnHandleContract()
@@ -188,6 +189,9 @@
this.countUnpayWaeBills()
this.countUnreadMsg()
this.countUnpaidRentMargin()
} catch (e) {
return
}
},
methods: {