Commit b966d2bc17e80f7516e76040439de45fefffbe93
1 parent
f596a961
Exists in
master
fix:二次回退问题修复
Showing
3 changed files
with
59 additions
and
46 deletions
Show diff stats
src/views/Home/Home.vue
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | {{ schoolNamesChoose.schoolName }}<img src="@/assets/Travel/change.png" /> | 12 | {{ schoolNamesChoose.schoolName }}<img src="@/assets/Travel/change.png" /> |
13 | </div> | 13 | </div> |
14 | </div> | 14 | </div> |
15 | - <p class="phone">{{ phoneDesensitization(userInfo.phone,'*') }}</p> | 15 | + <p class="phone">{{ phoneDesensitization(userInfo.phone, '*') }}</p> |
16 | </div> | 16 | </div> |
17 | </div> | 17 | </div> |
18 | <HomeScan v-if="!isWechat"></HomeScan> | 18 | <HomeScan v-if="!isWechat"></HomeScan> |
@@ -91,7 +91,7 @@ export default { | @@ -91,7 +91,7 @@ export default { | ||
91 | showChildList: false, | 91 | showChildList: false, |
92 | showSchool: false, | 92 | showSchool: false, |
93 | schoolNamesChoose: '', | 93 | schoolNamesChoose: '', |
94 | - isWechat:false | 94 | + isWechat: false, |
95 | } | 95 | } |
96 | }, | 96 | }, |
97 | 97 | ||
@@ -106,9 +106,9 @@ export default { | @@ -106,9 +106,9 @@ export default { | ||
106 | this.schoolNamesChoose = JSON.parse(schoolNamesChoose) | 106 | this.schoolNamesChoose = JSON.parse(schoolNamesChoose) |
107 | } | 107 | } |
108 | let isWechat = localStorage.getItem('isWechat') | 108 | let isWechat = localStorage.getItem('isWechat') |
109 | - if(isWechat==1){ | ||
110 | - this.isWechat = true | ||
111 | - } | 109 | + if (isWechat == 1) { |
110 | + this.isWechat = true | ||
111 | + } | ||
112 | this.centerNo = localStorage.getItem('centerNo') | 112 | this.centerNo = localStorage.getItem('centerNo') |
113 | this.getUserInfo() | 113 | this.getUserInfo() |
114 | this.againRZ() | 114 | this.againRZ() |
@@ -183,20 +183,20 @@ export default { | @@ -183,20 +183,20 @@ export default { | ||
183 | }, | 183 | }, |
184 | //五星少年 | 184 | //五星少年 |
185 | handleStars() { | 185 | handleStars() { |
186 | - this.$router.push({name: 'stars'}) | 186 | + this.$router.push({ name: 'stars' }) |
187 | }, | 187 | }, |
188 | // 清除缓存 | 188 | // 清除缓存 |
189 | handleClearCache() { | 189 | handleClearCache() { |
190 | this.$toast.loading({ | 190 | this.$toast.loading({ |
191 | - message: '正在清除', | 191 | + message: '清除成功,正在重新登录', |
192 | duration: 1000, | 192 | duration: 1000, |
193 | forbidClick: true, | 193 | forbidClick: true, |
194 | }) | 194 | }) |
195 | + localStorage.removeItem('schoolNamesChoose') | ||
196 | + localStorage.removeItem('schoolNames') | ||
197 | + localStorage.removeItem('centerNo') | ||
195 | setTimeout(() => { | 198 | setTimeout(() => { |
196 | - this.$toast('清除成功') | ||
197 | - localStorage.removeItem('schoolNamesChoose') | ||
198 | - localStorage.removeItem('schoolNames') | ||
199 | - this.getUserInfo() | 199 | + this.$router.replace({ path: '/' }) |
200 | }, 1000) | 200 | }, 1000) |
201 | }, | 201 | }, |
202 | // 获取用户信息 | 202 | // 获取用户信息 |
src/views/Service/ServiceBaseKQ.vue
@@ -98,20 +98,6 @@ export default { | @@ -98,20 +98,6 @@ export default { | ||
98 | loading: false, | 98 | loading: false, |
99 | } | 99 | } |
100 | }, | 100 | }, |
101 | - watch: { | ||
102 | - $route: { | ||
103 | - immediate: true, | ||
104 | - handler() { | ||
105 | - // 设置tabbar状态 | ||
106 | - let showTab = this.$route.query.showTab | ||
107 | - this.tabName = showTab || 'KQ' | ||
108 | - // document.title = showTab == 'ZZY' ? '周周营' : '红色网上游——柯桥研学' | ||
109 | - this.$nextTick(() => { | ||
110 | - this.$refs.tabs.resize() | ||
111 | - }) | ||
112 | - }, | ||
113 | - }, | ||
114 | - }, | ||
115 | mounted() { | 101 | mounted() { |
116 | console.log('base mounted') | 102 | console.log('base mounted') |
117 | // alert('servicebase show') | 103 | // alert('servicebase show') |
src/views/Service/ServiceKQ.vue
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | 4 | ||
5 | <script> | 5 | <script> |
6 | import ServiceBasekq from './ServiceBaseKQ.vue' | 6 | import ServiceBasekq from './ServiceBaseKQ.vue' |
7 | -const userData = require('@/views/answerRank/data.json'); | 7 | +const userData = require('@/views/answerRank/data.json') |
8 | export default { | 8 | export default { |
9 | name: 'ServiceKQ', | 9 | name: 'ServiceKQ', |
10 | data() { | 10 | data() { |
@@ -16,29 +16,44 @@ export default { | @@ -16,29 +16,44 @@ export default { | ||
16 | mounted() { | 16 | mounted() { |
17 | console.log('xst mounted') | 17 | console.log('xst mounted') |
18 | this.checkAuth() | 18 | this.checkAuth() |
19 | + //二次回退 | ||
20 | + const sUserAgent = window.navigator.userAgent.toLowerCase() | ||
21 | + const bIsAlipayMini = sUserAgent.indexOf('miniprogram') > -1 && sUserAgent.indexOf('alipay') > -1 | ||
22 | + if (bIsAlipayMini) { | ||
23 | + console.log('我来自支付宝,popstate') | ||
24 | + window.addEventListener('popstate', this.listenerPopstate, true) | ||
25 | + } else { | ||
26 | + console.log('我来自浙里办,popstate') | ||
27 | + window.addEventListener('popstate', this.listenerPopstate, true) | ||
28 | + } | ||
19 | }, | 29 | }, |
20 | - activated() { | ||
21 | - console.log('KQ activated') | ||
22 | - this.checkAuth() | 30 | + //销毁监听 |
31 | + destroyed() { | ||
32 | + console.log('销毁支付宝监听') | ||
33 | + window.removeEventListener('popstate', this.listenerPopstate, true) | ||
23 | }, | 34 | }, |
24 | methods: { | 35 | methods: { |
36 | + //支付宝二次回退方法,addEventListener和removeEventListener一定要调用方法,不然无效 | ||
37 | + listenerPopstate() { | ||
38 | + ZWJSBridge.close() | ||
39 | + }, | ||
25 | checkAuth() { | 40 | checkAuth() { |
26 | let centerNo = localStorage.getItem('centerNo') | 41 | let centerNo = localStorage.getItem('centerNo') |
27 | let ticket = this.common.getUrlParam('ticket') //浙里办app访问 | 42 | let ticket = this.common.getUrlParam('ticket') //浙里办app访问 |
28 | let ticketId = this.common.getUrlParam('ticketId') //浙里办微信小程序访问 | 43 | let ticketId = this.common.getUrlParam('ticketId') //浙里办微信小程序访问 |
29 | // alert(location.href) | 44 | // alert(location.href) |
30 | // alert(ticketId) | 45 | // alert(ticketId) |
31 | - if (ticket) { | ||
32 | - this.getCenterByTicket(ticket) | ||
33 | - } else if (ticketId) { | ||
34 | - // alert('getCenterByTicketId') | ||
35 | - this.getCenterByTicketId(ticketId) | ||
36 | - localStorage.setItem('isWechat',1) | ||
37 | - } else if (centerNo) { | 46 | + if (centerNo) { |
38 | // alert('有中台编号:' + centerNo) | 47 | // alert('有中台编号:' + centerNo) |
39 | this.centerNo = centerNo | 48 | this.centerNo = centerNo |
40 | localStorage.setItem('centerNo', centerNo) | 49 | localStorage.setItem('centerNo', centerNo) |
41 | this.getUserInfo() | 50 | this.getUserInfo() |
51 | + } else if (ticket) { | ||
52 | + this.getCenterByTicket(ticket) | ||
53 | + } else if (ticketId) { | ||
54 | + // alert('getCenterByTicketId') | ||
55 | + this.getCenterByTicketId(ticketId) | ||
56 | + localStorage.setItem('isWechat', 1) | ||
42 | } else { | 57 | } else { |
43 | const sUserAgent = window.navigator.userAgent.toLowerCase() | 58 | const sUserAgent = window.navigator.userAgent.toLowerCase() |
44 | const dtdreamweb = sUserAgent.indexOf('dtdreamweb') > -1 | 59 | const dtdreamweb = sUserAgent.indexOf('dtdreamweb') > -1 |
@@ -51,7 +66,7 @@ export default { | @@ -51,7 +66,7 @@ export default { | ||
51 | window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=82a7a71edb794fc285895f9e33290ddc` | 66 | window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=82a7a71edb794fc285895f9e33290ddc` |
52 | } else { | 67 | } else { |
53 | alert('非浙里办渠道访问,显示测试用户数据') | 68 | alert('非浙里办渠道访问,显示测试用户数据') |
54 | - console.log('非浙里办渠道访问,显示测试用户数据',userData) | 69 | + console.log('非浙里办渠道访问,显示测试用户数据', userData) |
55 | this.centerNo = '2022031508525674030748540013076' | 70 | this.centerNo = '2022031508525674030748540013076' |
56 | localStorage.setItem('centerNo', '2022031508525674030748540013076') | 71 | localStorage.setItem('centerNo', '2022031508525674030748540013076') |
57 | let userInfo = JSON.stringify(userData) | 72 | let userInfo = JSON.stringify(userData) |
@@ -125,14 +140,26 @@ export default { | @@ -125,14 +140,26 @@ export default { | ||
125 | }, | 140 | }, |
126 | reLoad() { | 141 | reLoad() { |
127 | console.log('reload') | 142 | console.log('reload') |
128 | - ZWJSBridge.confirm({ | ||
129 | - title: '警告', | ||
130 | - buttonLabels: ['重新载入'], | ||
131 | - message: '用户身份验证失败,请重新加载', | ||
132 | - }).then((res) => { | ||
133 | - const sUserAgent = window.navigator.userAgent.toLowerCase() | ||
134 | - const dtdreamweb = sUserAgent.indexOf('dtdreamweb') > -1 | ||
135 | - const miniprogram = sUserAgent.indexOf('miniprogram') > -1 && sUserAgent.indexOf('alipay') > -1 | 143 | + const sUserAgent = window.navigator.userAgent.toLowerCase() |
144 | + const dtdreamweb = sUserAgent.indexOf('dtdreamweb') > -1 | ||
145 | + const miniprogram = sUserAgent.indexOf('miniprogram') > -1 && sUserAgent.indexOf('alipay') > -1 | ||
146 | + if (localStorage.getItem('reloadCount') == 2) { | ||
147 | + localStorage.setItem('reloadCount', 1) | ||
148 | + ZWJSBridge.confirm({ | ||
149 | + title: '警告', | ||
150 | + buttonLabels: ['重新载入'], | ||
151 | + message: '用户身份验证失败,请重新加载', | ||
152 | + }).then((res) => { | ||
153 | + if (dtdreamweb) { | ||
154 | + // alert('浙里办') | ||
155 | + window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=82a7a71edb794fc285895f9e33290ddc` | ||
156 | + } else if (miniprogram) { | ||
157 | + // alert('支付宝') | ||
158 | + window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=82a7a71edb794fc285895f9e33290ddc` | ||
159 | + } | ||
160 | + }) | ||
161 | + } else { | ||
162 | + localStorage.setItem('reloadCount', 2) | ||
136 | if (dtdreamweb) { | 163 | if (dtdreamweb) { |
137 | // alert('浙里办') | 164 | // alert('浙里办') |
138 | window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=82a7a71edb794fc285895f9e33290ddc` | 165 | window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=82a7a71edb794fc285895f9e33290ddc` |
@@ -140,7 +167,7 @@ export default { | @@ -140,7 +167,7 @@ export default { | ||
140 | // alert('支付宝') | 167 | // alert('支付宝') |
141 | window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=82a7a71edb794fc285895f9e33290ddc` | 168 | window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=82a7a71edb794fc285895f9e33290ddc` |
142 | } | 169 | } |
143 | - }) | 170 | + } |
144 | }, | 171 | }, |
145 | // 获取用户信息 | 172 | // 获取用户信息 |
146 | getUserInfo: function() { | 173 | getUserInfo: function() { |