Commit 26e543b8efe38f8aa2d72e0ee44c9004fa30d519

Authored by liuqimichale
1 parent 455431ac

ajax 统一封装

config/index.js
... ... @@ -10,7 +10,15 @@ module.exports = {
10 10 // Paths
11 11 assetsSubDirectory: 'static',
12 12 assetsPublicPath: '/',
13   - proxyTable: {},
  13 + proxyTable: {
  14 + '/api/': {
  15 + target: 'http://39.98.54.240:8090/',
  16 + changeOrigin: true,
  17 + pathRewrire: {
  18 + '^/api': ''
  19 + }
  20 + }
  21 + },
14 22  
15 23 // Various Dev Server settings
16 24 host: 'localhost', // can be overwritten by process.env.HOST
... ... @@ -20,7 +28,7 @@ module.exports = {
20 28 notifyOnErrors: true,
21 29 poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
22 30  
23   -
  31 +
24 32 /**
25 33 * Source Maps
26 34 */
... ...
package.json
... ... @@ -10,6 +10,7 @@
10 10 "build": "node build/build.js"
11 11 },
12 12 "dependencies": {
  13 + "axios": "^0.21.1",
13 14 "css-loader": "^3.6.0",
14 15 "less-loader": "^4.1.0",
15 16 "sass-loader": "^7.3.1",
... ...
src/api/parkRecord/parkRecord.js 0 → 100644
  1 +import request from '@/utils/request'
  2 +
  3 +export function parkRecordList(params) {
  4 + return request({
  5 + url: '/queryParkOrder/queryParkingRecordPageByCarNumbers',
  6 + method: 'post',
  7 + data: params
  8 + })
  9 +}
... ...
src/components/orderPay.vue
1 1 <template>
2 2 <div>
3 3 <div class="car-wrap">
4   - <div class="carBG">
5   - <p>蒙DT849</p>
6   - <p>D36.0123</p>
  4 + <div class="carBG" :class="carWrapBG | formateColor">
  5 + <p class="carNumber">{{carNumber}}</p>
  6 + <p class="payFee">{{payFee/100}}.00元</p>
7 7 </div>
8 8 </div>
9 9  
  10 + <ul class="fee-wrap">
  11 + <li>
  12 + <span>待缴金额</span>
  13 + <span>36.00</span>
  14 + </li>
  15 + <li>
  16 + <span>优惠金额</span>
  17 + <span>36.00</span>
  18 + </li>
  19 + <li>
  20 + <span>应付金额</span>
  21 + <span>36.00</span>
  22 + </li>
  23 + </ul>
  24 + <div style="padding: 20px 18px">
  25 + <div class="toPay">微信支付</div>
  26 + </div>
  27 +
  28 + <p class="tip">
  29 + 温馨提示:
  30 + </p>
  31 + <p style="color: #666;padding: 0 18px;">
  32 + 请在支付完成后15分钟内出场,如超出15分钟,会
  33 + 产生相应费用。
  34 + </p>
  35 +
  36 +
10 37 </div>
11 38 </template>
12 39  
13 40 <script>
14 41 export default {
15   - name: 'orderPay'
  42 + name: 'orderPay',
  43 + data() {
  44 + return {
  45 + carWrapBG: 0,
  46 + carNumber: '京A12312',
  47 + payFee: 0
  48 + }
  49 + },
  50 + created() {
  51 + this.carWrapBG = this.$route.query.carColor
  52 + },
  53 + filters:{
  54 + formateColor(val){
  55 + switch (val) {
  56 + case '0':
  57 + return 'carBlue'
  58 + break;
  59 + case '1':
  60 + return 'carYellow'
  61 + break;
  62 + case '2':
  63 + return 'carGreen'
  64 + break;
  65 + case '3':
  66 + return 'carWhite'
  67 + break;
  68 + case '4':
  69 + return 'carBlack'
  70 + break;
  71 + }
  72 + }
  73 + }
16 74 }
17 75 </script>
18 76  
19 77 <style scoped lang="scss">
20 78 .car-wrap {
21 79 padding: 7px 7px;
  80 + background: #FFF;
22 81 }
23 82  
24 83 .carBG {
25 84 width: 100%;
26 85 height: 130px;
  86 + }
  87 + .carBlue{
  88 + background: url("../assets/images/blueBG.png") no-repeat;
  89 + background-size: 100% 100%;
  90 + }
  91 + .carYellow{
27 92 background: url("../assets/images/yellowBG.png") no-repeat;
28 93 background-size: 100% 100%;
29 94 }
  95 + .carGreen{
  96 + background: url("../assets/images/greenBG.png") no-repeat;
  97 + background-size: 100% 100%;
  98 + }
  99 + .carWhite{
  100 + background: url("../assets/images/whiteBG.png") no-repeat;
  101 + background-size: 100% 100%;
  102 + }
  103 + .carBlack{
  104 + background: url("../assets/images/blackBG.png") no-repeat;
  105 + background-size: 100% 100%;
  106 + }
  107 +
  108 + .carNumber {
  109 + padding: 20px 0 10px;
  110 + font-size: 30px;
  111 + color: #fff;
  112 + text-align: center;
  113 + }
  114 +
  115 + .payFee {
  116 + font-size: 24px;
  117 + color: #FF7B7B;
  118 + text-align: center;
  119 + }
  120 +
  121 + .fee-wrap {
  122 + background: #FFF;
  123 + padding: 0 18px;
  124 + > li {
  125 + display: flex;
  126 + justify-content: space-between;
  127 + height: 30px;
  128 + line-height: 30px;
  129 + border-bottom: 1px solid #EAEAEA;
  130 + &:last-child {
  131 + border-bottom: 0;
  132 + }
  133 + }
  134 +
  135 + }
  136 +
  137 + .toPay {
  138 + width: 100%;
  139 + height: 44px;
  140 + margin: 0 auto;
  141 + line-height: 44px;
  142 + text-align: center;
  143 + background: linear-gradient(180deg, #3885D9 0%, #4194EF 100%);
  144 + border-radius: 4px;
  145 + border: 1px solid #0D72E2;
  146 + font-size: 20px;
  147 + color: #FFF;
  148 + cursor: pointer;
  149 + }
  150 + .tip{
  151 + padding-left: 40px;
  152 + background: url("../assets/images/free-tip.png") no-repeat 18px center;
  153 + background-size: 16px 16px;
  154 + color: #666;
  155 + }
30 156 </style>
... ...
src/components/parkRecord.vue
... ... @@ -19,7 +19,7 @@
19 19  
20 20 <div class="cost-main" >
21 21 <ul class="cost-header">
22   - <li :class="carColor | formatColor">蒙DMW169</li>
  22 + <li :class="carColor | formateColor">蒙DMW169</li>
23 23 <li>本次费用</li>
24 24 </ul>
25 25  
... ... @@ -61,7 +61,7 @@
61 61 :class="{isChecked: i.checked}"
62 62 >
63 63 <ul class="cost-header">
64   - <li :class="carColor | formatColor">蒙DMW169</li>
  64 + <li :class="carColor | formateColor">蒙DMW169</li>
65 65 <li>欠费</li>
66 66 </ul>
67 67  
... ... @@ -123,6 +123,8 @@
123 123 </template>
124 124  
125 125 <script>
  126 +import { parkRecordList } from '@/api/parkRecord/parkRecord.js'
  127 +
126 128 export default {
127 129 name: 'parkRecord',
128 130 data() {
... ... @@ -151,8 +153,18 @@ export default {
151 153 created() {
152 154 this.carNumber = this.$route.query.carNumber // 获取车牌号
153 155 console.log(this.carNumber)
  156 + this.parkRecordList(this.carNumber)
154 157 },
155 158 methods: {
  159 + parkRecordList(){
  160 + parkRecordList({}).then(res => {
  161 + console.log(res)
  162 +
  163 + })
  164 + },
  165 +
  166 +
  167 +
156 168 tabHandle(index) { // tab 切换
157 169 this.currentTabActive = index
158 170 },
... ... @@ -194,11 +206,18 @@ export default {
194 206 this.$refs.alert.open()
195 207 return
196 208 }
197   - this.$router.push({path:'orderPay'})
  209 + this.$router.push(
  210 + {
  211 + path:'orderPay',
  212 + query:{
  213 + carColor:0
  214 + }
  215 + }
  216 + )
198 217 }
199 218 },
200 219 filters: {
201   - formatColor(val) {
  220 + formateColor(val) {
202 221 switch (val) {
203 222 case 0:
204 223 return 'carBlue'
... ...
src/router/index.js
... ... @@ -9,8 +9,9 @@ export default new Router({
9 9 routes: [
10 10 {
11 11 path: '/',
12   - name: 'plateNumber',
13   - component: plateNumber
  12 + redirect: {
  13 + name: 'parkRecord'
  14 + }
14 15 },
15 16 {
16 17 path: '/plateNumber',
... ...
src/utils/common.js 0 → 100644
src/utils/request.js 0 → 100644
  1 +import axios from 'axios'
  2 +
  3 +// let _userToken = sessionStorage.getItem('userToken')
  4 +// let _url = process.env.API_ROOT
  5 +// axios.defaults.baseURL = process.env.API_ROOT
  6 +const service = axios.create({
  7 + // baseURL: 'http://47.104.196.152:8081', // url = base url + request url
  8 + //baseURL: _url, // url = base url + request url
  9 +
  10 + baseURL: '/api', // url = base url + request url
  11 + withCredentials: true, // send cookies when cross-domain requests
  12 + timeout: 6000 // request timeout
  13 +})
  14 +
  15 +service.interceptors.request.use(
  16 + config => {
  17 + // let token = _userToken
  18 + // //let token='298bd7ff-a025-4145-a4a3-554769375b48';
  19 + // config.headers['X-Auth-Token'] = token
  20 + return config
  21 + },
  22 + error => {
  23 + // do something with request error
  24 + console.log(error) // for debug
  25 + return Promise.reject(error)
  26 + }
  27 +)
  28 +
  29 +// response interceptor
  30 +service.interceptors.response.use(
  31 + response => {
  32 + const res = response.data
  33 + // if the custom code is not 20000, it is judged as an error.
  34 + if (res.code != '8888') {
  35 + return res
  36 + } else {
  37 + return res
  38 + }
  39 + },
  40 + error => {
  41 + console.log('err' + error) // for debug
  42 + return Promise.reject(error)
  43 + }
  44 +)
  45 +
  46 +export default service
... ...
src/utils/utils.js 0 → 100644
src/utils/variables.js 0 → 100644