From 1f535b3feb2e1f3a92e42918ccba62091fa6de57 Mon Sep 17 00:00:00 2001 From: Mmx233 Date: Fri, 1 Dec 2023 00:20:42 +0800 Subject: [PATCH] =?UTF-8?q?improve:=20OS=E3=80=81Name=E3=80=81DoubleStack?= =?UTF-8?q?=20=E5=AD=97=E6=AE=B5=E5=8A=A0=E5=85=A5=20meta=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes #27 --- internal/config/default.go | 11 +++++++---- pkg/srun/models.go | 11 +++++++---- pkg/srun/srun.go | 29 +++++++++++++++++++---------- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/internal/config/default.go b/internal/config/default.go index c159452..c899872 100644 --- a/internal/config/default.go +++ b/internal/config/default.go @@ -10,10 +10,13 @@ var defaultConfig = ConfFromFile{ UserType: "cmcc", }, Meta: srun.LoginMeta{ - N: "200", - Type: "1", - Acid: "5", - Enc: "srun_bx1", + N: "200", + Type: "1", + Acid: "5", + Enc: "srun_bx1", + OS: "Windows 10", + Name: "windows", + DoubleStack: false, }, Settings: SettingsConf{ Basic: BasicConf{ diff --git a/pkg/srun/models.go b/pkg/srun/models.go index cf3f83e..7f5ebe2 100644 --- a/pkg/srun/models.go +++ b/pkg/srun/models.go @@ -9,10 +9,13 @@ type LoginForm struct { } type LoginMeta struct { - N string `json:"n" yaml:"n"` - Type string `json:"type" yaml:"type"` - Acid string `json:"acid" yaml:"acid"` - Enc string `json:"enc" yaml:"enc"` + N string `json:"n" yaml:"n"` + Type string `json:"type" yaml:"type"` + Acid string `json:"acid" yaml:"acid"` + Enc string `json:"enc" yaml:"enc"` + OS string `json:"os" yaml:"os"` + Name string `json:"name" yaml:"name"` + DoubleStack bool `json:"double_stack" json:"double_stack"` } type LoginInfo struct { diff --git a/pkg/srun/srun.go b/pkg/srun/srun.go index 7d075a8..5000a9f 100644 --- a/pkg/srun/srun.go +++ b/pkg/srun/srun.go @@ -93,16 +93,25 @@ func (c Srun) DoLogin(clientIP string) error { tokenStr + EncryptedInfo, ) - res, err = c.api.Login( - c.LoginInfo.Form.Username, - EncryptedMd5, - c.LoginInfo.Meta.Acid, - clientIP, - EncryptedInfo, - EncryptedChkstr, - c.LoginInfo.Meta.N, - c.LoginInfo.Meta.Type, - ) + var doubleStack string + if c.LoginInfo.Meta.DoubleStack { + doubleStack = "1" + } else { + doubleStack = "0" + } + res, err = c.api.Login(&LoginRequest{ + Username: c.LoginInfo.Form.Username, + Password: EncryptedMd5, + AcID: c.LoginInfo.Meta.Acid, + IP: clientIP, + Info: EncryptedInfo, + ChkSum: EncryptedChkstr, + N: c.LoginInfo.Meta.N, + Type: c.LoginInfo.Meta.Type, + OS: c.LoginInfo.Meta.OS, + Name: c.LoginInfo.Meta.Name, + DoubleStack: doubleStack, + }) if err != nil { return err }