Commit c865a00f85df43e337af7c230670e9ee495623bc
1 parent
44cb771a
赤峰支付宝支付
Showing
6 changed files
with
67 additions
and
33 deletions
src/components/navigation.vue
@@ -3,8 +3,9 @@ | @@ -3,8 +3,9 @@ | ||
3 | <div style="height: 206px;"> | 3 | <div style="height: 206px;"> |
4 | <div class="swiper-container"> | 4 | <div class="swiper-container"> |
5 | <div class="swiper-wrapper"> | 5 | <div class="swiper-wrapper"> |
6 | - <div class="swiper-slide" v-for="item in swiperData" :key="item.id" :style="{backgroundImage:'url(' + item.url + ')'}" | ||
7 | - @click="openImgUrl(item)" | 6 | + <div class="swiper-slide" v-for="item in swiperData" :key="item.id" |
7 | + :style="{backgroundImage:'url(' + item.url + ')'}" | ||
8 | + @click="openImgUrl(item)" | ||
8 | ></div> | 9 | ></div> |
9 | </div> | 10 | </div> |
10 | <!-- 如果需要分页器 --> | 11 | <!-- 如果需要分页器 --> |
@@ -23,11 +24,11 @@ | @@ -23,11 +24,11 @@ | ||
23 | <p class="carNumber">{{carNumber}}</p> | 24 | <p class="carNumber">{{carNumber}}</p> |
24 | </div> | 25 | </div> |
25 | 26 | ||
26 | - <p class="toParkRecord"> | 27 | + <p class="toParkRecord" @click="toParkRecord"> |
27 | 是我的车,去支付 | 28 | 是我的车,去支付 |
28 | </p> | 29 | </p> |
29 | 30 | ||
30 | - <p class="toPlateNumber"> | 31 | + <p class="toPlateNumber" @click="toPlateNumber"> |
31 | 不是我的车,手动输入 | 32 | 不是我的车,手动输入 |
32 | </p> | 33 | </p> |
33 | 34 | ||
@@ -39,7 +40,8 @@ | @@ -39,7 +40,8 @@ | ||
39 | 40 | ||
40 | <script> | 41 | <script> |
41 | import Swiper from 'swiper' // 应入swiper | 42 | import Swiper from 'swiper' // 应入swiper |
42 | -import { swiperQuery } from '../api/navigation/navigation' | 43 | +import {swiperQuery} from '../api/navigation/navigation' |
44 | + | ||
43 | export default { | 45 | export default { |
44 | name: 'navigation', | 46 | name: 'navigation', |
45 | data() { | 47 | data() { |
@@ -59,7 +61,7 @@ export default { | @@ -59,7 +61,7 @@ export default { | ||
59 | this.initSWiper() | 61 | this.initSWiper() |
60 | }, | 62 | }, |
61 | methods: { | 63 | methods: { |
62 | - initSWiper(){ | 64 | + initSWiper() { |
63 | var salt = this.$utils.myCommonSalt(32) | 65 | var salt = this.$utils.myCommonSalt(32) |
64 | var jsondata = { | 66 | var jsondata = { |
65 | app_id: this.$utils.myVarAppid, | 67 | app_id: this.$utils.myVarAppid, |
@@ -67,14 +69,14 @@ export default { | @@ -67,14 +69,14 @@ export default { | ||
67 | salt: salt, | 69 | salt: salt, |
68 | sign_type: 'md5', | 70 | sign_type: 'md5', |
69 | sign: '1', | 71 | sign: '1', |
70 | - orgId:this.$utils.myOrgId, | 72 | + orgId: this.$utils.myOrgId, |
71 | jumpType: '8' | 73 | jumpType: '8' |
72 | }; | 74 | }; |
73 | // jsondata = JSON.stringify(jsondata); | 75 | // jsondata = JSON.stringify(jsondata); |
74 | - swiperQuery(jsondata).then( res => { | 76 | + swiperQuery(jsondata).then(res => { |
75 | this.swiperData = res.data | 77 | this.swiperData = res.data |
76 | console.log(this.swiperData) | 78 | console.log(this.swiperData) |
77 | - new Swiper ('.swiper-container', { | 79 | + new Swiper('.swiper-container', { |
78 | pagination: '.swiper-pagination', | 80 | pagination: '.swiper-pagination', |
79 | paginationClickable: true, | 81 | paginationClickable: true, |
80 | centeredSlides: true, | 82 | centeredSlides: true, |
@@ -90,23 +92,41 @@ export default { | @@ -90,23 +92,41 @@ export default { | ||
90 | }) | 92 | }) |
91 | }) | 93 | }) |
92 | }, | 94 | }, |
93 | - openImgUrl(i){ // 点击图片跳转 | 95 | + openImgUrl(i) { // 点击图片跳转 |
94 | window.open(i.jumpUrl) | 96 | window.open(i.jumpUrl) |
95 | - } | 97 | + }, |
98 | + toPlateNumber() { // 前往输入车牌页面 | ||
99 | + this.$router.push({ | ||
100 | + path: 'plateNumber', | ||
101 | + | ||
102 | + } | ||
103 | + ) | ||
104 | + }, | ||
105 | + toParkRecord() { // 前往停车记录页面 | ||
106 | + this.$router.push({ | ||
107 | + path: 'parkRecord', | ||
108 | + query: { | ||
109 | + carNumber: this.carNumber, | ||
110 | + carNumberColor: this.carWrapBG | ||
111 | + } | ||
112 | + }) | ||
113 | + }, | ||
96 | } | 114 | } |
97 | } | 115 | } |
98 | </script> | 116 | </script> |
99 | 117 | ||
100 | <style scoped lang="scss"> | 118 | <style scoped lang="scss"> |
101 | - .swiper-container{ | 119 | + .swiper-container { |
102 | height: 206px; | 120 | height: 206px; |
103 | } | 121 | } |
104 | - .swiper-slide{ | 122 | + |
123 | + .swiper-slide { | ||
105 | /*width: 100%;*/ | 124 | /*width: 100%;*/ |
106 | height: 206px; | 125 | height: 206px; |
107 | background-repeat: no-repeat; | 126 | background-repeat: no-repeat; |
108 | background-size: 100% 100%; | 127 | background-size: 100% 100%; |
109 | } | 128 | } |
129 | + | ||
110 | .carNumberTip { | 130 | .carNumberTip { |
111 | width: 200px; | 131 | width: 200px; |
112 | margin: 20px auto 10px; | 132 | margin: 20px auto 10px; |
@@ -129,6 +149,7 @@ export default { | @@ -129,6 +149,7 @@ export default { | ||
129 | font-size: 24px; | 149 | font-size: 24px; |
130 | color: #fff; | 150 | color: #fff; |
131 | } | 151 | } |
152 | + | ||
132 | .carBlue { | 153 | .carBlue { |
133 | background: url("../assets/images/blueBG.png") no-repeat; | 154 | background: url("../assets/images/blueBG.png") no-repeat; |
134 | background-size: 100% 100%; | 155 | background-size: 100% 100%; |
@@ -153,7 +174,8 @@ export default { | @@ -153,7 +174,8 @@ export default { | ||
153 | background: url("../assets/images/blackBG.png") no-repeat; | 174 | background: url("../assets/images/blackBG.png") no-repeat; |
154 | background-size: 100% 100%; | 175 | background-size: 100% 100%; |
155 | } | 176 | } |
156 | - .toParkRecord{ | 177 | + |
178 | + .toParkRecord { | ||
157 | margin-top: 40px; | 179 | margin-top: 40px; |
158 | margin-bottom: 20px; | 180 | margin-bottom: 20px; |
159 | height: 50px; | 181 | height: 50px; |
@@ -164,7 +186,8 @@ export default { | @@ -164,7 +186,8 @@ export default { | ||
164 | background-size: 100% 50px; | 186 | background-size: 100% 50px; |
165 | cursor: pointer; | 187 | cursor: pointer; |
166 | } | 188 | } |
167 | - .toPlateNumber{ | 189 | + |
190 | + .toPlateNumber { | ||
168 | text-align: right; | 191 | text-align: right; |
169 | cursor: pointer; | 192 | cursor: pointer; |
170 | } | 193 | } |
src/components/orderPay.vue
@@ -67,6 +67,7 @@ export default { | @@ -67,6 +67,7 @@ export default { | ||
67 | this.clientBrowser = this.$utils.clientBrowser() //支付方式 | 67 | this.clientBrowser = this.$utils.clientBrowser() //支付方式 |
68 | this.paySrcType = this.$route.query.paySrcType // 实收 | 68 | this.paySrcType = this.$route.query.paySrcType // 实收 |
69 | this.orderId = this.$route.query.ordeID | 69 | this.orderId = this.$route.query.ordeID |
70 | + console.log(this.orderId) | ||
70 | this.appOrderTimeout = this.$route.query.appOrderTimeout | 71 | this.appOrderTimeout = this.$route.query.appOrderTimeout |
71 | if (this.clientBrowser == "微信") { | 72 | if (this.clientBrowser == "微信") { |
72 | this.webAppCode = this.getCode(); | 73 | this.webAppCode = this.getCode(); |
@@ -75,7 +76,7 @@ export default { | @@ -75,7 +76,7 @@ export default { | ||
75 | methods: { | 76 | methods: { |
76 | getCode() { | 77 | getCode() { |
77 | var appID = this.$utils.myVxAppId; | 78 | var appID = this.$utils.myVxAppId; |
78 | - var code = this.$route.query.code | 79 | + var code = this.getUrlParamfunction(code) |
79 | var local = window.location.href; | 80 | var local = window.location.href; |
80 | if (code == null || code === '') { | 81 | if (code == null || code === '') { |
81 | window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect' | 82 | window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect' |
@@ -83,12 +84,19 @@ export default { | @@ -83,12 +84,19 @@ export default { | ||
83 | return code; | 84 | return code; |
84 | } | 85 | } |
85 | }, | 86 | }, |
87 | + getUrlParamfunction(name) { | ||
88 | + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); | ||
89 | + var r = window.location.search.substr(1).match(reg) | ||
90 | + if (r != null) return unescape(r[2]) | ||
91 | + return null | ||
92 | + }, | ||
86 | toPay() { | 93 | toPay() { |
87 | let me = this | 94 | let me = this |
88 | let _order = [] | 95 | let _order = [] |
89 | - this.orderId = JSON.parse(this.orderId) | 96 | + |
90 | console.log(this.orderId) | 97 | console.log(this.orderId) |
91 | if (this.paySrcType == 103) { | 98 | if (this.paySrcType == 103) { |
99 | + this.orderId = JSON.parse(this.orderId) | ||
92 | this.orderId.forEach(item => { | 100 | this.orderId.forEach(item => { |
93 | _order.push({ | 101 | _order.push({ |
94 | orderId: item | 102 | orderId: item |
@@ -100,8 +108,6 @@ export default { | @@ -100,8 +108,6 @@ export default { | ||
100 | 108 | ||
101 | if (this.clientBrowser == '支付宝') { // 支付宝支付 | 109 | if (this.clientBrowser == '支付宝') { // 支付宝支付 |
102 | var aliParams = {}; | 110 | var aliParams = {}; |
103 | - console.log(this.orderId) | ||
104 | - console.log(typeof this.orderId) | ||
105 | aliParams.orderId = this.orderId; | 111 | aliParams.orderId = this.orderId; |
106 | aliParams.carNumber = this.carNumber; | 112 | aliParams.carNumber = this.carNumber; |
107 | aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 | 113 | aliParams.payType = 1;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 |
@@ -110,7 +116,7 @@ export default { | @@ -110,7 +116,7 @@ export default { | ||
110 | aliParams.orgId = this.$utils.myOrgId, | 116 | aliParams.orgId = this.$utils.myOrgId, |
111 | aliParams.backType = 2, | 117 | aliParams.backType = 2, |
112 | aliParams.recordArreaInfos = JSON.stringify(this.orderId); | 118 | aliParams.recordArreaInfos = JSON.stringify(this.orderId); |
113 | - | 119 | + console.log(aliParams) |
114 | aliPay(aliParams).then(response => { | 120 | aliPay(aliParams).then(response => { |
115 | console.log(response) | 121 | console.log(response) |
116 | if (response.code == 0) {//进场 | 122 | if (response.code == 0) {//进场 |
@@ -146,15 +152,15 @@ export default { | @@ -146,15 +152,15 @@ export default { | ||
146 | var wxParams = {}; | 152 | var wxParams = {}; |
147 | wxParams.orderId = orderIdData; | 153 | wxParams.orderId = orderIdData; |
148 | wxParams.backType = 2, | 154 | wxParams.backType = 2, |
149 | - wxParams.orgId = this.$utils.myOrgId, | ||
150 | - wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 | 155 | + wxParams.orgId = this.$utils.myOrgId, |
156 | + wxParams.payType = 4;// 1:支付宝 2:微信 3:银联 10:H5 4微信公众号 | ||
151 | wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 | 157 | wxParams.terminalSource = 7;//请求端来源 1: 任你停 2:pda 3:微信公共号 7:H5扫码 10页面支付 |
152 | wxParams.carNumber = this.carNumber; | 158 | wxParams.carNumber = this.carNumber; |
153 | wxParams.paySrcType = this.paySrcType;//101停车支付 | 159 | wxParams.paySrcType = this.paySrcType;//101停车支付 |
154 | wxParams.recordArreaInfos = JSON.stringify(orderIdData); | 160 | wxParams.recordArreaInfos = JSON.stringify(orderIdData); |
155 | wxParams.openId = openIdData; | 161 | wxParams.openId = openIdData; |
156 | wxParams.appId = this.$utils.myVxAppId; | 162 | wxParams.appId = this.$utils.myVxAppId; |
157 | - vxPayQuery(wxParams).then( res => { | 163 | + vxPayQuery(wxParams).then(res => { |
158 | if (res.code == 0) { // | 164 | if (res.code == 0) { // |
159 | //alertMsg("出场成功"); | 165 | //alertMsg("出场成功"); |
160 | if (res.data) { | 166 | if (res.data) { |
@@ -180,7 +186,7 @@ export default { | @@ -180,7 +186,7 @@ export default { | ||
180 | } | 186 | } |
181 | }) | 187 | }) |
182 | }, | 188 | }, |
183 | - onBridgeReady (data) { | 189 | + onBridgeReady(data) { |
184 | console.log('调用微信支付WeixinJSBridge') | 190 | console.log('调用微信支付WeixinJSBridge') |
185 | var vm = this | 191 | var vm = this |
186 | WeixinJSBridge.invoke( | 192 | WeixinJSBridge.invoke( |
@@ -197,7 +203,7 @@ export default { | @@ -197,7 +203,7 @@ export default { | ||
197 | function (res) { | 203 | function (res) { |
198 | // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。 | 204 | // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。 |
199 | if (res.err_msg === 'get_brand_wcpay_request:ok') { | 205 | if (res.err_msg === 'get_brand_wcpay_request:ok') { |
200 | - console.log('成功') | 206 | + console.log('成功') |
201 | } else { | 207 | } else { |
202 | console.log('失败') | 208 | console.log('失败') |
203 | alert('支付失败') | 209 | alert('支付失败') |
src/components/parkRecord.vue
@@ -171,7 +171,7 @@ export default { | @@ -171,7 +171,7 @@ export default { | ||
171 | parkState: 10, | 171 | parkState: 10, |
172 | terminalSource: 7, | 172 | terminalSource: 7, |
173 | carNumber: this.carNumber, | 173 | carNumber: this.carNumber, |
174 | - // sign: md5sign, | 174 | + carNumberColor: this.carColor, |
175 | orgId: this.$utils.myOrgId | 175 | orgId: this.$utils.myOrgId |
176 | } | 176 | } |
177 | jsondata.sign = this.$utils.signObject(jsondata) | 177 | jsondata.sign = this.$utils.signObject(jsondata) |
src/components/plateNumber.vue
@@ -389,7 +389,8 @@ export default { | @@ -389,7 +389,8 @@ export default { | ||
389 | this.$router.push({ | 389 | this.$router.push({ |
390 | path:'parkRecord', | 390 | path:'parkRecord', |
391 | query:{ | 391 | query:{ |
392 | - carNumber:plateLicense | 392 | + carNumber:plateLicense, |
393 | + carNumberColor: this.currentColor | ||
393 | } | 394 | } |
394 | }) | 395 | }) |
395 | }, | 396 | }, |
src/utils/request.js
@@ -7,7 +7,11 @@ const service = axios.create({ | @@ -7,7 +7,11 @@ const service = axios.create({ | ||
7 | 7 | ||
8 | // http://pay.service.renniting.cn/ 赤峰 | 8 | // http://pay.service.renniting.cn/ 赤峰 |
9 | // http://pay.service.huangshiparking.com/ 黄石 | 9 | // http://pay.service.huangshiparking.com/ 黄石 |
10 | - baseURL: 'http://pay.service.renniting.cn/', // url = base url + request url | 10 | + |
11 | + // 'http://39.98.58.92:8090'; 赤峰测试环境 | ||
12 | + | ||
13 | + | ||
14 | + baseURL: 'http://39.98.58.92:8090/', // url = base url + request url | ||
11 | // withCredentials: true, // send cookies when cross-domain requests | 15 | // withCredentials: true, // send cookies when cross-domain requests |
12 | timeout: 6000 // request timeout | 16 | timeout: 6000 // request timeout |
13 | }) | 17 | }) |
src/utils/utils.js
@@ -91,16 +91,16 @@ export default { | @@ -91,16 +91,16 @@ export default { | ||
91 | // ud8yq5tv0inxupc05xfeau39jywlqoj2 新的id | 91 | // ud8yq5tv0inxupc05xfeau39jywlqoj2 新的id |
92 | // ny1u72b6k374sg379z0kqjgfxe2ycnpw 新的签名 | 92 | // ny1u72b6k374sg379z0kqjgfxe2ycnpw 新的签名 |
93 | 93 | ||
94 | - myVarAppid:'0eca8f5373ca4866aec2f8e9d9367104',// 公共请求Appid | 94 | + myVarAppid:'ud8yq5tv0inxupc05xfeau39jywlqoj2',// 公共请求Appid |
95 | 95 | ||
96 | myDeviceInfo: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E', // 公共请求设备信息 | 96 | myDeviceInfo: 'BC0703A4-AFB0-4B51-9089-9B7487C0CC6E', // 公共请求设备信息 |
97 | 97 | ||
98 | - myVxAppId: 'wxa1a66cc7d263afe6', | 98 | + myVxAppId: 'wx2af2bab90d433c86', |
99 | // 测试环境 微信赤峰 appid wxff4cebaedbf4f886 | 99 | // 测试环境 微信赤峰 appid wxff4cebaedbf4f886 |
100 | // 微信赤峰 appid wx2af2bab90d433c86 | 100 | // 微信赤峰 appid wx2af2bab90d433c86 |
101 | // 黄石 appid wxa1a66cc7d263afe6 | 101 | // 黄石 appid wxa1a66cc7d263afe6 |
102 | 102 | ||
103 | - myOrgId: '10079', // 归属地 赤峰id 10003 黄石 10079 | 103 | + myOrgId: '10003', // 归属地 赤峰id 10003 黄石 10079 |
104 | 104 | ||
105 | myGetSign: function (objb) { // 获取签名 | 105 | myGetSign: function (objb) { // 获取签名 |
106 | var compare = function (obj1, obj2) { | 106 | var compare = function (obj1, obj2) { |
@@ -115,13 +115,13 @@ export default { | @@ -115,13 +115,13 @@ export default { | ||
115 | } | 115 | } |
116 | } | 116 | } |
117 | objb.sort(compare); | 117 | objb.sort(compare); |
118 | - var strmd5 = '14318527b13840c2a4af63fef52c2d6e'; | 118 | + var strmd5 = 'ny1u72b6k374sg379z0kqjgfxe2ycnpw'; |
119 | for(var i=0;i<objb.length;i++){ | 119 | for(var i=0;i<objb.length;i++){ |
120 | if(objb[i].value != null&&objb[i].value != ''){ | 120 | if(objb[i].value != null&&objb[i].value != ''){ |
121 | strmd5 += objb[i].keyname+objb[i].value; | 121 | strmd5 += objb[i].keyname+objb[i].value; |
122 | } | 122 | } |
123 | } | 123 | } |
124 | - strmd5 += '14318527b13840c2a4af63fef52c2d6e'; | 124 | + strmd5 += 'ny1u72b6k374sg379z0kqjgfxe2ycnpw'; |
125 | // console.log('strmd5-------->'+strmd5); | 125 | // console.log('strmd5-------->'+strmd5); |
126 | strmd5 = md5(strmd5); | 126 | strmd5 = md5(strmd5); |
127 | strmd5=strmd5.toUpperCase(); | 127 | strmd5=strmd5.toUpperCase(); |