chore: update command help desc

This commit is contained in:
duorameng
2026-05-09 08:51:08 +08:00
parent 9c174d8db2
commit f5f761e7ef
5 changed files with 83 additions and 20 deletions
+18 -4
View File
@@ -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
+21 -2
View File
@@ -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) {
+17 -3
View File
@@ -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
View File
@@ -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)
+7 -7
View File
@@ -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() {