前端: - 新增 EmptyLayout 空壳布局(无侧边栏/导航) - 新增 requestNoAuth Axios 实例(不注入 token) - 新增 integralExternal 路由模块(/integral-external/*) - permission.js 加入 whiteListPrefixes 前缀白名单跳过登录 - 新增 phoneDesensitize 手机号脱敏过滤器 - 新增三个免认证页面: · 积分订单页(/integral-external/order) · 用户积分页(/integral-external/user,手机号脱敏) · 用户积分明细子页(/integral-external/user/integral-detail) 后端: - 新增 ExternalIntegralController(无 @PreAuthorize) · GET /api/external/integral/order/list · GET /api/external/integral/user/list · POST /api/external/integral/log/list - WebSecurityConfig 加入 /api/external/integral/** permitAll 文档与工具: - 新增 coding plan、schedule、测试报告 - 新增 start-backend.sh / start-frontend.sh 本地启动脚本 - 新增 .mvn/wrapper/maven-wrapper.properties Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
70 lines
1.9 KiB
Bash
Executable File
70 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
||
# ============================================
|
||
# 启动 Backend API(Spring Boot, dev profile)
|
||
# 端口: 20600 MySQL: 127.0.0.1:3306/java_dev
|
||
# ============================================
|
||
set -e
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
cd "$SCRIPT_DIR/backend"
|
||
|
||
echo "📦 Working dir: $(pwd)"
|
||
|
||
# ── 自动定位 Java ──────────────────────────
|
||
find_java() {
|
||
# 1. 系统 java
|
||
if /usr/libexec/java_home &>/dev/null; then
|
||
echo "$(/usr/libexec/java_home)/bin/java"
|
||
return
|
||
fi
|
||
# 2. Homebrew (Apple Silicon)
|
||
for p in /opt/homebrew/opt/openjdk*/bin/java /opt/homebrew/opt/openjdk/bin/java; do
|
||
[ -x "$p" ] && echo "$p" && return
|
||
done
|
||
# 3. Homebrew (Intel)
|
||
for p in /usr/local/opt/openjdk*/bin/java /usr/local/opt/openjdk/bin/java; do
|
||
[ -x "$p" ] && echo "$p" && return
|
||
done
|
||
# 4. SDKMAN
|
||
[ -n "$SDKMAN_DIR" ] && ls "$SDKMAN_DIR/candidates/java/current/bin/java" 2>/dev/null && \
|
||
echo "$SDKMAN_DIR/candidates/java/current/bin/java" && return
|
||
# 5. PATH(排除 macOS 占位符 /usr/bin/java)
|
||
local j
|
||
j=$(command -v java 2>/dev/null)
|
||
if [ -n "$j" ]; then
|
||
# 检测是否为 macOS 占位符(会输出 Unable to locate)
|
||
if "$j" -version 2>&1 | grep -q "Unable to locate"; then
|
||
: # 是占位符,跳过
|
||
else
|
||
echo "$j" && return
|
||
fi
|
||
fi
|
||
echo ""
|
||
}
|
||
|
||
JAVA_BIN=$(find_java)
|
||
if [ -z "$JAVA_BIN" ]; then
|
||
echo ""
|
||
echo "❌ 未找到 Java 运行环境。请先安装 JDK 11:"
|
||
echo " brew install openjdk@11"
|
||
echo " 然后按照提示设置 JAVA_HOME 后重试。"
|
||
exit 1
|
||
fi
|
||
|
||
JAVA_VER=$("$JAVA_BIN" -version 2>&1 | head -1)
|
||
echo "☕ Java: $JAVA_BIN"
|
||
echo " 版本: $JAVA_VER"
|
||
echo ""
|
||
|
||
export JAVA_HOME="$(dirname $(dirname $JAVA_BIN))"
|
||
|
||
echo "🚀 Starting crmeb-admin with profile=dev ..."
|
||
echo ""
|
||
|
||
./mvnw spring-boot:run \
|
||
-pl crmeb-admin \
|
||
-am \
|
||
-DskipTests \
|
||
-Dspring-boot.run.profiles=dev \
|
||
2>&1
|