提交 729dd404 authored 作者: 王鹏飞's avatar 王鹏飞

优化订单页面

上级 314eaaf8
...@@ -4,12 +4,12 @@ module.exports = { ...@@ -4,12 +4,12 @@ module.exports = {
// apiBaseURL: 'https://zy2.ezijing.com/', // apiBaseURL: 'https://zy2.ezijing.com/',
webpack: { webpack: {
externals: { externals: {
'CKEDITOR': 'window.CKEDITOR', CKEDITOR: 'window.CKEDITOR',
'Base64': 'window.Base64', Base64: 'window.Base64',
'md5': 'window.md5', md5: 'window.md5',
'regeneratorRuntime': 'window.regeneratorRuntime', regeneratorRuntime: 'window.regeneratorRuntime',
'wx': 'window.wx', wx: 'window.wx',
'WeixinJSBridge': 'window.WeixinJSBridge' WeixinJSBridge: 'window.WeixinJSBridge'
}, },
devServer: { devServer: {
proxy: { proxy: {
......
...@@ -104,7 +104,10 @@ export default class API { ...@@ -104,7 +104,10 @@ export default class API {
if (store.state.isWeapp) { if (store.state.isWeapp) {
wx.miniProgram.redirectTo({ url: '/pages/login/index' }) wx.miniProgram.redirectTo({ url: '/pages/login/index' })
} else { } else {
router.replace('/login') router.replace({
path: '/login',
query: { redirect_uri: window.location.href }
})
} }
} }
if (status === 402) { if (status === 402) {
......
...@@ -119,9 +119,6 @@ export default { ...@@ -119,9 +119,6 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.main-container {
padding-bottom: env(safe-area-inset-bottom);
}
.banner { .banner {
height: 2.4rem; height: 2.4rem;
img { img {
......
<template> <template>
<div> <div class="main-container">
<div class="order-list"> <ul>
<ul> <li class="order-item" v-for="(item, index) in order" :key="index">
<template v-for="(item, index) in order"> <div class="order-info">
<li :key="index"> <img :src="item.product_image" />
<div class="order-info"> <div class="txt">{{item.product_name}}</div>
<img :src="item.product_image" alt=""> </div>
<div class="txt">{{item.product_name}}</div> <div class="deti">
</div> <div class="tit">课程状态:</div>
<div class="deti"> <div class="val">{{item.status | courseStatusText }}</div>
<div class="tit">课程状态:</div> </div>
<div class="val">{{item.status == 1 ? '已付款' : '未付款' }}</div> <div class="deti">
</div> <div class="tit">共计:</div>
<div class="deti"> <div class="val">{{item.total_fee}}</div>
<div class="tit">共计:</div> </div>
<div class="val">{{item.total_fee}}</div> <div class="deti">
</div> <div class="val col" v-if="item.status === '-1'" @click="goBuy">继续支付</div>
<div class="deti"> <div class="val col" v-else>{{item.status | orderStatusText}}</div>
<div class="val col" v-if="item.status == 1">购买成功</div> </div>
<div class="val col" v-else @click="goBuy">继续支付</div> </li>
</div> </ul>
</li>
</template>
</ul>
</div>
</div> </div>
</template> </template>
<script> <script>
import * as api from '@/api/pay.js' import * as api from '@/api/pay.js'
import { getUser } from '@/api/account'
// import { Toast } from 'vant'
export default { export default {
metaInfo: {
title: '已购课程'
},
data() { data() {
return { return {
order: [], order: []
requestParam: {
product_id: '6684359515615264768', // 提前设定
open_id: '', // 通过微信授权获取
prepay_id: '', // 通过调用接口获取
app_id: '', // 提前设定
app_secret: '' // 提前设定
}
} }
}, },
mounted() { mounted() {
this.getOpenid()
this.getMyOrder() this.getMyOrder()
}, },
computed: { computed: {
...@@ -52,16 +41,21 @@ export default { ...@@ -52,16 +41,21 @@ export default {
return this.$store.state.isWeapp return this.$store.state.isWeapp
} }
}, },
methods: { filters: {
getOpenid() { courseStatusText(status) {
getUser().then(res => { return status === '1' ? '已付款' : '未付款'
api.getOpenid({ id: res.id, identity: 'transport' }).then(res => {
if (res.code === 0) {
this.requestParam.open_id = res.data.openid
}
})
})
}, },
orderStatusText(status) {
const map = {
'-1': '待支付',
0: '已取消',
1: '购买成功',
2: '已超时'
}
return map[status]
}
},
methods: {
getMyOrder() { getMyOrder() {
api.getMyOrder().then(res => { api.getMyOrder().then(res => {
if (res.code === 0) { if (res.code === 0) {
...@@ -69,60 +63,50 @@ export default { ...@@ -69,60 +63,50 @@ export default {
} }
}) })
}, },
goBuy() { goBuy(data) {
if (window.__wxjs_environment === 'miniprogram') { wx.miniProgram.navigateTo({
wx.miniProgram.navigateTo({ url: `/pages/pay/index?data=${data.product_id}`
// url: '/pages/pay/index?data=' + JSON.stringify(obj.data), })
url: '/pages/pay/index?data=' + this.requestParam.product_id,
events: {
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
acceptDataFromOpenedPage: function (data) {
console.log(data)
}
},
success: function (res) {}
})
}
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.order-list{ .main-container {
padding-bottom: 1.5rem; .order-item {
li{ margin: 0.4rem 0;
padding: .1rem .4rem;
margin-bottom: .4rem;
} }
.order-info{ .order-info {
display: flex; display: flex;
img{ img {
width: 2.4rem; width: 2.4rem;
height: 2.4rem; height: 2.4rem;
display: block; display: block;
background-color: #eee;
object-fit: contain;
} }
.txt{ .txt {
margin-left: .2rem; margin-left: 0.2rem;
font-size: .3rem; font-size: 0.3rem;
color: #222; color: #222;
word-wrap: break-word; word-wrap: break-word;
} }
} }
.deti{ .deti {
display: flex; display: flex;
margin-top: .4rem; margin-top: 0.4rem;
.tit{ .tit {
font-size: .26rem; font-size: 0.26rem;
color: #222; color: #222;
} }
.val{ .val {
font-size: .26rem; font-size: 0.26rem;
color: #222; color: #222;
margin-left: auto; margin-left: auto;
} }
.col{ .col {
color: #FF6767; color: #ff6767;
font-size: .3rem; font-size: 0.3rem;
} }
} }
} }
......
...@@ -100,6 +100,7 @@ body { ...@@ -100,6 +100,7 @@ body {
} }
.main-container { .main-container {
margin: 0 0.4rem; margin: 0 0.4rem;
padding-bottom: env(safe-area-inset-bottom);
} }
.main-tabs .van-hairline--top-bottom::after { .main-tabs .van-hairline--top-bottom::after {
border-top: 0; border-top: 0;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论