@staryea/network-request
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

@staryea/network-ajax 网络数据产品部门 ajax 请求库

接口

Response

/**
 * @description 接口响应体
 * @interface Response
 * @template D
 * @property {string} result_code 响应码
 * @property {D} data 响应数据
 * @property {string} result_msg 响应信息
 * @property {number} [recordsTotal] 总条数
 * @example
 * {
 *    "result_code": "0",
 *    "data": {
 *      "id": 1,
 *      "name": "张三"
 *     },
 *    "result_msg": "请求成功"
 * }
 */
interface Response<D = any> {
    result_code: string;
    data: D;
    result_msg: string;
    recordsTotal?: number;
}

AXIOS_DEFAULT_CONFIG

/**
 * @description 默认配置
 * @type {AxiosRequestConfig}
 * @property {number} timeout 超时时间
 * @property {string} baseURL 基础路径
 * @property {string} responseType 响应数据类型
 */
declare const AXIOS_DEFAULT_CONFIG: AxiosRequestConfig;

IPostConfig

/**
 * @description post默认请求配置类型
 */
type IPostConfig = Pick<AxiosRequestConfig, 'data' | 'params' | 'headers'>;

DEFAULT_POST_CONFIG

/**
 * @description post默认请求参数
 */
declare const DEFAULT_POST_CONFIG: IPostConfig;

函数

$post

/**
 * @description post请求
 * @param url 请求地址
 * @param config 请求配置
 * @returns {Promise<R>}
 * @example
 * $post('/xx/xx', { data: { a: 1 }, params: { b: 2 }, headers: { c: 1 } }).then(res => {
 *     console.log(res.data, `res.data`);
 *     console.log(res.result_code, `res.result_code`);
 *     console.log(res.result_msg, `res.result_msg`);
 * });
 */
declare const $post: <R = Response<any>>(url: string, config?: IPostConfig) => Promise<R>;

$postForm

/**
 * @description post请求
 * @param url 请求地址
 * @param config 请求配置
 * @returns {Promise<R>}
 * @example
 * $postForm('/xx/xx', { data: { a: 1 }, params: { b: 2 }, headers: { c: 1 } }).then(res => {
 *     console.log(res.data, `res.data`);
 *     console.log(res.result_code, `res.result_code`);
 *     console.log(res.result_msg, `res.result_msg`);
 * });
 */
declare const $postForm: <R = Response<any>>(url: string, config?: IPostConfig) => Promise<R>;

$get

/**
 * @description get请求
 * @param url 请求地址
 * @param config 请求配置
 * @returns {Promise<R>}
 * @example
 * $get('/xx/xx', { data: { a: 1 }, params: { b: 2 }, headers: { c: 1 } }).then(res => {
 *     console.log(res.data, `res.data`);
 *     console.log(res.result_code, `res.result_code`);
 *     console.log(res.result_msg, `res.result_msg`);
 * });
 */
declare const $get: <R = Response<any>>(url: string, config?: IPostConfig) => Promise<R>;

$download

/**
 * @description 下载
 * @param url 请求地址
 * @param config 请求配置
 * @returns {Promise<R>}
 * @example
 * $download('/xx/xx', { params: { b: 2 } }).then(res => {
 *     console.log(res.data, `res.data`);
 *     console.log(res.result_code, `res.result_code`);
 *     console.log(res.result_msg, `res.result_msg`);
 * });
 */
declare const $download: (url: string, config?: Pick<IPostConfig, 'params'>) => void;

Package Sidebar

Install

npm i @staryea/network-request

Weekly Downloads

8

Version

0.1.0

License

MIT

Unpacked Size

63.9 kB

Total Files

7

Last publish

Collaborators

  • staryea-jiangwy