新增「我的订单」页面(订单中心)
- 微信审核要求交易类小程序提交订单中心 path,之前小程序没有订单页 - 新页面 pages/orders/orders:列表展示商品名 / 状态 / 订单号 / 金额 / 下单时间,接 GET /v1/orders - 我的页新增「我的订单」入口,文案走后台配置 profile.menu.orders - utils/api.js 补 getOrders(),utils/format.js 补 toDateTimeString()
This commit is contained in:
1 parent
014fa90dcd
commit
7d5db6a867
9 files changed
+172
-1
No files matched your search
@@ -0,0 +1,61 @@
|
||||
// pages/orders/orders.js
|
||||
//
|
||||
// 订单中心:列出当前用户的全部订单,微信审核要求交易类小程序必须提供这个页面。
|
||||
// 数据来自服务端 GET /v1/orders(只返回自己的单)。
|
||||
const api = require('../../utils/api');
|
||||
const format = require('../../utils/format');
|
||||
const store = require('../../utils/store');
|
||||
|
||||
const app = getApp();
|
||||
|
||||
Page({
|
||||
data: {
|
||||
loading: true,
|
||||
list: [],
|
||||
/** 按钮文案走后台配置 */
|
||||
contactText: '',
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
// 等启动流程把配置和身份准备好再拉,避免首屏空白
|
||||
app.ready().then(() => {
|
||||
this.applyConfig();
|
||||
this.load();
|
||||
});
|
||||
},
|
||||
|
||||
/** 每次回到页面都重新拉一次,付款回来能立刻看到新订单。 */
|
||||
onShow() {
|
||||
if (!this.data.loading) this.load();
|
||||
},
|
||||
|
||||
applyConfig() {
|
||||
this.setData({ contactText: store.cfg('course.button.contact') });
|
||||
},
|
||||
|
||||
load() {
|
||||
api
|
||||
.getOrders()
|
||||
.then((list) => {
|
||||
this.setData({
|
||||
loading: false,
|
||||
list: (list || []).map((item) => ({
|
||||
outTradeNo: item.outTradeNo,
|
||||
title: item.courseTitle || '',
|
||||
statusText: item.statusText || '',
|
||||
status: item.status,
|
||||
amountYuan: format.fenToYuan(item.amountFen),
|
||||
createdAtText: format.toDateTimeString(item.createdAt),
|
||||
})),
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
this.setData({ loading: false });
|
||||
wx.showToast({ title: (err && err.message) || '订单加载失败', icon: 'none' });
|
||||
});
|
||||
},
|
||||
|
||||
onShareAppMessage() {
|
||||
return { title: store.cfg('share.title'), path: '/pages/index/index' };
|
||||
},
|
||||
});
|
||||
Reference in new issue
Block a user