更新用户功能

This commit is contained in:
2020-03-28 16:34:06 +08:00
parent c7a28d9530
commit 89dbc43aea
10 changed files with 193 additions and 72 deletions

View File

@@ -19,7 +19,48 @@ class Member extends Model {
protected $createTime = 'reg_time';
protected $updateTime = 'last_login_time';
protected $insert = ['reg_ip'];
protected $insert = ['reg_ip', 'status' => 1];
public $editfield = [
['name'=>'uid','type'=>'hidden'],
['name'=>'username','title'=>'用户名','type'=>'readonly','help'=>''],
['name'=>'nickname','title'=>'昵称','type'=>'text','help'=>''],
['name'=>'password','title'=>'密码','type'=>'password','help'=>'为空时则不修改'],
['name'=>'sex','title'=>'性别','type'=>'select','option'=> [['key' => '0', 'label'=>'保密'],['key' => '1', 'label' =>'男'],['key' => '2', 'label'=>'女']],'help'=>''],
['name'=>'email','title'=>'邮箱','type'=>'text','help'=>'用户邮箱,用于找回密码等安全操作'],
['name'=>'qq','title'=>'QQ','type'=>'text','help'=>''],
['name'=>'score','title'=>'用户积分','type'=>'text','help'=>''],
['name'=>'signature','title'=>'用户签名','type'=>'textarea','help'=>''],
['name'=>'status','title'=>'状态','type'=>'select','option'=>[['key' => '0', 'label'=>'禁用'],['key' => '1', 'label'=>'启用']],'help'=>''],
];
public $addfield = [
['name'=>'username','title'=>'用户名','type'=>'text','help'=>'用户名会作为默认的昵称'],
['name'=>'nickname','title'=>'昵称','type'=>'text','help'=>''],
['name'=>'password','title'=>'密码','type'=>'password','help'=>'用户密码不能少于6位'],
['name'=>'repassword','title'=>'确认密码','type'=>'password','help'=>'确认密码'],
['name'=>'email','title'=>'邮箱','type'=>'text','help'=>'用户邮箱,用于找回密码等安全操作'],
];
public $useredit = [
['name'=>'uid','type'=>'hidden'],
['name'=>'nickname','title'=>'昵称','type'=>'text','help'=>''],
['name'=>'sex','title'=>'性别','type'=>'select','option'=>[['key' => '0', 'label'=>'保密'],['key' => '1', 'label' =>'男'],['key' => '2', 'label'=>'女']],'help'=>''],
['name'=>'email','title'=>'邮箱','type'=>'text','help'=>'用户邮箱,用于找回密码等安全操作'],
['name'=>'mobile','title'=>'联系电话','type'=>'text','help'=>''],
['name'=>'qq','title'=>'QQ','type'=>'text','help'=>''],
['name'=>'signature','title'=>'用户签名','type'=>'textarea','help'=>''],
];
public $userextend = [
['name'=>'company','title'=>'单位名称','type'=>'text','help'=>''],
['name'=>'company_addr','title'=>'单位地址','type'=>'text','help'=>''],
['name'=>'company_contact','title'=>'单位联系人','type'=>'text','help'=>''],
['name'=>'company_zip','title'=>'单位邮编','type'=>'text','help'=>''],
['name'=>'company_depart','title'=>'所属部门','type'=>'text','help'=>''],
['name'=>'company_post','title'=>'所属职务','type'=>'text','help'=>''],
['name'=>'company_type','title'=>'单位类型','type'=>'select', 'option'=>'', 'help'=>''],
];
protected $status = [
1 => '正常',
@@ -56,20 +97,20 @@ class Member extends Model {
$username = $request->param('username', '');
$password = $request->param('password', '');
$type = $request->param('type', 1);
$map = array();
$map = [];
switch ($type) {
case 1:
$map['username'] = $username;
break;
case 2:
$map['email'] = $username;
break;
case 3:
$map['mobile'] = $username;
break;
default:
throw new \think\Exception('参数错误', 10006);
return false; //参数错误
case 1:
$map['username'] = $username;
break;
case 2:
$map['email'] = $username;
break;
case 3:
$map['mobile'] = $username;
break;
default:
throw new \think\Exception('参数错误', 10006);
return false; //参数错误
}
if (!$username) {
throw new \think\Exception('用户名不能为空', 10006);
@@ -99,11 +140,12 @@ class Member extends Model {
public function register($request) {
$data = [];
$data['username'] = $request->param('username', '');
$data['nickname'] = $request->param('nickname', '');
$data['password'] = $request->param('password', '');
$data['repassword'] = $request->param('repassword', '');
$data['email'] = $request->param('email', '');
$data['mobile'] = $request->param('mobile', '');
$data['salt'] = rand_string(6);
$data['salt'] = \xin\helper\Str::random(6);
$result = self::create($data);
if (false !== $result) {
@@ -114,14 +156,14 @@ class Member extends Model {
}
/* 更新登录信息 */
$this->record($user);
return $user->append(array('access_token', 'avatar'))->visible($this->loginVisible)->toArray(); //登录成功,返回用户信息
return $user->append(['access_token', 'avatar'])->visible($this->loginVisible)->toArray(); //登录成功,返回用户信息
}
/**
* @title: 获取用户列表
*/
public function getUserList($request) {
$map = array();
$map = [];
$param = $request->param();
$order = "status desc, uid desc";
@@ -166,6 +208,20 @@ class Member extends Model {
return $info->append(['avatar', 'status_text'])->toArray();
}
public function editUser($request){
$data = $request->post();
if (!$data['uid']) {
return false;
}
if ($data['password'] !== '') {
$data['salt'] = \xin\helper\Str::random(6);
return self::update($data, ['uid' => $data]);
}else{
return $this->where('uid', $data['uid'])->save($data);
}
}
/**
* 用户登录信息更新
* @param [type] $user [description]
@@ -179,7 +235,7 @@ class Member extends Model {
'last_login_time' => time(),
'last_login_ip' => get_client_ip(1),
);
self::where(array('uid' => $user['uid']))->update($data);
self::where(['uid' => $user['uid']])->update($data);
}
public function depart() {