123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- <?php
- namespace app\common\model;
- use app\common\model\MemberMiniapp;
- use think\Model;
- class Member extends Model{
- protected $pk = 'id';
-
- public function miniapp(){
- return $this->hasOne('MemberMiniapp','id','bind_member_miniapp_id');
- }
-
- public static function edit(array $param){
- $data['phone_id'] = $param['phone_id'];
- $data['username'] = $param['username'];
- $data['lock_config'] = $param['lock_config'];
- $data['login_ip'] = request()->ip();
- $data['login_time'] = time();
- $data['update_time'] = time();
- if(!empty($param['login_password'])){
- $data['password'] = password_hash(md5($param['login_password']),PASSWORD_DEFAULT);
- }
- if(!empty($param['safe_password'])){
- $data['safe_password'] = password_hash(md5($param['safe_password']),PASSWORD_DEFAULT);
- }
- if(isset($param['id']) && $param['id'] > 0){
- return self::where('id',$param['id'])->update($data);
- }else{
- $data['create_time'] = time();
- $data['parent_id'] = 0;
- return self::insert($data);
- }
- }
-
- public static function bindEdit(array $param){
- $data['phone_id'] = $param['phone_id'];
- $data['username'] = $param['username'];
- $data['password'] = password_hash(md5($param['login_password']),PASSWORD_DEFAULT);
- $data['bind_member_miniapp_id'] = $param['miniapp_id'];
- if(isset($param['id']) && $param['id'] > 0){
- return self::where('id',$param['id'])->update($data);
- }else{
- $data['parent_id'] = $param['user_id'];
- $data['login_ip'] = request()->ip();
- $data['login_time'] = time();
- $data['update_time'] = time();
- $data['create_time'] = time();
- return self::insert($data);
- }
- }
-
- public static function editPhone(array $param){
- $data['phone_id'] = $param['phone_id'];
- $data['update_time'] = time();
- return self::where('id',$param['id'])->update($data);
- }
-
- public static function reg(array $param){
-
- $sms['phone_id'] = $param['phone_id'];
- $sms['sms_code'] = $param['sms_code'];
- $is_sms = widget('common/alisms/isSms',$sms);
- if(!$is_sms){
- return ['code'=>0,'message'=>"验证码错误"];
- }
-
- $info = self::where(['phone_id'=>$param['phone_id']])->find();
- if(isset($info)){
- return ['code'=>0,'message'=>'帐号已被注册'];
- }
-
- $data['phone_id'] = $param['phone_id'];
- $data['username'] = $param['username'];
- $data['password'] = password_hash(md5($param['login_password']),PASSWORD_DEFAULT);
- $data['safe_password'] = password_hash(md5('123456'),PASSWORD_DEFAULT);
- $data['login_time'] = time();
- $data['login_ip'] = request()->ip();
- $data['update_time'] = time();
- $data['create_time'] = time();
- $last_id = self::insertGetId($data);
- if($last_id){
- return ['code'=>200,'message'=>'注册成功','data' => ['id' => $last_id]];
- }
- return ['code'=>0,'message'=>'帐号登录失败'];
- }
-
- public static function upDatePasspowrd(int $uid,string $safepassword){
- $data['id'] = $uid;
- $data['password'] = password_hash(md5($safepassword),PASSWORD_DEFAULT);
- return self::update($data);
- }
-
-
- public static function login(array $param){
- $condition['phone_id'] = $param['login_id'];
- $condition['is_lock'] = 0;
- $result = self::where($condition)->find();
- if($result){
- if(!password_verify(md5($param['login_password']),$result->getAttr('password'))) {
- return FALSE;
- }
- self::updateLogin($result->getAttr('id'));
- return $result;
- }
- return FALSE;
- }
-
- public static function getPasspord(array $param){
- $condition['phone_id'] = $param['phone_id'];
- $condition['is_lock'] = 0;
- $info = self::where($condition)->find();
- if($info){
- $result = self::updateLogin($info->getAttr('id'),$param['login_password']);
- return isset($result) ? $info : false;
- }
- return false;
- }
-
- public static function checkSafePasspord(int $uid,string $safepassword){
- $info = self::where(['id' => $uid])->find();
- if(password_verify(md5($safepassword),$info->getAttr('safe_password'))) {
- return true;
- }
- return false;
- }
-
- public static function checkPasspord(int $uid,string $password){
- $info = self::where(['id' => $uid])->find();
- if(password_verify(md5($password),$info->getAttr('password'))) {
- return true;
- }
- return false;
- }
-
- public static function updateSafePasspord(int $uid,string $safepassword){
- $data['id'] = $uid;
- $data['safe_password'] = password_hash(md5($safepassword),PASSWORD_DEFAULT);
- return self::update($data);
- }
-
-
- protected static function updateLogin($uid,$passpord = null){
- $data = [
- 'id' => $uid,
- 'login_time' => time(),
- 'login_ip' => request()->ip()
- ];
- if(!empty($passpord)){
- $data['password'] = password_hash(md5($passpord),PASSWORD_DEFAULT);
- }
- return self::update($data);
- }
-
- public static function lock(int $id){
- $result = self::where(['id' => $id])->find();
- $result->is_lock = $result->is_lock ? 0 : 1;
- if($result->is_lock){
- MemberMiniapp::where(['member_id' => $id])->update(['is_lock' => 1]);
- }
- return $result->save();
- }
- }
|