美化终端脚本 UI 并修复对齐与闪屏

- 配色体系:256 色语义色板(primary/accent/success/warn/danger)与统一图标常量
- 修复右边框对齐:ctms_text_width 用 perl 精确计算显示宽度,剥离 sgr0 的 \e(B 序列
- 修复菜单闪屏:改用光标归位原地覆盖重绘,去掉每帧清屏
- 美化各面板:install.sh banner/确认/成功框、根菜单、status.sh 资源表格,标签列对齐
- 新增 ctms_pad_right 按显示宽度填充含中文标签

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cheng Zhou
2026-06-23 15:24:22 +08:00
parent c351ca59c4
commit efc325568d
10 changed files with 1101 additions and 310 deletions
+44
View File
@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=scripts/common.sh
source "$SCRIPT_DIR/common.sh"
usage() {
cat <<EOF
${C_BOLD}用法:${C_RESET}
bash scripts/uninstall.sh <环境>
${C_BOLD}环境:${C_RESET}
dev | main | release
${C_BOLD}说明:${C_RESET}
默认仅停止并移除对应 Compose 项目的容器和网络。
不删除 .env、pg_data、Docker volume 或镜像。
EOF
}
main() {
if [[ $# -ne 1 ]]; then
usage
exit 1
fi
local env="$1"
local project=""
ctms_require_env "$env"
project="$(ctms_project_name "$env")"
ctms_require_docker_compose
ctms_confirm_danger \
"停止并移除 CTMS 容器" \
"Compose 项目 ${project};不会删除 .env、pg_data、volume 或镜像。" \
"服务会停止,对外访问中断;数据默认保留。"
cd "$CTMS_ROOT_DIR"
ctms_compose "$env" down
ctms_ok "容器已停止并移除,数据文件未删除"
}
main "$@"