文件
jw-beauty/miniprogram/pages/subscribe-success/subscribe-success.js
T
Guoguo 4466c53c7b feat(i18n): 剩余15页全量接入中英(登录/注册/扫码/绑定/佩戴/扫描/治疗/订阅/帮助等)
- 3 个并行 agent 各管 5 页,互不重叠命名空间
- 全 App 18 页均 i18n.bind,22 命名空间/400 键中英对齐
- 动态文案(时长/天数/价格/区域)JS 内 i18n.t 计算;区域标签复用 common.regions
2026-07-19 06:00:04 -07:00

80 行
2.1 KiB
JavaScript

var api = require('../../utils/api')
var i18n = require('../../i18n/index')
Page({
data: {
statusBarHeight: 44,
planName: '',
expiryDate: ''
},
onBack: function () {
wx.navigateBack({
fail: function () {
wx.reLaunch({ url: '/pages/index/index' })
}
})
},
onShow: function () {
i18n.bind(this)
this.render()
},
// Recompute locale-dependent display strings from stored raw values.
render: function () {
this.setData({
planName: this.planNameFor(this._plan),
expiryDate: this._expireTime ? this.formatDate(this._expireTime) : ''
})
},
planNameFor: function (plan) {
if (plan === 'trial') return i18n.t('subSuccess.planTrial')
if (plan === 'monthly') return i18n.t('subSuccess.planMonthly')
if (plan === 'yearly') return i18n.t('subSuccess.planYearly')
return i18n.t('subSuccess.planDefault')
},
formatDate: function (raw) {
var date = new Date(raw)
var y = date.getFullYear()
var m = ('0' + (date.getMonth() + 1)).slice(-2)
var d = ('0' + date.getDate()).slice(-2)
if (i18n.getLocale() === 'en') return y + '-' + m + '-' + d
return y + '年' + m + '月' + d + '日'
},
onLoad: function (options) {
var self = this
var app = getApp()
self.setData({ statusBarHeight: app.globalData.statusBarHeight })
var plan = options.plan || 'yearly'
self._plan = plan
// Fetch actual subscription expiry from server instead of computing client-side
api.getSubscription().then(function (res) {
if (res && res.expire_time) {
self._expireTime = res.expire_time
}
self.render()
}).catch(function () {
// Fallback: compute from current date if server call fails
var durationMap = { yearly: 365, monthly: 30, trial: 7 }
var now = new Date()
now.setDate(now.getDate() + (durationMap[plan] || 365))
self._expireTime = now.getTime()
self.render()
})
},
onStartSmart: function () {
wx.navigateTo({ url: '/pages/wear-check/wear-check' })
},
onBackHome: function () {
wx.switchTab({ url: '/pages/index/index' })
}
})