You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

89 lines
1.3 KiB

import { config } from "../../config";
import request from "./request";
export class BaseService {
namespace?: string;
constructor(namespace?: string) {
if (namespace) {
this.namespace = namespace;
}
}
// 发送请求
async request(options: any = {}) {
let url = options.url;
if (url && url.indexOf("http") < 0) {
if (this.namespace) {
url = this.namespace + url;
}
if (options.proxy !== false) {
url = config.baseUrl + "/" + url;
}
}
// 处理参数
options.data =
options.method?.toLocaleUpperCase() == "POST" ? options.data : options.params;
return request({
...options,
url,
});
}
// 获取列表
async list(data: any) {
return this.request({
url: "/list",
method: "POST",
data,
});
}
// 分页查询
async page(data: any) {
return this.request({
url: "/page",
method: "POST",
data,
});
}
// 获取信息
async info(params: any) {
return this.request({
url: "/info",
params,
});
}
// 更新数据
async update(data: any) {
return this.request({
url: "/update",
method: "POST",
data,
});
}
// 删除数据
async delete(data: any) {
return this.request({
url: "/delete",
method: "POST",
data,
});
}
// 添加数据
async add(data: any) {
return this.request({
url: "/add",
method: "POST",
data,
});
}
}