Commit 823e59cbf940a31c55586116fc055420ac251a4c

Authored by 夏洋涛
1 parent 276a64cb
Exists in master

feat: 适老化,支付 一部分

public/index.html
... ... @@ -9,7 +9,7 @@
9 9 <link rel="icon" href="<%= BASE_URL %>favicon.ico">
10 10 <title></title>
11 11 <!-- 埋点 -->
12   - <script src="https://d.alicdn.com/alilog/mlog/aplus.js?id=202951085"></script>
  12 + <!-- <script src="https://d.alicdn.com/alilog/mlog/aplus.js?id=202951085"></script> -->
13 13 <script>
14 14 (function(w, d, s, q, i) {
15 15 w[q] = w[q] || [];
... ... @@ -19,15 +19,47 @@
19 19 j.id = 'beacon-aplus';
20 20 j.src = 'https://d.alicdn.com/alilog/mlog/aplus.js?id=202951085';
21 21 f.parentNode.insertBefore(j, f);
22   - })(window, document, 'script', 'aplus_queue')
  22 + })(window, document, 'script', 'aplus_queue');
  23 +
  24 + aplus_queue.push({
  25 + action: 'aplus.setMetaInfo',
  26 + arguments: ['aplus-rhost-v', 'alog.zjzwfw.gov.cn']
  27 + });
  28 +
  29 +
  30 + aplus_queue.push({
  31 + action: 'aplus.setMetaInfo',
  32 + arguments: ['aplus-rhost-g', 'alog.zjzwfw.gov.cn']
  33 + });
  34 +
  35 + aplus_queue.push({
  36 + action: 'aplus.setMetaInfo',
  37 + arguments: ['appId', '60506758']
  38 + });
  39 + aplus_queue.push({
  40 + 'action': 'aplus.sendPV',
  41 + 'arguments': [{
  42 + is_auto: false
  43 + }, {
  44 + miniAppId: '2001895516',
  45 + }]
  46 + })
  47 + // aplus_queue.push({
  48 + // action: 'aplus.setMetaInfo',
  49 + // arguments: ['miniAppId', '2001895516']
  50 + // });
  51 + // aplus_queue.push({
  52 + // action: 'aplus.setMetaInfo',
  53 + // arguments: ['miniAppName', '红色网上游']
  54 + // });
23 55 </script>
24 56 </head>
25 57  
26 58 <body>
27 59 <noscript>
28   - <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
29   - Please enable it to continue.</strong>
30   - </noscript>
  60 + <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
  61 + Please enable it to continue.</strong>
  62 + </noscript>
31 63 <div id="app"></div>
32 64 <!-- 地图 -->
33 65 <script src="https://webapi.amap.com/maps?v=1.4.15&key=61af1988b71a634a59a0de29409baeb8"></script>
... ...
src/App.vue
1 1 <template>
2   - <div id="app">
  2 + <div id="app" :class="isElder?'elder':''">
3 3 <keep-alive>
4   - <router-view v-if="this.$route.meta.keepAlive" />
  4 + <router-view v-if="this.$route.meta.keepAlive" @setElder="setElder" />
5 5 </keep-alive>
6   -
7   - <router-view v-if="!this.$route.meta.keepAlive" />
  6 +
  7 + <router-view v-if="!this.$route.meta.keepAlive" @setElder="setElder" />
8 8 </div>
9 9 </template>
10 10 <script>
11 11 export default {
  12 + data () {
  13 + return {
  14 + isElder: false
  15 + }
  16 + },
12 17 mounted () {
  18 +
13 19 ZWJSBridge.onReady(() => {
14 20 console.log('初始化完成后,执行bridge方法')
  21 +
15 22 })
  23 +
  24 + const isElder = sessionStorage.getItem('isElder')
  25 + if (isElder) {
  26 + this.isElder = true
  27 + } else {
  28 + ZWJSBridge.getUiStyle({})
  29 + .then((result) => {
  30 + console.log(result);
  31 + if (result.uiStyle == 'elder') {
  32 + this.isElder = true;
  33 + sessionStorage.setItem('isElder', 1)
  34 + }
  35 + })
  36 + //浙里办APP 6.11.0 版本以下版本标准模式兼容
  37 + .catch((error) => { console.log(error); });
  38 + }
16 39 },
17 40 methods: {
  41 + setElder (e) {
  42 + this.isElder = e
  43 + }
18 44 }
19 45 }
20 46 </script>
... ...
src/component/Tabbar4.vue
... ... @@ -90,4 +90,20 @@ export default {
90 90 }
91 91 }
92 92 }
  93 +</style>
  94 +<style lang="scss">
  95 +// 长辈版
  96 +.elder {
  97 + #tabbar {
  98 + .tab{
  99 + padding: 0;
  100 + img{
  101 + width: 44px;
  102 + }
  103 + p{
  104 + font-size: 34px;
  105 + }
  106 + }
  107 + }
  108 +}
