|
@@ -1,6 +1,7 @@
|
|
|
-import { getIpAddressArea } from "../../api/modules/search";
|
|
|
-import {saveStorage, useStorage} from "../../utils";
|
|
|
+import { getIpAddressArea } from "@/api/modules/search";
|
|
|
+import {saveStorage, useStorage} from "@/utils";
|
|
|
import Taro from "@tarojs/taro";
|
|
|
+import { ajaxGetUserInfo, ajaxUserLogin, ajaxSetUserPhone } from "@/api/modules/user";
|
|
|
|
|
|
const CACHE_ADDRESS_KEY = 'USER_ADDRESS'
|
|
|
const CACHE_USER_KEY = 'USER_INFO'
|
|
@@ -17,20 +18,23 @@ export default {
|
|
|
nickName: '',
|
|
|
avatarUrl: ''
|
|
|
},
|
|
|
- userOpenInfo: {
|
|
|
- openid: '',
|
|
|
- unionid: ''
|
|
|
- },
|
|
|
+ sessionId: '',
|
|
|
userPhone: ''
|
|
|
- })
|
|
|
+ }),
|
|
|
+ mineInfo: {
|
|
|
+ areaCount: 0,
|
|
|
+ isPay: false,
|
|
|
+ orderCount: 6,
|
|
|
+ ownerCount: 0,
|
|
|
+ phone: " "
|
|
|
+ }
|
|
|
}),
|
|
|
mutations: {
|
|
|
doSetUserInfo (state, data) {
|
|
|
- state.info.userInfo = data
|
|
|
- saveStorage(CACHE_USER_KEY, state.info)
|
|
|
+ state.mineInfo = data
|
|
|
},
|
|
|
- doSetUserOpenInfo (state, data) {
|
|
|
- state.info.userOpenInfo = data
|
|
|
+ doSetUserSessionId (state, data) {
|
|
|
+ state.info.sessionId = data
|
|
|
saveStorage(CACHE_USER_KEY, state.info)
|
|
|
},
|
|
|
doSetUserPhoneInfo (state, data) {
|
|
@@ -58,22 +62,56 @@ export default {
|
|
|
},
|
|
|
actions: {
|
|
|
doInit ({ getters, dispatch }) {
|
|
|
- if (!getters.userState.openInfo.openid) {
|
|
|
- dispatch('doGetUserOpenId')
|
|
|
- }
|
|
|
+ dispatch('doGetUserOpenId')
|
|
|
dispatch('doGetIpArea')
|
|
|
},
|
|
|
- doGetUserOpenId ({ commit }) {
|
|
|
- Taro.cloud
|
|
|
- .callFunction({
|
|
|
- name: "login",
|
|
|
- data: {},
|
|
|
- })
|
|
|
- .then((res) => {
|
|
|
- if (res?.result?.openid) {
|
|
|
- commit('doSetUserOpenInfo', res.result)
|
|
|
+ doGetUserOpenId ({ commit, dispatch }) {
|
|
|
+ Taro.login({
|
|
|
+ success: function (res) {
|
|
|
+ if (res.code) {
|
|
|
+ ajaxUserLogin({
|
|
|
+ Code: res.code
|
|
|
+ }).then(res => {
|
|
|
+
|
|
|
+ const isLogin = res.data?.status === 1
|
|
|
+ if (isLogin) {
|
|
|
+ dispatch('doGetUserInfo')
|
|
|
+ }
|
|
|
+ if (res.data?.sessionId) {
|
|
|
+ commit('doSetUserSessionId', res.data.sessionId)
|
|
|
+ document.cookie = `SESSIONID=${res.data.sessionId};`
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ console.log('登录失败!' + res.errMsg)
|
|
|
}
|
|
|
- })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ doGetUserInfo ({ commit }) {
|
|
|
+ return ajaxGetUserInfo().then(res => {
|
|
|
+ if (res.data?.phone) {
|
|
|
+ commit('doSetUserInfo', res.data)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ doSetUserPhone ({ commit, dispatch }, { code }) {
|
|
|
+ return ajaxSetUserPhone({
|
|
|
+ Code: code
|
|
|
+ }).then(res => {
|
|
|
+ if (res.data?.status === 1) {
|
|
|
+ dispatch('doGetUserInfo')
|
|
|
+ return {
|
|
|
+ success: true,
|
|
|
+ data: res.data
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+ success: false,
|
|
|
+ message: res.error_msg || '获取手机号失败'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
doLogout ({ commit }) {
|
|
|
commit('doSetUserInfo', {})
|
|
@@ -103,16 +141,19 @@ export default {
|
|
|
return state.address.area || state.address.ipArea || '北京'
|
|
|
},
|
|
|
isLogin (state) {
|
|
|
- return state.info.userPhone !== ''
|
|
|
+ return state.mineInfo.phone !== ''
|
|
|
+ },
|
|
|
+ isVip (state) {
|
|
|
+ return !!state.mineInfo.isPay
|
|
|
},
|
|
|
- isVip (state, getter) {
|
|
|
- return getter.isLogin ? true : false
|
|
|
+ mineInfo (state) {
|
|
|
+ return state.mineInfo
|
|
|
},
|
|
|
userState (state) {
|
|
|
return {
|
|
|
userInfo: state.info.userInfo,
|
|
|
- openInfo: state.info.userOpenInfo,
|
|
|
- phone: state.info.userPhone
|
|
|
+ sessionId: state.info.sessionId,
|
|
|
+ phone: state.mineInfo.phone
|
|
|
}
|
|
|
}
|
|
|
}
|