Member.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\constant\CommonConstant;
  4. use app\common\service\UserService;
  5. use hg\apidoc\annotation as Apidoc;
  6. /**
  7. * @Apidoc\Title("我的")
  8. * @Apidoc\Group("api")
  9. * @Apidoc\Sort("2")
  10. */
  11. class Member extends Base
  12. {
  13. public function initialize()
  14. {
  15. parent::initialize();
  16. parent::checkLogin();
  17. }
  18. /**
  19. * 获取个人信息
  20. *
  21. * @Apidoc\Method("POST")
  22. * @Apidoc\Returned("avatar", type="string", desc="头像地址")
  23. * @Apidoc\Returned("nickname", type="string", desc="昵称")
  24. * @Apidoc\Returned("name", type="string", desc="姓名")
  25. * @Apidoc\Returned("mobile", type="string", desc="手机号码")
  26. * @Apidoc\Returned("department", type="string", desc="部门(多个部门以逗号分隔)")
  27. * @Apidoc\Returned("title", type="string", desc="职位")
  28. * @Apidoc\Returned("signature", type="string", desc="个人签名")
  29. * @Apidoc\Returned("signature_status", type="string", desc="签名状态:1=未操作,2=待审核,3=审核通过,4=审核驳回")
  30. * @Apidoc\Returned("department_list", type="array", desc="部门列表")
  31. * @Apidoc\Returned("subject", type="string", desc="主体名称")
  32. * @Apidoc\Returned("subject_image", type="string", desc="主体图片")
  33. */
  34. public function user_info()
  35. {
  36. $user = $this->user;
  37. unset($user['status'],$user['is_deleted'],$user['create_at']);
  38. $department_data = UserService::get_user_department_list($user['department']);;
  39. $user['department_list'] = $department_data;
  40. $user['subject'] = sysconf('subject');
  41. $user['subject_image'] = sysconf('subject_image');
  42. $this->success('获取成功', $user);
  43. }
  44. /**
  45. * 编辑个人信息
  46. *
  47. * @Apidoc\Method("POST")
  48. * @Apidoc\Param("type", type="integer", require=true, desc="类型:1=头像地址,2=昵称,3=手机号码,4=签名")
  49. * @Apidoc\Param("avatar", type="string", require=false, desc="头像地址")
  50. * @Apidoc\Param("nickname", type="string", require=false, desc="昵称")
  51. * @Apidoc\Param("mobile", type="string", require=false, desc="手机号码")
  52. * @Apidoc\Param("signature", type="string", require=false, desc="签名")
  53. */
  54. public function edit()
  55. {
  56. $type = input('type') ?: 0;
  57. $avatar = input('avatar') ?: '';
  58. $nickname = input('nickname') ?: '';
  59. $mobile = input('mobile') ?: '';
  60. $signature = input('signature') ?: '';
  61. $data = [];
  62. switch ($type){
  63. case 1:
  64. if (!$avatar) {
  65. $this->error('请上传头像');
  66. }
  67. break;
  68. case 2:
  69. if (!$nickname) {
  70. $this->error('请输入昵称');
  71. }
  72. break;
  73. case 3:
  74. if (!preg_match("/^1[23456789]\d{9}$/", $mobile)) {
  75. $this->error('手机号格式不正确');
  76. }
  77. break;
  78. case 4:
  79. if (!$signature) {
  80. $this->error('请上传签名');
  81. }
  82. break;
  83. }
  84. if ($avatar) {
  85. $data['avatar'] = $avatar;
  86. }
  87. if ($nickname) {
  88. $data['nickname'] = $nickname;
  89. }
  90. if ($mobile) {
  91. if (!preg_match("/^1[23456789]\d{9}$/", $mobile)) {
  92. $this->error('手机号格式不正确');
  93. }
  94. $data['mobile'] = $mobile;
  95. }
  96. if ($signature) {
  97. $data['signature'] = $signature;
  98. $data['signature_status'] = CommonConstant::SIGNATURE_STATUS_2;
  99. }
  100. if ($data) {
  101. $user = $this->user;
  102. $user->save($data);
  103. }
  104. $this->success('编辑成功');
  105. }
  106. }