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

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

parent 8d262f8b
<template>
<div class="tabbar-user">
<user-header :isLogin="isLogin"/>
<order-group/>
<ecoupon-group/>
<user-module/>
<van-button size="large" class="tabbar-user__quit" v-if="isLogin" @click="quit">退出当前账户</van-button>
</div>
</template>
<script>
import userHeader from './tabbar-user-header';
import orderGroup from './tabbar-user-order';
// import ecouponGroup from './tabbar-user-ecoupon';
import userModule from './tabbar-user-module';
import { removeLocalStorage } from 'core/utils/local-storage';
export default {
data() {
return {
isLogin: false
};
},
activated() {
this.getLoginStatus();
},
methods: {
quit() {
removeLocalStorage(
'Authorization',
'user_id',
'avatar',
'background_image',
'nickName'
);
this.$router.push({ name: 'login' });
},
getLoginStatus() {
this.isLogin =
!!localStorage.getItem('Authorization') &&
!!localStorage.getItem('user_id');
}
},
components: {
[userHeader.name]: userHeader,
[orderGroup.name]: orderGroup,
// [ecouponGroup.name]: ecouponGroup,
[userModule.name]: userModule
}
};
</script>
<style scoped lang="scss">
.tabbar-user {
> div {
margin-bottom: 10px;
}
&__quit {
border: 0;
border-radius: 0;
}
}
</style>
<template>
<div class="tabbar-user">
<user-header :isLogin="isLogin"/>
<order-group/>
<ecoupon-group/>
<user-module/>
<van-button size="large" class="tabbar-user__quit" v-if="isLogin" @click="quit">退出当前账户</van-button>
</div>
</template>
<script>
import userHeader from './tabbar-user-header';
import orderGroup from './tabbar-user-order';
// import ecouponGroup from './tabbar-user-ecoupon';
import userModule from './tabbar-user-module';
import { removeLocalStorage } from '@/utils/local-storage';
export default {
data() {
return {
isLogin: false
};
},
activated() {
this.getLoginStatus();
},
methods: {
quit() {
removeLocalStorage(
'Authorization',
'user_id',
'avatar',
'background_image',
'nickName'
);
this.$router.push({ name: 'login' });
},
getLoginStatus() {
this.isLogin =
!!localStorage.getItem('Authorization') &&
!!localStorage.getItem('user_id');
}
},
components: {
[userHeader.name]: userHeader,
[orderGroup.name]: orderGroup,
// [ecouponGroup.name]: ecouponGroup,
[userModule.name]: userModule
}
};
</script>
<style scoped lang="scss">
.tabbar-user {
> div {
margin-bottom: 10px;
}
&__quit {
border: 0;
border-radius: 0;
}
}
</style>
......@@ -41,8 +41,8 @@
<script>
import { Uploader, Picker, Popup, Button } from 'vant';
import { USER_PROFILE } from '@/api/user';
import { removeLocalStorage } from 'core/utils/local-storage';
import { getLocalStorage } from 'core/utils/local-storage';
import { removeLocalStorage } from '@/utils/local-storage';
import { getLocalStorage } from '@/utils/local-storage';
export default {
data() {
return {
......
<template>
<div>
<van-cell-group>
<van-field
label="原密码"
v-model="password"
type="password"
placeholder="请输入原密码"
:error="!!$vuelidation.error('password')"
/>
<van-field
label="新密码"
v-model="new_password"
type="password"
placeholder="请输入新密码"
:error="!!$vuelidation.error('new_password')"
/>
<van-field
label="确认密码"
v-model="repeat_password"
type="password"
placeholder="请再次输入密码"
:error="!!$vuelidation.error('repeat_password')"
/>
</van-cell-group>
<div class="bottom_btn">
<van-button size="large" type="danger" @click="modifypassword">保存</van-button>
</div>
</div>
</template>
<script>
import { USER_MODIFY_PASSWORD, USER_LOGOUT } from '@/api/user';
import { removeLocalStorage } from 'core/utils/local-storage';
import { Field } from 'vant';
export default {
data: () => ({
password: '',
new_password: '',
repeat_password: ''
}),
methods: {
modifypassword() {
if (this.passwordValid()) {
this.$reqPut(USER_MODIFY_PASSWORD, {
old_password: this.password,
new_password: this.new_password
})
.then(() => this.$dialog.alert({ message: '保存成功, 请重新登录.' }))
.then(() => this.$reqGet(USER_LOGOUT))
.then(() => {
removeLocalStorage(
'Authorization',
'user_id',
'avatar',
'background_image',
'nickName'
);
this.$router.replace({ name: 'login' });
});
}
},
passwordValid() {
if (this.new_password != this.repeat_password) {
this.$toast('密码不一致, 请再次确认密码');
return false;
}
return true;
}
},
components: {
[Field.name]: Field
}
};
</script>
<style scoped>
.bottom_btn {
padding: 30px 15px 0 15px;
}
</style>
<template>
<div>
<van-cell-group>
<van-field
label="原密码"
v-model="password"
type="password"
placeholder="请输入原密码"
:error="!!$vuelidation.error('password')"
/>
<van-field
label="新密码"
v-model="new_password"
type="password"
placeholder="请输入新密码"
:error="!!$vuelidation.error('new_password')"
/>
<van-field
label="确认密码"
v-model="repeat_password"
type="password"
placeholder="请再次输入密码"
:error="!!$vuelidation.error('repeat_password')"
/>
</van-cell-group>
<div class="bottom_btn">
<van-button size="large" type="danger" @click="modifypassword">保存</van-button>
</div>
</div>
</template>
<script>
import { USER_MODIFY_PASSWORD, USER_LOGOUT } from '@/api/user';
import { removeLocalStorage } from '@/utils/local-storage';
import { Field } from 'vant';
export default {
data: () => ({
password: '',
new_password: '',
repeat_password: ''
}),
methods: {
modifypassword() {
if (this.passwordValid()) {
this.$reqPut(USER_MODIFY_PASSWORD, {
old_password: this.password,
new_password: this.new_password
})
.then(() => this.$dialog.alert({ message: '保存成功, 请重新登录.' }))
.then(() => this.$reqGet(USER_LOGOUT))
.then(() => {
removeLocalStorage(
'Authorization',
'user_id',
'avatar',
'background_image',
'nickName'
);
this.$router.replace({ name: 'login' });
});
}
},
passwordValid() {
if (this.new_password != this.repeat_password) {
this.$toast('密码不一致, 请再次确认密码');
return false;
}
return true;
}
},
components: {
[Field.name]: Field
}
};
</script>
<style scoped>
.bottom_btn {
padding: 30px 15px 0 15px;
}
</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