Initial commit: frontend code

This commit is contained in:
Agent
2026-03-20 04:59:03 +00:00
commit e0e38d6ecd
14 changed files with 2092 additions and 0 deletions

55
api/auth.js Normal file
View 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
View 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
View 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
View 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')
}
}