diff --git a/Logs/dsSso.log b/Logs/dsSso.log new file mode 100644 index 00000000..b49e6abf --- /dev/null +++ b/Logs/dsSso.log @@ -0,0 +1,8 @@ +[Error]2020/08/24 16:43:34 SqlQueryError sql: expected 1 arguments, got 3 +[Error]2020/08/24 16:44:31 SqlQueryError sql: expected 1 arguments, got 3 +[Error]2020/08/24 16:49:43 SqlQueryError sql: expected 1 arguments, got 3 +[Error]2020/08/24 16:49:43 SqlQueryError WRONGTYPE Operation against a key holding the wrong kind of value +[Error]2020/08/24 16:59:45 SqlQueryError sql: expected 1 arguments, got 3 +[Error]2020/08/24 16:59:45 SqlQueryError WRONGTYPE Operation against a key holding the wrong kind of value +[Error]2020/08/24 17:16:04 SqlQueryError sql: expected 1 arguments, got 3 +[Error]2020/08/24 17:16:04 SqlQueryError WRONGTYPE Operation against a key holding the wrong kind of value diff --git a/dsSupport/Html/Icon/5F43FDBE-8425-4001-9EBD-D53838148716.jpg b/dsSupport/Html/Icon/5F43FDBE-8425-4001-9EBD-D53838148716.jpg new file mode 100644 index 00000000..9e9ca9d6 Binary files /dev/null and b/dsSupport/Html/Icon/5F43FDBE-8425-4001-9EBD-D53838148716.jpg differ diff --git a/dsSupport/Html/Icon/84557563-6399-48D7-98B5-BB60A9A3E7E7.jpg b/dsSupport/Html/Icon/84557563-6399-48D7-98B5-BB60A9A3E7E7.jpg new file mode 100644 index 00000000..9e9ca9d6 Binary files /dev/null and b/dsSupport/Html/Icon/84557563-6399-48D7-98B5-BB60A9A3E7E7.jpg differ diff --git a/dsSupport/Html/Icon/C73433A6-BFEC-4EAC-9543-A6F935739571.jpg b/dsSupport/Html/Icon/C73433A6-BFEC-4EAC-9543-A6F935739571.jpg new file mode 100644 index 00000000..9e9ca9d6 Binary files /dev/null and b/dsSupport/Html/Icon/C73433A6-BFEC-4EAC-9543-A6F935739571.jpg differ diff --git a/dsSupport/Shell/debug.sh b/dsSupport/Shell/debug.sh new file mode 100644 index 00000000..1eab0eeb --- /dev/null +++ b/dsSupport/Shell/debug.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# 杀掉进程 +kill -9 `pgrep -f dsSupport` 2>/dev/null +sleep 3 + +cd /usr/local/dsMin/dsSupport +chmod +x dsSupport +# 运行为后台进程1 +/usr/local/dsMin/dsSupport/dsSupport diff --git a/dsSupport/Shell/start.sh b/dsSupport/Shell/start.sh new file mode 100644 index 00000000..2946f3f7 --- /dev/null +++ b/dsSupport/Shell/start.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# 杀掉进程 +kill -9 `pgrep -f dsSupport` 2>/dev/null +sleep 3 + +chmod +x dsBaseWeb +# 运行为后台进程 +nohup /usr/local/dsMin/dsSupport/dsSupport >> /usr/local/dsMin/dsSupport/dsSupport.log 2>&1 & diff --git a/dsSupport/Shell/stop.sh b/dsSupport/Shell/stop.sh new file mode 100644 index 00000000..c0be333c --- /dev/null +++ b/dsSupport/Shell/stop.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +# kill 命令不使用 -9 参数时,会回调 onStop() 方法,确定不需要此回调建议使用 -9 参数 +kill -9 `pgrep -f dsSupport` 2>/dev/null diff --git a/dsSupport/Tools/Distribute.go b/dsSupport/Tools/Distribute.go new file mode 100644 index 00000000..5ef0e7c2 --- /dev/null +++ b/dsSupport/Tools/Distribute.go @@ -0,0 +1,41 @@ +package main + +import ( + "dsSupport/Utils/ConfigUtil" + "dsSupport/Utils/SftpUtil" + "dsSupport/Utils/SshUtil" + "io/ioutil" + "log" +) + +func main() { + var buildPath=ConfigUtil.DistributeLocalPath+"/build" + //声明远端SSH管理器 + cli := SshUtil.New(ConfigUtil.DistributeIp, ConfigUtil.DistributeUser, ConfigUtil.DistributePwd,int(ConfigUtil.DistributePort)) + //杀掉进程 + cli.Run("ps -ef |grep dsSupport |awk '{print $2}'|xargs kill -9") + + //sftp上传文件及文件夹 + sftpClient, err := SftpUtil.Connect(ConfigUtil.DistributeUser, ConfigUtil.DistributePwd, ConfigUtil.DistributeIp,int(ConfigUtil.DistributePort)) + if err != nil { + log.Fatal(err) + } + defer sftpClient.Close() + _, errStat := sftpClient.Stat(ConfigUtil.DistributeRemotePath) + if errStat != nil { + log.Fatal(ConfigUtil.DistributeRemotePath + " remote path not exists!") + } + _, err = ioutil.ReadDir(buildPath) + if err != nil { + log.Fatal(buildPath + " local path not exists!") + } + SftpUtil.UploadDirectory(sftpClient, buildPath, ConfigUtil.DistributeRemotePath) + //执行SSH命令行,授权 + cli.Run("chmod +x /usr/local/dsMin/dsSupport/dsSupport") + cli.Run("chmod +x /usr/local/dsMin/dsSupport/start.sh") + cli.Run("chmod +x /usr/local/dsMin/dsSupport/debug.sh") + cli.Run("chmod +x /usr/local/dsMin/dsSupport/stop.sh") + //启动 + cli.Run("cd /usr/local/dsMin/dsSupport && ./start.sh") + log.Println("恭喜,基础数据WEB服务上传并启动成功!") +} diff --git a/dsSupport/Tools/upx.exe b/dsSupport/Tools/upx.exe new file mode 100644 index 00000000..7f89f50a Binary files /dev/null and b/dsSupport/Tools/upx.exe differ diff --git a/dsSupport/Utils/CacheUtil/DaoCache.go b/dsSupport/Utils/CacheUtil/DaoCache.go index 73b93032..db836128 100644 --- a/dsSupport/Utils/CacheUtil/DaoCache.go +++ b/dsSupport/Utils/CacheUtil/DaoCache.go @@ -9,6 +9,7 @@ import ( "fmt" "github.com/go-redis/redis/v7" "reflect" + "regexp" "strconv" "strings" "time" @@ -143,8 +144,15 @@ func batchReadRedis(ids []string, prefix string) ([]map[string]interface{}, []st */ func count(baseSql string, pkField string, args []interface{}) (int32, error) { //替换掉分页代码,获取数据量总数 +<<<<<<< HEAD countSql := strings.Replace(baseSql, "SELECT "+pkField+" ", "SELECT count(*) as count ", -1) +======= + reg := regexp.MustCompile(`SELECT ` + pkField + ` `) + //countSql := strings.Replace(baseSql, "SELECT "+pkField+" ", "SELECT count(*) as count ", -1) + countSql := reg.ReplaceAllString(baseSql, "SELECT count(*) as count ") + fmt.Println("countSql==", countSql) +>>>>>>> 95579714412c143215c3682114f3a381c87654f0 var count int32 //去掉最后的limit+offset args = args[0 : len(args)-2] diff --git a/dsSupport/Utils/SftpUtil/SftpUtil.go b/dsSupport/Utils/SftpUtil/SftpUtil.go new file mode 100644 index 00000000..ee0f108f --- /dev/null +++ b/dsSupport/Utils/SftpUtil/SftpUtil.go @@ -0,0 +1,95 @@ +package SftpUtil + +import ( + "fmt" + "github.com/pkg/sftp" + "golang.org/x/crypto/ssh" + "io/ioutil" + "log" + "os" + "path" + "path/filepath" + "time" +) + +func Connect(user, password, host string, port int) (*sftp.Client, error) { + var ( + auth []ssh.AuthMethod + addr string + clientConfig *ssh.ClientConfig + sshClient *ssh.Client + sftpClient *sftp.Client + err error + ) + // get auth method + auth = make([]ssh.AuthMethod, 0) + auth = append(auth, ssh.Password(password)) + + clientConfig = &ssh.ClientConfig{ + User: user, + Auth: auth, + Timeout: 30 * time.Second, + HostKeyCallback: ssh.InsecureIgnoreHostKey(), //ssh.FixedHostKey(hostKey), + } + + // connet to ssh + addr = fmt.Sprintf("%s:%d", host, port) + if sshClient, err = ssh.Dial("tcp", addr, clientConfig); err != nil { + return nil, err + } + + // create sftp client + if sftpClient, err = sftp.NewClient(sshClient); err != nil { + return nil, err + } + return sftpClient, nil +} + +func UploadFile(sftpClient *sftp.Client, localFilePath string, remotePath string) { + srcFile, err := os.Open(localFilePath) + if err != nil { + fmt.Println("os.Open error : ", localFilePath) + log.Fatal(err) + + } + defer srcFile.Close() + //golang中path.Base(pathString)函数,pathString的值必须为 linux 风格的路径,即 "/" 才能够正常的获取最后的路径段的值。 + localFilePath = filepath.ToSlash(localFilePath) + var remoteFileName = path.Base(localFilePath) + + dstFile, err := sftpClient.Create(path.Join(remotePath, remoteFileName)) + if err != nil { + fmt.Println("sftpClient.Create error : ", path.Join(remotePath, remoteFileName)) + log.Fatal(err) + + } + defer dstFile.Close() + + ff, err := ioutil.ReadAll(srcFile) + if err != nil { + fmt.Println("ReadAll error : ", localFilePath) + log.Fatal(err) + + } + dstFile.Write(ff) + fmt.Println(localFilePath + " copy file to remote server finished!") +} + +func UploadDirectory(sftpClient *sftp.Client, localPath string, remotePath string) { + localFiles, err := ioutil.ReadDir(localPath) + if err != nil { + log.Fatal("read dir list fail ", err) + } + for _, backupDir := range localFiles { + localFilePath := path.Join(localPath, backupDir.Name()) + remoteFilePath := path.Join(remotePath, backupDir.Name()) + if backupDir.IsDir() { + sftpClient.Mkdir(remoteFilePath) + UploadDirectory(sftpClient, localFilePath, remoteFilePath) + } else { + UploadFile(sftpClient, path.Join(localPath, backupDir.Name()), remotePath) + } + } + + fmt.Println(localPath + " copy directory to remote server finished!") +} diff --git a/dsSupport/Utils/SshUtil/SshUtil.go b/dsSupport/Utils/SshUtil/SshUtil.go new file mode 100644 index 00000000..31e2d31f --- /dev/null +++ b/dsSupport/Utils/SshUtil/SshUtil.go @@ -0,0 +1,65 @@ +package SshUtil + +import ( + "fmt" + "golang.org/x/crypto/ssh" + "net" + "time" +) + +type Cli struct { + IP string + Username string + Password string + Port int + client *ssh.Client + LastResult string +} + +func New(ip string, username string, password string, port ...int) *Cli { + cli := new(Cli) + cli.IP = ip + cli.Username = username + cli.Password = password + if len(port) <= 0 { + cli.Port = 22 + } else { + cli.Port = port[0] + } + return cli +} + +func (c Cli) Run(shell string) (string, error) { + if c.client == nil { + if err := c.connect(); err != nil { + return "", err + } + } + session, err := c.client.NewSession() + if err != nil { + return "", err + } + defer session.Close() + buf, err := session.CombinedOutput(shell) + + c.LastResult = string(buf) + return c.LastResult, err +} +//连接 +func (c *Cli) connect() error { + config := ssh.ClientConfig{ + User: c.Username, + Auth: []ssh.AuthMethod{ssh.Password(c.Password)}, + HostKeyCallback: func(hostname string, remote net.Addr, key ssh.PublicKey) error { + return nil + }, + Timeout: 10 * time.Second, + } + addr := fmt.Sprintf("%s:%d", c.IP, c.Port) + sshClient, err := ssh.Dial("tcp", addr, &config) + if err != nil { + return err + } + c.client = sshClient + return nil +} diff --git a/dsSupport/go.mod b/dsSupport/go.mod index 97eba501..77ac3328 100644 --- a/dsSupport/go.mod +++ b/dsSupport/go.mod @@ -14,13 +14,13 @@ require ( github.com/fatih/structs v1.1.0 // indirect github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/gin-gonic/gin v1.6.3 - github.com/go-redis/redis v6.15.9+incompatible github.com/go-redis/redis/v7 v7.4.0 github.com/go-sql-driver/mysql v1.5.0 github.com/golang/protobuf v1.4.1 github.com/golang/snappy v0.0.1 // indirect github.com/oklog/ulid v1.3.1 github.com/olivere/elastic/v7 v7.0.20 + github.com/pkg/sftp v1.12.0 github.com/rs/xid v1.2.1 github.com/satori/go.uuid v1.2.0 github.com/swaggo/gin-swagger v1.2.0 @@ -29,6 +29,7 @@ require ( github.com/xormplus/builder v0.0.0-20200331055651-240ff40009be github.com/xormplus/core v0.0.0-20200308074340-f3bce19d5f31 github.com/xormplus/xorm v0.0.0-20200731130200-6811f3bde592 + golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a golang.org/x/sys v0.0.0-20200821140526-fda516888d29 // indirect google.golang.org/grpc v1.31.0 google.golang.org/protobuf v1.25.0 diff --git a/dsSupport/go.sum b/dsSupport/go.sum index 921349ed..24781677 100644 --- a/dsSupport/go.sum +++ b/dsSupport/go.sum @@ -63,8 +63,6 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= -github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-redis/redis/v7 v7.4.0 h1:7obg6wUoj05T0EpY0o8B59S9w5yeMWql7sw2kwNW1x4= github.com/go-redis/redis/v7 v7.4.0/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= @@ -100,6 +98,8 @@ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFF github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -130,6 +130,8 @@ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYr github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.12.0 h1:/f3b24xrDhkhddlaobPe2JgBqfdt+gC/NYl0QY9IOuI= +github.com/pkg/sftp v1.12.0/go.mod h1:fUqqXB5vEgVCZ131L+9say31RAri6aF6KDViawhxKK8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= @@ -144,6 +146,7 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/swaggo/gin-swagger v1.2.0 h1:YskZXEiv51fjOMTsXrOetAjrMDfFaXD79PEoQBOe2W0= github.com/swaggo/gin-swagger v1.2.0/go.mod h1:qlH2+W7zXGZkczuL+r2nEBR2JTT+/lX05Nn6vPhc7OI= github.com/swaggo/swag v1.5.1 h1:2Agm8I4K5qb00620mHq0VJ05/KT4FtmALPIcQR9lEZM= @@ -169,6 +172,8 @@ github.com/xormplus/xorm v0.0.0-20200731130200-6811f3bde592 h1:uZkSqOig4izJR611D github.com/xormplus/xorm v0.0.0-20200731130200-6811f3bde592/go.mod h1:+v6b10b4x5IcQmp1/Cbo9IqaknxVeuhQng+fhya6bdI= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -180,6 +185,7 @@ golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -197,11 +203,13 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181228144115-9a3f9b0469bb/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200821140526-fda516888d29 h1:mNuhGagCf3lDDm5C0376C/sxh6V7fy9WbdEu/YDNA04= golang.org/x/sys v0.0.0-20200821140526-fda516888d29/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= @@ -255,5 +263,6 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/dsSupport/一键发布.cmd b/dsSupport/一键发布.cmd new file mode 100644 index 00000000..19b407af --- /dev/null +++ b/dsSupport/一键发布.cmd @@ -0,0 +1,17 @@ +:: Windows汾 -ldflags "-s -w" +go build -o ./WinBuild/Distribute.exe ./Tools/Distribute.go + +:: Linux汾 +SET GOOS=linux +SET GOARCH=amd64 +go build -gcflags "all=-N -l" -o ./build/dsSupport main.go + +:: Դļ +xcopy .\Shell\* .\build\ /y /e /i /q +xcopy .\docs\* .\build\docs /y /e /i /q +xcopy .\Config\* .\build\Config /y /e /i /q + +:: ϴļ +.\WinBuild\Distribute.exe + +pause \ No newline at end of file