F 前端 修复个人信息页一些问题

pull/11/head
雷二猛 2018-03-09 00:56:02 +08:00
parent e4638a3cc8
commit 9bbb371980
4 changed files with 49 additions and 25 deletions

View File

@ -79,25 +79,41 @@ def put(u_id):
return json_response(message=error)
@blueprint.route('/modifypwd', methods=['POST'])
def modify_pwd():
form, error = JsonParser('password', 'newpassword').parse()
@blueprint.route('/setting/password', methods=['POST'])
def setting_password():
form, error = JsonParser(
Argument('password', help='请输入原密码'),
Argument('newpassword', help='请输入心密码')
).parse()
if error is None:
if g.user.verify_password(form.password):
g.user.password = form.newpassword
g.user.save()
return json_response()
else:
return json_response(message='原密码错误')
return json_response(message=error)
@blueprint.route('/<int:u_id>', methods=['GET'])
def get_person(u_id):
if u_id:
u_info = User.query.get_or_404(u_id)
return json_response(u_info)
return json_response(message='user_id不能为空')
@blueprint.route('/setting/info', methods=['POST'])
def setting_info():
form, error = JsonParser(
Argument('nickname', help='请输入昵称'),
Argument('mobile', help='请输入手机号码'),
Argument('email', help='请输入电子邮件地址'),
).parse()
if error is None:
g.user.update(**form)
return json_response(message=error)
@blueprint.route('/self', methods=['GET'])
def get_self():
return json_response({
'username': g.user.username,
'nickname': g.user.nickname,
'mobile': g.user.mobile,
'email': g.user.email,
})
@blueprint.route('/login/', methods=['POST'])
@ -112,9 +128,12 @@ def login():
user.access_token = token
user.token_expired = time.time() + 8 * 60 * 60
user.save()
user_data = user.to_json()
user_data.update({'token': token, 'permissions': list(user.permissions)})
return json_response(user_data)
return json_response({
'token': token,
'is_supper': user.is_supper,
'nickname': user.nickname,
'permissions': list(user.permissions)
})
else:
login_limit[form.username] += 1
if login_limit[form.username] >= 3:

View File

@ -87,7 +87,6 @@
localStorage.setItem('token', res.result['token']);
localStorage.setItem('is_supper', res.result['is_supper']);
localStorage.setItem('permissions', res.result['permissions']);
localStorage.setItem('user_id', res.result['id']);
localStorage.setItem('nickname', res.result['nickname']);
this.$router.push('/welcome');
}, response => {

View File

@ -40,7 +40,7 @@
methods: {
//
getPersonInfo(user_id) {
this.$http.get(`/api/account/users/${user_id}`).then((response) => {
this.$http.get(`/api/account/users/self`).then((response) => {
this.personInfo = response.result;
}, (response) => this.$layer_message(response.result))
},

View File

@ -133,8 +133,8 @@
},
methods: {
//
getPersonInfo(user_id) {
this.$http.get(`/api/account/users/${user_id}`).then((response) => {
getPersonInfo() {
this.$http.get(`/api/account/users/self`).then((response) => {
this.personInfo = response.result;
}, (response) => this.$layer_message(response.result))
},
@ -147,24 +147,30 @@
},
modifyPwd: function () {
this.$http.post(`/api/account/users/modifypwd`, this.pwdInfo).then(response => {
if (this.pwdInfo.newpassword !== this.pwdInfo.surepassword) {
this.$layer_message('两次输入密码不一致');
return
}
this.$http.post(`/api/account/users/setting/password`, this.pwdInfo).then(() => {
this.$layer_message('修改成功', 'success');
this.logout();
}, response => this.$layer_message(response.result));
},
modifyPerson: function () {
console.log(this.personInfo);
this.$http.put(`/api/account/users/${this.personInfo.id}`, this.personInfo).then(response => {
this.$http.post(`/api/account/users/setting/info`, this.personInfo).then(() => {
this.$layer_message('保存成功', 'success');
localStorage.setItem('nickname', response.result['nickname']);
localStorage.setItem('nickname', this.personInfo['nickname']);
}, response => this.$layer_message(response.result));
},
getPerson(){
let user_id = localStorage.getItem('user_id');
this.getPersonInfo(user_id);
logout() {
this.$http.get('/api/account/users/logout/').finally(() => {
localStorage.removeItem('token');
this.$router.push({name: 'login'})
})
}
},
mounted() {
this.getPerson();
this.getPersonInfo();
}
}
</script>