This commit is contained in:
1-6
2023-07-28 12:12:32 +08:00
parent a1de3097c8
commit ee0ceededf
6 changed files with 40 additions and 5 deletions
+2 -1
View File
@@ -24,7 +24,7 @@ type Language struct {
} }
var plugin_dir = utils.ExecPath + "/plugins" var plugin_dir = utils.ExecPath + "/plugins"
var release = "20230727" var release = "20230728"
var languages = []Language{ var languages = []Language{
{ {
@@ -46,6 +46,7 @@ var languages = []Language{
Version: release, Version: release,
Os: "windows", Os: "windows",
Arch: "amd64", Arch: "amd64",
Links: []string{"https://gitee.com/sillybot/binary/releases/download/" + release + "/node_windows_amd64.zip"},
}, },
} }
+4 -1
View File
@@ -234,6 +234,7 @@ func AddNodePlugin(path, name string) error {
if err != nil { if err != nil {
return err return err
} }
defer file.Close()
data, err := ioutil.ReadAll(file) data, err := ioutil.ReadAll(file)
if err != nil { if err != nil {
return err return err
@@ -336,7 +337,9 @@ func AddNodePlugin(path, name string) error {
defer func() { defer func() {
recover() recover()
}() }()
p.Process.Kill() if p.Process.Kill() == nil {
processes.Delete(key)
}
}() }()
} }
return true return true
+17
View File
@@ -6,6 +6,7 @@ import (
"io" "io"
"net/http" "net/http"
"os" "os"
"os/exec"
"path/filepath" "path/filepath"
"reflect" "reflect"
"regexp" "regexp"
@@ -179,6 +180,22 @@ func initPlugins() {
go f.Reload() go f.Reload()
} else if new == "" { } else if new == "" {
ss := strings.Split(filename, "/") ss := strings.Split(filename, "/")
processes.Range(func(key, value any) bool { //先停止脚本,避免windows锁定文件
p := key.(*exec.Cmd)
s := value.(common.Sender)
if s.GetPluginID() == f.UUID {
console.Log("已终止 % s", f.Title)
func() {
defer func() {
recover()
}()
if p.Process.Kill() == nil {
processes.Delete(key)
}
}()
}
return true
})
os.RemoveAll(filepath.Dir(filename)) os.RemoveAll(filepath.Dir(filename))
// fmt.Println(strings.Join(ss, " ")) // fmt.Println(strings.Join(ss, " "))
if len(ss) > 2 { if len(ss) > 2 {
+5 -1
View File
@@ -45,7 +45,11 @@ declare class Bucket {
changed?: boolean; changed?: boolean;
}>; }>;
getAll(): Promise<any>; getAll(): Promise<any>;
delete(): Promise<undefined>; delete(key: string): Promise<{
message?: string | undefined;
changed?: boolean | undefined;
}>;
deleteAll(): Promise<undefined>;
keys(): Promise<string[] | undefined>; keys(): Promise<string[] | undefined>;
len(): Promise<number | undefined>; len(): Promise<number | undefined>;
buckets(): Promise<string[] | undefined>; buckets(): Promise<string[] | undefined>;
+4 -1
View File
@@ -449,7 +449,10 @@ class Bucket {
}); });
}); });
} }
async delete() { async delete(key) {
return this.set(key, "");
}
async deleteAll() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
client.BucketDelete(new srpc_1.srpc.BucketRequest({ name: this.name }), (err, resp) => { client.BucketDelete(new srpc_1.srpc.BucketRequest({ name: this.name }), (err, resp) => {
if (err) { if (err) {
+8 -1
View File
@@ -499,7 +499,14 @@ class Bucket {
}); });
} }
async delete(): Promise<undefined> { async delete(key: string): Promise<{
message?: string | undefined;
changed?: boolean | undefined;
}> {
return this.set(key, "");
}
async deleteAll(): Promise<undefined> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
client.BucketDelete( client.BucketDelete(
new srpc.BucketRequest({ name: this.name }), new srpc.BucketRequest({ name: this.name }),