user.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package worker
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "zhiyuan/pkg/app"
  5. "zhiyuan/pkg/config"
  6. "zhiyuan/services/form"
  7. "zhiyuan/services/work/worker"
  8. )
  9. func WorkerRegister(c *gin.Context) {
  10. var addForm form.WorkerAdd
  11. if app.Bind(c, &addForm) != nil {
  12. return
  13. }
  14. id, err := worker.Register(addForm)
  15. if err != nil {
  16. app.Error(c, err.Error())
  17. return
  18. }
  19. app.Success(c, gin.H{"id": id})
  20. }
  21. func Login(c *gin.Context) {
  22. var form form.WorkLogin
  23. if app.Bind(c, &form) != nil {
  24. return
  25. }
  26. token, err := worker.Login(form)
  27. if err != nil {
  28. app.Error(c, err.Error())
  29. return
  30. }
  31. app.Success(c, map[string]string{
  32. "token": token,
  33. })
  34. }
  35. func Logout(c *gin.Context) {
  36. err := worker.Logout(c.GetInt("workerID"))
  37. if err != nil {
  38. app.ErrorMsg(c, err.Error(), nil)
  39. return
  40. }
  41. app.Success(c, nil)
  42. }
  43. func Info(c *gin.Context) {
  44. type SettingInfo struct {
  45. ImgHost string `json:"img_host"`
  46. }
  47. type UserInfo struct {
  48. ID int `json:"id"`
  49. Name string `json:"name"`
  50. TypeIds string `json:"type_ids"`
  51. NickName string `json:"nickname"`
  52. HeadImgUrl string `json:"headimgurl"`
  53. Setting SettingInfo `json:"setting"`
  54. }
  55. var userInfo UserInfo
  56. _, err := worker.GetInfoByID(c.GetInt("workerID"), nil, &userInfo)
  57. if err != nil {
  58. app.ErrorMsg(c, err.Error(), nil)
  59. return
  60. }
  61. userInfo.Setting = SettingInfo{
  62. ImgHost: config.Cfg.App.ImgHost,
  63. }
  64. app.Success(c, userInfo)
  65. }
  66. func UnBindWeixin(c *gin.Context) {
  67. if err := worker.UnBindWeixin(c.GetInt("workerID")); err != nil {
  68. app.ErrorMsg(c, err.Error(), nil)
  69. return
  70. }
  71. app.Success(c, nil)
  72. }
  73. func Password(c *gin.Context) {
  74. var form form.Password
  75. if app.Bind(c, &form) != nil {
  76. return
  77. }
  78. if err := worker.Password(c.GetInt("workerID"), form); err != nil {
  79. app.ErrorMsg(c, err.Error(), nil)
  80. return
  81. }
  82. app.Success(c, nil)
  83. }