This commit is contained in:
1-6
2023-07-17 09:36:07 +08:00
parent a338fd5fb8
commit 568d9fc3cf
5 changed files with 51 additions and 26 deletions
+1 -1
View File
@@ -8,6 +8,6 @@
</head>
<body>
<div id="root"></div>
<script src="/admin/umi.ce22547e.js"></script>
<script src="/admin/umi.d07105ee.js"></script>
</body></html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+47 -23
View File
@@ -28,21 +28,23 @@ type Sender struct {
ChatID string `json:"chat_id"`
UserID string `json:"user_id"`
Platfrom string `json:"platform"`
BotID string `json:"bot_id"`
}
type Tasks struct {
Index int `json:"id"` //编号 顺序编号
ID string `json:"task_id"` //任务ID
Title string `json:"title"` //任务名
Schedule string `json:"schedule"` //计划时间
Senders []Sender `json:"senders"` //发送人
Command string `json:"command"` //消息指令
Scripts []string `json:"scripts"` //触发脚本
CronID int `json:"cron_id"`
CreatedAt int `json:"created_at"` //创建时间戳(秒)转换成日期
Remark string `json:"remark"`
Enable bool `json:"enable"`
Handle func() `json:"-"`
Index int `json:"id"` //编号 顺序编号
ID string `json:"task_id"` //任务ID
Title string `json:"title"` //任务名
Schedule string `json:"schedule"` //计划时间
Senders []Sender `json:"senders"` //发送人
Command string `json:"command"` //消息指令
Scripts []string `json:"scripts"` //触发脚本
CronID int `json:"cron_id"`
CreatedAt int `json:"created_at"` //创建时间戳(秒)转换成日期
Remark string `json:"remark"`
Enable bool `json:"enable"`
Handle func() `json:"-"`
Icons []interface{} `json:"icons"`
}
var pts = []*Tasks{}
@@ -51,7 +53,7 @@ func RegistTasks(pt *Tasks) {
pt.Handle = func() {
content := pt.Command
for _, meta := range pt.Senders {
adapter, _ := GetAdapter(meta.Platfrom, "")
adapter, _ := GetAdapter(meta.Platfrom, meta.BotID)
if adapter != nil {
sender := adapter.Sender()
sender.SetFsps(&common.FakerSenderParams{
@@ -96,8 +98,8 @@ func init() {
return nil
})
sort.Sort(byCreatedAt2(pts))
for i := range cgs {
cgs[i].Index = i + 1
for i := range pts {
pts[i].Index = i + 1
}
storage.Watch(tasks, nil, func(old, new, key string) *storage.Final {
console.Log("已更新计划任务")
@@ -173,6 +175,22 @@ func init() {
begin = end
}
rr.Data = pts[begin:end]
for i := range rr.Data {
rr.Data[i].Icons = []interface{}{}
for _, script := range rr.Data[i].Scripts {
for _, f := range Functions {
if f.UUID == script {
if f.Icon != "" {
rr.Data[i].Icons = append(rr.Data[i].Icons, map[string]interface{}{
"link": f.Icon,
"title": f.Title,
})
break
}
}
}
}
}
ctx.JSON(200, rr)
})
GinApi(POST, "/api/tasks", RequireAuth, func(ctx *gin.Context) {
@@ -230,6 +248,7 @@ func init() {
"success": false,
"errorMessage": "Senders错误:" + err.Error(),
})
return
}
tp.Senders = ss
case "command":
@@ -319,28 +338,33 @@ func init() {
err := json.Unmarshal(b2, v)
if err == nil {
if v.Group {
if Contains(user_ids, code) {
user_names = append(user_names, NicklabeL{
Label: fmt.Sprintf("%s(%s)", v.Value, code),
Value: code,
})
}
} else {
if Contains(chat_ids, code) {
group_names = append(group_names, NicklabeL{
Label: fmt.Sprintf("%s(%s)", v.Value, code),
Value: code,
})
}
} else {
if Contains(user_ids, code) {
user_names = append(user_names, NicklabeL{
Label: fmt.Sprintf("%s(%s)", v.Value, code),
Value: code,
})
}
}
}
return nil
})
platforms := map[string][]string{}
for _, plt := range getPltsArray() {
platforms[plt] = GetAdapterBotsID(plt)
}
ctx.JSON(200, map[string]interface{}{
"success": true,
"data": map[string]interface{}{
"scripts": scripts,
"platforms": getPltsArray(),
"platforms": platforms,
"user_names": user_names,
"group_names": group_names,
},