|
| 1 | +'use strict'; |
| 2 | + |
| 3 | +import Base from './base.js'; |
| 4 | +export default class extends Base { |
| 5 | + /** |
| 6 | + * index action |
| 7 | + * @return {Promise} [] |
| 8 | + */ |
| 9 | + //页面初始化数据 |
| 10 | + async initPage(page){ |
| 11 | + let uinfo=await this.session('uInfo'); |
| 12 | + if(!think.isEmpty(uinfo)){ |
| 13 | + if(uinfo.name){ |
| 14 | + let userinfo=await this.model('personal').findUser({name:uinfo.name}); |
| 15 | + this.assign("userinfo",userinfo[0]); |
| 16 | + return this.displayView("setting_"+page); |
| 17 | + }else{ |
| 18 | + return this.displayView("../common/error_404"); |
| 19 | + } |
| 20 | + }else { |
| 21 | + return this.redirect('/login.html'); |
| 22 | + } |
| 23 | + } |
| 24 | + //检查是否存在 |
| 25 | + async checkIsExist(where){ |
| 26 | + let rs= await this.model('personal').findUser(where); |
| 27 | + let s=(rs.length>0)?0:1; |
| 28 | + return s; |
| 29 | + } |
| 30 | + // 基础信息设置 |
| 31 | + async indexAction(){ |
| 32 | + this.assign("title","基本信息设置"); |
| 33 | + this.initPage("index"); |
| 34 | + } |
| 35 | + // 保存基础信息 |
| 36 | + async savebaseAction(){ |
| 37 | + let uinfo=await this.session('uInfo'); |
| 38 | + let newData=this.post(); |
| 39 | + let name=newData.name; |
| 40 | + let nickname=newData.nickname; |
| 41 | + let email=newData.email; |
| 42 | + let sign=newData.sign; |
| 43 | + let userinfo=await this.model("personal").findOne('user',{name:uinfo.name}); |
| 44 | + console.log(userinfo); |
| 45 | + |
| 46 | + if(name!==''&&nickname!==''&&email!==''&&sign!==''){ |
| 47 | + if(userinfo.email===email&&userinfo.nickname===nickname&&userinfo.sign===sign){ |
| 48 | + //邮箱和昵称都未改变 |
| 49 | + return this.json({status:0,errno:1,errmsg:'请填写要提交的修改信息!'}); |
| 50 | + }else{ |
| 51 | + let userFlag=await this.checkIsExist({name:name}); |
| 52 | + let emailFlag=await this.checkIsExist({email:email}); |
| 53 | + if(userFlag===0&&uinfo.name!==name){ |
| 54 | + return this.json({status:0,errno:1,errmsg:'该用户名已存在!'}); |
| 55 | + }else if(emailFlag===0&&userinfo.email!==email){ |
| 56 | + return this.json({status:0,errno:1,errmsg:'该邮箱已存在!'}); |
| 57 | + }else { |
| 58 | + let rs=await this.model('personal').saveUserInfo(newData,{name:newData.name}); |
| 59 | + if(rs) return this.success(); |
| 60 | + } |
| 61 | + } |
| 62 | + } |
| 63 | + } |
| 64 | + // 重置密码 |
| 65 | + async resetpwdAction(){ |
| 66 | + let uinfo=await this.session('uInfo'); |
| 67 | + let newData=this.post(); |
| 68 | + newData.password=think.md5(newData.password); |
| 69 | + newData.way='site'; |
| 70 | + let oldpassword=think.md5(newData.oldpassword); |
| 71 | + let password=newData.password; |
| 72 | + |
| 73 | + if(oldpassword!==''){ |
| 74 | + //验证原始密码是否正确 |
| 75 | + let userinfo=await this.model('personal').findUser({name:uinfo.name}); |
| 76 | + if(oldpassword!==userinfo[0].password){ |
| 77 | + return this.json({status:0,errno:1,errmsg:'原始密码不正确!'}); |
| 78 | + } |
| 79 | + if(password!==''){ |
| 80 | + let rs=await this.model('personal').saveUserInfo(newData,{name:uinfo.name}); |
| 81 | + if(rs) return this.success(); |
| 82 | + } |
| 83 | + } |
| 84 | + } |
| 85 | + // 重置头像 |
| 86 | + async resetpicAction(){ |
| 87 | + let uinfo=await this.session('uInfo'); |
| 88 | + let newData=this.post(); |
| 89 | + let pic=newData.pic; |
| 90 | + |
| 91 | + if(pic!==''){ |
| 92 | + let rs=await this.model('personal').saveUserInfo(newData,{name:uinfo.name}); |
| 93 | + if(rs) return this.success(); |
| 94 | + } |
| 95 | + } |
| 96 | + //校验邮箱是否存在 |
| 97 | + async checkemailAction(){ |
| 98 | + let email=await this.post('email'); |
| 99 | + let rs= await this.model('personal').findAll('user',{'email':email}); |
| 100 | + if(rs.length>0){ |
| 101 | + return this.json({status:0,errno:1,errmsg:'该邮箱已存在!'}); |
| 102 | + }else{ |
| 103 | + return this.json({status:1,errno:0,errmsg:'该邮箱可用!'}); |
| 104 | + } |
| 105 | + } |
| 106 | + async passwordAction(){ |
| 107 | + this.assign("title","修改密码"); |
| 108 | + this.initPage("password"); |
| 109 | + } |
| 110 | + async picAction(){ |
| 111 | + this.assign("title","头像修改"); |
| 112 | + this.initPage("pic"); |
| 113 | + } |
| 114 | +} |
0 commit comments