| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- 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,
- })
- })
- }
|