| 
					
				 | 
			
			
				@@ -1,38 +1,45 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import settings from '../settings' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getAuthen } from '../assets/util' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import moment from 'moment' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const noncestr = Math.random().toString(36).substring(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const timestamp = +moment.utc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 带Origin后缀的通过getter获取 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const state = () => ({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   openIdOrigin: "oJR5R6gWNpGre5hfPXkFvcdBhIrE", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   accessTokenOrigin: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   unionIdOrigin: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  userInfoOrigin: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  stationIdOrigin: settings.stationId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  userInfo: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  stationId: settings.stationId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  noncestr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  timestamp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  signature:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const getters = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  openId:(state)=> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if(!state.openIdOrigin){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  openId: (state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!state.openIdOrigin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getAuthen() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return state.openIdOrigin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  accessToken:(state)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if(!state.accessTokenOrigin){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  accessToken: (state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!state.accessTokenOrigin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getAuthen() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return state.accessToken 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  unionId:(state)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if(!state.unionIdOrigin){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  unionId: (state) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!state.unionIdOrigin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getAuthen() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return state.unionIdOrigin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  userInfo:(state)=>state.userInfoOrigin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  stationId:(state)=>state.stationIdOrigin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  userInfo: (state) => state.userInfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  stationId: (state) => state.stationId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -47,33 +54,68 @@ export const mutations = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     state.unionIdOrigin = unionId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   setUserInfo(state, userInfo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    state.userInfoOrigin = userInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state.userInfo = userInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  setSignature(state, signature) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    state.state = signature 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export const actions = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  setBaseData({ commit, state }, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    commit("setOpenId", info.openId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    commit("setAccessToken", info.accessToken) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    commit("setUnionId", info.unionId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return this.$axios.$get("/getGzhUserInfo", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async login({ commit, state, getters }, code) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const gzhAuthenRes = await this.$axios.$get("/getGzhAuthorizeInfo", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stationId: getters.stationId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (gzhAuthenRes.retCode !== 0) { return Promise.reject("拉取基础id失败") } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const openId = gzhAuthenRes.data.openid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const accessToken = gzhAuthenRes.data.access_token; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const unionId = gzhAuthenRes.data.unionid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    commit("setOpenId", openId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    commit("setAccessToken", accessToken) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    commit("setUnionId", unionId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const getUserInfoRes = await this.$axios.$get("/getGzhUserInfo", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        openId: info.openId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        stationId: state.stationIdOrigin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        openId: openId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stationId: getters.stationId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }).then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (res.retCode === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        commit("setUserInfo", res.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$axios.$post("/addAppUserInfo",{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          userType: "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          openId: info.openId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          unionId: info.unionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          stationId: state.stationIdOrigin, //油站Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          blogNickName: res.data.nickname, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sexFlag: res.data.sex === 1 ? 'M' : 'F', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          blogProfilePhoto: res.data.headimgurl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (getUserInfoRes.retCode !== 0) { return Promise.reject("拉取用户信息失败") } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    commit("setUserInfo", getUserInfoRes.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const saveUserInfoRes = await this.$axios.$post("/addAppUserInfo", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      userType: "1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      openId: openId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unionId: unionId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      stationId: getters.stationId, //油站Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      blogNickName: getUserInfoRes.data.nickname, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sexFlag: getUserInfoRes.data.sex === 1 ? 'M' : 'F', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      blogProfilePhoto: getUserInfoRes.data.headimgurl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (saveUserInfoRes.retCode !== 0) { return Promise.reject("存取用户信息失败") } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return Promise.resolve("用户登录成功") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async getSdkConfig({commit,state, getters},jsApiList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const sdkSignRes = await this.$axios.$get("/getSignature",{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      params:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        noncestr:state.noncestr, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        timestamp:state.timestamp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url:window.location.href.replace(/#(\w|\W){0,}/g, ''),         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stationId:state.stationId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(sdkSignRes.retCode !== 0){Promise.reject("获取Sdk签名错误")} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    commit("setSignature", sdkSignRes.data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return Promise.resolve({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      debug: settings.debug, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      appId: settings.appId, // 必填,公众号的唯一标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      timestamp: state.timestamp, // 必填,生成签名的时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      nonceStr: state.noncestr, // 必填,生成签名的随机串 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      signature:sdkSignRes.data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      jsApiList // 必填,需要使用的JS接口列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |