| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- // API 服务器地址 - 开发环境使用本地地址,生产环境请替换为实际域名
- // 微信开发者工具需勾选: 设置 → 安全 → 不校验合法域名
- const API_BASE_URL = 'http://127.0.0.1:8186/api'
- const TIMEOUT = 30000
- async function request(method, url, data) {
- const token = uni.getStorageSync('token')
- const header = { 'Content-Type': 'application/json' }
- if (token) {
- header.Authorization = `Bearer ${token}`
- }
- return new Promise((resolve, reject) => {
- uni.request({
- url: API_BASE_URL + url,
- method,
- data,
- header,
- timeout: TIMEOUT,
- success(res) {
- const response = res.data
- if (response.code !== 0) {
- uni.showToast({ title: response.message || '请求失败', icon: 'none' })
- if (response.code === 1001) {
- uni.removeStorageSync('token')
- // 跳转到登录页,避免 switchTab 超时问题
- setTimeout(() => {
- uni.reLaunch({ url: '/pages/login/index' })
- }, 500)
- }
- const err = new Error(response.message || '请求失败')
- err.code = response.code
- reject(err)
- } else {
- resolve(response.data)
- }
- },
- fail(err) {
- uni.showToast({ title: '网络错误', icon: 'none' })
- reject(err)
- }
- })
- })
- }
- const requestInstance = {
- get: (url, data) => request('GET', url, data),
- post: (url, data) => request('POST', url, data),
- put: (url, data) => request('PUT', url, data),
- delete: (url, data) => request('DELETE', url, data)
- }
- export default requestInstance
- export const authApi = {
- login: (data) => requestInstance.post('/auth/login', data)
- }
- export const consultationApi = {
- start: (data) => requestInstance.post('/consultation/start', data),
- check: (data) => requestInstance.post('/consultation/check', data)
- }
- export const chartApi = {
- create: (data) => requestInstance.post('/chart/create', data),
- list: () => requestInstance.post('/chart/list', {}),
- detail: (id) => requestInstance.post('/chart/detail', { id }),
- delete: (id) => requestInstance.post('/chart/delete', { id })
- }
- export const chatApi = {
- send: (data) => requestInstance.post('/chat/send', data),
- history: (chartRecordId) => requestInstance.post('/chat/history', { chartRecordId })
- }
- export const payApi = {
- create: (data) => requestInstance.post('/pay/create', data)
- }
- export const profileApi = {
- info: () => requestInstance.post('/profile/info', {}),
- vipStatus: () => requestInstance.post('/profile/vip-status', {}),
- quota: () => requestInstance.post('/profile/quota', {}),
- commissionSummary: () => requestInstance.post('/profile/commission-summary', {}),
- chartCount: () => requestInstance.post('/profile/chart-count', {})
- }
- export const annotationApi = {
- add: (data) => requestInstance.post('/annotation/add', data),
- list: (recordId) => requestInstance.post('/annotation/list', { recordId }),
- delete: (id) => requestInstance.post('/annotation/delete', { id }),
- addTag: (data) => requestInstance.post('/annotation/tag/add', data),
- listTags: (recordId) => requestInstance.post('/annotation/tag/list', { recordId }),
- deleteTag: (id) => requestInstance.post('/annotation/tag/delete', { id })
- }
- export const commissionApi = {
- list: () => requestInstance.post('/commission/list', {}),
- total: () => requestInstance.post('/commission/total', {})
- }
|