129 lines
6.5 KiB
TypeScript
129 lines
6.5 KiB
TypeScript
import { request } from "./service";
|
|
|
|
interface ParamId {
|
|
id: number;
|
|
}
|
|
|
|
|
|
// 农创之翼 API 服务模块
|
|
// 提供与 cool-admin-vue 类似的 service 调用方式
|
|
|
|
export const service = {
|
|
base: {
|
|
comm: {
|
|
param: (params: any) => request({ url: "/app/base/comm/param", params }),
|
|
upload: (data: any) => request({ url: "/app/base/comm/upload", method: "POST", data })
|
|
}
|
|
},
|
|
nongchuang: {
|
|
// 用户模块
|
|
user: {
|
|
info: () => request({ url: "/api/nongchuang/user/info" }),
|
|
update: (data: any) => request({ url: "/api/nongchuang/user/info", method: "PUT", data })
|
|
},
|
|
|
|
// 认证模块
|
|
auth: {
|
|
login: (data: any) => request({ url: "/api/nongchuang/auth/login", method: "POST", data }),
|
|
wechatLogin: (data: any) => request({ url: "/api/nongchuang/auth/wechat-login", method: "POST", data }),
|
|
register: (data: any) => request({ url: "/api/nongchuang/auth/register", method: "POST", data }),
|
|
sendCode: (data: any) => request({ url: "/api/nongchuang/auth/sms-code", method: "POST", data }),
|
|
logout: () => request({ url: "/api/nongchuang/auth/logout", method: "POST" })
|
|
},
|
|
|
|
// 种子模块
|
|
seed: {
|
|
store: (params?: any) => request({ url: "/api/nongchuang/seed/store", params }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/seed/detail/${params.id}` }),
|
|
purchase: (data: any) => request({ url: "/api/nongchuang/my-seed/purchase", method: "POST", data }),
|
|
mySeeds: (params?: any) => request({ url: "/api/nongchuang/my-seed/list", params }),
|
|
growth: (userSeedId: number) => request({ url: `/api/nongchuang/my-seed/growth/${userSeedId}` }),
|
|
updateGrowth: (userSeedId: number) => request({ url: `/api/nongchuang/my-seed/growth/${userSeedId}/update`, method: "POST" })
|
|
},
|
|
|
|
// 认养模块
|
|
adoption: {
|
|
list: (params?: any) => request({ url: "/api/nongchuang/adoption/projects", params }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/adoption/project/${params.id}` }),
|
|
myProjects: (params?: any) => request({ url: "/api/nongchuang/adoption/my-projects", params }),
|
|
redeemGiftCard: (data: any) => request({ url: "/api/nongchuang/adoption/gift-card/redeem", method: "POST", data }),
|
|
current: () => request({ url: "/api/nongchuang/user-adoption/current" }),
|
|
myList: () => request({ url: "/api/nongchuang/user-adoption/list" })
|
|
},
|
|
|
|
// 用户认养模块
|
|
userAdoption: {
|
|
page: (data?: any) => request({ url: "/api/nongchuang/user-adoption/page", method: "POST", data }),
|
|
list: () => request({ url: "/api/nongchuang/user-adoption/list" }),
|
|
current: () => request({ url: "/api/nongchuang/user-adoption/current" }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/user-adoption/detail/${params.id}` })
|
|
},
|
|
|
|
// 商品模块
|
|
product: {
|
|
list: (params?: any) => request({ url: "/api/nongchuang/product/list", params }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/product/detail/${params.id}` }),
|
|
hot: () => request({ url: "/api/nongchuang/product/hot" }),
|
|
structure: () => request({ url: "/api/nongchuang/product/category-structure" })
|
|
},
|
|
|
|
// 分类模块
|
|
category: {
|
|
list: () => request({ url: "/api/nongchuang/category/list" })
|
|
},
|
|
|
|
// 购物车模块
|
|
cart: {
|
|
list: () => request({ url: "/api/nongchuang/cart/list" }),
|
|
add: (data: any) => request({ url: "/api/nongchuang/cart/add", method: "POST", data }),
|
|
update: (data: any) => request({ url: "/api/nongchuang/cart/update", method: "PUT", data }),
|
|
delete: (cartId: number) => request({ url: `/api/nongchuang/cart/delete/${cartId}`, method: "DELETE" }),
|
|
clear: () => request({ url: "/api/nongchuang/cart/clear", method: "DELETE" })
|
|
},
|
|
|
|
// 订单模块
|
|
order: {
|
|
list: (params?: any) => request({ url: "/api/nongchuang/order/list", params }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/order/detail/${params.id}` }),
|
|
create: (data: any) => request({ url: "/api/nongchuang/order/create", method: "POST", data }),
|
|
cancel: (orderId: number, data?: any) => request({ url: `/api/nongchuang/order/${orderId}/cancel`, method: "POST", data })
|
|
},
|
|
|
|
// 设备模块
|
|
device: {
|
|
list: (params?: any) => request({ url: "/api/nongchuang/device/list", params }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/device/detail/${params.id}` }),
|
|
control: (data: any) => request({ url: `/api/nongchuang/device/${data.deviceId}/control`, method: "POST", data })
|
|
},
|
|
|
|
// 地址模块
|
|
address: {
|
|
list: () => request({ url: "/api/nongchuang/address/list" }),
|
|
detail: (params: ParamId) => request({ url: `/api/nongchuang/address/detail/${params.id}` }),
|
|
add: (data: any) => request({ url: "/api/nongchuang/address/create", method: "POST", data }),
|
|
update: (data: any) => request({ url: "/api/nongchuang/address/update", method: "PUT", data }),
|
|
delete: (id: number) => request({ url: `/api/nongchuang/address/delete/${id}`, method: "DELETE" }),
|
|
setDefault: (data: any) => request({ url: "/api/nongchuang/address/setdefault", method: "POST", data })
|
|
},
|
|
|
|
// 菜单模块
|
|
appMenu: {
|
|
listByType: (menuType: string) => request({ url: "/api/nongchuang/app-menu/list-by-type", params: { menuType } })
|
|
},
|
|
|
|
// 配置模块
|
|
config: {
|
|
menus: (type?: string) => request({ url: "/api/nongchuang/config/menus", params: { type: type || 'home' } }),
|
|
homeMenus: () => request({ url: "/api/nongchuang/config/home-menus" }),
|
|
myMenus: () => request({ url: "/api/nongchuang/config/my-menus" }),
|
|
model3d: (params?: any) => request({ url: "/api/nongchuang/config/model-3d", params }),
|
|
models3d: (type?: string) => request({ url: "/api/nongchuang/config/models-3d", params: { type: type || 'seed' } })
|
|
}
|
|
}
|
|
};
|
|
|
|
// 提供与 cool-admin-vue 兼容的 useCool 钩子
|
|
export function useCool() {
|
|
return { service };
|
|
}
|