mpvue 開發小程式介面資料統一管理

2022-07-09 08:03:08 字數 2068 閱讀 6252

mpvue專案裡做api與資料分離統一管理

小程式裡請求資料介面使用wx:request,因為考慮專案比較大,最好把wx:request封裝起來,統一使用管理

utils.js 配置開發環境和線上環境介面

let util = {};

const ajaxurl = process.env.node_env === 'development'

// 測試介面位址

? 'code.net.cn/api'

// 線上介面位址

: '';

util.api = ajaxurl;

util.oauthurl = ajaxurl;

export default util;

fetch.js 暴露封裝請求介面方法
import utils from '../utils/utils'

import store from '../vuex/index'

export async function request(obj) );

}wx.request(,

method: obj.method,

success(res)

store.commit('setshowing', false);

resolve(res.data.data)

},fail(e)

})})

}// 處理new token

function handlenewtoken(res)

}// 統一顯示toast

function showtoast(message) );

store.commit('setshowing', true);

}/**

* 處理code資訊

* @param res

*/function handleresult(res) );

break;

case 422 :

let errors = '';

for (var key in res.data.errors) )

}errors = errors ? errors : '提交的資訊錯誤,請檢查!';

showtoast(errors);

break;

default:

let msg = res.data.message ? res.data.message : '未知錯誤,請重試!';

showtoast(msg);

}}

統一在vuex裡面做資料請求介面

比如訂單介面

import  from "../../api/fetch";

const state =

const mutations =

}const actions =

*/async createorder(, params) );

return res;

},/**

* 獲取訂單詳情

* @param commit

* @param id 訂單id

* @returns

*/async getorderdetail(, id)

})return res;

},/**

* 獲取訂單列表

* @param commit

* @returns

*/async getorderlist()

})commit('setorderlist', res);

return res;

}}export default

現在已經介面api與請求資料分開統一處理,在頁面僅僅需要呼叫就可以使用資料了
在這稍微說一下個人觀點,async/await和promise非同步,我這次專案有同時使用promise和async/await,兩個有不同的優缺點,promise的**機制async/await好,缺點就是寫很多then**,async/await的寫法與同步寫起來很相似,寫起**來也整潔,易理解。建議大家在不同的場景下使用它們的各自優缺點。

小程式開發筆記(mpvue)

1.打包的時候要注意檔案不能過大,單個不超過2m,整體不超過8m 但是實際打包後的vendor會很大。解決方案 引入uglifyjs外掛程式 修改build目錄下 的webpack.dev.conf.js配置檔案,前面新增外掛程式的引入,var uglifyjsplugin require ugli...

MPVue開發小程式使用axios

1.安裝axios npm install axios 2.找到以下路徑中檔案路徑 node modules axios dist axios.js注釋 塊 axios.all function all promises 3.使用axios的自定義請求adapter axios.defaults.a...

使用mpvue開發小程式教程(二)

在visual studio code裡面開啟專案資料夾,我們可以看到類似如下的檔案結構 package.json project.config.json static src components pages utils main.js config index.js dev.env.js pro...