User.php 1.5 KB

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