chore: update command help desc
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
package builtininstall
|
||||
|
||||
import (
|
||||
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
@@ -13,6 +14,19 @@ import (
|
||||
|
||||
// Run 执行内建包安装逻辑
|
||||
func Run(args []string) {
|
||||
fs := flag.NewFlagSet("builtininstall", flag.ExitOnError)
|
||||
fs.Usage = func() {
|
||||
fmt.Fprintf(os.Stderr, "\n白虎面板内建依赖安装工具\n\n")
|
||||
fmt.Fprintf(os.Stderr, "用法:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu builtininstall\n\n")
|
||||
fmt.Fprintf(os.Stderr, "说明:\n")
|
||||
fmt.Fprintf(os.Stderr, " 此命令将为系统中已安装的 Node.js 和 Python 环境安装白虎面板所需的内建依赖包。\n\n")
|
||||
}
|
||||
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
logger.Infof("[Builtin] 开始为 mise 环境安装内建包...")
|
||||
|
||||
// 1. 确定内建包路径
|
||||
@@ -30,15 +44,15 @@ func Run(args []string) {
|
||||
}
|
||||
|
||||
// 2. 安装 Node.js 包
|
||||
installForLanguage("node", filepath.Join(builtinPath, "nodejs"), "npm install")
|
||||
installForLanguage("node", filepath.Join(builtinPath, "nodejs"))
|
||||
|
||||
// 3. 安装 Python 包
|
||||
installForLanguage("python", filepath.Join(builtinPath, "python"), "pip install -e")
|
||||
installForLanguage("python", filepath.Join(builtinPath, "python"))
|
||||
|
||||
logger.Infof("[Builtin] 内建包安装流程完成")
|
||||
}
|
||||
|
||||
func installForLanguage(lang, pkgPath, installBaseCmd string) {
|
||||
func installForLanguage(lang, pkgPath string) {
|
||||
if _, err := os.Stat(pkgPath); os.IsNotExist(err) {
|
||||
logger.Warnf("[Builtin] %s 的内建包目录不存在: %s", lang, pkgPath)
|
||||
return
|
||||
|
||||
@@ -36,6 +36,7 @@ type Config struct {
|
||||
Dependence string // Script dependence file keywords, vertical line separated
|
||||
Extensions string // Script file extensions, vertical line separated
|
||||
TaskID string
|
||||
RepoTaskID string
|
||||
TaskLanguages string
|
||||
TaskTimeout int
|
||||
CommentToTask string
|
||||
@@ -62,13 +63,31 @@ func Run(args []string) {
|
||||
fs.StringVar(&cfg.Extensions, "extensions", "", "Script extensions (| separated)")
|
||||
fs.StringVar(&cfg.TaskID, "task-id", "", "Task ID for metadata")
|
||||
fs.StringVar(&cfg.TaskLanguages, "task-langs", "", "Configured languages (JSON)")
|
||||
fs.StringVar(&cfg.TaskID, "repo-task-id", "", "Original Task ID")
|
||||
fs.StringVar(&cfg.RepoTaskID, "repo-task-id", "", "Original Task ID")
|
||||
fs.IntVar(&cfg.TaskTimeout, "task-timeout", 30, "Task timeout (minutes)")
|
||||
fs.StringVar(&cfg.CommentToTask, "commenttotask", "false", "Compatible with QL format script comment parsing (true/false)")
|
||||
fs.StringVar(&cfg.PreCommand, "pre-command", "", "Default pre-command for discovered tasks")
|
||||
fs.StringVar(&cfg.PostCommand, "post-command", "", "Default post-command for discovered tasks")
|
||||
|
||||
fs.Parse(args)
|
||||
fs.Usage = func() {
|
||||
fmt.Fprintf(os.Stderr, "\n白虎面板仓库同步工具 (Reposync)\n\n")
|
||||
fmt.Fprintf(os.Stderr, "用法:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu reposync [参数]\n\n")
|
||||
fmt.Fprintf(os.Stderr, "参数详情:\n")
|
||||
fs.PrintDefaults()
|
||||
fmt.Fprintf(os.Stderr, "\n示例:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu reposync --source-url https://github.com/xxx/repo.git --target-path $SCRIPTS_DIR$/repo1\n\n")
|
||||
}
|
||||
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if cfg.SourceURL == "" {
|
||||
fmt.Fprintf(os.Stderr, "错误: 必须提供 --source-url 参数\n")
|
||||
fs.Usage()
|
||||
return
|
||||
}
|
||||
|
||||
// 处理 $SCRIPTS_DIR$ 代号替换
|
||||
if strings.Contains(cfg.TargetPath, constant.ScriptsDirPlaceholder) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package resetpwd
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
@@ -12,6 +13,19 @@ import (
|
||||
)
|
||||
|
||||
func Run(args []string) {
|
||||
fs := flag.NewFlagSet("resetpwd", flag.ExitOnError)
|
||||
fs.Usage = func() {
|
||||
fmt.Fprintf(os.Stderr, "\n白虎面板用户密码重置工具\n\n")
|
||||
fmt.Fprintf(os.Stderr, "用法:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu resetpwd [用户名]\n\n")
|
||||
fmt.Fprintf(os.Stderr, "示例:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu resetpwd admin\n\n")
|
||||
}
|
||||
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 基础环境初始化
|
||||
bootstrap.InitBasic()
|
||||
settingsService := services.NewSettingsService()
|
||||
@@ -22,9 +36,9 @@ func Run(args []string) {
|
||||
userService := services.NewUserService()
|
||||
|
||||
var username string
|
||||
|
||||
if len(args) >= 1 {
|
||||
username = args[0]
|
||||
parsedArgs := fs.Args()
|
||||
if len(parsedArgs) >= 1 {
|
||||
username = parsedArgs[0]
|
||||
} else {
|
||||
username = "admin"
|
||||
}
|
||||
|
||||
+20
-4
@@ -1,6 +1,7 @@
|
||||
package restore
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -10,12 +11,27 @@ import (
|
||||
)
|
||||
|
||||
func Run(args []string) {
|
||||
if len(args) < 1 {
|
||||
fmt.Println("用法: baihu restore <backup_file.zip>")
|
||||
os.Exit(1)
|
||||
fs := flag.NewFlagSet("restore", flag.ExitOnError)
|
||||
fs.Usage = func() {
|
||||
fmt.Fprintf(os.Stderr, "\n白虎面板系统数据恢复工具\n\n")
|
||||
fmt.Fprintf(os.Stderr, "用法:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu restore <备份文件.zip>\n\n")
|
||||
fmt.Fprintf(os.Stderr, "示例:\n")
|
||||
fmt.Fprintf(os.Stderr, " baihu restore backup_20231027.zip\n\n")
|
||||
}
|
||||
|
||||
backupFile := args[0]
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
parsedArgs := fs.Args()
|
||||
if len(parsedArgs) < 1 {
|
||||
fmt.Fprintf(os.Stderr, "错误: 必须提供备份文件路径\n")
|
||||
fs.Usage()
|
||||
return
|
||||
}
|
||||
|
||||
backupFile := parsedArgs[0]
|
||||
absPath, err := filepath.Abs(backupFile)
|
||||
if err != nil {
|
||||
fmt.Printf("文件路径解析失败: %v\n", err)
|
||||
|
||||
@@ -13,29 +13,29 @@ import (
|
||||
// @version 1.0
|
||||
// @description Baihu Panel OpenAPI Server documentation.
|
||||
// @termsOfService http://swagger.io/terms/
|
||||
|
||||
// @contact.name API Support
|
||||
// @contact.url http://www.swagger.io/support
|
||||
// @contact.email support@swagger.io
|
||||
|
||||
// @license.name Apache 2.0
|
||||
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
|
||||
// @host localhost:8052
|
||||
// @BasePath /open2api/v1
|
||||
// @query.collection.format multi
|
||||
|
||||
// @securityDefinitions.apikey BearerAuth
|
||||
// @in header
|
||||
// @name Authorization
|
||||
// @description Type "Bearer" followed by a space and the API token.
|
||||
|
||||
func printHelp() {
|
||||
fmt.Println("Usage: baihu <command> [arguments]")
|
||||
fmt.Println("Available commands:")
|
||||
fmt.Println("\n白虎面板 (Baihu Panel) - 现代化的服务器管理面板")
|
||||
fmt.Println("用法:")
|
||||
fmt.Println(" baihu <命令> [参数]")
|
||||
fmt.Println("可用命令:")
|
||||
for _, info := range constant.Commands {
|
||||
fmt.Printf(" %-12s %s\n", info.Name, info.Description)
|
||||
fmt.Printf(" %-15s %s\n", info.Name, info.Description)
|
||||
}
|
||||
fmt.Println("\n使用 'baihu <命令> --help' 查看具体命令的参数说明。")
|
||||
fmt.Println()
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
Reference in New Issue
Block a user