# 傻瓜比价 · 运营后台(前端) Next.js 15 + Ant Design 5,对接 `shaguabijia-app-server` 的 admin API(`app/admin/`)。 后端是独立 FastAPI app(端口 8771,复用 app-server 的 models/repositories + 同一 PostgreSQL, 鉴权用独立 JWT)。本仓只是前端。 ## 功能(P0) 数据大盘 / 用户管理(列表+360详情+封禁+调金币) / 提现管理(列表+重试+对账) / 反馈工单 / 管理员账号(super) / 审计日志。按角色显示操作:finance=钱、operator=用户+反馈、super=全部。 ## 本地开发 ```bash # 1. 起 admin 后端(在 shaguabijia-app-server 目录) conda activate price && uvicorn app.admin.main:admin_app --port 8771 # 2. 建首个超管(打印密码) python scripts/create_admin.py --username admin --role super_admin # 3. 起前端 npm install && npm run dev # → http://localhost:3001 ``` `.env.local` 已指向 `http://localhost:8771`。 ## 生产部署(阿里云,域名 admin.shaguabijia.com) ### ① 后端 admin(在 app-server 机器,复用同一 codebase) ```bash scp deploy/shaguabijia-admin.service server:/etc/systemd/system/ # 文件在 app-server/deploy/ ssh server "systemctl daemon-reload && systemctl enable --now shaguabijia-admin" ssh server "cd /opt/shaguabijia-app-server && .venv/bin/python scripts/create_admin.py --username admin --role super_admin" ``` ### ② 前端 ```bash npm run build rsync -avz --exclude node_modules --exclude .next/cache ./ server:/opt/shaguabijia-admin-web/ ssh server "cd /opt/shaguabijia-admin-web && npm install --omit=dev && npm run build && pm2 start ecosystem.config.js" ``` ### ③ nginx ```bash scp deploy/nginx/admin.shaguabijia.com.conf server:/etc/nginx/conf.d/ ssh server "nginx -t && systemctl reload nginx" ``` ## ⚠️ 上线必查 - [ ] app-server 的 `.env` 里 `ADMIN_JWT_SECRET` 改成 ≥32 字节强随机串(默认 `change-me-admin` 可伪造 token) - [ ] nginx 打开 IP 白名单(运营出口 IP)+ HTTPS 证书就位 - [ ] `.env.production` 的 `NEXT_PUBLIC_API_BASE` 留空(同域,nginx 反代 /admin/api) - [ ] 首个 super_admin 已建、能登录