- 微信审核要求交易类小程序提交订单中心 path,之前小程序没有订单页 - 新页面 pages/orders/orders:列表展示商品名 / 状态 / 订单号 / 金额 / 下单时间,接 GET /v1/orders - 我的页新增「我的订单」入口,文案走后台配置 profile.menu.orders - utils/api.js 补 getOrders(),utils/format.js 补 toDateTimeString()
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
// 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' };
|
|
},
|
|
});
|