user.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "hongze/hongze_api/models"
  5. "hongze/hongze_api/services"
  6. "hongze/hongze_api/utils"
  7. "time"
  8. )
  9. //用户
  10. type UserController struct {
  11. BaseAuthController
  12. }
  13. //用户
  14. type UserCommonController struct {
  15. BaseCommonController
  16. }
  17. // @Title 获取用户详情
  18. // @Description 获取用户详情接口
  19. // @Success 200 {object} models.UserDetail
  20. // @router /detail [get]
  21. func (this *UserController) Detail() {
  22. br := new(models.BaseResponse).Init()
  23. defer func() {
  24. this.Data["json"] = br
  25. this.ServeJSON()
  26. }()
  27. user := this.User
  28. if user == nil {
  29. br.Msg = "请登录"
  30. br.ErrMsg = "请登录,用户信息为空"
  31. br.Ret = 408
  32. return
  33. }
  34. item, err := models.GetUserDetailByUserId(user.UserId)
  35. if err != nil {
  36. br.Msg = "获取信息失败"
  37. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  38. return
  39. }
  40. br.Ret = 200
  41. br.Success = true
  42. br.Msg = "获取成功"
  43. br.Data = item
  44. }
  45. // @Title 获取短信验证码
  46. // @Description 获取短信验证码接口
  47. // @Param Mobile query string true "手机号码"
  48. // @Param AreaNum query string true "地区编码"
  49. // @Success 200 {object} models.UserDetail
  50. // @router /getSmsCode [get]
  51. func (this *UserCommonController) GetSmsCode() {
  52. br := new(models.BaseResponse).Init()
  53. defer func() {
  54. this.Data["json"] = br
  55. this.ServeJSON()
  56. }()
  57. mobile := this.GetString("Mobile")
  58. areaNum := this.GetString("AreaNum")
  59. msgCode := utils.GetRandString(4)
  60. var result bool
  61. if areaNum == "86" || areaNum == "" || areaNum == "0" {
  62. result = services.SendSmsCode(mobile, msgCode)
  63. } else {
  64. result = services.SendSmsCodeGj(mobile, msgCode, areaNum)
  65. }
  66. //发送成功
  67. if result {
  68. item := new(models.MsgCode)
  69. item.OpenId = ""
  70. item.Code = msgCode
  71. item.Mobile = mobile
  72. item.ExpiredIn = time.Now().Unix() + 15*60
  73. item.Enabled = 1
  74. err := models.AddMsgCode(item)
  75. if err != nil {
  76. br.Msg = "发送失败"
  77. br.ErrMsg = "发送失败,Err:" + err.Error()
  78. return
  79. }
  80. br.Msg = "发送成功"
  81. } else {
  82. br.Msg = "发送失败"
  83. }
  84. br.Ret = 200
  85. br.Success = true
  86. }
  87. // @Title 校验短信验证码
  88. // @Description 校验短信验证码接口
  89. // @Param request body models.CheckSmsCodeReq true "type json string"
  90. // @Success 200 {object} models.LoginResp
  91. // @router /checkSmsCode [post]
  92. func (this *UserCommonController) CheckSmsCode() {
  93. br := new(models.BaseResponse).Init()
  94. defer func() {
  95. this.Data["json"] = br
  96. this.ServeJSON()
  97. }()
  98. var req models.CheckSmsCodeReq
  99. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  100. if err != nil {
  101. br.Msg = "参数解析异常!"
  102. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  103. return
  104. }
  105. if req.Mobile != "" {
  106. br.Msg="请输入手机号"
  107. br.ErrMsg="请输入手机号"
  108. return
  109. }
  110. if req.SmsCode == "" {
  111. br.Msg="请输入验证码"
  112. br.ErrMsg="请输入验证码"
  113. return
  114. }
  115. //item,err:=models.GetMsgCode(req.Mobile,req.SmsCode)
  116. //if err != nil {
  117. //
  118. //}
  119. br.Ret = 200
  120. br.Success = true
  121. }
  122. /*
  123. //校验短信验证码
  124. function checkSmsCode()
  125. {
  126. $request_data = $this->request->all();
  127. $mobile = ExpressUtil::checkStringArrayValue('mobile',$request_data);
  128. if(!preg_match("/^1\d{10}$/",$mobile)){
  129. return response()->json(['code'=>'2','msg'=>'请输入正确的手机号(1开头的11位数字)']);
  130. }
  131. $smsCode = ExpressUtil::checkStringArrayValue('sms_code',$request_data);
  132. //获取短信发送记录
  133. $result = MsgCodeModel::getMsgCode("",$mobile,$smsCode);
  134. if(empty($result)){
  135. return response()->json(['code'=>'1','msg'=>'验证码错误']);
  136. }else{
  137. return response()->json(['code'=>'0','msg'=>'验证码正确']);
  138. }
  139. }
  140. */
  141. /*
  142. $app->post('api/user/checkSmsCode',"UserController@checkSmsCode");//校验短信验证码
  143. $app->get('api/user/getEmailCode',"UserController@getEmailCode");//获取邮件验证码
  144. $app->post('api/user/checkEmailCode',"UserController@checkEmailCode");//校验邮件验证码
  145. $app->post('api/user/login',"UserController@login");//登录
  146. $app->post('api/user/apply',"UserController@apply");//申请试用
  147. $app->get('api/user/smallLimit',"UserController@smallLimit");//是否小套餐客户
  148. */