「这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战」。
在我们开发小程序的过程中,经常需要封装公共的js,其中几个经常用到的js,有
api.js
,env.js
,port.js
,request.js
,util.js
,common.js
,store.js
等,本文选择一些公共js我们一起看看吧。
1、api.js
这个js是用来统一管理后台所有接口的,集中一管理,按需引入,不易出现当后台修改接口名时候,需要全局搜索,全局修改名字的情况(导致修改的页面较多)。统一之后有利于做到一处改,处处改,更加节约时间,更加高效。
import {
baseURL,
} from './env.js'
export const wxLogin = baseURL + '/wxlogin/v1/login'; // 登录
export const registerLogin = baseURL + '/wxlogin/v1/registerLogin'; // 微信注册并登录
export const getPhoneCode = baseURL + '/wxlogin/v1/getPhoneCode'; // 获取验证码
export const phoneLogin = baseURL + '/wxlogin/v1/phoneLogin'; // 手机登录
2、env.js
这个js是用来设置一些常用的环境变量的js,一般我们提交的时候不勾选(前端常常需要连接某位后台的ip,联调,提交会造成代码冲突,其他人可能不需要),作为本地的一个连接后台的api。根据当前的开发环境选择对应的后台地址。
// 根据开发环境配置请求地址
// 获取当前帐号信息
const accountInfo = wx.getAccountInfoSync();
// env类型
const env = accountInfo.miniProgram.envVersion;
const baseApi = {
// 开发版
develop: "http://192.168.110.110:8080",
// 体验版
trial: "https://baidu.com/api-test",
// 正式版
release: "https://baidu.com/api"
};
// request请求baseURL
export const baseURL = baseApi[env] || 'http://192.168.10.58:8086';
3、port.js 在我们开发项目中经常遇到多个页面都需要调用同一个接口的时候,如果在每个页面都写一边逻辑就会很冗余,当后台突然需要修改返回参或者传参的时候,会有很多不必要的劳动力,所以我们可以将一些公共的常用的接口放在这个js中,需要用的页面直接调用,这样当后台修改接口的时候,只需要改一个地方,就可以轻松解决了。
封装学年下拉框
export const portCommon = {
// 学年下拉
getGrade(callback) {
$postParam(getGrade, {}).then(res => {
if (res && res.length > 0) {
let index = 0;
for (let i = 0; i < res.length; i++) {
res[i].text = res[i].name;
res[i].value = res[i].id;
if (res[i].isNowFlag == 1) {
index = i;
}
}
return callback(res, index);
}
if (res.length == 0) return;
callback(res, 0);
})
},
}
调用学年下拉接口
getGrade() {
return new Promise(resolve => {
let param = {
isValid: 1,
}
portCommon.getGrade((res, index) => {
this.setData({
yearList: res,
year: res && res[index].id
})
resolve();
}, param)
})
},
4.request.js
封装请求方式,get,post等
5.utils.js
一些常用的工具类,例如,时间转化,数字前面加0等