User.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. /**
  6. * 会员模型
  7. */
  8. class User extends Model
  9. {
  10. use SoftDelete;
  11. // 开启自动写入时间戳字段
  12. protected $autoWriteTimestamp = 'int';
  13. // 定义时间戳字段名
  14. protected $createTime = 'createtime';
  15. protected $updateTime = 'updatetime';
  16. protected $deleteTime = 'deletetime';
  17. // 追加属性
  18. protected $append = [
  19. 'url',
  20. ];
  21. public static function init()
  22. {
  23. parent::init();
  24. }
  25. /**
  26. * 获取个人URL
  27. * @param string $value
  28. * @param array $data
  29. * @return string
  30. */
  31. public function getUrlAttr($value, $data)
  32. {
  33. return "/u/" . $data['id'];
  34. }
  35. /**
  36. * 获取头像
  37. * @param string $value
  38. * @param array $data
  39. * @return string
  40. */
  41. public function getAvatarAttr($value, $data)
  42. {
  43. return $value ? $value : '/assets/img/avatar.png';
  44. }
  45. /**
  46. * 获取验证字段数组值
  47. * @param string $value
  48. * @param array $data
  49. * @return object
  50. */
  51. public function getVerificationAttr($value, $data)
  52. {
  53. $value = array_filter((array)json_decode($value, true));
  54. $value = array_merge(['email' => 0, 'mobile' => 0], $value);
  55. return (object)$value;
  56. }
  57. /**
  58. * 设置验证字段
  59. * @param mixed $value
  60. * @return string
  61. */
  62. public function setVerificationAttr($value)
  63. {
  64. $value = is_object($value) || is_array($value) ? json_encode($value) : $value;
  65. return $value;
  66. }
  67. }