From f6ac0a62fb7d540d74ee188da87788e72e9ac624 Mon Sep 17 00:00:00 2001 From: luziqi Date: Tue, 25 Jul 2023 14:02:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0bugly=20token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/bugly.go | 59 +++++++++++++++++++++++++++++++++++++++++++ docs/docs.go | 36 ++++++++++++++++++++++++++ docs/swagger.json | 36 ++++++++++++++++++++++++++ docs/swagger.yaml | 24 ++++++++++++++++++ main.go | 17 ++++++++----- models/sys_mapping.go | 17 +++++++++++++ 6 files changed, 183 insertions(+), 6 deletions(-) create mode 100644 controllers/bugly.go create mode 100644 models/sys_mapping.go diff --git a/controllers/bugly.go b/controllers/bugly.go new file mode 100644 index 0000000..ab77cc8 --- /dev/null +++ b/controllers/bugly.go @@ -0,0 +1,59 @@ +package controllers + +import ( + "autogo/dbsql" + "autogo/models" + "net/http" + + "github.com/gin-gonic/gin" +) + +// @Tags 设置相关 /api/setting/v2/ +// @Summary 新建设备 +// @Description 新建设备,UDID唯一 +// @accept x-www-form-urlencoded +// @Param xtoken formData string true "bugly请求header:XToken" +// @Param session formData string true "bugly请求cookies:bugly-session" +// @Success 200 {object} models.Response "返回创建后的设备信息" +// @Router /api/setting/v2/update_bugly_token [post] +func UpdateBuglyToken(c *gin.Context) { + rsp := NewResponse() + + xtoken := c.PostForm("xtoken") + if xtoken == "" { + c.JSON(http.StatusOK, rsp.Error("xtoken为空")) + return + } + + session := c.PostForm("session") + if session == "" { + c.JSON(http.StatusOK, rsp.Error("session为空")) + return + } + + db, err := dbsql.GetConn(dbsql.DSN) + if err != nil { + c.JSON(http.StatusOK, rsp.Error(err.Error())) + return + } + defer dbsql.Close(db) + + db.Model(models.SysMap{}).Where("name = ? AND `key` = ?", "bugly-login", "xtoken").Update("value", xtoken) + if db.Error != nil { + c.JSON(http.StatusOK, rsp.Error(db.Error.Error())) + return + } + + db.Model(models.SysMap{}).Where("name = ? AND `key` = ?", "bugly-login", "session").Update("value", session) + if db.Error != nil { + c.JSON(http.StatusOK, rsp.Error(db.Error.Error())) + return + } + + m := make(map[string]string) + m["xtoken"] = xtoken + m["session"] = session + rsp.Data = m + c.JSON(http.StatusOK, rsp.Success()) + +} diff --git a/docs/docs.go b/docs/docs.go index f039307..8eb8ce4 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -1106,6 +1106,42 @@ const docTemplate = `{ } } }, + "/api/setting/v2/update_bugly_token": { + "post": { + "description": "新建设备,UDID唯一", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "tags": [ + "设置相关 /api/setting/v2/" + ], + "summary": "新建设备", + "parameters": [ + { + "type": "string", + "description": "bugly请求header:XToken", + "name": "xtoken", + "in": "formData", + "required": true + }, + { + "type": "string", + "description": "bugly请求cookies:bugly-session", + "name": "session", + "in": "formData", + "required": true + } + ], + "responses": { + "200": { + "description": "返回创建后的设备信息", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, "/api/tool/v1/voice/list": { "get": { "description": "根据表单id获取声音评测内容,返回分组和分组文件信息", diff --git a/docs/swagger.json b/docs/swagger.json index 7b7d818..1cabb25 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -1094,6 +1094,42 @@ } } }, + "/api/setting/v2/update_bugly_token": { + "post": { + "description": "新建设备,UDID唯一", + "consumes": [ + "application/x-www-form-urlencoded" + ], + "tags": [ + "设置相关 /api/setting/v2/" + ], + "summary": "新建设备", + "parameters": [ + { + "type": "string", + "description": "bugly请求header:XToken", + "name": "xtoken", + "in": "formData", + "required": true + }, + { + "type": "string", + "description": "bugly请求cookies:bugly-session", + "name": "session", + "in": "formData", + "required": true + } + ], + "responses": { + "200": { + "description": "返回创建后的设备信息", + "schema": { + "$ref": "#/definitions/models.Response" + } + } + } + } + }, "/api/tool/v1/voice/list": { "get": { "description": "根据表单id获取声音评测内容,返回分组和分组文件信息", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index c5e3761..5bb398f 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -732,6 +732,30 @@ paths: summary: 获取应用信息 tags: - Monkey相关 /api/project/v1/ + /api/setting/v2/update_bugly_token: + post: + consumes: + - application/x-www-form-urlencoded + description: 新建设备,UDID唯一 + parameters: + - description: bugly请求header:XToken + in: formData + name: xtoken + required: true + type: string + - description: bugly请求cookies:bugly-session + in: formData + name: session + required: true + type: string + responses: + "200": + description: 返回创建后的设备信息 + schema: + $ref: '#/definitions/models.Response' + summary: 新建设备 + tags: + - 设置相关 /api/setting/v2/ /api/tool/v1/voice/list: get: consumes: diff --git a/main.go b/main.go index 29e45c2..b25d6c6 100644 --- a/main.go +++ b/main.go @@ -79,12 +79,7 @@ func main() { r.GET("/api/monkey/v1/devices", monkey.GetDevices) r.POST("/api/monkey/v1/task/crash_count", monkey.UpdateTaskCrashCount) r.PUT("/webdav/monkey/task/:id/:filename", monkey.TaskReport) - // monkey v2 - r.POST("/api/monkey/v2/create_task", monkey.CreateTaskV2) - r.POST("/api/monkey/v2/task/handle/set", monkey.UpdateHandleStatus) - r.GET("/api/monkey/v2/task/command", monkey.GetTaskCommand) - r.POST("/api/monkey/v2/task/store_anomaly", monkey.StoreMonkeyAnomaly) - r.GET("/api/monkey/v2/task/get_anomalies", monkey.GetMonkeyAnomaliesByTaskId) + // // device @@ -99,6 +94,16 @@ func main() { // 工具接口 r.GET("/api/tool/v1/voice/list", qatool.GetVoiceTestData) + ///// v2 + // monkey v2 + r.POST("/api/monkey/v2/create_task", monkey.CreateTaskV2) + r.POST("/api/monkey/v2/task/handle/set", monkey.UpdateHandleStatus) + r.GET("/api/monkey/v2/task/command", monkey.GetTaskCommand) + r.POST("/api/monkey/v2/task/store_anomaly", monkey.StoreMonkeyAnomaly) + r.GET("/api/monkey/v2/task/get_anomalies", monkey.GetMonkeyAnomaliesByTaskId) + + r.POST("/api/setting/v2/update_bugly_token", controllers.UpdateBuglyToken) + r.Run(port) } diff --git a/models/sys_mapping.go b/models/sys_mapping.go new file mode 100644 index 0000000..8c39398 --- /dev/null +++ b/models/sys_mapping.go @@ -0,0 +1,17 @@ +package models + +import "time" + +type SysMap struct { + Id int `json:"id" gorm:"column:id;type:int(11);primary_key;not null;autoIncrement;comment:主键"` + Name string `json:"name" gorm:"column:name"` + Key string `json:"key" gorm:"column:key"` + Value string `json:"value" gorm:"column:value"` + CreateTime time.Time `json:"create_time" gorm:"column:create_time;not null;autoCreateTime;comment:创建时间"` + UpdateTime time.Time `json:"update_time" gorm:"column:update_time;not null;autoUpdateTime;comment:更新时间"` + IsDel int `json:"is_del" gorm:"column:is_del;type:int(1);not null;comment:是否已删除"` +} + +func (t *SysMap) TableName() string { + return "sys_mapping" +}