user.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package user
  2. import (
  3. "gfast/app/service/user"
  4. "gfast/library/response"
  5. "github.com/gogf/gf/net/ghttp"
  6. "github.com/gogf/gf/util/gvalid"
  7. )
  8. //用户API管理对象
  9. type Controller struct {}
  10. //用户注册接口
  11. func (c Controller) SignUp(r *ghttp.Request) {
  12. if err:=user.SignUp(r.GetPostMapStrStr());err!=nil{
  13. response.Json(r, 1, err.Error())
  14. }else{
  15. response.Json(r, 0, "ok")
  16. }
  17. }
  18. // 用户登录接口
  19. func (c *Controller) SignIn(r *ghttp.Request) {
  20. data := r.GetPostMapStrStr()
  21. rules := map[string]string{
  22. "passport": "required",
  23. "password": "required",
  24. }
  25. msgs := map[string]interface{}{
  26. "passport": "账号不能为空",
  27. "password": "密码不能为空",
  28. }
  29. if e := gvalid.CheckMap(data, rules, msgs); e != nil {
  30. response.Json(r, 1, e.String())
  31. }
  32. if err := user.SignIn(data["passport"], data["password"], r.Session); err != nil {
  33. response.Json(r, 1, err.Error())
  34. } else {
  35. response.Json(r, 0, "ok")
  36. }
  37. }
  38. // 判断用户是否已经登录
  39. func (c *Controller) IsSignedIn(r *ghttp.Request) {
  40. if user.IsSignedIn(r.Session) {
  41. response.Json(r, 0, "ok")
  42. } else {
  43. response.Json(r, 1, "")
  44. }
  45. }
  46. // 用户注销/退出接口
  47. func (c *Controller) SignOut(r *ghttp.Request) {
  48. user.SignOut(r.Session)
  49. response.Json(r, 0, "ok")
  50. }
  51. // 检测用户账号接口(唯一性校验)
  52. func (c *Controller) CheckPassport(r *ghttp.Request) {
  53. passport := r.GetString("passport")
  54. if e := gvalid.Check(passport, "required", "请输入账号"); e != nil {
  55. response.Json(r, 1, e.String())
  56. }
  57. if user.CheckPassport(passport) {
  58. response.Json(r, 0, "ok")
  59. }
  60. response.Json(r, 1, "账号已经存在")
  61. }
  62. // 检测用户昵称接口(唯一性校验)
  63. func (c *Controller) CheckNickName(r *ghttp.Request) {
  64. nickname := r.Get("nickname")
  65. if e := gvalid.Check(nickname, "required", "请输入昵称"); e != nil {
  66. response.Json(r, 1, e.String())
  67. }
  68. if user.CheckNickName(r.GetString("nickname")) {
  69. response.Json(r, 0, "ok")
  70. }
  71. response.Json(r, 1, "昵称已经存在")
  72. }