# 企获客(SAAS) ***Author: TMOCT5*** ## 1. 项目目录 ***apis*** : 统一的请求工厂处理 |--- interfaces //接口工厂 | |--- auth.js //授权接口模块 | |--- file.js //上传接口 |--- index.js //统一接口路由出口 |--- request.js //请求方法 |--- updateToken.hs //token更新 |--- err.js //错误处理 ***static*** : 静态资源目录 |--- imgs //图片 |--- icon //图标 ***components*** : 项目组件目录 ***pages*** : 页面路由 ## 2. 使用apis接口方法 ***统一用法*** : 在app.js 中引入api方法,使用wx.$方法挂载全局 //app.js //全局引用apis import apis from "./apis/index" onLaunch(){ //挂载api方法 wx.$api = apis } //pages.js function () { wx.$api...().then(res=>{ //成功回调 }).cathc(err=>{ //失败回调 }) } ***按需引用*** : 按需要引用 //pages.js import apis from "./apis/index" function () { apis...().then(res=>{ //成功回调 }).cathc(err=>{ //失败回调 }) } ***多个接口同时回调*** : 面需多个接口同时返回信息时可使用ES6 Promise All回调方法 ``` let api1 = wx.$api.{moduleName}.{apiName}(obj) api2 = wx.$api.{moduleName}.{apiName}(obj) api3 = wx.$api.{moduleName}.{apiName}(obj) Promise.all([api1, api2, api3]).then(res=>{ //请求回调成功 }).cathc(err=>{ //请求回调失败 }) ``` ## 3. 请求方法描述 > api全局请求方法参数说明: | 请求参数 | 是否必填 | 数据类型 | 数据说明 | |:-------:|:-------:|:-------:|:---------:| | method | 否 | String | 请求方式,默认为GET | | url | 是 | String | 接口url地址 | | data | 否 | Obj | 需要发送的请求数据 | > 请求方法模块用法 ``` import {req} from "../request" const apiName = (obj) => req({ //请求参数 }) export default({ apiName }) ``` ## 4. 上传方法描述 > api全局请求方法参数说明: | 请求参数 | 是否必填 | 数据类型 | 数据说明 | |:-------:|:-------:|:-------:|:---------:| | url | 是 | String | 上传接口url地址 | | key | 是 | String | 文件对应的 key | | path | 是 | String | 上传文件的临时路径,可通过wx.chooseImage获得图片临时路径 | | data | 否 | Obj | 需要发送的请求数据 | > 方法模块用法 ``` import {upload} from "../request" const apiName = (fileUrl, keyName, data) => upload({ url : "...", //api上传接口 key : keyName, //上传key path: fileUrl, //上传路径 data: data //fromData }) export default({ apiName }) ``` > 接口用法 ``` wx.$api.file.uploadImg(fileUrl, keyName, { //data }).then(res=>{ //上传成功 }).cathc(err=>{ //上传失败 }) ```