60 lines
1.3 KiB
Go
60 lines
1.3 KiB
Go
package auth
|
|
|
|
import (
|
|
"base-go-v2/internal/db"
|
|
response "base-go-v2/internal/reponse"
|
|
"base-go-v2/internal/router"
|
|
"base-go-v2/internal/utils/mapx"
|
|
"base-go-v2/internal/utils/uid"
|
|
)
|
|
|
|
func InitAuthRouter(r *router.Router) {
|
|
group := r.Group("auth")
|
|
group.POST("/login/default", loginDefault)
|
|
group.POST("/register/default", registerDefault)
|
|
}
|
|
|
|
// 默认登录
|
|
func loginDefault(c *router.Context) error {
|
|
return response.Success(c).Send()
|
|
}
|
|
|
|
func registerDefault(c *router.Context) error {
|
|
params, err := c.GetBodyWithRequired("account", "password")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
account := params.GetString("account")
|
|
password := params.GetString("password")
|
|
|
|
// 构造查询条件,检查账号是否已存在
|
|
accountQuery := mapx.New().SetKV("account", account)
|
|
|
|
existingUsers, err := db.Find("user_info", accountQuery)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(existingUsers) > 0 {
|
|
return response.Error(c).Message("该账号已被注册").Send()
|
|
}
|
|
|
|
// 构造新用户数据
|
|
newUserData := mapx.New().SetKV(
|
|
"id", uid.NextID(),
|
|
"account", account,
|
|
"password", password,
|
|
)
|
|
|
|
// 插入新用户
|
|
insertedRows, err := db.InsertOne("user_info", newUserData)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if insertedRows != 1 {
|
|
return response.Error(c).Message("注册失败").Send()
|
|
}
|
|
|
|
return response.Success(c).Message("注册成功").Send()
|
|
}
|