init
This commit is contained in:
37
api/config.ts
Normal file
37
api/config.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { request } from './request';
|
||||
|
||||
|
||||
|
||||
// 获取配置
|
||||
export function fetchGetConfig() {
|
||||
return request({
|
||||
url: '/config/get', // id : number
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 设置配置
|
||||
export function fetchSetConfig(data : {}) {
|
||||
return request({
|
||||
url: '/config/set',
|
||||
data: data,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
// 设置价格规则
|
||||
export function fetchSetPriceRules(data : {}) {
|
||||
return request({
|
||||
url: '/config/setPriceRules',
|
||||
data: data,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 获取价格规则
|
||||
export function fetchGetPriceRules() {
|
||||
return request({
|
||||
url: '/config/getPriceRules', // id : number
|
||||
});
|
||||
}
|
||||
92
api/control.ts
Normal file
92
api/control.ts
Normal file
@@ -0,0 +1,92 @@
|
||||
import { request } from "./request";
|
||||
// import { EditGoodsParams } from "../types/contorl";
|
||||
|
||||
|
||||
// 根据串号搜索列表
|
||||
export function fetchGoodsListByGoodsNo(goods_no: string) {
|
||||
return request({
|
||||
url: '/store.control/goodsListByGoodsNo',
|
||||
data: {
|
||||
goods_no: goods_no,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// 编辑商品
|
||||
export function fetchControlEditGoods(form:{}) {
|
||||
return request({
|
||||
url: '/store.control/editGoods',
|
||||
data: form,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 工作台商品详情
|
||||
export function fetchControlGoodsDetail(id:number) {
|
||||
return request({
|
||||
url: '/store.control/goodsDetail',
|
||||
data: {id:id}
|
||||
})
|
||||
}
|
||||
|
||||
// // 获取配件详情
|
||||
// export function fetchControlPartsGoodsDetail(id:number) {
|
||||
// return request({
|
||||
// url: '/parts.goods/detail',
|
||||
// data: {id:id}
|
||||
// })
|
||||
// }
|
||||
// // 获取配件所属机型-机型选项
|
||||
// export function fetchControlPartsProducts() {
|
||||
// return request({
|
||||
// url: '/parts.goods/products',
|
||||
// // data: {id:id}
|
||||
// })
|
||||
// }
|
||||
// // 获取配件所属分类-分类选项
|
||||
// export function fetchControlPartsTypes() {
|
||||
// return request({
|
||||
// url: '/parts.goods/types',
|
||||
// // data: {id:id}
|
||||
// })
|
||||
// }
|
||||
// // 获取配件所属分类的子类
|
||||
// export function fetchControlPartsDegree(id:number) {
|
||||
// return request({
|
||||
// url: '/parts.goods/filterDegree',
|
||||
// data: {type_id:id}
|
||||
// })
|
||||
// }
|
||||
|
||||
// // 根据 分类 子类 机型 筛选配件
|
||||
// export function fetchControlPartsFilterGoods(params: {type_id: number;product_id?: number;degree_id?: number;}) {
|
||||
// // 验证必填参数
|
||||
// if (params.type_id === undefined || params.type_id === null) {
|
||||
// return Promise.reject(new Error('type_id 是必填参数'));
|
||||
// }
|
||||
// // 构建请求数据,只包含有值的字段
|
||||
// const requestData: Record<string, any> = {
|
||||
// type_id: params.type_id
|
||||
// };
|
||||
// if (params.product_id !== undefined && params.product_id !== null) {
|
||||
// requestData.product_id = params.product_id;
|
||||
// }
|
||||
// if (params.degree_id !== undefined && params.degree_id !== null) {
|
||||
// requestData.degree_id = params.degree_id;
|
||||
// }
|
||||
// return request({
|
||||
// url: '/parts.goods/filterGoods',
|
||||
// data: requestData
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
// // 配件工作台-修改配件
|
||||
// export function editGoods(params:EditGoodsParams) {
|
||||
// return request({
|
||||
// url: '/parts.goods/editGoods',
|
||||
// data: params,
|
||||
// method: 'POST'
|
||||
// })
|
||||
// }
|
||||
68
api/goods.ts
Normal file
68
api/goods.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
import { request } from './request';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 编辑商品
|
||||
export function fetchGoodsEdit(form:{}) {
|
||||
return request({
|
||||
url: '/goods/edit',
|
||||
data: form,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 商品详情
|
||||
export function fetchGoodsDetail(id:number) {
|
||||
return request({
|
||||
url: '/goods/detail',
|
||||
data: {goods_id:id}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 新增商品
|
||||
export function fetchGoodsAdd(form:{}) {
|
||||
return request({
|
||||
url: '/goods/add',
|
||||
data: form,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 筛选
|
||||
export function fetchFilterParmas(is_origin : number = 0) {
|
||||
return request({
|
||||
url: '/goods/filterParams',
|
||||
data: {
|
||||
is_origin: is_origin
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 管理端机器列表
|
||||
export function fetchSysGoodsList(data : {}) {
|
||||
return request({
|
||||
url: '/goods/list',
|
||||
data: data,
|
||||
method: 'POST'
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 首页机器列表
|
||||
export function fetchGoodsList(data : {}) {
|
||||
return request({
|
||||
url: '/goods/lists',
|
||||
data: data,
|
||||
method: 'POST'
|
||||
});
|
||||
}
|
||||
171
api/house_goods.ts
Normal file
171
api/house_goods.ts
Normal file
@@ -0,0 +1,171 @@
|
||||
import { request } from './request';
|
||||
import { houseRequest } from './house_request';
|
||||
|
||||
// 仓库筛选
|
||||
export function houseFetchFilterParmas(is_origin : number = 0) {
|
||||
return houseRequest({
|
||||
url: '/store.goods/filterParams',
|
||||
data: {
|
||||
is_origin: is_origin
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export interface goodsListParams {
|
||||
page ?: string;
|
||||
pageSize ?: string;
|
||||
price_sort ?: string;
|
||||
degree_ids ?: string[]; // 新增的 ID 数组字段(假设是字符串数组)
|
||||
product_ids ?: string[];
|
||||
search ?: string;
|
||||
type_id ?: number;
|
||||
brand_id ?: number;
|
||||
[property : string] : any;
|
||||
}
|
||||
|
||||
|
||||
// 仓库机器列表
|
||||
export function houseFetchGoodsList(filter : goodsListParams) {
|
||||
return houseRequest({
|
||||
url: '/store.goods/lists',
|
||||
data: filter,
|
||||
method: 'POST',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 仓库商品详情
|
||||
export function houseFetchGoodsDetail(id : number) {
|
||||
return houseRequest({
|
||||
url: '/store.goods/detail',
|
||||
data: { id: id },
|
||||
});
|
||||
}
|
||||
|
||||
// 获取购物车商品列表
|
||||
export function houseFetchCartGoodsIds() {
|
||||
return houseRequest({
|
||||
url: '/store.goods/cartGoodsIds',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 检测报告树
|
||||
export function fetchGoodsReportTags () {
|
||||
return houseRequest({
|
||||
url:'/store.goods/reportTags',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 添加购物车
|
||||
export function fetchAddCart(goods_id : number) {
|
||||
return request({
|
||||
url: '/store.goods/addCart',
|
||||
data: { goods_id: goods_id },
|
||||
});
|
||||
}
|
||||
|
||||
// 删除购物车
|
||||
export function fetchDelCart(goods_id : number) {
|
||||
return request({
|
||||
url: '/store.goods/delCart',
|
||||
data: { goods_id: goods_id },
|
||||
});
|
||||
}
|
||||
|
||||
// 获取购物车商品
|
||||
export function fetchCartList() {
|
||||
return request({
|
||||
url: '/store.goods/cartList',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// export interface PartsListParams {
|
||||
// /**
|
||||
// * 子类id
|
||||
// */
|
||||
// degree_id ?: string;
|
||||
// page ?: string;
|
||||
// pageSize ?: string;
|
||||
// /**
|
||||
// * 配件机型id
|
||||
// */
|
||||
// product_id ?: string;
|
||||
// /**
|
||||
// * 配件id
|
||||
// */
|
||||
// type_id ?: string;
|
||||
// [property : string] : any;
|
||||
// }
|
||||
// export function fetcPartsList(filter : PartsListParams) {
|
||||
// return request({
|
||||
// url: '/parts.goods/filtergoodslist',
|
||||
// data: filter,
|
||||
// method: 'POST',
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function fetchPartsDetail(id: number) {
|
||||
// return request({
|
||||
// url: '/goods/detail',
|
||||
// data: { id: id },
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function addPartsCart(goods_id : number) {
|
||||
// return request({
|
||||
// url: '/parts.cart/addCart',
|
||||
// data: { goods_id },
|
||||
// });
|
||||
// }
|
||||
// export function incPartsCartNum(goods_id : number) {
|
||||
// return request({
|
||||
// url: '/parts.cart/incNum',
|
||||
// data: { goods_id },
|
||||
// });
|
||||
// }
|
||||
// export function decPartsCartNum(goods_id : number) {
|
||||
// return request({
|
||||
// url: '/parts.cart/decNum',
|
||||
// data: { goods_id },
|
||||
// });
|
||||
// }
|
||||
// export function setPartsCartNum(goods_id : number, quantity : number) {
|
||||
// return request({
|
||||
// url: '/parts.cart/setNum',
|
||||
// data: { goods_id, quantity },
|
||||
// });
|
||||
// }
|
||||
|
||||
// export function delPartsCart(goods_id : number) {
|
||||
// return request({
|
||||
// url: '/parts.cart/delCart',
|
||||
// data: { goods_id },
|
||||
// });
|
||||
// }
|
||||
// export function fetchPartsCartList() {
|
||||
// return request({
|
||||
// url: '/parts.cart/cartList',
|
||||
// });
|
||||
// }
|
||||
183
api/house_order.ts
Normal file
183
api/house_order.ts
Normal file
@@ -0,0 +1,183 @@
|
||||
import config from '@/config';
|
||||
|
||||
import { houseRequest } from "./house_request";
|
||||
|
||||
// 保存远程收货地址
|
||||
export function houseFetchUpdateAddress(form : {}) {
|
||||
// 设置默认参数
|
||||
const defaultParams = {
|
||||
agent_id: config.wxapp_id,
|
||||
address: {},
|
||||
};
|
||||
console.log(defaultParams);
|
||||
console.log(form);
|
||||
const requestParams = {
|
||||
...defaultParams,
|
||||
...form
|
||||
};
|
||||
return houseRequest({
|
||||
url: '/store.api/updateAddress',
|
||||
data: requestParams,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 仓库商品状态校验
|
||||
export function houseFetchCheckGoods(form : {}) {
|
||||
// 设置默认参数
|
||||
const defaultParams = {
|
||||
agent_id: config.wxapp_id,
|
||||
goods_id: 0,
|
||||
};
|
||||
console.log(defaultParams);
|
||||
console.log(form);
|
||||
const requestParams = {
|
||||
...defaultParams,
|
||||
...form
|
||||
};
|
||||
return houseRequest({
|
||||
url: '/store.api/checkGoods',
|
||||
data: requestParams,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 仓库订单预览
|
||||
export function houseFetchGoodsPreview(form : {}) {
|
||||
// 设置默认参数
|
||||
const defaultParams = {
|
||||
agent_id: config.wxapp_id,
|
||||
goods_id: 0,
|
||||
};
|
||||
console.log(defaultParams);
|
||||
console.log(form);
|
||||
const requestParams = {
|
||||
...defaultParams,
|
||||
...form
|
||||
};
|
||||
return houseRequest({
|
||||
url: '/store.api/preview',
|
||||
data: requestParams,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 订单下单
|
||||
export function fetchOrderbuyNow(data : {}) {
|
||||
return houseRequest({
|
||||
url: '/order/buyNow',
|
||||
data: data,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// // 订单详情
|
||||
// export function fetchOrderDetail(id : Number) {
|
||||
// return request({
|
||||
// url: '/order/detail',
|
||||
// data: { id: id },
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// // 订单统计
|
||||
// export function fetchOrderTotalCount() {
|
||||
// return request({
|
||||
// url: '/order/totalCount'
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// // 获取订单列表
|
||||
// interface orderListParams {
|
||||
// page ?: number;
|
||||
// pageSize ?: number;
|
||||
// status ?: 'all' | 'payment' | 'delivery' | 'received' | 'finish';
|
||||
// goods_no ?: string;
|
||||
// [key : string] : any; // 允许其他扩展参数
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 获取订单列表
|
||||
// * @param params 请求参数对象
|
||||
// * @returns Promise
|
||||
// */
|
||||
// export function fetchOrderList(params : orderListParams = {}) {
|
||||
// // 设置默认参数
|
||||
// const defaultParams = {
|
||||
// page: 1,
|
||||
// pageSize: 10,
|
||||
// status: 'all',
|
||||
// goods_no: '',
|
||||
// };
|
||||
|
||||
// const requestParams = {
|
||||
// ...defaultParams,
|
||||
// ...params
|
||||
// };
|
||||
// return request({
|
||||
// url: '/order/getList',
|
||||
// method: 'GET', // 或 'POST' 根据实际需求
|
||||
// data: requestParams
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// // 取消订单
|
||||
// export function fetchCancelOrder(id : Number) {
|
||||
// return request({
|
||||
// url: '/order/cancel',
|
||||
// data: { id: id },
|
||||
// })
|
||||
// }
|
||||
|
||||
// // 标记付款
|
||||
// export function fetchPayOrder(id : Number) {
|
||||
// return request({
|
||||
// url: '/order/paid',
|
||||
// data: { id: id },
|
||||
// })
|
||||
// }
|
||||
|
||||
// // 标记发货
|
||||
// export function fetchDeliveryOrder(form : {}) {
|
||||
// return request({
|
||||
// url: '/order/delivery',
|
||||
// data: form,
|
||||
// method: 'POST'
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
// // 确认收货
|
||||
// export function fetchReceiptOrder(id : Number) {
|
||||
// return request({
|
||||
// url: '/order/receipt',
|
||||
// data: { id: id },
|
||||
// })
|
||||
// }
|
||||
100
api/house_request.ts
Normal file
100
api/house_request.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
// 针对仓库的Api接口
|
||||
|
||||
|
||||
|
||||
import config from '@/config';
|
||||
import { goToLoginPage } from '@/utils/helper';
|
||||
|
||||
// 定义请求参数接口
|
||||
interface Options {
|
||||
url : string; // 请求路径(不包含基础URL)
|
||||
method ?: 'GET' | 'POST'; // 请求方法,默认为GET
|
||||
data ?: any; // POST请求体数据
|
||||
params ?: any; // GET请求参数(与data二选一)
|
||||
dataType ?: string; // 返回数据格式,默认json
|
||||
responseType ?: string; // 响应数据类型,默认text
|
||||
}
|
||||
|
||||
// 定义响应数据结构接口
|
||||
interface Response {
|
||||
code : number;
|
||||
msg ?: string;
|
||||
data : any;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 获取图片上传的完整URL
|
||||
// * @returns {string} 完整的图片上传URL,包含基础URL、wxapp_id和token参数
|
||||
// */
|
||||
// export const getUploadImageUrl = () => {
|
||||
// return config.api_base_url + '/store.upload/image' + '&wxapp_id=10001&token=' + uni.getStorageSync('token');
|
||||
// };
|
||||
|
||||
/**
|
||||
* 封装uni.request的通用请求方法
|
||||
* @param {Options} options 请求配置项
|
||||
* @returns {Promise} 返回Promise对象
|
||||
*
|
||||
* 功能说明:
|
||||
* 1. 自动拼接基础URL和认证参数
|
||||
* 2. 统一处理登录状态(code=-1跳转登录页)
|
||||
* 3. 统一处理错误提示(code=0显示Toast)
|
||||
* 4. 成功时返回data字段(code=1)
|
||||
*/
|
||||
export const houseRequest = (options : Options) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.request({
|
||||
// 拼接完整请求URL(基础URL + 路径 + 固定参数)
|
||||
url: config.house_api_base_url + options.url + '&wxapp_id=10001&token=' + uni.getStorageSync('token'),
|
||||
|
||||
method: options.method || 'GET', // 默认GET方法
|
||||
data: options.data || options.params || {}, // 兼容data/params传参
|
||||
dataType: options.dataType || 'json', // 默认json格式
|
||||
responseType: options.responseType || 'text', // 默认text类型
|
||||
|
||||
// 请求成功回调
|
||||
success(res) {
|
||||
const ret : Response = res.data;
|
||||
// console.log(ret);
|
||||
|
||||
// 状态码处理
|
||||
switch (ret.code) {
|
||||
case -1: // 未登录状态
|
||||
goToLoginPage();
|
||||
break;
|
||||
case 1: // 成功状态
|
||||
// console.log(options.url);
|
||||
// if (options.url === '/parts.order/preview') {
|
||||
// console.log('ressss', ret);
|
||||
// resolve(ret);
|
||||
// break;
|
||||
// }
|
||||
resolve(ret.data); // 返回data字段
|
||||
break;
|
||||
case 0: // 失败状态
|
||||
// console.log(options.url);
|
||||
// if (options.url === '/parts.order/preview') {
|
||||
// console.log('ressss', ret);
|
||||
// resolve(ret);
|
||||
// break;
|
||||
// }
|
||||
uni.showToast({
|
||||
title: ret.msg || '操作失败', // 显示错误信息
|
||||
icon: 'none', // 不显示图标
|
||||
});
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
// 请求失败回调
|
||||
fail(err) {
|
||||
uni.$emit('z-paging-error-emit');
|
||||
reject(err); // 返回错误对象
|
||||
uni.showToast({
|
||||
title: '网络请求失败',
|
||||
icon: 'none',
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
||||
18
api/index.ts
Normal file
18
api/index.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { request } from "./request";
|
||||
|
||||
// export function fetchNavList () {
|
||||
// return request({
|
||||
// url:'/index/nav_list'
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取店铺配置
|
||||
export function fetchConfig () {
|
||||
return request({
|
||||
url:'/store.index/config',
|
||||
})
|
||||
}
|
||||
|
||||
129
api/order.ts
Normal file
129
api/order.ts
Normal file
@@ -0,0 +1,129 @@
|
||||
import { request } from "./request";
|
||||
|
||||
|
||||
|
||||
// 订单预览
|
||||
export function fetchOrderPreview(form : {}) {
|
||||
return request({
|
||||
url: '/order/preview',
|
||||
data: form,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 订单下单
|
||||
export function fetchOrderbuyNow(data : {}) {
|
||||
return request({
|
||||
url: '/order/buyNow',
|
||||
data: data,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 订单详情
|
||||
export function fetchOrderDetail(id : Number) {
|
||||
return request({
|
||||
url: '/order/detail',
|
||||
data: { id: id },
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 订单统计
|
||||
export function fetchOrderTotalCount() {
|
||||
return request({
|
||||
url: '/order/totalCount'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取订单列表
|
||||
interface orderListParams {
|
||||
page ?: number;
|
||||
pageSize ?: number;
|
||||
status ?: 'all' | 'payment' | 'delivery' | 'received' | 'finish';
|
||||
goods_no ?: string;
|
||||
[key : string] : any; // 允许其他扩展参数
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取订单列表
|
||||
* @param params 请求参数对象
|
||||
* @returns Promise
|
||||
*/
|
||||
export function fetchOrderList(params : orderListParams = {}) {
|
||||
// 设置默认参数
|
||||
const defaultParams = {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
status: 'all',
|
||||
goods_no: '',
|
||||
};
|
||||
|
||||
const requestParams = {
|
||||
...defaultParams,
|
||||
...params
|
||||
};
|
||||
return request({
|
||||
url: '/order/getList',
|
||||
method: 'GET', // 或 'POST' 根据实际需求
|
||||
data: requestParams
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 取消订单
|
||||
export function fetchCancelOrder(id : Number) {
|
||||
return request({
|
||||
url: '/order/cancel',
|
||||
data: { id: id },
|
||||
})
|
||||
}
|
||||
|
||||
// 标记付款
|
||||
export function fetchPayOrder(id : Number) {
|
||||
return request({
|
||||
url: '/order/paid',
|
||||
data: { id: id },
|
||||
})
|
||||
}
|
||||
|
||||
// 标记发货
|
||||
export function fetchDeliveryOrder(form : {}) {
|
||||
return request({
|
||||
url: '/order/delivery',
|
||||
data: form,
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 确认收货
|
||||
export function fetchReceiptOrder(id : Number) {
|
||||
return request({
|
||||
url: '/order/receipt',
|
||||
data: { id: id },
|
||||
})
|
||||
}
|
||||
145
api/request.ts
Normal file
145
api/request.ts
Normal file
@@ -0,0 +1,145 @@
|
||||
// import { ref } from "vue";
|
||||
// import config from "../config";
|
||||
// import { goToLoginPage } from "../utils/helper";
|
||||
// interface Options {
|
||||
// url : string,
|
||||
// method ?: 'GET' | 'POST',
|
||||
// data ?: any,
|
||||
// params ?: any,
|
||||
// dataType ?: string,
|
||||
// responseType ?: string
|
||||
// }
|
||||
// interface Response {
|
||||
// code : number;
|
||||
// msg ?: string;
|
||||
// data : any;
|
||||
// }
|
||||
// export const getUploadImageUrl = () => {
|
||||
// return config.api_base_url + '/upload/image' + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token');
|
||||
// }
|
||||
// export const request = (options : Options) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// uni.request({
|
||||
// url: config.api_base_url + options.url + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token'),
|
||||
// method: options.method || 'GET',
|
||||
// data: options.data || options.params || {},
|
||||
// dataType: options.dataType || "json",
|
||||
// responseType: options.responseType || "text",
|
||||
// success(res) {
|
||||
// const ret : Response = res.data
|
||||
// if (ret.code === -1) {
|
||||
// goToLoginPage()
|
||||
// } else if (ret.code === 1) {
|
||||
// resolve(ret.data)
|
||||
// } else if (ret.code === 0) {
|
||||
// uni.showToast({
|
||||
// title:ret.msg,
|
||||
// icon:'none'
|
||||
// })
|
||||
// }
|
||||
// },
|
||||
// fail(err) {
|
||||
// reject(err)
|
||||
// },
|
||||
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
import { ref } from 'vue';
|
||||
import config from '../config';
|
||||
import { goToLoginPage } from '../utils/helper';
|
||||
|
||||
// 定义请求参数接口
|
||||
interface Options {
|
||||
url : string; // 请求路径(不包含基础URL)
|
||||
method ?: 'GET' | 'POST'; // 请求方法,默认为GET
|
||||
data ?: any; // POST请求体数据
|
||||
params ?: any; // GET请求参数(与data二选一)
|
||||
dataType ?: string; // 返回数据格式,默认json
|
||||
responseType ?: string; // 响应数据类型,默认text
|
||||
}
|
||||
|
||||
// 定义响应数据结构接口
|
||||
interface Response {
|
||||
code : number;
|
||||
msg ?: string;
|
||||
data : any;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取图片上传的完整URL
|
||||
* @returns {string} 完整的图片上传URL,包含基础URL、wxapp_id和token参数
|
||||
*/
|
||||
export const getUploadImageUrl = () => {
|
||||
return config.api_base_url + '/upload/image' + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token');
|
||||
};
|
||||
|
||||
/**
|
||||
* 封装uni.request的通用请求方法
|
||||
* @param {Options} options 请求配置项
|
||||
* @returns {Promise} 返回Promise对象
|
||||
*
|
||||
* 功能说明:
|
||||
* 1. 自动拼接基础URL和认证参数
|
||||
* 2. 统一处理登录状态(code=-1跳转登录页)
|
||||
* 3. 统一处理错误提示(code=0显示Toast)
|
||||
* 4. 成功时返回data字段(code=1)
|
||||
*/
|
||||
export const request = (options : Options) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.request({
|
||||
// 拼接完整请求URL(基础URL + 路径 + 固定参数)
|
||||
url: config.api_base_url + options.url + '&wxapp_id=' + config.wxapp_id + '&token=' + uni.getStorageSync('token'),
|
||||
|
||||
method: options.method || 'GET', // 默认GET方法
|
||||
data: options.data || options.params || {}, // 兼容data/params传参
|
||||
dataType: options.dataType || 'json', // 默认json格式
|
||||
responseType: options.responseType || 'text', // 默认text类型
|
||||
|
||||
// 请求成功回调
|
||||
success(res) {
|
||||
const ret : Response = res.data;
|
||||
// console.log(ret);
|
||||
|
||||
// 状态码处理
|
||||
switch (ret.code) {
|
||||
case -1: // 未登录状态
|
||||
goToLoginPage();
|
||||
break;
|
||||
case 1: // 成功状态
|
||||
// console.log(options.url);
|
||||
// if (options.url === '/parts.order/preview') {
|
||||
// console.log('ressss', ret);
|
||||
// resolve(ret);
|
||||
// break;
|
||||
// }
|
||||
resolve(ret.data); // 返回data字段
|
||||
break;
|
||||
case 0: // 失败状态
|
||||
// console.log(options.url);
|
||||
// if (options.url === '/parts.order/preview') {
|
||||
// console.log('ressss', ret);
|
||||
// resolve(ret);
|
||||
// break;
|
||||
// }
|
||||
uni.showToast({
|
||||
title: ret.msg || '操作失败', // 显示错误信息
|
||||
icon: 'none', // 不显示图标
|
||||
});
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
// 请求失败回调
|
||||
fail(err) {
|
||||
uni.$emit('z-paging-error-emit');
|
||||
reject(err); // 返回错误对象
|
||||
uni.showToast({
|
||||
title: '网络请求失败',
|
||||
icon: 'none',
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
||||
31
api/user.ts
Normal file
31
api/user.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { request } from "./request";
|
||||
|
||||
// 用户登录
|
||||
|
||||
export function login(code : number, user_info : {}) {
|
||||
return request({
|
||||
url: '/user/login',
|
||||
data: {
|
||||
code: code,
|
||||
user_info: user_info
|
||||
},
|
||||
method: 'POST'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
export function fetchUserInfo() {
|
||||
return request({
|
||||
url: '/user/info'
|
||||
})
|
||||
}
|
||||
|
||||
// 绑定手机号
|
||||
export function fetchUserPhone(code:string) {
|
||||
return request({
|
||||
url: '/store.user/bindPhone',
|
||||
data: {
|
||||
code: code,
|
||||
},
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user