提交 f48a23d2 编写于 作者: BeMount's avatar BeMount 💬

feat(/person-center): 新增修改密码,更新头像,完整信息

上级 b5f8aefa
...@@ -11,14 +11,14 @@ export const login = (vm, name) =>{ ...@@ -11,14 +11,14 @@ export const login = (vm, name) =>{
}).then(res=>{ }).then(res=>{
if(res.data.result == false){ if(res.data.result == false){
vm.$Message.warning(res.data.message); vm.$Message.warning(res.data.message);
vm.$refs[name].resetFields();
}else{ }else{
vm.isShowlogDialog = false; vm.isShowlogDialog = false;
vm.isLogedIn = false; vm.isLogedIn = false;
vm.$Message.success('登录成功'); vm.$Message.success('登录成功');
Cookie.set({ console.log('------');
name: 'userName', Cookie.set('userName', vm.formData.user);
value: vm.formData.user console.log('Cookie', Cookie.get('userName'))
});
vm.$refs[name].resetFields(); vm.$refs[name].resetFields();
localStorage.setItem('jwt',res.data.jwt); localStorage.setItem('jwt',res.data.jwt);
} }
...@@ -41,7 +41,6 @@ export const addUsers = (vm, name) =>{ ...@@ -41,7 +41,6 @@ export const addUsers = (vm, name) =>{
if(res.data.result){ if(res.data.result){
vm.$Message.success('新增用户成功'); vm.$Message.success('新增用户成功');
vm.$refs[name].resetFields(); vm.$refs[name].resetFields();
}else{ }else{
vm.$Message.warning(res.data.message); vm.$Message.warning(res.data.message);
} }
......
import Cookie from 'js-cookie'
// 提交完整信息
export const submitCompleteInfo = (vm, name)=>{ export const submitCompleteInfo = (vm, name)=>{
vm.$axios.request({ vm.$axios.request({
data:vm.completeInfo, data:vm.completeInfo,
...@@ -11,3 +14,63 @@ export const submitCompleteInfo = (vm, name)=>{ ...@@ -11,3 +14,63 @@ export const submitCompleteInfo = (vm, name)=>{
}) })
} }
// 获得完整用户信息
export const getCompleteInfo = vm => {
vm.$axios.request({
url:'/personalCenter/getCompleteUserInfo',
method:'get'
}).then(res => {
console.log('getCompleteInfo', res);
vm.personalInfoForm.nickName = res.data.userInfo.name;
vm.personalInfoForm.avatarUrl = res.data.userInfo.avatarUrl;
vm.personalInfoForm.realName = res.data.userInfo.realName;
vm.personalInfoForm.postName = res.data.userInfo.postName;
vm.personalInfoForm.education = res.data.userInfo.education;
vm.personalInfoForm.companyName = res.data.userInfo.companyName;
}).catch(error => {
console.log("error", error);
})
}
// 修改用户头像
export const submitAvatarUrl = vm => {
vm.$axios.request({
url:'/personalCenter/submitAvatarUrl',
method:'post',
data:{
avatarUrl:vm.avatarUrl
}
}).then( res =>{
vm.avatarUrl = '';
vm.$Message.success(res.data.msg)
}).catch( error =>{
console.log("error", error);
})
}
// 修改密码
export const changePassword = vm =>{
vm.$axios.request({
url:'personalCenter/changePassword',
method:'post',
data:{
oldPassword:vm.updatePasswordInfo.oldPassword,
newPassword:vm.updatePasswordInfo.newPassword
}
}).then(res =>{
if(res.data.result == true){
vm.$Message.success(res.data.msg)
}else{
vm.$Message.warning(res.data.msg)
}
}).catch(error =>{
console.log('error', error);
})
}
<template> <template>
<Menu @on-select="redirectToOtherRouter"> <Menu @on-select="redirectToOtherRouter" active-name = "articleManagementIndex">
<template v-for='item in menuList' > <template v-for='item in menuList' >
<MenuItem :key='item.name' v-if='item.children.length == 1' :name='item.children[0].name' > <MenuItem :key='item.name' v-if='item.children.length == 1' :name='item.children[0].name' >
<Icon :type="item.icon" size='16'/> <Icon :type="item.icon" size='16'/>
......
...@@ -66,7 +66,7 @@ export const otherRouters = { ...@@ -66,7 +66,7 @@ export const otherRouters = {
path:'/', path:'/',
component:Home, component:Home,
name:'Home', name:'Home',
// redirect:'/personalCenter', redirect:'/articleManagement/index',
children:[ children:[
{ {
path:'personalCenter', path:'personalCenter',
......
...@@ -64,6 +64,7 @@ export default { ...@@ -64,6 +64,7 @@ export default {
return { return {
isShowlogDialog:false,//是否显示登陆弹框 isShowlogDialog:false,//是否显示登陆弹框
isLogedIn:true, isLogedIn:true,
// userName:Cookie.get('userName'),
formData:{ formData:{
user:'', user:'',
password:'', password:'',
...@@ -89,11 +90,14 @@ export default { ...@@ -89,11 +90,14 @@ export default {
...mapState({ ...mapState({
menuList: state => { menuList: state => {
return state.app.menuList; return state.app.menuList;
} },
}),
userName(){ userName(){
return Cookie.get('userName'); return Cookie.get('userName');
} }
}),
// userName(){
// return Cookie.get('userName');
// }
}, },
methods:{ methods:{
...@@ -122,7 +126,9 @@ export default { ...@@ -122,7 +126,9 @@ export default {
} }
}else{ }else{
localStorage.removeItem('jwt'); localStorage.removeItem('jwt');
Cookie.delete('userName'); this.isLogedIn = true;
this.$router.push({name:'articleManagementIndex'})
Cookie.remove('userName');
} }
}, },
// 登录表单处理 // 登录表单处理
......
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
<FormItem prop='avatarUrl'> <FormItem prop='avatarUrl'>
<div> <div>
个人头像: 个人头像:
<Avatar src="https://i.loli.net/2017/08/21/599a521472424.jpg" size='large' style="margin-left:10px"></Avatar> <Avatar size='large' style="margin-left:10px" v-if="personalInfoForm.avatarUrl" :src="personalInfoForm.avatarUrl"></Avatar>
<Avatar size='large' style="margin-left:10px" v-else>{{userName}}</Avatar>
</div> </div>
</FormItem> </FormItem>
...@@ -48,11 +49,14 @@ ...@@ -48,11 +49,14 @@
</template> </template>
<script> <script>
import * as personalCenterRequest from '@/apis/personalCenter.js';
import Cookie from 'js-cookie';
export default { export default {
data(){ data(){
return { return {
personalInfoForm:{ personalInfoForm:{
nickName:'bemount', nickName:'',
avatarUrl:'', avatarUrl:'',
education:'', education:'',
companyName:'', companyName:'',
...@@ -60,6 +64,17 @@ ...@@ -60,6 +64,17 @@
realName:'' realName:''
} }
} }
},
created(){
personalCenterRequest.getCompleteInfo(this);
},
methods:{
},
computed:{
userName(){
return Cookie.get('userName');
}
} }
} }
</script> </script>
......
...@@ -12,12 +12,14 @@ ...@@ -12,12 +12,14 @@
<span style="color:red;font-size:5px">(为线上图片格式)</span> <span style="color:red;font-size:5px">(为线上图片格式)</span>
</div> </div>
<div style="margin-top:50px"> <div style="margin-top:50px">
<Button type="info">提交</Button> <Button type="info" @click="submitAvatarUrl">提交</Button>
</div> </div>
</Card> </Card>
</template> </template>
<script> <script>
import {submitAvatarUrl} from '@/apis/personalCenter';
export default { export default {
data(){ data(){
return { return {
...@@ -26,6 +28,13 @@ ...@@ -26,6 +28,13 @@
}, },
methods:{ methods:{
submitAvatarUrl(){
if(!this.avatarUrl){
this.$Message.warning("头像URL不可为空");
return;
}
submitAvatarUrl(this);
}
} }
} }
</script> </script>
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
</template> </template>
<script> <script>
import {changePassword} from '@/apis/personalCenter';
export default { export default {
data(){ data(){
return { return {
...@@ -56,7 +58,12 @@ ...@@ -56,7 +58,12 @@
handleSubmit(name){ handleSubmit(name){
this.$refs[name].validate((valid) => { this.$refs[name].validate((valid) => {
if (valid) { if (valid) {
this.$Message.success('Success!'); // this.$Message.success('Success!');
if(this.updatePasswordInfo.newPassword != this.updatePasswordInfo.reNewPassword){
this.$Message.warning("两次密码输入不一致");
return ;
}
changePassword(this);
} else { } else {
this.$Message.error('Fail!'); this.$Message.error('Fail!');
} }
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
</template> </template>
<script> <script>
export default { export default {
data(){ data(){
return { return {
...@@ -43,6 +44,7 @@ export default { ...@@ -43,6 +44,7 @@ export default {
this.$router.push({name:name}); this.$router.push({name:name});
} }
} }
} }
</script> </script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册