Browse Source

订单接口优化 核销接口 支付接口对接测试 部分细节优化等

test
Enzo 5 years ago
parent
commit
23e2d857ae
  1. 2
      common/api.js
  2. 2
      common/http.js
  3. 2
      manifest.json
  4. 19
      pages/channel/index.vue
  5. 8
      pages/discover/discover.vue
  6. 61
      pages/order/confirm_order.vue
  7. 4
      pages/order/order.vue
  8. 9
      pages/order/order_details.vue
  9. 3
      pages/order/refund_detail.vue
  10. 4
      pages/order/unpay_details.vue
  11. 1
      pages/recommList/index.vue
  12. 24
      pages/user/user.vue
  13. BIN
      static/center/scan.png

2
common/api.js

@ -35,7 +35,7 @@ export const API_CONFIRMDETAILS = '/api/order/price'; //确认购买商品详情
export const API_CREATEORDER = '/api/order/create'; //创建订单并支付
export const API_ORDERPAY = '/api/order/pay'; //订单页面支付
export const API_ORDERPAY = '/api/order/pay'; //订单立即支付

2
common/http.js

@ -90,7 +90,7 @@ function $http(url, data = {}, options = {}){
}
//商户id
options.appid = 'wx0e8ebcd9ca9e4b97'
options.appid = 'wxb35ef055a4dd8ad4'
let user_info = uni.getStorageSync('userinfo')
let user_token = user_info.token

2
manifest.json

@ -50,7 +50,7 @@
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wx0e8ebcd9ca9e4b97",
"appid" : "wxb35ef055a4dd8ad4",
"setting" : {
"urlCheck" : false,
"es6" : false,

19
pages/channel/index.vue

@ -19,7 +19,7 @@
<text class="lf-m-l-10">{{item.name}}</text>
</view>
<view class="lf-flex-wrap lf-p-l-5 select-box">
<view class="select-item" hover-class="lf-opacity"
<view class="select-item1" hover-class="lf-opacity"
v-for="(item2, index2) in item.content" :key="index2"
v-if="!item2.checked" @click="activaItem(item2, index2, index, item)">{{ item2.name }}
</view>
@ -155,6 +155,21 @@
}
.select-item{
width: max-content;
padding: 0 40rpx 0 20rpx;
height: 82rpx;
border: 1rpx solid #999999;
font-size: 28rpx;
color: #333333;
text-align: center;
line-height: 82rpx;
background-color: #FFFFFF;
margin-right: -2rpx;
margin-top: -2rpx;
box-sizing: border-box;
}
.select-item1{
width: max-content;
padding: 0 20rpx;
height: 82rpx;
@ -183,7 +198,7 @@
// padding: 0 10rpx;
.remove-icon{
position: absolute;
right: 8rpx;
right: 22rpx;
top: 0;
color: #FF0000;
font-size: 24rpx;

8
pages/discover/discover.vue

@ -1,6 +1,6 @@
<template>
<view class="page-color">
<view class="padding-lr lf-p-t-30">
<view class="padding-lr lf-p-t-30" v-if="article_list.length">
<view class="card-discover lf-m-b-30" v-for="(item,index) of article_list" :key="index">
<view @click="$url('/pages/notice/article?article_id='+item.big.id)">
<image :src="item.big.image" mode="aspectFill" style="width: 686rpx;height: 300rpx;"></image>
@ -64,6 +64,12 @@
}
</script>
<style>
page{
background-color: #F6F6F6;
}
</style>
<style scoped>
.page-color {
width: 100%;

61
pages/order/confirm_order.vue

@ -26,15 +26,15 @@
<view class="cu-bar padding-lr">
<text class="lf-color-555 lf-font-28">优惠</text>
<view v-if="goods_details.coupon != ''">
<text class="lf-color-price lf-font-28 lf-m-r-10" v-for="(item,index) of goods_details.coupon">{{item.tag}}</text>
<text class="lf-color-price lf-font-28 lf-m-l-10" v-for="(item,index) of goods_details.coupon">{{item.tag}}</text>
</view>
<view v-else>
<text class="lf-color-price lf-font-28 lf-m-r-10">暂无优惠</text>
<text class="lf-color-price lf-font-28 lf-m-l-10">暂无优惠</text>
</view>
</view>
</view>
<self-line/>
<view class="bg-white" v-if="btn_type!=2">
<view class="bg-white" v-if="enter_type!=1">
<view class="cu-bar padding-lr solid-bottom">
<text class="lf-color-555 lf-font-28">联系人</text>
<input type="text" v-model="contact" class="lf-color-999 lf-font-28 lf-text-right" placeholder="请输入联系人" />
@ -45,7 +45,7 @@
</view>
</view>
<self-line/>
<view class="bg-white" v-if="btn_type!=2">
<view class="bg-white" v-if="enter_type!=1">
<view class="lf-p-t-30 lf-p-l-32 lf-p-b-36">
<view class="lf-font-28 lf-color-555">支付方式</view>
</view>
@ -106,15 +106,23 @@
contact: '',
phone: '',
pay_type: 0,
btn_type: 1
btn_type: 1,
ifPay: true,
order_id: 0,
enter_type: 0
}
},
onLoad(e) {
this.goods_id = e.goods_id;
this.btn_type = e.btn_type
this.btn_type = e.btn_type;
this.order_id = e.order_id;
this.enter_type = e.enter_type;
if(this.goods_id) {
this.getGoodsData(this.pay_type);
}
if(this.order_id && this.enter_type == 1) {
this.payOnce();
}
},
methods: {
payStatus(type) {
@ -141,9 +149,48 @@
this.$msg('请输入联系电话!');
return;
}
if(!this.ifPay) return;
this.ifPay = false;
this.$http(this.API.API_CREATEORDER,{id: this.goods_id,num: 1,pay_type: this.pay_type,name:this.contact,mobile:this.phone}).then(res => {
console.log(res);
this.order_id = res.data.id
uni.requestPayment({
orderInfo: res.data.order_num,
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: res.data.signType,
paySign: res.data.paySign,
success: (res) => {
this.ifPay = true
this.$url('/pages/payState/paystate?ifSuccess=1&order_id='+this.order_id,{type: 'redirect'})
},
fail: (err) => {
this.ifPay = true
this.$url('/pages/payState/paystate?ifSuccess=2&order_id='+this.order_id,{type: 'redirect'})
},
})
}).catch(err => {
this.ifPay = true
})
},
payOnce() {
this.$http(this.API.API_ORDERPAY,{id: this.order_id}).then(res => {
uni.requestPayment({
orderInfo: res.data.order_num,
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: res.data.signType,
paySign: res.data.paySign,
success: (res) => {
this.$url('/pages/payState/paystate?ifSuccess=1&order_id='+this.order_id,{type: 'redirect'})
},
fail: (err) => {
this.$url('/pages/payState/paystate?ifSuccess=2&order_id='+this.order_id,{type: 'redirect'})
},
})
}).catch(err => {})
}
}
}

