前言前端
最近都在研究小程序了,我能夠的!vue
需求json
以前都是用vue來開發項目的,接口模塊我特地封裝了一下。感受也能夠記錄一下小程序
小程序的接口雖然說簡單,可是重複調用那麼多,顯得不專業(一本正經的胡說八道)api
還有一篇,小程序遇到了的那些坑和小技巧)待續服務器
1、小程序接口請求流程微信
簡單的畫了一個流程圖微信開發
2、域名配置app
必定要配置https,小程序上配置的域名必須是域名備案的,還有必定服務器要TLS1.2以上函數
三、打開微信開發者工具,打開你的項目,點開詳情。確認一下域名是否一一匹對。否則會編譯失敗的哦
4、在你的項目文件utils 文件中新建api.js http.js
5、http.js 代碼(複製過去就能夠了)
module.exports = { http(url, method, params) { let token = 'token' // 獲取token,自行獲取token和簽名,token和簽名表示每一個接口都要發送的數據 let sign = 'sign' // 獲取簽名 (後臺怎麼定義的,就傳什麼) let data = { token, sign } if (params.data) { // 在這裏判斷一下data是否存在,params表示前端須要傳遞的數據,params是一個對象,有三組鍵值對,data:表示請求要發送的數據,success:成功的回調,fail:失敗的回調,這三個字段可缺可無,其他字段會忽略 for (let key in params.data) { // 在這裏判斷傳過來的參數值爲null,就刪除這個屬性 if (params.data[key] == null || params.data[key] == 'null') { delete params.data[key] } } data = { ...data, ...params.data } } wx.request({ url: '你配置的域名' + url, // 就是拼接上前綴,此接口域名是開放接口,可訪問 method: method == 'post' ? 'post' : 'get', // 判斷請求類型,除了值等於'post'外,其他值均視做get 其餘的請求類型也能夠本身加上的 data, header: { 'content-type': 'application/json' }, success(res) { params.success && params.success(res.data) }, fail(err) { params.fail && params.fail(err) } }) } }
6、api.js(再次複製代碼 就能夠了)
// 在這裏面定義全部接口,一個文件管理全部接口,易於維護 import { http } from './http'; // 引入剛剛封裝好的http模塊,import屬於ES6的語法,微信開發者工具必須打開ES6轉ES5選項 function femaleNameApi(params) { // 請求隨機古詩詞接口 http('project/projectInfos', 'get', params) // 接口請求的路由地址以及請求方法在此處傳遞 } // 每個接口定義一個函數,而後暴露出去,供邏輯代碼調用 function novelApi(params) { // 小說推薦接口 http('/novelApi', 'get', params) } export default { // 暴露接口 femaleNameApi, novelApi }
7、在index.js 調用(你想在哪裏用就在哪裏用)
//index.js import http from '../../utils/api' // 引入api接口管理文件 Page({ onLoad: function () { this.getData() }, getData(){ http.femaleNameApi({ // 調用接口,傳入參數 data: { token: '470712FF0FE2392D6CB6D8A6560805CC' }, success: res => { console.log('接口請求成功', res) this.setData({ femaleList: res.data }) }, fail: err => { console.log(err) } }) } })
8、打開控制檯
若是你這樣的錯
忘記說了showRequestInfo() 這個了(一開始,覺得是api 接口),直接在控制檯輸入這個方法就能夠了,能夠看到錯誤信息詳情
那說明大家的服務器要有證書,並且TLS版本要大於等於1.2
(我把我後臺逼瘋了,哈哈哈哈哈哈哈)
若是你是這樣的,恭喜你接口成功了呢
9、Fannie式總結
以上的兩個文件,算是接口封裝的模板,你放在哪個項目裏面均可以這樣配置
有一點一勞永逸的意思
可是它封裝的不夠完美
沒有個人vue項目封裝的好,改天再改造一下
但願對你有幫助,拜拜咯!