// 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' }; }, });