Commit aec557e9 authored by Junling Bu's avatar Junling Bu
Browse files

chore[litemall-vue]: 参考litemall-admin结构,重新调整litemall-vue的src结构

parent 8d262f8b
<template> <template>
<div class="tabbar-user"> <div class="tabbar-user">
<user-header :isLogin="isLogin"/> <user-header :isLogin="isLogin"/>
<order-group/> <order-group/>
<ecoupon-group/> <ecoupon-group/>
<user-module/> <user-module/>
<van-button size="large" class="tabbar-user__quit" v-if="isLogin" @click="quit">退出当前账户</van-button> <van-button size="large" class="tabbar-user__quit" v-if="isLogin" @click="quit">退出当前账户</van-button>
</div> </div>
</template> </template>
<script> <script>
import userHeader from './tabbar-user-header'; import userHeader from './tabbar-user-header';
import orderGroup from './tabbar-user-order'; import orderGroup from './tabbar-user-order';
// import ecouponGroup from './tabbar-user-ecoupon'; // import ecouponGroup from './tabbar-user-ecoupon';
import userModule from './tabbar-user-module'; import userModule from './tabbar-user-module';
import { removeLocalStorage } from 'core/utils/local-storage'; import { removeLocalStorage } from '@/utils/local-storage';
export default { export default {
data() { data() {
return { return {
isLogin: false isLogin: false
}; };
}, },
activated() { activated() {
this.getLoginStatus(); this.getLoginStatus();
}, },
methods: { methods: {
quit() { quit() {
removeLocalStorage( removeLocalStorage(
'Authorization', 'Authorization',
'user_id', 'user_id',
'avatar', 'avatar',
'background_image', 'background_image',
'nickName' 'nickName'
); );
this.$router.push({ name: 'login' }); this.$router.push({ name: 'login' });
}, },
getLoginStatus() { getLoginStatus() {
this.isLogin = this.isLogin =
!!localStorage.getItem('Authorization') && !!localStorage.getItem('Authorization') &&
!!localStorage.getItem('user_id'); !!localStorage.getItem('user_id');
} }
}, },
components: { components: {
[userHeader.name]: userHeader, [userHeader.name]: userHeader,
[orderGroup.name]: orderGroup, [orderGroup.name]: orderGroup,
// [ecouponGroup.name]: ecouponGroup, // [ecouponGroup.name]: ecouponGroup,
[userModule.name]: userModule [userModule.name]: userModule
} }
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.tabbar-user { .tabbar-user {
> div { > div {
margin-bottom: 10px; margin-bottom: 10px;
} }
&__quit { &__quit {
border: 0; border: 0;
border-radius: 0; border-radius: 0;
} }
} }
</style> </style>
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
<script> <script>
import { Uploader, Picker, Popup, Button } from 'vant'; import { Uploader, Picker, Popup, Button } from 'vant';
import { USER_PROFILE } from '@/api/user'; import { USER_PROFILE } from '@/api/user';
import { removeLocalStorage } from 'core/utils/local-storage'; import { removeLocalStorage } from '@/utils/local-storage';
import { getLocalStorage } from 'core/utils/local-storage'; import { getLocalStorage } from '@/utils/local-storage';
export default { export default {
data() { data() {
return { return {
......
<template> <template>
<div> <div>
<van-cell-group> <van-cell-group>
<van-field <van-field
label="原密码" label="原密码"
v-model="password" v-model="password"
type="password" type="password"
placeholder="请输入原密码" placeholder="请输入原密码"
:error="!!$vuelidation.error('password')" :error="!!$vuelidation.error('password')"
/> />
<van-field <van-field
label="新密码" label="新密码"
v-model="new_password" v-model="new_password"
type="password" type="password"
placeholder="请输入新密码" placeholder="请输入新密码"
:error="!!$vuelidation.error('new_password')" :error="!!$vuelidation.error('new_password')"
/> />
<van-field <van-field
label="确认密码" label="确认密码"
v-model="repeat_password" v-model="repeat_password"
type="password" type="password"
placeholder="请再次输入密码" placeholder="请再次输入密码"
:error="!!$vuelidation.error('repeat_password')" :error="!!$vuelidation.error('repeat_password')"
/> />
</van-cell-group> </van-cell-group>
<div class="bottom_btn"> <div class="bottom_btn">
<van-button size="large" type="danger" @click="modifypassword">保存</van-button> <van-button size="large" type="danger" @click="modifypassword">保存</van-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { USER_MODIFY_PASSWORD, USER_LOGOUT } from '@/api/user'; import { USER_MODIFY_PASSWORD, USER_LOGOUT } from '@/api/user';
import { removeLocalStorage } from 'core/utils/local-storage'; import { removeLocalStorage } from '@/utils/local-storage';
import { Field } from 'vant'; import { Field } from 'vant';
export default { export default {
data: () => ({ data: () => ({
password: '', password: '',
new_password: '', new_password: '',
repeat_password: '' repeat_password: ''
}), }),
methods: { methods: {
modifypassword() { modifypassword() {
if (this.passwordValid()) { if (this.passwordValid()) {
this.$reqPut(USER_MODIFY_PASSWORD, { this.$reqPut(USER_MODIFY_PASSWORD, {
old_password: this.password, old_password: this.password,
new_password: this.new_password new_password: this.new_password
}) })
.then(() => this.$dialog.alert({ message: '保存成功, 请重新登录.' })) .then(() => this.$dialog.alert({ message: '保存成功, 请重新登录.' }))
.then(() => this.$reqGet(USER_LOGOUT)) .then(() => this.$reqGet(USER_LOGOUT))
.then(() => { .then(() => {
removeLocalStorage( removeLocalStorage(
'Authorization', 'Authorization',
'user_id', 'user_id',
'avatar', 'avatar',
'background_image', 'background_image',
'nickName' 'nickName'
); );
this.$router.replace({ name: 'login' }); this.$router.replace({ name: 'login' });
}); });
} }
}, },
passwordValid() { passwordValid() {
if (this.new_password != this.repeat_password) { if (this.new_password != this.repeat_password) {
this.$toast('密码不一致, 请再次确认密码'); this.$toast('密码不一致, 请再次确认密码');
return false; return false;
} }
return true; return true;
} }
}, },
components: { components: {
[Field.name]: Field [Field.name]: Field
} }
}; };
</script> </script>
<style scoped> <style scoped>
.bottom_btn { .bottom_btn {
padding: 30px 15px 0 15px; padding: 30px 15px 0 15px;
} }
</style> </style>
export default {
install(Vue) {
Vue.prototype.$bus = new Vue({
data() {
return {
item_list: []
};
},
created() {
this.$on('item_list', val => {
const isArr = Array.isArray(val);
if (isArr) {
this.item_list = val;
} else {
throw Error('item_list必须为数组');
}
});
}
});
}
};
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment