2026-07-07 16:38:13 +08:00
|
|
|
function ensureToken() {
|
2026-07-07 15:06:33 +08:00
|
|
|
const app = getApp()
|
2026-07-07 16:38:13 +08:00
|
|
|
if (app.globalData.token) {
|
|
|
|
|
return Promise.resolve(app.globalData.token)
|
|
|
|
|
}
|
2026-07-07 15:06:33 +08:00
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
wx.request({
|
2026-07-07 16:38:13 +08:00
|
|
|
url: app.globalData.apiBaseUrl + '/api/auth/dev-miniapp-login',
|
|
|
|
|
method: 'POST',
|
|
|
|
|
data: {
|
|
|
|
|
username: 'resident'
|
|
|
|
|
},
|
2026-07-07 15:06:33 +08:00
|
|
|
success(res) {
|
|
|
|
|
if (res.statusCode >= 200 && res.statusCode < 300 && res.data && res.data.code === 0) {
|
2026-07-07 16:38:13 +08:00
|
|
|
app.globalData.token = res.data.data.token
|
|
|
|
|
app.globalData.user = res.data.data
|
|
|
|
|
resolve(app.globalData.token)
|
2026-07-07 15:06:33 +08:00
|
|
|
return
|
|
|
|
|
}
|
2026-07-07 16:38:13 +08:00
|
|
|
reject(new Error((res.data && res.data.message) || '登录失败'))
|
2026-07-07 15:06:33 +08:00
|
|
|
},
|
|
|
|
|
fail: reject
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2026-07-07 16:38:13 +08:00
|
|
|
function request(options) {
|
|
|
|
|
const app = getApp()
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
ensureToken().then((token) => {
|
|
|
|
|
wx.request({
|
|
|
|
|
url: app.globalData.apiBaseUrl + options.url,
|
|
|
|
|
method: options.method || 'GET',
|
|
|
|
|
data: options.data || {},
|
|
|
|
|
header: Object.assign({
|
|
|
|
|
Authorization: token,
|
|
|
|
|
satoken: token
|
|
|
|
|
}, options.header || {}),
|
|
|
|
|
success(res) {
|
|
|
|
|
if (res.statusCode >= 200 && res.statusCode < 300 && res.data && res.data.code === 0) {
|
|
|
|
|
resolve(res.data.data)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
reject(new Error((res.data && res.data.message) || '请求失败'))
|
|
|
|
|
},
|
|
|
|
|
fail: reject
|
|
|
|
|
})
|
|
|
|
|
}).catch(reject)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function yuan(cent) {
|
|
|
|
|
return ((cent || 0) / 100).toFixed(2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function statusText(status) {
|
|
|
|
|
const map = {
|
|
|
|
|
PENDING_CONFIRM: '待确认',
|
|
|
|
|
PREPARING: '备货中',
|
|
|
|
|
PENDING_DELIVERY: '待配送',
|
|
|
|
|
PENDING_PICKUP: '待自提',
|
|
|
|
|
DELIVERING: '配送中',
|
|
|
|
|
DELIVERED: '已送达',
|
|
|
|
|
COMPLETED: '已完成',
|
|
|
|
|
CANCELED: '已取消',
|
|
|
|
|
PENDING_REVIEW: '待审核',
|
|
|
|
|
PUBLISHED: '已发布',
|
|
|
|
|
REJECTED: '已驳回',
|
|
|
|
|
OFF_SHELF: '已下架',
|
|
|
|
|
SOLD: '已售出'
|
|
|
|
|
}
|
|
|
|
|
return map[status] || status || '-'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function setField(page, event) {
|
|
|
|
|
const field = event.currentTarget.dataset.field
|
|
|
|
|
if (!field) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
page.setData({
|
|
|
|
|
['form.' + field]: event.detail.value
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2026-07-07 15:06:33 +08:00
|
|
|
module.exports = {
|
2026-07-07 16:38:13 +08:00
|
|
|
request,
|
|
|
|
|
yuan,
|
|
|
|
|
statusText,
|
|
|
|
|
setField
|
2026-07-07 15:06:33 +08:00
|
|
|
}
|