diff --git a/server/adminserver/api/v1/system/metaMask.go b/server/adminserver/api/v1/system/metaMask.go new file mode 100644 index 00000000..393ed29b --- /dev/null +++ b/server/adminserver/api/v1/system/metaMask.go @@ -0,0 +1,32 @@ +package system + +import ( + "crypto/md5" + "encoding/hex" + "github.com/gin-gonic/gin" + "net/http" + "q5" + "time" +) + +type MetaMaskApi struct { +} + +func (this *MetaMaskApi) GetNonce(c *gin.Context) { + account := c.Query("account") + if account == "" { + c.JSON(http.StatusOK, gin.H{ + "code": 1, + "message": "缺少参数:account", + }) + return + } + timeUnixNano := time.Now().UnixNano() + sum := md5.Sum([]byte(account + "_" + q5.ToString(timeUnixNano))) + nonce := hex.EncodeToString(sum[:]) + c.JSON(http.StatusOK, gin.H{ + "code": 0, + "message": "success", + "data": nonce, + }) +} diff --git a/server/adminserver/api/v1/system/sys_user.go b/server/adminserver/api/v1/system/sys_user.go index 6f3ced6a..bf54f539 100644 --- a/server/adminserver/api/v1/system/sys_user.go +++ b/server/adminserver/api/v1/system/sys_user.go @@ -11,6 +11,7 @@ import ( ) type UserApi struct { + MetaMaskApi } func (this *UserApi) Login(c *gin.Context) { diff --git a/server/adminserver/router/system/sys_user.go b/server/adminserver/router/system/sys_user.go index 112ce70d..964d0101 100644 --- a/server/adminserver/router/system/sys_user.go +++ b/server/adminserver/router/system/sys_user.go @@ -14,6 +14,7 @@ func (this *UserRouter) InitUserRouter(priRouter *gin.RouterGroup, userApi := v1.ApiGroupApp.SystemApiGroup.UserApi { pubUserRouter.POST("login", userApi.Login) + pubUserRouter.GET("getNonce", userApi.GetNonce) } { priUserRouter.GET("info", userApi.Info)