first commit
This commit is contained in:
+112
@@ -0,0 +1,112 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/cdle/sillyplus/utils"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type Master struct {
|
||||
Platform string `json:"platform"`
|
||||
Nickname string `json:"nickname"`
|
||||
ID string `json:"number"`
|
||||
Index int `json:"id"`
|
||||
Unix int `json:"unix"`
|
||||
}
|
||||
|
||||
func init() {
|
||||
GinApi(GET, "/api/master/list", func(c *gin.Context) {
|
||||
plts := getPltsArray()
|
||||
ms := []Master{}
|
||||
i := 1
|
||||
for _, plt := range plts {
|
||||
v := MakeBucket(plt)
|
||||
masters := strings.Split(v.GetString("masters"), "&")
|
||||
for _, master := range masters {
|
||||
if master == "" {
|
||||
continue
|
||||
}
|
||||
nk := Nickname{ID: master}
|
||||
nickname.First(&nk)
|
||||
ms = append(ms, Master{
|
||||
Platform: plt,
|
||||
Nickname: nk.Value,
|
||||
ID: master,
|
||||
Index: i,
|
||||
Unix: nk.Unix,
|
||||
})
|
||||
i++
|
||||
}
|
||||
}
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": true,
|
||||
"data": ms,
|
||||
"platforms": getPltsLabel(),
|
||||
})
|
||||
})
|
||||
GinApi(POST, "/api/master", func(c *gin.Context) {
|
||||
m := Master{}
|
||||
c.BindJSON(&m)
|
||||
if m.ID == "" {
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": false,
|
||||
"errorMessage": "缺少号码字段",
|
||||
})
|
||||
return
|
||||
}
|
||||
if m.Platform == "" {
|
||||
nk := Nickname{ID: m.ID}
|
||||
nickname.First(&nk)
|
||||
if nk.Platform != "" {
|
||||
m.Platform = nk.Platform
|
||||
}
|
||||
}
|
||||
if m.Platform == "" {
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": false,
|
||||
"errorMessage": "缺少平台字段",
|
||||
})
|
||||
return
|
||||
}
|
||||
v := MakeBucket(m.Platform)
|
||||
masters := strings.Split(v.GetString("masters"), "&")
|
||||
v.Set("masters", strings.Join(utils.Unique(masters, m.ID), "&"))
|
||||
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": true,
|
||||
})
|
||||
})
|
||||
GinApi(DELETE, "/api/master", func(c *gin.Context) {
|
||||
m := Master{}
|
||||
c.BindJSON(&m)
|
||||
if m.ID == "" {
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": false,
|
||||
"errorMessage": "缺少账号字段",
|
||||
})
|
||||
return
|
||||
}
|
||||
if m.Platform == "" {
|
||||
nk := Nickname{ID: m.ID}
|
||||
nickname.First(&nk)
|
||||
if nk.Platform != "" {
|
||||
m.Platform = nk.Platform
|
||||
}
|
||||
}
|
||||
if m.Platform == "" {
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": false,
|
||||
"errorMessage": "缺少平台字段",
|
||||
})
|
||||
return
|
||||
}
|
||||
v := MakeBucket(m.Platform)
|
||||
masters := strings.Split(v.GetString("masters"), "&")
|
||||
v.Set("masters", strings.Join(utils.Remove(masters, m.ID), "&"))
|
||||
|
||||
c.JSON(200, map[string]interface{}{
|
||||
"success": true,
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user