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() { |