x
This commit is contained in:
+2
-1
@@ -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"},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Vendored
+5
-1
@@ -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
@@ -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
@@ -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 }),
|
||||||
|
|||||||
Reference in New Issue
Block a user