🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一 定义 ### 1. 全局API配置 - **api 构成** `apiFormat` api格式,这里我们定义`hostUrl`、`modularName`、`controlName`以及`actionName` 分别代表,访问域名、模块命名、控制器名以及行为名称,`apiFormat=hostUrl/modularName/controlName/actionName` 代表api的URL将会按照这个格式生成,具体字段可以在全局、模块或具体API定义上配置。 名称 | 类型 | 说明 :-----------: | :-----------: | ----------- env | String | 开发环境 hostUrl | Object | 访问域名,{key:vlaue} ,key代表环境名称,value代表当前环境的域名 modularName | String | 全局配置模块名 controlName | String | 全局配置控制器名 actionName | String | 全局配置行为名称(一般不会在全局做配置) ### 2.模块配置 每个模块都可以在 `api/index.js` 下定义 - **modularInfo** 名称 | 类型 | 说明 :-----------: | :-----------: | ----------- modularName | String | 模块配置模块名(该配置全模块生效,不定义配置默认读取全局) controlName | String | 模块配置控制器名(该配置全模块生效,不定义配置默认读取全局) - **default** 这里定一个多个具体api 配置 ``` export const modularInfo = { controlName: 'Common' } export default { getValidCode: { method: "POST", actionName: "getValidCode" }, loginByValidCode: { method: "POST", controlName: 'register' , actionName: "loginByValidCode" }, loginByAuthPhone: { method: "POST", url: "/index.php?s=/api/user/loginByAuthPhone" }, updateInfo: { api_type: "shop", method: "POST", url: "/index.php?s=/api/user/updateInfo" } } ``` 名称 | 类型 | 说明 :-----------: | :-----------: | ----------- api_type | String | 默认为 ztbcms,正常的api地址解析,‘shop’ 为逸店商城请求模式 method | String | 请求方法 GET、POST hostUrl | String | 访问域名(该配置全模块生效,不定义配置默认读取模块配置) modularName | String | 配置模块名(该配置全模块生效,不定义配置默认读取模块配置) controlName | String | 配置控制器名(该配置全模块生效,不定义配置默认读取模块配置) actionName | String | 配置行为名称(一般不会在配置,不定义配置默认读取模块配置) url | String | 直接访问url,如果定义URL,则直接请求 `hostUrl/url` loading | String | 是否显示加载框,GET方法默认不显示,POST方法默认显示 ### 3.文件上传api - **定义** ``` // 上传视频 UploadVideo: { method: "UPLOAD", controlName: 'api.upload', actionName: "videoUpload" }, // 上传文件 UploadFile: { method: "UPLOAD", controlName: 'api.upload', actionName: "fileUpload" }, ``` - **header** 对于上传请求的header,默认**不读取全局配置中的header配置**,但是会读取api配置中的header变量和Request调用传的header ## 二 调用 ### Request 在页面调用请求时都通过`this.$Request({api_name},{data},{options})` 方法调用 。 | 参数 | 类型 | 说明 | | :---: | :---: |---| | api_name | String | api名称,由{模块名}.{api名称}组成,例如 `User.Login` | |data|Object|传参对象 |options|Object| 具体参数看options介绍 ### options | 字段 | 类型 | 默认值|说明 | :---: | :---: | :---: | --- | | header | Object | {} | 请求头,也可以在全局配置 | | loading | Boolean | false/true | Get 方法默认是false,Post 方法默认是true | | loadingText | String | 加载中 | 加载显示类型 | | successCode | Array | [] | 定义成功返回的code,默认是全局配置 ,成功的code不会做提示处理,也会做正常的返回| | ignoreToastCode | Array | [] | 默认读取全局配置、忽略toast提示code | | forceReturn | Boolean | false | 是否强制返回,true代表无论什么请求结果,都成功返回数据 |