文件
jw-beauty/miniprogram/utils/api.js
T
Guoguo 66cc846da1 fix: mock purchase now actually activates subscription
POST /api/v1/subscription/purchase only creates an order without
activating. Add POST /api/v1/subscription/mock-purchase that does
purchase + verify in one step (non-production only). Miniprogram
subscribe page now calls mock-purchase so subscriptions take effect.
2026-04-29 08:22:08 -07:00

35 行
1.9 KiB
JavaScript

var http = require('./request')
module.exports = {
// Auth
login: function (code) { return http.post('/api/v1/auth/login', { code: code }) },
getPhone: function (code) { return http.post('/api/v1/user/phone', { code: code }) },
// User
getProfile: function () { return http.get('/api/v1/user/profile') },
updateProfile: function (data) { return http.put('/api/v1/user/profile', data) },
// Device
getDevices: function () { return http.get('/api/v1/device/list') },
bindDevice: function (deviceId) { return http.post('/api/v1/device/bind', { device_id: deviceId }) },
confirmBind: function (deviceId, token) { return http.post('/api/v1/device/bind/confirm', { device_id: deviceId, bind_token: token }) },
mockBind: function (deviceId) { return http.post('/api/v1/device/mock-bind', { device_id: deviceId }) },
unbindDevice: function (deviceId) { return http.post('/api/v1/device/unbind', deviceId ? { device_id: deviceId } : {}) },
// Subscription
getPlans: function () { return http.get('/api/v1/subscription/plans') },
getSubscription: function () { return http.get('/api/v1/subscription') },
activateTrial: function () { return http.post('/api/v1/subscription/trial') },
purchase: function (plan) { return http.post('/api/v1/subscription/purchase', { plan: plan }) },
mockPurchase: function (plan) { return http.post('/api/v1/subscription/mock-purchase', { plan: plan }) },
// Treatment
getRecords: function (params) { return http.get('/api/v1/treatment/history', params) },
syncTreatment: function (data) { return http.post('/api/v1/treatment/sync', data) },
getRecordDetail: function (id) { return http.get('/api/v1/treatment/' + id) },
// Device commands
getPendingCommands: function (deviceId) { return http.get('/api/v1/device/command/pending', { device_id: deviceId }) },
reportCommandResult: function (data) { return http.post('/api/v1/device/command/result', data) }
}