Commit 5efd621f210ef87b1d94f6c6cbb5c58a83e8091e
1 parent
a54298bf
vuex统一命名风格
Showing
4 changed files
with
39 additions
and
30 deletions
yudao-ui-app/pages/login/login.vue
| ... | ... | @@ -142,20 +142,12 @@ export default { |
| 142 | 142 | }, |
| 143 | 143 | handleSubmit() { |
| 144 | 144 | this.$refs.form.validate().then(res => { |
| 145 | - if (this.currentModeIndex === 0) { | |
| 146 | - this.handleLoginPromise(passwordLogin({ mobile: this.formData.mobile, password: this.formData.password })) | |
| 147 | - } else if (this.currentModeIndex === 1) { | |
| 148 | - this.handleLoginPromise(smsLogin({ mobile: this.formData.mobile, code: this.formData.code })) | |
| 149 | - } | |
| 150 | - }) | |
| 151 | - }, | |
| 152 | - handleLoginPromise(promise) { | |
| 153 | - promise.then(res => { | |
| 154 | - this.$store.commit('setToken', res.data) | |
| 155 | - uni.$u.toast('登录成功') | |
| 156 | - setTimeout(() => { | |
| 157 | - this.navigateBack() | |
| 158 | - }, 1000) | |
| 145 | + this.$store.dispatch('Login', { type: this.currentModeIndex, data: this.formData }).then(res => { | |
| 146 | + uni.$u.toast('登录成功') | |
| 147 | + setTimeout(() => { | |
| 148 | + this.navigateBack() | |
| 149 | + }, 1000) | |
| 150 | + }) | |
| 159 | 151 | }) |
| 160 | 152 | }, |
| 161 | 153 | navigateBack() { | ... | ... |
yudao-ui-app/pages/profile/profile.vue
| ... | ... | @@ -81,7 +81,7 @@ export default { |
| 81 | 81 | const tempFilePaths = chooseImageRes.tempFilePaths |
| 82 | 82 | updateAvatar(tempFilePaths[0]).then(res => { |
| 83 | 83 | this.userInfo.avatar = res.data |
| 84 | - this.$store.commit('setUserInfo', this.userInfo) | |
| 84 | + this.$store.commit('SET_USER_INFO', this.userInfo) | |
| 85 | 85 | }) |
| 86 | 86 | } |
| 87 | 87 | }) |
| ... | ... | @@ -90,7 +90,7 @@ export default { |
| 90 | 90 | updateNickname({ nickname: this.tempName }).then(res => { |
| 91 | 91 | this.nameEditOn = false; |
| 92 | 92 | this.userInfo.nickname = this.tempName |
| 93 | - this.$store.commit('setUserInfo', this.userInfo) | |
| 93 | + this.$store.commit('SET_USER_INFO', this.userInfo) | |
| 94 | 94 | }) |
| 95 | 95 | } |
| 96 | 96 | } | ... | ... |
yudao-ui-app/pages/user/user.vue
| ... | ... | @@ -73,7 +73,7 @@ export default { |
| 73 | 73 | }, |
| 74 | 74 | onLoad() { |
| 75 | 75 | if (this.hasLogin){ |
| 76 | - this.$store.dispatch('obtainUserInfo') | |
| 76 | + this.$store.dispatch('ObtainUserInfo') | |
| 77 | 77 | } |
| 78 | 78 | }, |
| 79 | 79 | methods: { |
| ... | ... | @@ -90,7 +90,7 @@ export default { |
| 90 | 90 | content: '您确定要退出登录吗', |
| 91 | 91 | success: res => { |
| 92 | 92 | if (res.confirm) { |
| 93 | - this.$store.dispatch('logout') | |
| 93 | + this.$store.dispatch('Logout') | |
| 94 | 94 | } else if (res.cancel) { |
| 95 | 95 | //console.log('用户点击取消') |
| 96 | 96 | } |
| ... | ... | @@ -100,7 +100,7 @@ export default { |
| 100 | 100 | }, |
| 101 | 101 | computed: { |
| 102 | 102 | userInfo() { |
| 103 | - return this.$store.state.userInfo | |
| 103 | + return this.$store.getters.userInfo | |
| 104 | 104 | }, |
| 105 | 105 | hasLogin() { |
| 106 | 106 | return this.$store.getters.hasLogin | ... | ... |
yudao-ui-app/store/index.js
| ... | ... | @@ -2,6 +2,7 @@ import Vue from 'vue' |
| 2 | 2 | import Vuex from 'vuex' |
| 3 | 3 | import { logout } from '@/api/auth' |
| 4 | 4 | import { getUserInfo } from '@/api/user' |
| 5 | +import { passwordLogin, smsLogin } from '../api/auth' | |
| 5 | 6 | |
| 6 | 7 | Vue.use(Vuex) // vue的插件机制 |
| 7 | 8 | |
| ... | ... | @@ -14,13 +15,16 @@ const store = new Vuex.Store({ |
| 14 | 15 | timerIdent: false // 全局 1s 定时器,只在全局开启一个,所有需要定时执行的任务监听该值即可,无需额外开启 TODO 芋艿:需要看看 |
| 15 | 16 | }, |
| 16 | 17 | getters: { |
| 18 | + userInfo(state) { | |
| 19 | + return state.userInfo | |
| 20 | + }, | |
| 17 | 21 | hasLogin(state) { |
| 18 | 22 | return !!state.token |
| 19 | 23 | } |
| 20 | 24 | }, |
| 21 | 25 | mutations: { |
| 22 | 26 | // 更新 state 的通用方法 |
| 23 | - setStateAttr(state, param) { | |
| 27 | + SET_STATE_ATTR(state, param) { | |
| 24 | 28 | if (param instanceof Array) { |
| 25 | 29 | for (let item of param) { |
| 26 | 30 | state[item.key] = item.val |
| ... | ... | @@ -30,22 +34,22 @@ const store = new Vuex.Store({ |
| 30 | 34 | } |
| 31 | 35 | }, |
| 32 | 36 | // 更新token |
| 33 | - setToken(state, data) { | |
| 37 | + SET_TOKEN(state, data) { | |
| 34 | 38 | // 设置 Token |
| 35 | 39 | const { token } = data |
| 36 | 40 | state.token = token |
| 37 | 41 | uni.setStorageSync('token', token) |
| 38 | 42 | |
| 39 | 43 | // 加载用户信息 |
| 40 | - this.dispatch('obtainUserInfo') | |
| 44 | + this.dispatch('ObtainUserInfo') | |
| 41 | 45 | }, |
| 42 | 46 | // 更新用户信息 |
| 43 | - setUserInfo(state, data) { | |
| 47 | + SET_USER_INFO(state, data) { | |
| 44 | 48 | state.userInfo = data |
| 45 | 49 | uni.setStorageSync('userInfo', data) |
| 46 | 50 | }, |
| 47 | 51 | // 清空 Token 和 用户信息 |
| 48 | - clearLoginInfo(state) { | |
| 52 | + CLEAR_LOGIN_INFO(state) { | |
| 49 | 53 | uni.removeStorageSync('token') |
| 50 | 54 | state.token = '' |
| 51 | 55 | uni.removeStorageSync('userInfo') |
| ... | ... | @@ -53,15 +57,28 @@ const store = new Vuex.Store({ |
| 53 | 57 | } |
| 54 | 58 | }, |
| 55 | 59 | actions: { |
| 56 | - // 获得用户基本信息 | |
| 57 | - async obtainUserInfo({ state, commit }) { | |
| 58 | - const res = await getUserInfo() | |
| 59 | - commit('setUserInfo', res.data) | |
| 60 | + //账号登录 | |
| 61 | + Login({ state, commit }, { type, data }) { | |
| 62 | + console.log(type, data) | |
| 63 | + if (type === 0) { | |
| 64 | + return passwordLogin(data).then(res => { | |
| 65 | + commit('SET_TOKEN', res.data) | |
| 66 | + }) | |
| 67 | + } else { | |
| 68 | + return smsLogin(data).then(res => { | |
| 69 | + commit('SET_TOKEN', res.data) | |
| 70 | + }) | |
| 71 | + } | |
| 60 | 72 | }, |
| 61 | 73 | // 退出登录 |
| 62 | - async logout({ state, commit }) { | |
| 63 | - commit('clearLoginInfo') | |
| 74 | + async Logout({ state, commit }) { | |
| 75 | + commit('CLEAR_LOGIN_INFO') | |
| 64 | 76 | await logout() |
| 77 | + }, | |
| 78 | + // 获得用户基本信息 | |
| 79 | + async ObtainUserInfo({ state, commit }) { | |
| 80 | + const res = await getUserInfo() | |
| 81 | + commit('SET_USER_INFO', res.data) | |
| 65 | 82 | } |
| 66 | 83 | } |
| 67 | 84 | }) | ... | ... |