User.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\admin\model;
  3. use app\BaseModel;
  4. use think\model\concern\SoftDelete;
  5. use thans\jwt\facade\JWTAuth;
  6. class User extends BaseModel
  7. {
  8. use SoftDelete;
  9. protected $pk = "user_id";
  10. public static $defaultField = 'user_id,realname,realname as displayName,account,avatar,name_py,email,last_login_ip';
  11. protected $json = ['setting'];
  12. protected $jsonAssoc = true;
  13. public static function getCsId($admin_id) {
  14. return self::where('from', 0)->where('uid', $admin_id)->value('user_id');
  15. }
  16. public function getAvatarAttr($value,$data)
  17. {
  18. return avatarUrl($data['avatar'],$data['realname'],$data['user_id']);
  19. }
  20. public function getSettingAttr($value)
  21. {
  22. if (!$value) return null;
  23. $setting = $value;
  24. $setting['hideMessageName']= $setting['hideMessageName']=='true' ? true : false;
  25. $setting['hideMessageTime']= $setting['hideMessageTime']=='true' ? true : false;
  26. $setting['avatarCricle']= $setting['avatarCricle']=='true' ? true : false;
  27. $setting['isVoice']= $setting['isVoice']=='true' ? true : false;
  28. $setting['sendKey']=(int)$setting['sendKey'];
  29. return $setting;
  30. }
  31. /**
  32. * 刷新用户token 之前token将被拉黑
  33. * 修改用户数据后 调用该方法 并返回前台更新token
  34. * @param array $info 用户信息
  35. * @param string $terminal 客户端标识
  36. * @return string
  37. * @throws \think\db\exception\DataNotFoundException
  38. * @throws \think\db\exception\DbException
  39. * @throws \think\db\exception\ModelNotFoundException
  40. */
  41. public static function refreshToken($info,$terminal, $admin = [])
  42. {
  43. $info = str_encipher(json_encode($info),true, config('app.aes_token_key'));
  44. $authToken = 'bearer '.JWTAuth::builder(['info' => $info, 'terminal' => $terminal, 'admin' => $admin]);
  45. return $authToken;
  46. }
  47. //添加客服用户
  48. public static function addCs($params) {
  49. self::create([
  50. 'account' => $params['username'],
  51. 'realname' => $params['nickname'] ?? '',
  52. 'password' => $params['password'],
  53. 'sex' => $params['sex'],
  54. 'role' => $params['id'] == 1 ? 1 : 2,
  55. 'remark' => $params['remark'] ?? '',
  56. 'cs_uid' => $params['id'],
  57. 'friend_limit' => 500,
  58. 'group_limit' => 500,
  59. 'phone' => $params['phone'] ?? '',
  60. 'from' => 0,
  61. 'uid' => $params['id'],
  62. ]);
  63. }
  64. }