增加wechat账号可用性检测,为直接使用微信账号注册服务,在注册前检测微信账号的可用性,是否被占用

This commit is contained in:
thinker007 2023-09-17 21:28:38 +08:00
parent faaa9a476a
commit 5dcec3f20a
3 changed files with 21 additions and 1 deletions

3
.gitignore vendored
View File

@ -4,4 +4,5 @@ upload
*.exe *.exe
*.db *.db
build build
*.db-journal *.db-journal
one-api

View File

@ -172,3 +172,21 @@ func WeChatBind(c *gin.Context) {
}) })
return return
} }
func IsWeChatIdAvailable(c *gin.Context) {
wechatId := c.Query("wechat_id")
if model.IsWeChatIdAlreadyTaken(wechatId) {
c.JSON(http.StatusOK, gin.H{
"success": false,
"message": "该微信账号已被绑定,不可用",
})
return
}
c.JSON(http.StatusOK, gin.H{
"success": true,
"message": "该微信账号未绑定任何账号,可用",
})
return
}

View File

@ -23,6 +23,7 @@ func SetApiRouter(router *gin.Engine) {
apiRouter.GET("/oauth/github", middleware.CriticalRateLimit(), controller.GitHubOAuth) apiRouter.GET("/oauth/github", middleware.CriticalRateLimit(), controller.GitHubOAuth)
apiRouter.GET("/oauth/state", middleware.CriticalRateLimit(), controller.GenerateOAuthCode) apiRouter.GET("/oauth/state", middleware.CriticalRateLimit(), controller.GenerateOAuthCode)
apiRouter.GET("/oauth/wechat", middleware.CriticalRateLimit(), controller.WeChatAuth) apiRouter.GET("/oauth/wechat", middleware.CriticalRateLimit(), controller.WeChatAuth)
apiRouter.GET("/oauth/wechat/is_available", middleware.CriticalRateLimit(), controller.IsWeChatIdAvailable)
apiRouter.GET("/oauth/wechat/bind", middleware.CriticalRateLimit(), middleware.UserAuth(), controller.WeChatBind) apiRouter.GET("/oauth/wechat/bind", middleware.CriticalRateLimit(), middleware.UserAuth(), controller.WeChatBind)
apiRouter.GET("/oauth/email/bind", middleware.CriticalRateLimit(), middleware.UserAuth(), controller.EmailBind) apiRouter.GET("/oauth/email/bind", middleware.CriticalRateLimit(), middleware.UserAuth(), controller.EmailBind)