feat: 企业版合作模式(后端、管理端、小程序)
- API:合作模式配置、用户选择、企业版入口与迁移 SQL - 管理端:合作方式管理、企业/用户侧设置与 CSV 导出等 - 小程序:合作模式弹窗与结果/简历等页对接;开发脚本小调整 Made-with: Cursor
This commit is contained in:
@@ -9,7 +9,7 @@ ADMIN="$ROOT/admin"
|
||||
LOG_DIR="$ROOT/api/runtime"
|
||||
LOG_FILE="$LOG_DIR/php-dev-server.log"
|
||||
API_PORT="${MBTI_API_PORT:-8787}"
|
||||
ADMIN_PORT="${MBTI_ADMIN_PORT:-5173}"
|
||||
ADMIN_PORT_DESIRED="${MBTI_ADMIN_PORT:-5173}"
|
||||
|
||||
die() { echo "❌ $*" >&2; exit 1; }
|
||||
|
||||
@@ -49,6 +49,30 @@ done
|
||||
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
_port_listen_pids() {
|
||||
lsof -tiTCP:"$1" -sTCP:LISTEN 2>/dev/null || true
|
||||
}
|
||||
|
||||
_pick_next_free_admin_port_from() {
|
||||
local start="$1"
|
||||
local max_jump=80
|
||||
local p="$start"
|
||||
local end=$((start + max_jump))
|
||||
while [[ "$p" -le "$end" ]]; do
|
||||
if [[ -z "$(_port_listen_pids "$p")" ]]; then
|
||||
echo "$p"
|
||||
return 0
|
||||
fi
|
||||
p=$((p + 1))
|
||||
done
|
||||
die "无法在端口 ${start}-${end} 内找到空闲端口(请先关闭多余前端或设置 MBTI_ADMIN_PORT)"
|
||||
}
|
||||
|
||||
ADMIN_PORT="$(_pick_next_free_admin_port_from "$ADMIN_PORT_DESIRED")"
|
||||
if [[ "$ADMIN_PORT" != "$ADMIN_PORT_DESIRED" ]]; then
|
||||
echo "WARN: 端口 ${ADMIN_PORT_DESIRED} 已被占用,前端改用 ${ADMIN_PORT}"
|
||||
fi
|
||||
|
||||
free_port() {
|
||||
local port="$1"
|
||||
local pids
|
||||
@@ -62,7 +86,6 @@ free_port() {
|
||||
}
|
||||
|
||||
free_port "$API_PORT"
|
||||
free_port "$ADMIN_PORT"
|
||||
|
||||
PHP_VER="$("$PHP_BIN" -r 'echo PHP_VERSION;')"
|
||||
echo "OK PHP: $PHP_BIN ($PHP_VER)"
|
||||
|
||||
Reference in New Issue
Block a user