93 109 </style>
94 110 \ No newline at end of file
... ...
src/views/Home/Home.vue
... ... @@ -28,6 +28,16 @@
28 28 </div>
29 29 <van-icon name="arrow" />
30 30 </div>
  31 + <div class="item" @click="handelElder">
  32 + <div class="left">
  33 + <van-icon class="icon" name="discount" />
  34 + <span>长辈版</span>
  35 + </div>
  36 + <p>
  37 + {{isElder?'已开启':'未开启'}}
  38 + <van-icon name="arrow" />
  39 + </p>
  40 + </div>
31 41 </div>
32 42 <HomeChildList v-if="showChildList"></HomeChildList>
33 43  
... ... @@ -45,6 +55,7 @@ import HomeChildList from &#39;@/views/Home/component/HomeChildList&#39;
45 55 import HomeOrder from '@/views/Home/component/HomeOrder'
46 56 import HomeScan from '@/views/Home/component/HomeScan'
47 57 import Tabbar4 from '@/component/Tabbar4'
  58 +import { Dialog } from 'vant'
48 59 export default {
49 60 data () {
50 61 return {
... ... @@ -64,46 +75,48 @@ export default {
64 75 headImgUrl: '',
65 76 defaultHead: require('@/assets/head.png'),
66 77 isShow: false,
67   - showChildList: false
  78 + showChildList: false,
  79 + isElder: false
68 80 }
69 81 },
70 82  
71 83 mounted () {
72   - aplus_queue.push({
73   - 'action': 'aplus.sendPV',
74   - 'arguments': [{
75   - is_auto: false
76   - }]
77   - })
78   - this.checkAuth()
  84 + const isElder = sessionStorage.getItem('isElder')
  85 + if (isElder) {
  86 + this.isElder = true
  87 + }
  88 + this.centerNo = sessionStorage.getItem('centerNo');
  89 + this.getUserInfo()
  90 +
  91 + // this.checkAuth()
79 92 },
80 93 methods: {
81   - checkAuth () {
82   - let centerNo = this.common.getUrlParam('center_no') || sessionStorage.getItem('centerNo');
83   - if (centerNo) {
84   - this.centerNo = centerNo
85   - sessionStorage.setItem('centerNo', centerNo);
86   - this.getUserInfo()
87   - } else {
88   - const sUserAgent = window.navigator.userAgent.toLowerCase()
89   - const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
90   - const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
91   - if (dtdreamweb) {
92   - alert('浙里办')
93   - window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
94   - }
95   - // else if (miniprogram) {
96   - // alert('支付宝')
97   - // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;
98   - // }
99   - else {
100   - console.log('非浙里办渠道访问,显示测试用户数据')
101   - this.centerNo = '20210930160466993660'
102   - sessionStorage.setItem('centerNo', '20210930160466993660');
103   - this.getUserInfo()
104   - }
105   - }
106   - },
  94 + // checkAuth () {
  95 + // let centerNo = this.common.getUrlParam('center_no') || sessionStorage.getItem('centerNo');
  96 + // if (centerNo) {
  97 + // this.centerNo = centerNo
  98 + // sessionStorage.setItem('centerNo', centerNo);
  99 + // this.getUserInfo()
  100 + // } else {
  101 + // const sUserAgent = window.navigator.userAgent.toLowerCase()
  102 + // const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
  103 + // const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
  104 + // if (dtdreamweb) {
  105 + // alert('浙里办')
  106 + // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
  107 + // }
  108 + // // else if (miniprogram) {
  109 + // // alert('支付宝')
  110 + // // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;
  111 + // // }
  112 + // else {
  113 + // console.log('非浙里办渠道访问,显示测试用户数据')
  114 + // this.centerNo = '20210930160466993660'
  115 + // sessionStorage.setItem('centerNo', '20210930160466993660');
  116 + // this.getUserInfo()
  117 + // }
  118 + // }
  119 + // },
107 120 // 研学码
108 121 handleYanxue () {
109 122 this.$router.push({ name: 'YanxueCode' })
... ... @@ -125,6 +138,42 @@ export default {
125 138 this.$toast('暂未开放,敬请期待!');
126 139 // this.$router.push({ name: 'Partner' })
127 140 },
  141 + // 点击长辈版
  142 + handelElder () {
  143 + if (this.isElder) {
  144 + Dialog.confirm({
  145 + title: '长辈版',
  146 + message: '超大字号,看的更清楚,长辈版,专为长辈设计',
  147 + confirmButtonColor: '#ee0a24',
  148 + confirmButtonText: '关闭长辈版模式'
  149 + })
  150 + .then(() => {
  151 + // on confirm
  152 + this.isElder = false
  153 + sessionStorage.removeItem('isElder')
  154 + this.$emit('setElder', false)
  155 + })
  156 + .catch(() => {
  157 + // on cancel
  158 + });
  159 + } else {
  160 + Dialog.confirm({
  161 + title: '长辈版',
  162 + message: '超大字号,看的更清楚,长辈版,专为长辈设计',
  163 + confirmButtonColor: '#3385FF',
  164 + confirmButtonText: '开启长辈版模式'
  165 + })
  166 + .then(() => {
  167 + // on confirm
  168 + this.isElder = true
  169 + sessionStorage.setItem('isElder', 1)
  170 + this.$emit('setElder', true)
  171 + })
  172 + .catch(() => {
  173 + // on cancel
  174 + });
  175 + }
  176 + },
128 177 // 获取用户信息
129 178 getUserInfo: function () {
130 179 this.mgop({
... ... @@ -265,3 +314,20 @@ export default {
265 314 z-index: 99;
266 315 }
267 316 </style>
  317 +<style lang="scss">
  318 +.elder {
  319 + .home {
  320 + .infomation .top .right {
  321 + .name {
  322 + font-size: 44px;
  323 + }
  324 + .phone {
  325 + font-size: 44px;
  326 + }
  327 + }
  328 + .function .item .left span {
  329 + font-size: 40px;
  330 + }
  331 + }
  332 +}
  333 +</style>
... ...
src/views/Home/component/HomeChildList.vue
... ... @@ -198,4 +198,17 @@ export default {
198 198 color: #f63837;
199 199 }
200 200 }
  201 +</style>
  202 +<style lang="scss">
  203 +.elder {
  204 + .home_child_list .stu_info{
  205 + height: auto;
  206 + .title p{
  207 + font-size: 40px;
  208 + }
  209 + .item{
  210 + font-size: 38px;
  211 + }
  212 + }
  213 +}
201 214 </style>
202 215 \ No newline at end of file
... ...
src/views/Home/component/HomeOrder.vue
... ... @@ -79,4 +79,18 @@ export default {
79 79 }
80 80 }
81 81 }
  82 +</style>
  83 +<style lang="scss">
  84 + .elder{
  85 + .home_order{
  86 + .top{
  87 + p{
  88 + font-size: 44px;
  89 + }
  90 + }
  91 + .icon_box p{
  92 + font-size: 34px;
  93 + }
  94 + }
  95 + }
82 96 </style>
83 97 \ No newline at end of file
... ...
src/views/Service/AbroadDetail.vue
... ... @@ -309,7 +309,7 @@ export default {
309 309 // 'isTestUrl': '1'
310 310 },
311 311 data: {
312   - "id":this.courseId,
  312 + "id": this.courseId,
313 313 "cs": "绍兴市",
314 314 },
315 315 onSuccess: res => {
... ... @@ -448,8 +448,8 @@ export default {
448 448 },
449 449 data: {
450 450 "productId": this.detailData.id,
451   - "startDate": startDate,
452   - "endDate": endDate,
  451 + "startDate": startDate,
  452 + "endDate": endDate,
453 453 },
454 454 onSuccess: res => {
455 455 if (res.data.data) {
... ... @@ -1176,4 +1176,104 @@ export default {
1176 1176 }
1177 1177 }
1178 1178 }
  1179 +</style>
  1180 +<style lang="scss">
  1181 +.elder {
  1182 + .abroad_detail {
  1183 + .countDown {
  1184 + height: auto;
  1185 + .countDownTop {
  1186 + display: block;
  1187 + font-size: 40px;
  1188 + .countDownTime {
  1189 + font-size: 40px;
  1190 + padding: 10px 0;
  1191 + div {
  1192 + width: 60px;
  1193 + }
  1194 + .countDownFont {
  1195 + line-height: 60px;
  1196 + }
  1197 + }
  1198 + }
  1199 + .countDownBottom {
  1200 + display: block;
  1201 + font-size: 40px;
  1202 + .countDownBottomyellow {
  1203 + height: 60px;
  1204 + font-size: 40px;
  1205 + }
  1206 + }
  1207 + }
  1208 + .uni_text {
  1209 + .course_price {
  1210 + font-size: 48px;
  1211 + .redmini,
  1212 + .tint {
  1213 + font-size: 36px;
  1214 + }
  1215 + }
  1216 + .course_name {
  1217 + font-size: 44px;
  1218 + }
  1219 + .course_info {
  1220 + font-size: 40px;
  1221 + }
  1222 + .address {
  1223 + font-size: 40px;
  1224 + }
  1225 + .rate > span {
  1226 + font-size: 36px;
  1227 + }
  1228 + .tag_box .tag {
  1229 + font-size: 40px;
  1230 + }
  1231 + }
  1232 + .package {
  1233 + .package_title {
  1234 + font-size: 44px;
  1235 + }
  1236 + .package_item {
  1237 + .date {
  1238 + font-size: 40px;
  1239 + }
  1240 + .week {
  1241 + font-size: 34px;
  1242 + }
  1243 + .price {
  1244 + font-size: 34px;
  1245 + }
  1246 + }
  1247 + }
  1248 + .content_box .content_all {
  1249 + font-size: 40px !important;
  1250 + line-height: 60px !important;
  1251 + }
  1252 + .tag_item {
  1253 + .tag_title {
  1254 + font-size: 44px;
  1255 + }
  1256 + .tag_text {
  1257 + font-size: 40px !important;
  1258 + line-height: 60px !important;
  1259 + }
  1260 + }
  1261 + .base .center {
  1262 + .basename {
  1263 + font-size: 44px !important;
  1264 + }
  1265 + .address {
  1266 + font-size: 40px !important;
  1267 + }
  1268 + }
  1269 + .Collection .box {
  1270 + span {
  1271 + font-size: 44px !important;
  1272 + }
  1273 + .icon {
  1274 + font-size: 40px !important;
  1275 + }
  1276 + }
  1277 + }
  1278 +}
1179 1279 </style>
1180 1280 \ No newline at end of file
... ...
src/views/Service/CheckOrder.vue
... ... @@ -181,20 +181,20 @@ export default {
181 181 },
182 182 onSuccess: res => {
183 183 if (res.data.data) {
184   - if (this.paymoney == 0) {
185   - // 使用后移除优惠券,防止返回继续使用
186   - sessionStorage.removeItem('useCard')
  184 + if (this.paymoney == 0) {
  185 + // 使用后移除优惠券,防止返回继续使用
  186 + sessionStorage.removeItem('useCard')
187 187 this.$router.push({ name: 'ServiceOrderXST', query: { active: 1, showChatGroupUrl: 1 } })
188 188  
  189 + } else {
  190 + // 使用后移除优惠券,防止返回继续使用
  191 + sessionStorage.removeItem('useCard')
  192 + this.openPay(res.data.data);
  193 + this.orderId = res.data.data.orderId;
  194 + }
189 195 } else {
190   - // 使用后移除优惠券,防止返回继续使用
191   - sessionStorage.removeItem('useCard')
192   - this.openPay(res.data.data);
193   - this.orderId = res.data.data.orderId;
  196 + this.$toast.fail(res.data?.result);
194 197 }
195   - } else {
196   - this.$toast.fail(res.data?.result);
197   - }
198 198  
199 199 },
200 200 onFail: err => {
... ... @@ -203,8 +203,45 @@ export default {
203 203 });
204 204 },
205 205 openPay (data) {
  206 + const sUserAgent = window.navigator.userAgent.toLowerCase()
  207 + const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
  208 + const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
  209 + if (dtdreamweb) {
  210 + alert('浙里办')
  211 + }
  212 + else if (miniprogram) {
  213 + alert('支付宝')
  214 + }
206 215 let that = this;
207   - alert('支付')
  216 + var payMsg = {
  217 + platform: 1,
  218 + arg: {
  219 + "credential": JSON.stringify({
  220 + "appid": "2021000118637887",
  221 + "attach": "string1",
  222 + "body": "string23",
  223 + "notify_url": "http://47.110.50.251:9091/api/alipay/pay",
  224 + "outTradeNo": new Date().getTime(),
  225 + "payType": 0,
  226 + "payWay": 0,
  227 + "productId": "11",
  228 + "quit_url": "https://www.baidu.com",
  229 + "subject": "string",
  230 + "totalFee": "1000000"
  231 + }),
  232 + "inSandBox": false
  233 + }
  234 + };
  235 + ZWJSBridge.pay(payMsg).then((result) => {
  236 +
  237 + alert('支付成功!');
  238 + console.log('#### ZWJSBridge.pay() result:' + result);
  239 +
  240 + }).catch((error) => {
  241 + var errorMsg = JSON.stringify(error);
  242 + alert('支付失败:' + errorMsg);
  243 + console.log('#### ZWJSBridge.pay() error:' + error);
  244 + });
208 245 return;
209 246  
210 247 Axios({
... ...
src/views/Service/DatePackage.vue
... ... @@ -110,7 +110,7 @@ export default {
110 110 },
111 111 onSuccess: res => {
112 112 if (res.data.data) {
113   - this.numOne = res.data.data
  113 + this.numOne = res.data.data
114 114 }
115 115 },
116 116 onFail: err => {
... ... @@ -137,7 +137,7 @@ export default {
137 137 },
138 138 onSuccess: res => {
139 139 if (res.data.data) {
140   - this.numSecond = res.data.data
  140 + this.numSecond = res.data.data
141 141 }
142 142 },
143 143 onFail: err => {
... ... @@ -225,12 +225,12 @@ export default {
225 225 // 判断是否已登录
226 226 checkLogin () {
227 227 if (process.env.NODE_ENV != "production") return true;
228   -
  228 +
229 229 const userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
230 230 const publicName = sessionStorage.getItem('publicName')
231 231 if (!userInfo?.phone) {
232 232 sessionStorage.setItem('prePage', 'ServiceDatePackage');
233   - sessionStorage.setItem('prePageQuery', JSON.stringify({ date:this.date }));
  233 + sessionStorage.setItem('prePageQuery', JSON.stringify({ date: this.date }));
234 234 this.$router.push({ name: 'LoginPublic', query: { publicName: publicName } })
235 235 return false;
236 236 }
... ... @@ -277,7 +277,7 @@ export default {
277 277 .period_item {
278 278 padding: 10px 20px;
279 279 font-size: 28px;
280   - margin-bottom:15px;
  280 + margin-bottom: 15px;
281 281 text-align: left;
282 282 background: #f5f6fa;
283 283 border-radius: 10px;
... ... @@ -414,4 +414,43 @@ export default {
414 414 box-sizing: border-box;
415 415 color: #333;
416 416 }
  417 +</style>
  418 +<style lang="scss">
  419 +.elder {
  420 + #datePackage {.tag_item {
  421 + .tag_title {
  422 + font-size: 44px;
  423 + }
  424 + .package_name {
  425 + font-size: 40px;
  426 + }
  427 + .period .period_item {
  428 + font-size: 40px;
  429 + }
  430 + .tag_title_flex .count{
  431 + font-size: 40px;
  432 + }
  433 + .package_num{
  434 + font-size: 40px;
  435 + .tint{
  436 + font-size: 40px;
  437 +
  438 + }
  439 + }
  440 + }
  441 + .Collection {.box1 p{
  442 + font-size: 56px;
  443 + span{
  444 + font-size: 40px;
  445 + }
  446 + del{
  447 + font-size: 40px;
  448 + }
  449 + }
  450 + .box > span{
  451 + font-size: 44px;
  452 + }
  453 + }
  454 + }
  455 +}
417 456 </style>
418 457 \ No newline at end of file
... ...
src/views/Service/ServiceBaseKQ.vue
... ... @@ -125,7 +125,7 @@ export default {
125 125 type: 'POST',
126 126 appKey: 'fuxgnukl+2001895516+edccpx', // 必须
127 127 headers: {
128   - // 'isTestUrl': '1'
  128 + // 'isTestUrl': '1'
129 129 },
130 130 data: {
131 131 "area": "",
... ... @@ -165,7 +165,7 @@ export default {
165 165 type: 'POST',
166 166 appKey: 'fuxgnukl+2001895516+edccpx', // 必须
167 167 headers: {
168   - // 'isTestUrl': '1'
  168 + // 'isTestUrl': '1'
169 169 },
170 170 data: {
171 171 "area": "",
... ... @@ -204,7 +204,7 @@ export default {
204 204 type: 'POST',
205 205 appKey: 'fuxgnukl+2001895516+edccpx', // 必须
206 206 headers: {
207   - // 'isTestUrl': '1'
  207 + // 'isTestUrl': '1'
208 208 },
209 209 data: {
210 210 "area": "",
... ... @@ -243,7 +243,7 @@ export default {
243 243 type: 'POST',
244 244 appKey: 'fuxgnukl+2001895516+edccpx', // 必须
245 245 headers: {
246   - // 'isTestUrl': '1'
  246 + // 'isTestUrl': '1'
247 247 },
248 248 data: {
249 249 "area": "",
... ... @@ -282,7 +282,7 @@ export default {
282 282 type: 'POST',
283 283 appKey: 'fuxgnukl+2001895516+edccpx', // 必须
284 284 headers: {
285   - // 'isTestUrl': '1'
  285 + // 'isTestUrl': '1'
286 286 },
287 287 data: {
288 288 "area": "",
... ... @@ -322,7 +322,7 @@ export default {
322 322 type: 'POST',
323 323 appKey: 'fuxgnukl+2001895516+edccpx', // 必须
324 324 headers: {
325   - // 'isTestUrl': '1'
  325 + // 'isTestUrl': '1'
326 326 },
327 327 data: {
328 328 "area": "",
... ... @@ -528,9 +528,6 @@ export default {
528 528 box-shadow: 0 10px 10px rgba(238, 238, 238, 0.295);
529 529 height: 88px;
530 530 }
531   - ::v-deep .van-tabs__nav {
532   - background: transparent;
533   - }
534 531 ::v-deep .van-tab {
535 532 // color: #fff;
536 533 color: black;
... ... @@ -586,3 +583,27 @@ export default {
586 583 background-color: #39a9ed;
587 584 }
588 585 </style>
  586 +<style lang="scss">
  587 +// 长辈版
  588 +.elder {
  589 + #serviceKQ {
  590 + .container {
  591 + .redLink {
  592 + font-size: 44px;
  593 + background: #ff696a;
  594 + }
  595 + .top_tool {
  596 + .van-field__control {
  597 + font-size: 44px;
  598 + }
  599 + }
  600 + .van-tab{
  601 + font-size: 40px;
  602 + }
  603 + .van-tab--active{
  604 + font-size: 44px;
  605 + }
  606 + }
  607 + }
  608 +}
  609 +</style>
589 610 \ No newline at end of file
... ...
src/views/Service/ServiceKQ.vue
... ... @@ -14,12 +14,6 @@ export default {
14 14  
15 15 mounted () {
16 16 console.log('xst mounted')
17   - aplus_queue.push({
18   - 'action': 'aplus.sendPV',
19   - 'arguments': [{
20   - is_auto: false
21   - }]
22   - })
23 17 this.checkAuth()
24 18  
25 19 },
... ... @@ -33,25 +27,22 @@ export default {
33 27 if (centerNo) {
34 28 this.centerNo = centerNo
35 29 sessionStorage.setItem('centerNo', centerNo);
36   - console.log(111)
37 30 this.getUserInfo()
38 31 } else {
39   - console.log(222)
40 32 const sUserAgent = window.navigator.userAgent.toLowerCase()
41 33 const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
42 34 const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
43 35 if (dtdreamweb) {
44   - console.log(333)
45 36 alert('浙里办')
46   - // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
47   - this.centerNo = '20210930160466993660'
48   - sessionStorage.setItem('centerNo', '20210930160466993660');
  37 + window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
  38 + // this.centerNo = '20210930160466993660'
  39 + // sessionStorage.setItem('centerNo', '20210930160466993660');
49 40 this.getUserInfo()
50 41 }
51   - // else if (miniprogram) {
52   - // alert('支付宝')
53   - // window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=passp&goto=`;
54   - // }
  42 + else if (miniprogram) {
  43 + alert('支付宝')
  44 + window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=hswsy`;
  45 + }
55 46 else {
56 47 console.log('非浙里办渠道访问,显示测试用户数据')
57 48 this.centerNo = '20210930160466993660'
... ...
src/views/Service/component/ServiceListFour.vue
... ... @@ -97,6 +97,7 @@ export default {
97 97 }
98 98 .abroad {
99 99 padding: 18px 0;
  100 + padding-bottom: 146px;
100 101 .padding_box {
101 102 padding: 0 28px;
102 103 padding-bottom: 16px;
... ... @@ -264,4 +265,37 @@ export default {
264 265 }
265 266 }
266 267 }
  268 +</style>
  269 +<style lang="scss">
  270 +// 长辈版
  271 +.elder {
  272 + .abroad {
  273 + .uni_item {
  274 + .content{
  275 + .title{
  276 + font-size: 40px;
  277 + }
  278 + .active_time{
  279 + font-size: 32px;
  280 + }
  281 + .tag_box{
  282 + .tag{
  283 + font-size: 32px;
  284 + }
  285 + }
  286 + .price {
  287 + .icon {
  288 + font-size: 34px;
  289 + }
  290 + .tint {
  291 + font-size: 28px;
  292 + }
  293 + .limit {
  294 + font-size: 28px;
  295 + }
  296 + }
  297 + }
  298 + }
  299 + }
  300 +}
267 301 </style>
268 302 \ No newline at end of file
... ...
src/views/Service/component/ServiceListSecond.vue
... ... @@ -6,13 +6,13 @@
6 6 <div class="padding_box">
7 7 <template v-for="(item,index) in list">
8 8 <!-- <div class="uni_item_mini" :key="index" @click="handleUniDetail(item)" v-if="index<=3"> -->
9   - <div class="uni_item_mini" :key="index" @click="handleUniDetail(item)" >
  9 + <div class="uni_item_mini" :key="index" @click="handleUniDetail(item)">
10 10 <div class="img_box">
11 11 <!-- <img :loading="defaultImg" v-lazy="item.coverUrl" alt=""> -->
12   - <img :src="item.coverUrl?item.coverUrl:defaultImg" alt="">
  12 + <img :src="item.coverUrl?item.coverUrl:defaultImg" alt="">
13 13 <template v-if="item.startDate">
14 14 <p class="time" v-if="item.startDate==item.endDate">活动时间:{{item.startDate}} {{item.week}}</p>
15   - <p class="time" v-else>活动时间:{{item.startDate}}-{{item.endDate}}</p>
  15 + <p class="time" v-else>活动时间:{{item.startDate}}-{{item.endDate}}</p>
16 16 </template>
17 17 <div class="bottom" v-if="item.cityAddress||item.areaAddress">
18 18 <span class="address">
... ... @@ -57,7 +57,7 @@ export default {
57 57 methods: {
58 58 handleUniDetail (item) {
59 59 const publicName = sessionStorage.getItem('publicName');
60   - this.$router.push({ name: 'ServiceAbroadDetail', query: { courseId: item.id,publicName:publicName } })
  60 + this.$router.push({ name: 'ServiceAbroadDetail', query: { courseId: item.id, publicName: publicName } })
61 61 },
62 62 }
63 63 }
... ... @@ -85,9 +85,9 @@ export default {
85 85 }
86 86 .abroad {
87 87 padding: 18px 0;
  88 + padding-bottom: 146px;
88 89 .padding_box {
89 90 padding: 0 28px;
90   - padding-bottom: 16px;
91 91 }
92 92 .uni_item_mini {
93 93 position: relative;
... ... @@ -103,7 +103,7 @@ export default {
103 103 position: relative;
104 104 border-radius: 16px;
105 105 overflow: hidden;
106   - width: 336px;
  106 + width: 336px;
107 107 img {
108 108 width: 448px;
109 109 height: 336px;
... ... @@ -180,15 +180,15 @@ export default {
180 180 .price {
181 181 font-size: 34px;
182 182 font-weight: bold;
183   - color: #F64C37;
  183 + color: #f64c37;
184 184 .icon {
185 185 font-size: 24px;
186   - color: #F64C37;
  186 + color: #f64c37;
187 187 }
188 188 .tint {
189 189 font-size: 22px;
190 190 font-weight: normal;
191   - color:#909399
  191 + color: #909399;
192 192 }
193 193 .limit {
194 194 font-size: 22px;
... ... @@ -211,4 +211,12 @@ export default {
211 211 background: #f5f6fa;
212 212 }
213 213 }
  214 +</style>
  215 +<style lang="scss">
  216 +// 长辈版
  217 +.elder {
  218 + .abroad {
  219 +
  220 + }
  221 +}
214 222 </style>
215 223 \ No newline at end of file
... ...
src/views/Service/component/ServiceListThird.vue
... ... @@ -3,34 +3,34 @@
3 3 */
4 4 <template>
5 5 <div class="tab_content abroad" :class="notab?'notab':''" @scroll="orderScroll" ref="viewBox">
6   - <div class="padding_box" >
  6 + <div class="padding_box">
7 7 <template v-for="(item,index) in list">
8   - <div class="cardBox" :key="index" @click="handleUniDetail(item)" >
9   - <div class="cardBox_pic"><img style="width:100%;height:67.5vw" :src="item.coverUrl?item.coverUrl:defaultImg" alt=""></div>
10   - <div class="cardBox_title">
11   - <div>{{item.course_name}}</div>
12   - <div class="cardBox_title_red">
13   - <span v-if="item.showPrice > 0">¥{{item.showPrice}}</span>
14   - <span v-else>免费</span>
15   - </div>
16   - </div>
17   - <div class="cardBox_main">
18   - {{item.course_info}}
  8 + <div class="cardBox" :key="index" @click="handleUniDetail(item)">
  9 + <div class="cardBox_pic"><img style="width:100%;height:67.5vw" :src="item.coverUrl?item.coverUrl:defaultImg" alt=""></div>
  10 + <div class="cardBox_title">
  11 + <div>{{item.course_name}}</div>
  12 + <div class="cardBox_title_red">
  13 + <span v-if="item.showPrice > 0">¥{{item.showPrice}}</span>
  14 + <span v-else>免费</span>
19 15 </div>
20   - <div class="cardBox_bottom">
21   - <div>
22   - <div class="tag_box">
23   - <template v-for="(tag,index2) in item.course_labels">
24   - <span class="tag" v-if="tag" :key="index2">{{tag}}</span>
25   - </template>
26   - </div>
  16 + </div>
  17 + <div class="cardBox_main">
  18 + {{item.course_info}}
  19 + </div>
  20 + <div class="cardBox_bottom">
  21 + <div>
  22 + <div class="tag_box">
  23 + <template v-for="(tag,index2) in item.course_labels">
  24 + <span class="tag" v-if="tag" :key="index2">{{tag}}</span>
  25 + </template>
27 26 </div>
28   - <div>
29   - <div class="count">
30   - <van-icon name="eye-o" /> {{item.read_count}}
31   - </div>
  27 + </div>
  28 + <div>
  29 + <div class="count">
  30 + <van-icon name="eye-o" /> {{item.read_count}}
32 31 </div>
33 32 </div>
  33 + </div>
34 34 </div>
35 35 </template>
36 36 </div>
... ... @@ -48,14 +48,14 @@ export default {
48 48 default: false
49 49 }
50 50 },
51   - mounted(){
  51 + mounted () {
52 52 // window.onscroll = function() {
53 53 // //为了保证兼容性,这里取两个值,哪个有值取哪一个
54 54 // //scrollTop就是触发滚轮事件时滚轮的高度
55 55 // var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
56 56 // console.log("滚动距离" + scrollTop);
57 57 // }
58   -
  58 +
59 59 // this.$refs.viewBox.addEventListener('scroll', (event) => {
60 60 // console.log('滚动',event)
61 61 // console.log(this.$refs.viewBox.scrollTop)
... ... @@ -71,9 +71,9 @@ export default {
71 71 methods: {
72 72 handleUniDetail (item) {
73 73 const publicName = sessionStorage.getItem('publicName');
74   - this.$router.push({ name: 'ServiceAbroadDetail', query: { courseId: item.id,publicName:publicName } })
  74 + this.$router.push({ name: 'ServiceAbroadDetail', query: { courseId: item.id, publicName: publicName } })
75 75 },
76   - orderScroll() {
  76 + orderScroll () {
77 77 // console.log(this.$refs.viewBox.scrollTop)
78 78 }
79 79 }
... ... @@ -86,7 +86,7 @@ export default {
86 86 overflow: auto;
87 87 &.notab {
88 88 // height: calc(100vh - 196px);
89   - background-color: #F5F7FA !important;
  89 + background-color: #f5f7fa !important;
90 90 }
91 91 }
92 92 .tab_btn_box {
... ... @@ -107,57 +107,55 @@ export default {
107 107 }
108 108 .abroad {
109 109 padding: 18px 0;
  110 + padding-bottom: 146px;
110 111 .padding_box {
111 112 padding: 0 5vw;
112   - padding-bottom: 16px;
  113 + // padding-bottom: 126px;
113 114 }
114 115 .cardBox {
115 116 // width: calc(100vw - 56px);
116 117 width: 90vw;
117   - // height: 92.5vw;
118   - height: 70vw;
119 118 margin-bottom: 20px;
120 119 background-color: #fff;
121 120  
122 121 .cardBox_pic {
123   - // height: 67.5vw;
124   - height: 45vw;
125   - width: 90vw;
126   - flex-shrink: 0;
127   - border-radius: 20px;
128   - overflow: hidden;
  122 + // height: 67.5vw;
  123 + height: 45vw;
  124 + width: 90vw;
  125 + flex-shrink: 0;
  126 + border-radius: 20px;
  127 + overflow: hidden;
129 128  
130   - img {
131   - transform: translateY(-20vw);
132   - }
  129 + img {
  130 + transform: translateY(-20vw);
  131 + }
133 132 }
134 133 .cardBox_title {
135   - height: 10vw;
136   - width: 100%;
137   - padding: 0 3vw;
138   - box-sizing: border-box;
139   - font-size: 30px;
140   - font-weight: bold;
141   - // background-color: cadetblue;
142   - display: flex;
143   - justify-content: space-between;
144   - align-items: center;
  134 + height: 10vw;
  135 + width: 100%;
  136 + padding: 0 3vw;
  137 + box-sizing: border-box;
  138 + font-size: 30px;
  139 + font-weight: bold;
  140 + // background-color: cadetblue;
  141 + display: flex;
  142 + justify-content: space-between;
  143 + align-items: center;
145 144  
146   - .cardBox_title_red {
147   - width: 15vw;
148   - color: red;
149   - text-align: right;
150   - }
  145 + .cardBox_title_red {
  146 + width: 15vw;
  147 + color: red;
  148 + text-align: right;
  149 + }
151 150 }
152 151 .cardBox_main {
153   - width: 100%;
154   - padding: 0 3vw;
155   - box-sizing: border-box;
156   - font-size: 24px;
157   - color: #999;
  152 + width: 100%;
  153 + padding: 0 3vw;
  154 + box-sizing: border-box;
  155 + font-size: 24px;
  156 + color: #999;
158 157 }
159 158 .cardBox_bottom {
160   - height: 8vw;
161 159 width: 100%;
162 160 padding: 0 3vw;
163 161 box-sizing: border-box;
... ... @@ -172,10 +170,10 @@ export default {
172 170 display: inline-block;
173 171 margin-bottom: 10px;
174 172 margin-right: 10px;
175   - color: #EE5959;
  173 + color: #ee5959;
176 174 font-size: 20px;
177 175 border-radius: 4px;
178   - border: 2px solid #EE5959;
  176 + border: 2px solid #ee5959;
179 177 padding: 0px 6px;
180 178 }
181 179 }
... ... @@ -186,4 +184,29 @@ export default {
186 184 }
187 185 }
188 186 }
  187 +</style>
  188 +<style lang="scss">
  189 +// 长辈版
  190 +.elder {
  191 + .abroad {
  192 + .cardBox {
  193 + .cardBox_title {
  194 + font-size: 44px;
  195 + }
  196 + .cardBox_main {
  197 + font-size: 44px;
  198 + }
  199 + .cardBox_bottom {
  200 + .tag_box {
  201 + .tag {
  202 + font-size: 40px;
  203 + }
  204 + }
  205 + .count {
  206 + font-size: 44px;
  207 + }
  208 + }
  209 + }
  210 + }
  211 +}
189 212 </style>
190 213 \ No newline at end of file
... ...