4
pages/order/order.vue

@ -22,8 +22,8 @@
</view>
<view class="lf-row-between price lf-m-t-16" style="padding-right: 6rpx;">
<lf-price :price="item.price" style="margin-top: 10rpx;" />
<button class="lf-font-24 radius-order col-btn0" v-if="item.status == 0" @click="$url('/pages/order/confirm_order?goods_id='+item.id+'&btn_type=1')">立即付款</button>
<button class="lf-font-24 radius-order col-btn0" v-if="item.status == 1" @click="$url('/pages/order/confirm_order?goods_id='+item.id+'&btn_type=2')">支付尾款</button>
<button class="lf-font-24 radius-order col-btn0" v-if="item.status == 0" @click="$url('/pages/order/confirm_order?order_id='+item.id+'&goods_id='+item.agent_product_id+'&btn_type=1&enter_type=1')">立即付款</button>
<button class="lf-font-24 radius-order col-btn0" v-if="item.status == 1" @click="$url('/pages/order/confirm_order?order_id='+item.id+'&goods_id='+item.agent_product_id+'&btn_type=2&enter_type=1')">支付尾款</button>
<button class="lf-font-24 radius-order col-btn1" v-if="item.status == 2 || item.status == 3">立即使用</button>
<button class="lf-font-24 radius-order col-btn16" v-if="item.status == 16">已使用</button>
<button class="lf-font-24 radius-order col-btn6" v-if="item.status == 6">等待审核</button>

9
pages/order/order_details.vue

