MemberHelper.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace common\helpers;
  3. use common\enums\MemberTypeEnum;
  4. /**
  5. * Class MemberHelper
  6. * @package common\helpers
  7. * @author jianyan74 <751393839@qq.com>
  8. */
  9. class MemberHelper
  10. {
  11. const ONE = 'one';
  12. const TWO = 'two';
  13. /**
  14. * @param $member
  15. * @return string
  16. */
  17. public static function html($member, $style = self::ONE)
  18. {
  19. if (empty($member)) {
  20. return '';
  21. }
  22. $url = Url::toRoute(['/member/member/view', 'id' => $member->id]);
  23. switch ($member['type']) {
  24. case MemberTypeEnum::MEMBER :
  25. $name = '昵称: '.Html::encode($member['nickname']);
  26. $hideName = Html::encode(StringHelper::textNewLine($member->nickname, 6, 1)[0]);
  27. break;
  28. default;
  29. $name = '账号: '.Html::encode($member['username']);
  30. $hideName = Html::encode(StringHelper::textNewLine($member->username, 6, 1)[0]);
  31. break;
  32. }
  33. switch ($style) {
  34. default :
  35. $head_portrait = Html::img(ImageHelper::defaultHeaderPortrait($member->head_portrait), [
  36. 'class' => 'img-circle elevation-1',
  37. 'width' => '35',
  38. 'height' => '35',
  39. ]);
  40. $toggle = [];
  41. $toggle[] = 'ID: '.$member->id;
  42. $toggle[] = $name;
  43. $toggle[] = '手机: '.(!empty($member['mobile']) ? StringHelper::hideStr($member['mobile'], 3, 4) : '-');
  44. $toggle = "<div class='text-left'>".implode('<br>', $toggle)."</div>";
  45. return '<div class="text-center openIframeView" href="'.$url.'">'.$head_portrait.'<a class="users-list-name pt-1" data-toggle="tooltip" data-placement="bottom" data-html="true" title="'.$toggle.'" href="javascript: void(0)">'.$hideName.'</a></div>';
  46. case self::TWO :
  47. $array = [];
  48. $array[] = 'ID: '.$member['id'];
  49. $array[] = $name;
  50. $array[] = '手机: '.(!empty($member['mobile']) ? StringHelper::hideStr($member['mobile'], 3, 4) : '-');
  51. return implode('<br>', $array);
  52. }
  53. }
  54. /**
  55. * @param $searchModel
  56. * @param $model
  57. * @return array
  58. */
  59. public static function gridView(
  60. $searchModel,
  61. $label = '用户',
  62. $attribute = 'member_id',
  63. $relevancy = 'member',
  64. $default = '游客',
  65. $style = 'one'
  66. ) {
  67. return [
  68. 'label' => $label,
  69. 'attribute' => $attribute,
  70. 'headerOptions' => ['class' => 'col-md-1 text-align-center'],
  71. 'contentOptions' => ['class' => 'text-align-center'],
  72. 'filter' => Html::activeTextInput($searchModel, $attribute, [
  73. 'class' => 'form-control',
  74. 'placeholder' => '用户 ID',
  75. ]
  76. ),
  77. 'value' => function ($model) use ($relevancy, $default, $style) {
  78. if (empty($model->$relevancy)) {
  79. return $default;
  80. }
  81. return self::html($model->$relevancy, $style);
  82. },
  83. 'format' => 'raw',
  84. ];
  85. }
  86. }
粤ICP备19079148号