一、小程序部分
這是理財系統的前端,江蘇海洋大學微信小程序比賽,最后獲得了一等獎
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); } }); })}/** * 對文件上傳接口封裝 * @param url 請求地址 * @param fileOptions 文件配置項 * @param data 請求發送的數據 * @param headers 頭部信息,在這里主要是 token 認證功能 * @returns {Promise<unknown>} 返回請求的 Promise 對象 */function uploadFile({url, fileOptions, data, headers = {}}) { return new Promise(((resolve, reject) => { wx.uploadFile({ url: url, filePath: fileOptions.filePath, name: fileOptions.name || 'file', header: { Authorization: headers.token, expiresIn: headers.expiresIn }, formData: data, success: (res) => { console.log(res.data); if (JSON.parse(res.data).code === 0) { resolve(res.data); } else if (res.code === 1) { reject(res.msg); } }, fail: (err) => { console.error('server error', err); } }) }))}module.exports = { http, uploadFile};
新聞熱點
疑難解答