feat(admin): 添加用户管理相关文件
添加用户管理视图、API和状态管理文件
This commit is contained in:
Executable
+157
@@ -0,0 +1,157 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 环境变量验证脚本
|
||||
# 用于验证.env.test文件中的环境变量是否正确配置
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== 环境变量验证 ==="
|
||||
echo ""
|
||||
|
||||
# 定义必需的环境变量
|
||||
REQUIRED_VARS=(
|
||||
"NODE_ENV"
|
||||
"TEST_ENV"
|
||||
"API_BASE_URL"
|
||||
"FRONTEND_BASE_URL"
|
||||
"DB_HOST"
|
||||
"DB_PORT"
|
||||
"DB_NAME"
|
||||
"DB_USERNAME"
|
||||
"DB_PASSWORD"
|
||||
"WECOM_WEBHOOK_URL"
|
||||
"WECOM_TABLE_ID"
|
||||
)
|
||||
|
||||
# 定义可选的环境变量
|
||||
OPTIONAL_VARS=(
|
||||
"WECOM_BOT_WEBHOOK"
|
||||
"TEST_REDIS_PORT"
|
||||
"TEST_PROMETHEUS_PORT"
|
||||
"TEST_GRAFANA_PORT"
|
||||
"GRAFANA_ADMIN_USER"
|
||||
"GRAFANA_ADMIN_PASSWORD"
|
||||
"TEST_DATA_DIR"
|
||||
"TEST_DATA_SCRIPTS_DIR"
|
||||
"TZ"
|
||||
"LOG_LEVEL"
|
||||
"LOG_FORMAT"
|
||||
"TEST_TIMEOUT"
|
||||
"TEST_RETRY_COUNT"
|
||||
"ENVIRONMENT"
|
||||
)
|
||||
|
||||
# 检查.env.test文件是否存在
|
||||
if [ ! -f ".env.test" ]; then
|
||||
echo "❌ 错误: .env.test文件不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ 找到.env.test文件"
|
||||
echo ""
|
||||
|
||||
# 加载环境变量
|
||||
set -a
|
||||
source .env.test
|
||||
set +a
|
||||
|
||||
# 验证必需的环境变量
|
||||
echo "验证必需的环境变量..."
|
||||
MISSING_VARS=()
|
||||
|
||||
for var in "${REQUIRED_VARS[@]}"; do
|
||||
if [ -z "${!var}" ]; then
|
||||
MISSING_VARS+=("$var")
|
||||
echo " ❌ $var: 未设置"
|
||||
else
|
||||
# 检查是否为占位符
|
||||
if [[ "${!var}" == *"YOUR_"* ]]; then
|
||||
echo " ⚠️ $var: 需要配置实际值 (${!var})"
|
||||
else
|
||||
echo " ✅ $var: ${!var}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
|
||||
# 验证可选的环境变量
|
||||
echo "验证可选的环境变量..."
|
||||
for var in "${OPTIONAL_VARS[@]}"; do
|
||||
if [ -z "${!var}" ]; then
|
||||
echo " ⚠️ $var: 未设置(使用默认值)"
|
||||
else
|
||||
echo " ✅ $var: ${!var}"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
|
||||
# 检查是否有缺失的必需变量
|
||||
if [ ${#MISSING_VARS[@]} -gt 0 ]; then
|
||||
echo "❌ 错误: 缺少必需的环境变量"
|
||||
echo "缺失的变量: ${MISSING_VARS[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 验证数据库连接
|
||||
echo "验证数据库连接..."
|
||||
if docker exec postgresql_dev psql -U postgres -d everything_suitable_test -c "SELECT 1" > /dev/null 2>&1; then
|
||||
echo " ✅ 数据库连接成功"
|
||||
else
|
||||
echo " ❌ 数据库连接失败"
|
||||
echo " 提示: 请确保postgresql_dev容器正在运行,并且everything_suitable_test数据库已创建"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# 验证端口可用性
|
||||
echo "验证端口可用性..."
|
||||
check_port() {
|
||||
local port=$1
|
||||
local service=$2
|
||||
if lsof -Pi :$port -sTCP:LISTEN -t >/dev/null 2>&1; then
|
||||
echo " ⚠️ 端口 $port ($service): 已被占用"
|
||||
else
|
||||
echo " ✅ 端口 $port ($service): 可用"
|
||||
fi
|
||||
}
|
||||
|
||||
check_port 5174 "前端测试服务"
|
||||
check_port 8083 "后端API测试服务"
|
||||
check_port 55432 "PostgreSQL数据库"
|
||||
|
||||
echo ""
|
||||
|
||||
# 验证企业微信配置
|
||||
echo "验证企业微信配置..."
|
||||
if [[ "$WECOM_WEBHOOK_URL" == *"YOUR_KEY"* ]]; then
|
||||
echo " ⚠️ 企业微信Webhook URL需要配置"
|
||||
else
|
||||
echo " ✅ 企业微信Webhook URL已配置"
|
||||
fi
|
||||
|
||||
if [[ "$WECOM_TABLE_ID" == *"YOUR_TABLE_ID"* ]]; then
|
||||
echo " ⚠️ 企业微信智能表格ID需要配置"
|
||||
else
|
||||
echo " ✅ 企业微信智能表格ID已配置"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# 总结
|
||||
echo "=== 验证总结 ==="
|
||||
if [ ${#MISSING_VARS[@]} -eq 0 ]; then
|
||||
echo "✅ 所有必需的环境变量已设置"
|
||||
else
|
||||
echo "❌ 有 ${#MISSING_VARS[@]} 个必需的环境变量未设置"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "提示:"
|
||||
echo "1. 请确保所有标记为 ⚠️ 的变量都已配置实际值"
|
||||
echo "2. 请确保postgresql_dev容器正在运行"
|
||||
echo "3. 请确保测试数据库已创建(运行 ./scripts/init-test-database.sh)"
|
||||
echo ""
|
||||
|
||||
echo "✅ 环境变量验证完成"
|
||||
Reference in New Issue
Block a user