| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 
							- <?php
 
- namespace addons\exam\model;
 
- use addons\exam\enum\UserStatus;
 
- use app\common\library\Auth;
 
- use fast\Random;
 
- class UserModel extends BaseModel
 
- {
 
-     // 表名
 
-     protected $name = 'user';
 
-     // 开启自动写入时间戳字段
 
-     protected $autoWriteTimestamp = 'int';
 
-     // 定义时间戳字段名
 
-     protected $createTime = 'createtime';
 
-     protected $updateTime = 'updatetime';
 
-     // /**
 
-     //  * 登录并返回token
 
-     //  * @param $username
 
-     //  * @param $password
 
-     //  * @param $user_type
 
-     //  * @return string
 
-     //  */
 
-     // public static function login($username, $password, $user_type)
 
-     // {
 
-     //     $username = "{$user_type}-$username";
 
-     //     if (!$user = self::where('username', $username)->find()) {
 
-     //         api_fail('登录账号或密码错误');
 
-     //     }
 
-     //     if ($user['password'] != Auth::instance()->getEncryptPassword($password, $user['salt'])) {
 
-     //         api_fail('登录账号或密码错误');
 
-     //     }
 
-     //
 
-     //     Auth::instance()->direct($user['id']);
 
-     //     return Auth::instance()->getToken();
 
-     // }
 
-     /**
 
-      * 当前登录用户信息
 
-      * @return Auth|null
 
-      */
 
-     public static function info()
 
-     {
 
-         if (Auth::instance()->isLogin()) {
 
-             return Auth::instance();
 
-         }
 
-         return null;
 
-     }
 
-     /**
 
-      * 快速注册用户
 
-      * @param string $username
 
-      * @param string $nickname
 
-      * @param string $avatar
 
-      * @param int $gender
 
-      * @param string $password
 
-      * @param string $mobile
 
-      * @return UserModel
 
-      */
 
-     public static function fastRegister(string $username, string $nickname = '', string $avatar = '', int $gender = 0, string $password = '', string $mobile = '')
 
-     {
 
-         if (self::where('username', $username)->count()) {
 
-             fail('该账号已被注册');
 
-         }
 
-         // 不严格要求可以去除
 
-         // if ($mobile && self::where('mobile', $mobile)->count()) {
 
-         //     fail('该手机号码已被绑定');
 
-         // }
 
-         $salt = Random::alnum();
 
-         return self::create([
 
-             'username'  => $username,
 
-             'mobile'    => $mobile,
 
-             'email'     => $mobile . '@qq.com',
 
-             'salt'      => $salt,
 
-             'password'  => Auth::instance()->getEncryptPassword($password ?: $username, $salt),
 
-             'nickname'  => $nickname,
 
-             'avatar'    => $avatar,
 
-             'gender'    => $gender,
 
-             'status'    => UserStatus::NORMAL,
 
-             'logintime' => time(),
 
-         ]);
 
-     }
 
-     /**
 
-      * 是否必须绑定手机号
 
-      * @param $user
 
-      * @return void
 
-      */
 
-     public static function isMustBindMobile($user)
 
-     {
 
-         $system_config = getConfig('system_config');
 
-         $bind_mobile   = $system_config['bind_mobile'] ?? 0;
 
-         if ($bind_mobile == 2 && (!isset($user['mobile']) || !$user['mobile'])) {
 
-             fail('请先绑定手机号');
 
-         }
 
-     }
 
-     /************************** 关联关系 **************************/
 
-     public function agent()
 
-     {
 
-         return $this->hasOne(\app\admin\model\juhepay\AgentModel::class, 'user_id', 'id');
 
-     }
 
-     public function shop()
 
-     {
 
-         return $this->hasOne(\app\admin\model\juhepay\ShopModel::class, 'user_id', 'id');
 
-     }
 
- }
 
 
  |