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