diff --git a/common/utils/auth.js b/common/utils/auth.js index bdea0e6..c0bb5db 100644 --- a/common/utils/auth.js +++ b/common/utils/auth.js @@ -11,7 +11,6 @@ export function checkToken(token) { }) return Promise.reject('no token') } - return new Promise((resolve, reject) => { uni.$u.get('/login/checkExpiration', {}, { WT: token diff --git a/components/floatGuide/floatGuide.vue b/components/floatGuide/floatGuide.vue new file mode 100644 index 0000000..d6e9221 --- /dev/null +++ b/components/floatGuide/floatGuide.vue @@ -0,0 +1,236 @@ + + + + + \ No newline at end of file diff --git a/pages-assets/assets/assetsDetail.vue b/pages-assets/assets/assetsDetail.vue index e39db68..f84e238 100644 --- a/pages-assets/assets/assetsDetail.vue +++ b/pages-assets/assets/assetsDetail.vue @@ -110,7 +110,7 @@ @@ -224,6 +224,10 @@ // this.navbarStyle.isTransparent = true; // } }, + showReservePopup(){ + this.$checkToken(this.$getToken()); + this.showReserve = true + }, getRandomColor() { const index = Math.floor(Math.random() * this.tagColors.length) return this.tagColors[index] diff --git a/pages-assets/discharge/leaseCancelList.vue b/pages-assets/discharge/leaseCancelList.vue index fc985a6..a3863bc 100644 --- a/pages-assets/discharge/leaseCancelList.vue +++ b/pages-assets/discharge/leaseCancelList.vue @@ -67,6 +67,20 @@ }; }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, // 👇 你的方法 1 行没改 statusText(status) { switch (status) { @@ -161,6 +175,7 @@ }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, onLoad() { this.fetchApplys() diff --git a/pages-assets/fallback/fallback.vue b/pages-assets/fallback/fallback.vue index a6b7019..138b354 100644 --- a/pages-assets/fallback/fallback.vue +++ b/pages-assets/fallback/fallback.vue @@ -80,11 +80,26 @@ }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, onLoad() { this.fetchFallback(); }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, navigateToDetail(item) { uni.navigateTo({ url: "/pages-assets/fallback/fallbackDetail?id=" + item.id diff --git a/pages-biz/bill/payHistory.vue b/pages-biz/bill/payHistory.vue index ef4ec4b..033634a 100644 --- a/pages-biz/bill/payHistory.vue +++ b/pages-biz/bill/payHistory.vue @@ -100,6 +100,7 @@ }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, // ✅ 删除和 scroll-view 冲突的 onReachBottom watch: { @@ -110,6 +111,20 @@ } }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, onTabClick(val) { this.activeTab = val this.resetAndLoad() diff --git a/pages-biz/contract/contract.vue b/pages-biz/contract/contract.vue index 5b810a5..ded0e37 100644 --- a/pages-biz/contract/contract.vue +++ b/pages-biz/contract/contract.vue @@ -74,6 +74,7 @@ export default { }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, // ✅ 删除和 scroll-view 冲突的 onReachBottom computed: { @@ -82,6 +83,20 @@ export default { } }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, onTabChange(index) { this.currentTab = index; this.statusFilter = this.tabList[index].value; diff --git a/pages-biz/login/login.vue b/pages-biz/login/login.vue index 6e5ec34..b6e9f45 100644 --- a/pages-biz/login/login.vue +++ b/pages-biz/login/login.vue @@ -73,10 +73,9 @@ const currentType = this.loginType; await this.doLogin({ - loginCode: loginRes.code, - encryptedData: e.detail.encryptedData, - iv: e.detail.iv, - loginType: currentType + phoneGetCode: e.detail.code, + loginCode: loginRes.code, + loginType: this.loginType }); } catch (err) { @@ -85,7 +84,10 @@ }, async doLogin(data) { - uni.showLoading({ title: "登录中...", mask: true }); + uni.showLoading({ + title: "登录中...", + mask: true + }); try { const authRes = await this.$u.post("/login/weChatLogin", data); @@ -128,8 +130,16 @@ "USERTYPE": loginType }).then(obj => { if (obj?.flag) { - uni.setStorageSync('userInfo', obj.data); - this.$u.vuex('vuex_userInfo', obj.data); + console.log("获取用户信息") + const userInfoData = { + userType: this.loginType, + oaAuth: obj.data.oaAuth, + cusNo: obj.data.cusNo, + userName: obj.data.userName, + openId: obj.data.openId, + subscribe: obj.data.subscribeMsg + } + uni.setStorageSync('userInfo',userInfoData ) } resolve(); }).catch(() => { @@ -139,14 +149,18 @@ }, goBack() { - uni.navigateBack({ delta: 1 }); + uni.navigateBack({ + delta: 1 + }); }, goPrivacy(type) { - const url = type === "user" - ? "/pages-biz/privacy/userAgreement" - : "/pages-biz/privacy/privacyPolicy"; - uni.navigateTo({ url }); + const url = type === "user" ? + "/pages-biz/privacy/userAgreement" : + "/pages-biz/privacy/privacyPolicy"; + uni.navigateTo({ + url + }); } } }; diff --git a/pages-biz/message/message.vue b/pages-biz/message/message.vue index 7bfb84d..8b32788 100644 --- a/pages-biz/message/message.vue +++ b/pages-biz/message/message.vue @@ -47,6 +47,7 @@ export default { }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, // ✅ 删除和 scroll-view 冲突的 onReachBottom computed: { @@ -55,6 +56,20 @@ export default { } }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, goBack() { const pages = getCurrentPages(); if (pages.length > 1) { diff --git a/pages-biz/myrent/myLease.vue b/pages-biz/myrent/myLease.vue index a34ac4f..7ff4c5d 100644 --- a/pages-biz/myrent/myLease.vue +++ b/pages-biz/myrent/myLease.vue @@ -40,6 +40,7 @@ export default { }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, // ✅ 删除和 scroll-view 冲突的 onReachBottom computed: { @@ -48,6 +49,20 @@ export default { } }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, loadAssets() { // ✅ 正确判断加载状态 if (this.loadStatus !== 'more') return; diff --git a/pages-biz/profile/profile.vue b/pages-biz/profile/profile.vue index 2d3ba5d..2e95830 100644 --- a/pages-biz/profile/profile.vue +++ b/pages-biz/profile/profile.vue @@ -1,11 +1,11 @@ \ No newline at end of file diff --git a/pages-biz/unpaid/unpaid.vue b/pages-biz/unpaid/unpaid.vue index 7ecc9f9..988913f 100644 --- a/pages-biz/unpaid/unpaid.vue +++ b/pages-biz/unpaid/unpaid.vue @@ -86,8 +86,23 @@ }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, loadBills() { if (this.loadStatus !== 'more') return; this.loadStatus = 'loading'; diff --git a/pages-biz/unpaid/unpaidMargin.vue b/pages-biz/unpaid/unpaidMargin.vue index 7c7c13b..d657d74 100644 --- a/pages-biz/unpaid/unpaidMargin.vue +++ b/pages-biz/unpaid/unpaidMargin.vue @@ -84,9 +84,24 @@ }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, // ❌ 已删除冲突的 onReachBottom methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, loadBills() { // ✅ 正确判断状态 if (this.loadStatus !== 'more') return; diff --git a/pages-biz/wae/wae.vue b/pages-biz/wae/wae.vue index f5233ad..258c2a0 100644 --- a/pages-biz/wae/wae.vue +++ b/pages-biz/wae/wae.vue @@ -81,9 +81,24 @@ }, onShow() { this.$checkToken(this.$getToken()) + this.checkOaAuth() }, // ❌ 已删除冲突的 onReachBottom methods: { + checkOaAuth() { + const userInfo = uni.getStorageSync('userInfo') + if (!userInfo || !userInfo.oaAuth) { + uni.showModal({ + title: '提示', + content: '您还未实名认证,请先完成实名认证', + showCancel: false, + confirmText: '去认证', + success: () => { + uni.redirectTo({ url: '/pages-biz/profile/profile' }) + } + }) + } + }, loadBills() { // ✅ 正确判断状态 if (this.loadStatus !== 'more') return; diff --git a/pages/center/center.vue b/pages/center/center.vue index 9b15bcf..2f7b11f 100644 --- a/pages/center/center.vue +++ b/pages/center/center.vue @@ -129,7 +129,6 @@ data() { const life = uni.getStorageSync('lifeData') || {} return { - user:{}, bgPath1: '/public/static/center/my-bg.png', bgPath2: '/public/static/center/my-bg2.png', unsignContractNum:0, @@ -163,8 +162,11 @@ }, staticHost() { return this.$config.staticUrl - } - + }, + user() { + return uni.getStorageSync('userInfo') || {} + } + }, onLoad() { @@ -177,7 +179,6 @@ onUnload() { uni.$off('updateAvatar') }, - onShow() { this.$checkToken(this.$getToken()) this.loadUserInfo() @@ -193,14 +194,18 @@ loadUserInfo(){ let userInfo = uni.getStorageSync('userInfo'); if(!userInfo) { + console.log("缓存中用户信息为空") return } + console.log(userInfo) + console.log("查询用户信息") let url = `/login/userInfo`; this.$u.get(url, {}, { 'WT': this.$getToken(), 'USERTYPE': userInfo.userType }).then(obj => { if(obj.flag){ + console.log("更新缓存中用户信息") uni.setStorageSync('userInfo', { userType: obj.data.userType, oaAuth: obj.data.oaAuth, @@ -211,7 +216,7 @@ }) } }); - this.user = uni.getStorageSync('userInfo'); + }, logout() { this.$u.vuex('vuex_token', ''); diff --git a/pages/index/index.vue b/pages/index/index.vue index 075e25e..937688f 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,6 +1,7 @@