auth.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. package service
  2. import (
  3. //"fmt"
  4. //"server/dao/gorm"
  5. //"server/dao/short_msg"
  6. //"server/dao/wx"
  7. //"server/errors"
  8. //"server/function"
  9. //"server/model"
  10. //"server/utils"
  11. //"strconv"
  12. //"time"
  13. h "video_course/repository/http"
  14. "github.com/mojocn/base64Captcha"
  15. )
  16. var store = base64Captcha.DefaultMemStore
  17. type Auth struct {
  18. base
  19. }
  20. //
  21. //func (a Auth) SignOut(session *model.Session) (logInfo string) {
  22. // user := a.getUser(session)
  23. // function.Session{}.Delete(session)
  24. // logInfo = fmt.Sprintf("用户[%s]退出", user.GetShowName())
  25. // return
  26. //}
  27. //func (a Auth) SignIn(
  28. // verifyName string,
  29. // password string,
  30. // channel model.LoginChannel,
  31. // picId string,
  32. // picCode string,
  33. // ip string) (sess *model.Session, logInfo string) {
  34. // var user *model.User
  35. //
  36. // defer func() {
  37. // if p := recover(); p == nil {
  38. // logInfo = fmt.Sprintf("用户[%s]在%s登录成功", user.GetShowName(), channel)
  39. // } else {
  40. // panic(p)
  41. // }
  42. // }()
  43. //
  44. // if !store.Verify(picId, picCode, true) {
  45. // panic(errors.ErrPicVerifyCode)
  46. // }
  47. //
  48. // dao := gorm.UserDAO{}
  49. // shopDao := gorm.ShopDAO{}
  50. // user = dao.GetUserByVerifyName(verifyName)
  51. // user.CheckStatus()
  52. // shop, _ := shopDao.ShopDetailOne(user.ShopId)
  53. // shop.CheckShopStatus()
  54. //
  55. // if !dao.PasswordCorrect(user.Id, password) {
  56. // panic(errors.ErrPassword)
  57. // }
  58. // sess = function.Auth{}.LoginUser(user, channel, "", ip)
  59. //
  60. // return
  61. //}
  62. func (Auth) GenVerifyPic(config *base64Captcha.DriverString) (id string, pic string) {
  63. var (
  64. err error
  65. )
  66. driver := config.ConvertFonts()
  67. c := base64Captcha.NewCaptcha(driver, store)
  68. id, pic, err = c.Generate()
  69. if err != nil {
  70. panic(err)
  71. }
  72. return id, pic
  73. }
  74. // 手机号发送短信验证码
  75. func (a Auth) GenVFCode(codeTypeInt int, name string, ip string,
  76. picId string,
  77. picCode string) {
  78. //if !store.Verify(picId, picCode, true) {
  79. // panic(errors.ErrPicVerifyCode)
  80. //}
  81. //_ = dao.User{}.GetUserByPhone(name)
  82. h.LoalloutServer{}.CheckPhone(name)
  83. //codeType := model.VFCodeCodeTypeFromInt(codeTypeInt)
  84. //vfcodeDao := dao.VFCode{}
  85. //nameLastSend := vfcodeDao.NameLastSendTime(codeType, name)
  86. //ipLastSend := vfcodeDao.IpLastSendTime(ip)
  87. //
  88. //// 手机号发送间隔
  89. //const NameSendInterval = time.Second * 60
  90. //// ip 发送间隔
  91. //const IpSendInterval = time.Second * 1
  92. //
  93. //if time.Now().Sub(nameLastSend) < NameSendInterval {
  94. // panic(errors.ErrSendTooFast)
  95. //}
  96. //if time.Now().Sub(ipLastSend) < IpSendInterval {
  97. // panic(errors.ErrSendTooFast)
  98. //}
  99. //
  100. //code := strconv.Itoa(utils.RandomInt(6))
  101. //
  102. //smDAO := short_msg.NewShortMsg()
  103. //smDAO.SendVFCode(name, code, codeType)
  104. //
  105. //vfcodeDao.Save(codeType, name, code, time.Now().Add(time.Minute*3), ip)
  106. }
  107. //func (a Auth) PhoneSignIn(phone string, code string, channel model.LoginChannel, ip string) (
  108. // sess *model.Session, logInfo string) {
  109. //
  110. // gorm.VFCodeDAO{}.CheckVFCode(model.VFCodeCodeTypeLogin, phone, code)
  111. //
  112. // user := gorm.UserDAO{}.GetUserByPhone(phone)
  113. // user.CheckStatus()
  114. //
  115. // sess = function.Auth{}.WxLoginUser(user, channel, "", ip, phone, user.Phone)
  116. // logInfo = fmt.Sprintf("用户[%s]通过手机验证码登录", user.Name)
  117. // return
  118. //}
  119. //func (a Auth) PassEdit(sess *model.Session, oldpass string, newpass string) (
  120. // logInfo string, err error) {
  121. // user := a.getUser(sess)
  122. // userDAO := gorm.UserDAO{}
  123. // if !userDAO.PasswordCorrect(user.Id, oldpass) {
  124. // err = errors.ErrNamePwdIncorrect
  125. // return
  126. // }
  127. // err = userDAO.ShopManagerPassEdit(user, newpass)
  128. // if err != nil {
  129. // return
  130. // }
  131. // logInfo = fmt.Sprintf("用户[%s]修改密码", user.Name)
  132. // return
  133. //}
  134. //
  135. //func (a Auth) CheckPhone(phone string) (
  136. // md5 string) {
  137. //
  138. // user := gorm.UserDAO{}.CheckPhone(phone)
  139. // user.CheckStatus()
  140. //
  141. // md5 = user.UserMd5
  142. // return
  143. //}