Commit 42f40dbb by zhanghui1

未完成错误版

parent 8e97b441
......@@ -163,7 +163,36 @@ export const isEmailAddress = (str) => {
export const isVerifyCode = (str) => {
return new RegExp('^[a-z0-9A-Z]{4}$').test(str);
}
export const api = {
// 邮箱注册api
'post-register-email-start': '/register/email/start',
'post-register-email-verify-code': '/register/email/verify-code',
'post-register-email-password': '/register/email/password',
// 手机注册api
'post-register-mobile-start': '/register/mobile/start',
'post-register-mobile-verify-code': '/register/mobile/verify-code',
'post-register-mobile-password': '/register/mobile/password',
// 登录
'post-login-start': '/login/start',
'post-login-mobile': '/login/start/mobile',
'post-login-password': '/login/password',
'post-login-totp': '/login/totp',
'post-login-code': '/login/code',
// 重置密码
'post-reset-start': '/reset/start',
'post-reset-send-code': '/reset/send-code',
'post-reset-verify': '/reset/verify',
'post-reset-password': '/reset/password',
// 登出
'get-logout-do': '/logout/do',
// 获取用户信息
'get-userinfo': '/userinfo',
}
// export const getServices = (serviceName) => {
// }
......@@ -41,7 +41,7 @@
import { mapState } from 'vuex'
import countryInfo from './country_info.json'
import captcha from './captcha.vue'
import { apiErrMap, isEmailAddress, isVerifyCode } from './helpers.js';
import { apiErrMap, isEmailAddress, isVerifyCode, api } from './helpers.js';
export default {
components: {
captcha
......@@ -108,7 +108,7 @@ export default {
email = this.form.email;
const { data: accountResponse } = await this.$axios
.post(config.apiDomain + config.api['post-login-start'], {
.post(this.UC_BASEURL+'/auth/api' + api['post-login-start'], {
captcha: this.showEmailCaptcha ? this.form.captcha : '', // todo: 登录验证码
email,
type: 'email'
......@@ -127,7 +127,7 @@ export default {
}
const { data: passwordResponse } = await this.$axios
.post(config.apiDomain + config.api['post-login-password'], {
.post(this.UC_BASEURL + "/auth/api" + api['post-login-password'], {
password: this.form.password
});
......@@ -154,7 +154,7 @@ export default {
email = this.form.country + '|' + this.form.email;
const { data: accountResponse } = await this.$axios
.post(config.apiDomain + config.api['post-login-start'], {
.post(apiDomain + '/auth/api' + api['post-login-start'], {
captcha: this.showMobileCaptcha ? this.form.captcha : '', // todo: 登录验证码
email,
type: 'mobile'
......@@ -174,7 +174,7 @@ export default {
}
const { data: passwordResponse } = await this.$axios
.post(config.apiDomain + config.api['post-login-password'], {
.post(apiDomain + '/auth/api' + api['post-login-password'], {
password: this.form.password
});
......@@ -187,7 +187,7 @@ export default {
}
// 获取用户信息
const userinfo = await this.$store.dispatch("Auth/fetchUser");
const userinfo = await this.$store.dispatch("fetchUser");
this.showLoading = false;
// 跳转用户中心
......
import Vue from 'vue';
import Vuex from 'vuex';
import {api} from '@/components/ucenter/helpers.js';
Vue.use(Vuex);
import dictionaries from '@/utils/dictionaries.js'; //字典
......@@ -27,6 +28,7 @@ const state = {
tab_bar: 0,
UC_BASEURL: 'https://ucdev1212.blockin.com',
user: null,
}
const mutations = {
setEnterPannel(state, v) {
......@@ -57,18 +59,71 @@ const mutations = {
setLanguage(state, v) {
state.language = v
localStorage.setItem("language", v);
},
FETCH_USER_SUCCESS(state, { user }) {
window.config.user = user;
state.user = user;
},
FETCH_USER_FAILURE(state) {},
LOGOUT(state) {
state.user = null
},
UPDATE_USER(state, { user }) {
state.user = user
}
}
const getters = {
// count: function(state) {
// return state.count += 100;
// }
user: state => {
return state.user
},
check: state => {
let hasLogged = state.user && Boolean(state.user.uid);
if (!hasLogged) {
hasLogged = Boolean(JSON.parse(window.config.register));
}
return hasLogged;
}
}
const actions = {
// addAction(context) {
// context.commit('add', 10)
// }
async fetchUser({commit}) {
try {
const { data } = await axios
.get(config.apiDomain + api['get-userinfo']);
if (data.err_no) {
throw new Error('get userinfo fail');
}
commit('FETCH_USER_SUCCESS', {
user: data.data.userinfo
});
return data.data.userinfo;
} catch (e) {
commit('FETCH_USER_FAILURE')
return null;
}
},
updateUser({
commit
}, payload) {
commit('UPDATE_USER', payload)
},
async logout({
commit
}) {
try {
await axios.get('/logout')
} catch (e) {}
commit('LOGOUT')
}
}
export default new Vuex.Store({
state,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment