hasOne(UserAuth::class, 'user_id'); } /** * @notes 不全用户头像路径 * @param $value * @return string|null * @author ljj * @date 2022/2/7 6:45 下午 */ public function getAvatarAttr($value) { return $value ? FileService::getFileUrl($value) : $value; } /** * @notes 获取用户性别 * @param $value * @return string|string[] * @author ljj * @date 2022/2/7 6:51 下午 */ public function getSexDescAttr($value,$data) { return UserEnum::getSexDesc($data['sex']); } /** * @notes 注册来源 * @param $value * @param $data * @return string|string[] * @author ljj * @date 2022/2/8 9:30 上午 */ public function getSourceDescAttr($value,$data) { return UserTerminalEnum::getTermInalDesc($data['register_source']); } /** * @notes 生成用户编码 * @param string $prefix * @param int $length * @return string * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author 段誉 * @date 2022/9/16 10:33 */ public static function createUserSn($prefix = '', $length = 8) { $rand_str = ''; for ($i = 0; $i < $length; $i++) { $rand_str .= mt_rand(0, 9); } $sn = $prefix . $rand_str; if (User::where(['sn' => $sn])->find()) { return self::createUserSn($prefix, $length); } return $sn; } }