50 lines
1.2 KiB
TypeScript
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}`);
|
|
} |