mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-27 19:40:26 +08:00
78 lines
1.5 KiB
TypeScript
78 lines
1.5 KiB
TypeScript
|
|
import request from './request'
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 可用于各模块定义各自api请求
|
|||
|
|
*/
|
|||
|
|
class Api {
|
|||
|
|
/**
|
|||
|
|
* 请求url
|
|||
|
|
*/
|
|||
|
|
url: string;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 请求方法
|
|||
|
|
*/
|
|||
|
|
method: string;
|
|||
|
|
|
|||
|
|
constructor(url: string, method: string) {
|
|||
|
|
this.url = url;
|
|||
|
|
this.method = method;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 设置rl
|
|||
|
|
* @param {String} uri 请求url
|
|||
|
|
*/
|
|||
|
|
setUrl(url: string) {
|
|||
|
|
this.url = url;
|
|||
|
|
return this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* url的请求方法
|
|||
|
|
* @param {String} method 请求方法
|
|||
|
|
*/
|
|||
|
|
setMethod(method: string) {
|
|||
|
|
this.method = method;
|
|||
|
|
return this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取权限的完整url
|
|||
|
|
*/
|
|||
|
|
getUrl() {
|
|||
|
|
return request.getApiUrl(this.url);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 操作该权限,即请求对应的url
|
|||
|
|
* @param {Object} param 请求该权限的参数
|
|||
|
|
*/
|
|||
|
|
request(param: any): Promise<any> {
|
|||
|
|
return request.send(this, param);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 操作该权限,即请求对应的url
|
|||
|
|
* @param {Object} param 请求该权限的参数
|
|||
|
|
*/
|
|||
|
|
requestWithHeaders(param: any, headers: any): Promise<any> {
|
|||
|
|
return request.sendWithHeaders(this, param, headers);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/** 静态方法 **/
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 静态工厂,返回Api对象,并设置url与method属性
|
|||
|
|
* @param url url
|
|||
|
|
* @param method 请求方法(get,post,put,delete...)
|
|||
|
|
*/
|
|||
|
|
static create(url: string, method: string) {
|
|||
|
|
return new Api(url, method);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
export default Api
|