更新记录

1.0.0(2022-09-20)

完成基础库功能

后续有时间追加


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

uniapp 简易api 工具库

本插件集成开源请求库:luch-request 。具体使用方法可参考luch-request官方文档

安装

  # 项目依赖安装,在项目根目录下执行
  npm i hx-easy-api

使用

  // 引入 /service/index.js
  import {init, api} from 'hx-easy-api'

  // 请求配置
  init({
    // baseURL
    baseURL: 'http://xxx.com',
    // 超时时间
    timeout: 60*1000,
    // 请求头
    header:{
      'content-type': 'application/json;',
    },
    // 请求拦截
    request: (config)=>{
      // ...
      return config
    },
    response: (res)=>{
      // ...
      return res
    }
  })

  // api配置
  api({
    login_p: 'login',
    logout: 'logout',
    // ......
  })

  // 使用 /pages/home/index.vue
  import service from  '@/service'

  service.login({
    //......
  }).then(res=>{})

  service.logout().then(res=>{})

spi 配置

    /**
     * 配置说明:
     * api 接收一个配置对象;
     * key 为接口别名或模块名;
     * 当key为别名时, 需配置接口method: _g - get(默认, 可省略), _p - post, _u - upload, _d - download;
     * 当key为模块名时, 其value则为接口别名对象; 如: 
     * new: {
     *  edit_p: 'edit',
     *  page_p: 'page'
     * }
     * 上述接口可无限嵌套 如:
     * modelA:{
     *  modelB:{
     *    modelC:{
     *      funName_method: '......'
     *    }
     *  }
     * }
     * 则最终请求为: baseUrl/modelA/modelB/modelC/funName
     * 
     */

    /**
    * 假设有如下api:
    * POST - /api/account/login
    * GET - /api/account/logout
    * POST - /api/common/upload
    * GET - /api/news/info
    * POST - /api/news/add
    * POST - /api/news/edit
    * POST - /api/news/page
    * GET - /api/news/delete
    * GET - /api/art/list
    * POST - /api/art/article/info
    * POST - /api/art/article/page
    * POST - /api/art/article/add
    * GET - /api/art/article/delete
    * GET - /api/art/detail/info
    *  ......
    * 配置示例如下:
    */
   init({
    //......
    baseURL: 'https://xxx.com/api'
   })

   api({
    account:['login_p','logout'],
    upload_u: 'common/upload',
    news:['info','add_p','edit_p','page_p','delete'],
    art:{
      // * 则取上级模块名 -  /art/list
      "*":['list'],
      article:['info','add_p','edit_p','page_p'],
      detail: ['info']
    }
   })

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问