Ai
1 Star 0 Fork 1

flyiot/flylibs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.go 1.90 KB
一键复制 编辑 原始数据 按行查看 历史
flyrainning 提交于 2023-04-10 13:12 +08:00 . u
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"gitee.com/flyiot/flylibs/FlyWebRoots"
)
var ()
func main() {
if len(os.Args) < 2 {
printHelp()
}
switch os.Args[1] {
case "build_wwwroot_go":
cmd_build_wwwroot_go()
case "build_wwwroot_file":
cmd_build_wwwroot_file()
default:
printHelp()
}
}
func printHelp() {
fmt.Println("")
fmt.Println("flylibs tools")
fmt.Println("")
fmt.Println("flylibs build_wwwroot_go <wwwroot dir>")
fmt.Println("")
fmt.Println("flylibs build_wwwroot_file <wwwroot dir> <file name>")
fmt.Println("")
os.Exit(0)
}
func cmd_build_wwwroot_file() error {
p := "."
if len(os.Args) >= 3 && os.Args[2] != "" {
p = os.Args[2]
}
t := "./wwwroot"
if len(os.Args) >= 4 && os.Args[3] != "" {
t = os.Args[3]
}
fwr := FlyWebRoots.NewFlyWebRoot()
encodeString, err := fwr.BuildWebRoot(p)
if err != nil {
fmt.Println(err)
return err
}
err = ioutil.WriteFile(t, []byte(encodeString), 0777)
if err != nil {
fmt.Println(err)
return err
}
fmt.Println("Done !")
return nil
}
func cmd_build_wwwroot_go() {
p := "."
if len(os.Args) >= 3 && os.Args[2] != "" {
p = os.Args[2]
}
t := "./"
if len(os.Args) >= 4 && os.Args[3] != "" {
t = os.Args[3]
}
if err := buildWebRootFromDir(p, t); err != nil {
fmt.Println(err)
} else {
fmt.Println("Done !")
}
}
// 将目录打包成wwwroot.go
func buildWebRootFromDir(dir, target string) error {
fwr := FlyWebRoots.NewFlyWebRoot()
// 完成zip打包,进行编码,写入文件
encodeString, err := fwr.BuildWebRoot(dir)
if err != nil {
return err
}
c := `package DefaultWebRoot
import (
flywwwroot "gitee.com/flyiot/flylibs/FlyWebRoots"
)
func init(){
flywwwroot.LoadDefaultData("` + encodeString + `")
}`
// 写入文件
os.MkdirAll(filepath.Join(target, "DefaultWebRoot"), os.ModePerm)
ioutil.WriteFile(filepath.Join(target, "DefaultWebRoot/wwwroot.go"), []byte(c), 0777)
return nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/flyiot/flylibs.git
git@gitee.com:flyiot/flylibs.git
flyiot
flylibs
flylibs
b9c81f1c9857

搜索帮助