Initial commit: frontend code
This commit is contained in:
55
api/auth.js
Normal file
55
api/auth.js
Normal file
@@ -0,0 +1,55 @@
|
||||
import api from './index'
|
||||
|
||||
/**
|
||||
* 认证相关API
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* 发送验证码
|
||||
*/
|
||||
sendCode(phone) {
|
||||
return api.request('/auth/send-code', 'POST', { phone })
|
||||
},
|
||||
|
||||
/**
|
||||
* 手机号验证码登录
|
||||
*/
|
||||
phoneLogin(phone, code) {
|
||||
return api.request('/auth/phone-login', 'POST', { phone, code })
|
||||
},
|
||||
|
||||
/**
|
||||
* 微信登录
|
||||
*/
|
||||
wechatLogin(code) {
|
||||
return api.request('/auth/wechat', 'POST', { code })
|
||||
},
|
||||
|
||||
/**
|
||||
* 支付宝登录
|
||||
*/
|
||||
alipayLogin(code) {
|
||||
return api.request('/auth/alipay', 'POST', { code })
|
||||
},
|
||||
|
||||
/**
|
||||
* 刷新Token
|
||||
*/
|
||||
refreshToken(refreshToken) {
|
||||
return api.request('/auth/refresh', 'POST', { refreshToken })
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取当前用户信息
|
||||
*/
|
||||
getCurrentUser() {
|
||||
return api.request('/auth/me', 'GET')
|
||||
},
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
logout() {
|
||||
return api.request('/auth/logout', 'POST')
|
||||
}
|
||||
}
|
||||
41
api/index.js
Normal file
41
api/index.js
Normal file
@@ -0,0 +1,41 @@
|
||||
// API基础配置
|
||||
const BASE_URL = 'http://localhost:8080/api/v1'
|
||||
|
||||
// 请求拦截器
|
||||
const request = (url, method, data = {}) => {
|
||||
const token = uni.getStorageSync('token')
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.request({
|
||||
url: BASE_URL + url,
|
||||
method: method,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': token ? `Bearer ${token}` : ''
|
||||
},
|
||||
success: (res) => {
|
||||
if (res.data.code === 0) {
|
||||
resolve(res.data.data)
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: res.data.message || '请求失败',
|
||||
icon: 'none'
|
||||
})
|
||||
reject(res.data)
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
uni.showToast({
|
||||
title: '网络请求失败',
|
||||
icon: 'none'
|
||||
})
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
request
|
||||
}
|
||||
62
api/order.js
Normal file
62
api/order.js
Normal file
@@ -0,0 +1,62 @@
|
||||
import api from './index'
|
||||
|
||||
/**
|
||||
* 订单相关API
|
||||
* 核心业务:
|
||||
* - 订单创建:计算原价(total_amount)、优惠金额(discount_amount)、实付金额(actual_amount)
|
||||
* - 订单原价 = 商品标价 × 数量之和
|
||||
* - 实付金额 = 原价 - 优惠金额
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* 创建订单
|
||||
* 请求参数示例:
|
||||
* {
|
||||
* customer_id: "CUS001",
|
||||
* items: [
|
||||
* { product_id: "PROD001", quantity: 10, price: 50.00 }
|
||||
* ],
|
||||
* discount_rate: 90,
|
||||
* remark: "客户要求送货上门",
|
||||
* payment_method: "wechat"
|
||||
* }
|
||||
*/
|
||||
createOrder(data) {
|
||||
return api.request('/orders', 'POST', data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取订单列表
|
||||
*/
|
||||
getOrders(params) {
|
||||
return api.request('/orders', 'GET', params)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取订单详情(含明细)
|
||||
*/
|
||||
getOrderDetail(id) {
|
||||
return api.request(`/orders/${id}`, 'GET')
|
||||
},
|
||||
|
||||
/**
|
||||
* 取消订单
|
||||
*/
|
||||
cancelOrder(id) {
|
||||
return api.request(`/orders/${id}/cancel`, 'PUT')
|
||||
},
|
||||
|
||||
/**
|
||||
* 退款
|
||||
*/
|
||||
refundOrder(id) {
|
||||
return api.request(`/orders/${id}/refund`, 'PUT')
|
||||
},
|
||||
|
||||
/**
|
||||
* 订单统计
|
||||
*/
|
||||
getStatistics(params) {
|
||||
return api.request('/orders/statistics', 'GET', params)
|
||||
}
|
||||
}
|
||||
76
api/product.js
Normal file
76
api/product.js
Normal file
@@ -0,0 +1,76 @@
|
||||
import api from './index'
|
||||
|
||||
/**
|
||||
* 商品相关API
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* 获取分类列表
|
||||
*/
|
||||
getCategories() {
|
||||
return api.request('/products/categories', 'GET')
|
||||
},
|
||||
|
||||
/**
|
||||
* 新增分类
|
||||
*/
|
||||
createCategory(data) {
|
||||
return api.request('/products/categories', 'POST', data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 修改分类
|
||||
*/
|
||||
updateCategory(id, data) {
|
||||
return api.request(`/products/categories/${id}`, 'PUT', data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除分类
|
||||
*/
|
||||
deleteCategory(id) {
|
||||
return api.request(`/products/categories/${id}`, 'DELETE')
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取商品列表
|
||||
*/
|
||||
getProducts(params) {
|
||||
return api.request('/products', 'GET', params)
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取商品详情
|
||||
*/
|
||||
getProduct(id) {
|
||||
return api.request(`/products/${id}`, 'GET')
|
||||
},
|
||||
|
||||
/**
|
||||
* 新增商品
|
||||
*/
|
||||
createProduct(data) {
|
||||
return api.request('/products', 'POST', data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 修改商品
|
||||
*/
|
||||
updateProduct(id, data) {
|
||||
return api.request(`/products/${id}`, 'PUT', data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除商品
|
||||
*/
|
||||
deleteProduct(id) {
|
||||
return api.request(`/products/${id}`, 'DELETE')
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取库存预警商品
|
||||
*/
|
||||
getStockAlerts() {
|
||||
return api.request('/products/alerts', 'GET')
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user