@ -40,7 +40,8 @@
</view>
<view class="cu-bar padding-lr solid-bottom">
<text class="lf-color-555 lf-font-28">付款时间</text>
<text class="lf-font-28 text-black1">{{orderDetails.paid_at}}</text>
<text class="lf-font-28 text-black1" v-if="orderDetails.paid_at == 0">暂未付款</text>
<text class="lf-font-28 text-black1" v-else>{{ $timer(orderDetails.paid_at*1000)}}</text>
</view>
<view class="cu-bar padding-lr">
<text class="lf-color-555 lf-font-28">支付方式</text>
@ -53,10 +54,10 @@
<view class="cu-bar padding-lr">
<text class="lf-color-555 lf-font-28">优惠</text>
<view v-if="orderDetails.coupon != ''">
<text class="lf-color-price lf-font-28 lf-m-r-10" v-for="(item,index) of orderDetails.coupon">{{item.tag}}</text>
<text class="lf-color-price lf-font-28 lf-m-l-10" v-for="(item,index) of orderDetails.coupon">{{item.tag}}</text>
</view>
<view v-else>
<text class="lf-color-price lf-font-28 lf-m-r-10">暂无优惠</text>
<text class="lf-color-price lf-font-28 lf-m-l-10">暂无优惠</text>
</view>
</view>
</view>
@ -171,7 +172,7 @@
id: this.order_id
}).then(res => {
this.orderDetails = res.data
this.checkArea = res.data.order_no
this.checkArea = res.data.id
this.skeletonLoading = false
console.log(res.data)

3
pages/order/refund_detail.vue

@ -40,7 +40,8 @@
<view class="bg-white lf-m-b-6">
<view class="lf-p-t-30 lf-p-l-32 lf-p-r-32 lf-p-b-36">
<view class="lf-font-28 lf-color-black lf-m-b-20 lf-font-bold">退款说明</view>
<view>{{orderDetails.refund_info.desc}}</view>
<view v-if="refund_info">{{orderDetails.refund_info.desc}}</view>
<view v-else>暂无退款说明</view>
</view>
</view>

4
pages/order/unpay_details.vue

@ -49,10 +49,10 @@
<view class="cu-bar padding-lr">
<text class="lf-color-555 lf-font-28">优惠</text>
<view v-if="orderDetails.coupon != ''">
<text class="lf-color-price lf-font-28 lf-m-r-10" v-for="(item,index) of orderDetails.coupon">{{item.tag}}</text>
<text class="lf-color-price lf-font-28 lf-m-l-10" v-for="(item,index) of orderDetails.coupon">{{item.tag}}</text>
</view>
<view v-else>
<text class="lf-color-price lf-font-28 lf-m-r-10">暂无优惠</text>
<text class="lf-color-price lf-font-28 lf-m-l-10">暂无优惠</text>
</view>
</view>
</view>

1
pages/recommList/index.vue

@ -3,6 +3,7 @@
<view class="lf-p-t-20 head" v-if="tab_list.length">
<u-tabs :list="tab_list" :is-scroll="true" :current="current" @change="tabChange"></u-tabs>
</view>
<lf-nocontent v-else></lf-nocontent>
<swiper :style="{height: 'calc('+ windowHeight +'px - 60rpx)', width: '750rpx'}" :current="current" @change="swiperChange">
<swiper-item v-for="(tabItem, tabIndex) in tab_list" :key="tabIndex">
<scroll-view class="com" :scroll-y="true" :refresher-enabled="true" :refresher-triggered="tabItem.isRefresher" @scrolltolower="onScrolltolower" @refresherrefresh="onRefresherrefresh">

24
pages/user/user.vue

@ -4,8 +4,9 @@
<view>
<image :src="userInfo.avatar" mode="aspectFill" style="width: 200rpx;height: 200rpx;border-radius: 50%;border: 2rpx solid #FFFFFF;" @click="lookImg('')"></image>
</view>
<view class="lf-font-36 align-center text-center text-white lf-m-t-30">
{{userInfo.nickname}}
<view class="lf-font-36 align-center text-center text-white lf-m-t-30 flex justify-center">
<text>{{userInfo.nickname}}</text>
<text class="user-label"v-if="userInfo.verifier == 1">核销员</text>
</view>
<image class="bg-img" :src="userInfo.avatar" mode="aspectFill" style="filter: blur(3px);"></image>
</view>
@ -74,8 +75,8 @@
</view>
<view class="lf-row-between list-item" hover-class="lf-opacity" @click="chargeOff">
<view class="lf-row-center">
<image class="icon-img" src="../../static/center/order.png"></image>
<text class="lf-text-vertical lf-m-l-20 lf-font-28 lf-color-black">卡券核销</text>
<image class="icon-img" src="../../static/center/scan.png"></image>
<text class="lf-text-vertical lf-m-l-16 lf-font-28 lf-color-black">卡券核销</text>
</view>
<view>
<text class="lf-iconfont lf-icon-xiangyou lf-text-vertical"></text>
@ -106,7 +107,7 @@
<script>
import lfTitleLine from '@/components/lf-title-line/lf-title-line.vue';
let time = null;
export default {
components: {
lfTitleLine
@ -154,10 +155,6 @@
let content = result.result; //
this.$http(this.API.API_CONFIRM_CODE, {id: content}).then(res => {
this.$msg('核销成功!');
let order_id = res.data.id;
time = setTimeout(() => {
this.$url('/pages/shopOrder/order-details?order_id='+ order_id);
}, 1000);
});
}
}
@ -219,6 +216,15 @@
</script>
<style lang="scss">
.user-label{
display: inline-block;
font-size: 24rpx;
color: #FFFFFF;
background-color: #1E89FF;
padding: 4rpx 16rpx;
border-radius: 30rpx;
margin-left: 8rpx;
}
.rhombus{
width: 16rpx;
height: 16rpx;

BIN
static/center/scan.png

After

Width: 100  |  Height: 100  |  Size: 1.1 KiB

Loading…
Cancel
Save