2023-04-07 15:44:01 +08:00

50 lines
1.2 KiB
TypeScript

import { CartModel, CategoryModel, FoodsModel, ResponseModel } from "./models"
export const API_URL = 'http://localhost:8080'
function request<T>(url : string, method : 'GET' | 'POST' = 'GET', data : any = null) {
return new Promise<T>((resolve, reject) => {
uni.request({
url: API_URL + url,
method,
data,
header: {
'Content-Type': 'application/json'
},
success(ret) {
if (ret.statusCode == 200) {
const data = ret.data as ResponseModel<T>;
if (data.code != 200) {
reject(Error(data.msg))
} else {
resolve(data.data)
}
} else {
reject(Error('服务器异常'))
}
},
fail(e) {
console.log(e)
reject(Error(e.errMsg))
}
})
// task.
})
}
export function foodsDetail(id : any) {
return request<FoodsModel>(`/api/food/${id}`)
}
export function addToCart(fid : any, count = 1) {
return request(`/api/carts`, 'POST', {
fid, count
})
}
export function cartList() {
return request<CartModel[]>(`/api/carts/list`)
}
export function allCategories() {
return request<CategoryModel[]>(`/api/category`);
}
export function loadCategoryGoods(cid : any) {
return request<FoodsModel[]>(`/api/food/category/${cid}`);
}