首先, 归纳下 vuex基本使用流程为: 在action中分发异步请求, 在异步回调中提交mutation,在mutation中修改state, 使用getters对state的值进行计算封装.vue
为了可以很好的隔离页面view视图与数据的请求, 同时在使用vuex的action分发异步请求后,可以接收回调,进行了如下封装:ios
一. http的封装vuex
http模块包含3个文件, config.js , http.js , api.jsaxios
config.js 封装网关域名,及全部接口的方法名api
http.js 封装axios基本的get, post请求promise
api.js 封装接口名及对应的传输字段,回调响应数据异步
二. vuex模块的封装post
vuex经过action异步请求,为了回调执行状态,需在action中返回promise,针对该异步请求的封装, 分为2种状况:3d
1. view层须要渲染的数据,例如:加载用户基本信息,加载商品列表,订单列表code
异步请求后,须要提交mutation,修改state,使用getters计算
2. 执行某个功能动做,例如点赞,添加,删除
异步请求后,不须要提交mutation,不须要使用state中的数据
下图的获取用户基本信息属于状况1, 执行点赞动做属于状况2
为了处理以上两种状况,作了如下封装 (假设:code=1,请求成功, code=0, 请求失败)
在页面调用以下: