12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package manager
- import (
- "Wine-Server/utils"
- "fmt"
- "github.com/gin-gonic/gin"
- "github.com/redis/go-redis/v9"
- )
- func PublicKeyHandler(ctx *gin.Context) {
- ctx.JSON(utils.HttpOk, utils.Success(utils.JsonType{"public": utils.ClientPub, "private": utils.ClientPri}))
- }
- func EncryptTestHandler(ctx *gin.Context) {
- type Param struct {
- User string `json:"user"`
- Pass string `json:"pass"`
- }
- var param Param
- err := ctx.ShouldBind(¶m)
- if err != nil {
- fmt.Println(err.Error())
- ctx.JSON(utils.HttpOk, utils.Fail("param error 1"))
- return
- }
- param.Pass, err = utils.Decrypt(param.Pass)
- if err != nil {
- fmt.Println(err.Error())
- ctx.JSON(utils.HttpOk, utils.Fail("param error 3"))
- return
- }
- fmt.Printf("user: %s, password: %s\n", param.User, param.Pass)
- ctx.JSON(utils.HttpOk, utils.Success(param.Pass))
- }
- func RegisterHandler(ctx *gin.Context) {
- _, ok := ctx.GetPostForm("device")
- if !ok {
- ctx.JSON(utils.HttpOk, utils.Fail("param lost."))
- }
- token := utils.RandomString(16, utils.AlphaNumPatten)
- key := fmt.Sprintf("Seller-%s", token)
- Diff:
- for {
- res, err := utils.Redis.Get(ctx, key).Result()
- switch {
- case err == redis.Nil:
- break Diff
- case err != nil:
- ctx.JSON(utils.HttpOk, utils.Fail("获取Token失败"))
- return
- case res == "":
- break Diff
- }
- token = utils.RandomString(16, utils.AlphaNumPatten)
- key = fmt.Sprintf("Seller-%s", token)
- }
- utils.Redis.Set(ctx, key, 1, 0)
- ctx.Header("Token", token)
- ctx.JSON(utils.HttpOk, utils.Success(token))
- }
|