一、小程序部分
这是理财系统的前端,江苏海洋大学微信小程序比赛
GitHub:https://github.com/GeorgeLeoo/finance
1. 项目描述
(1). 此项目为记账小程序
(2). 包括账单、图表、搜索、用户等多个子模块
(3). 使用微信小程序技术
(4). 采用模块化、组件化、工程化等模式开发
2. 项目功能界面
在 1.0.2版本中删除了扇形图
3. 项目目录
* pages:页面
* components:组件
* utils:工具类
|-- util.js:工具类
|-- wxcharts.js:图表插件
* images:资源图片
* config:配置文件
* filter:过滤器
* http:网络请求
|-- http.js:对 wx.request 的封装
|-- api.js:对网络请求接口的封装
4. 请求封装
一开始使用 wx.request 对数据进行网络请求,可写完后,发现太过冗余,也太麻烦,故对其做了封装。
通过创建一个函数返回 Promise 对象,就可以屏蔽公共的部分
// http/http.js
/**
* 对微信普通网络请求封装
* @param url 请求地址
* @param data 请求的参数
* @param method 请求的方法类型
* @param headers 头部信息,在这里主要是 token 认证功能
* @returns {Promise<unknown>} 返回请求的 Promise 对象
*/
function http({
url, data, method, headers = {
}}) {
return new Promise((resolve, reject) => {
wx.request({
url,
method,
data,
header: {
Authorization: headers.token,
expiresIn: headers.expiresIn
},
success: (result) => {
const res = result.data;
if (res.code === 0) {
resolve(res.data);
} else if (res.code === 1) {
reject(res.msg);
}
// 隐藏 loading
wx.hideLoading();
},
fail: (err) => {
console.error('server error', err)