更新文档

This commit is contained in:
Kevin Wong
2026-01-08 18:02:08 +08:00
parent c2e08794c2
commit 531b4b2302

View File

@@ -6,30 +6,47 @@
- `POST /api/fortune`:校验参数 → 调用 `suanming` → 调用 `DeepSeek` → 返回 `ai_text + raw_suanming` - `POST /api/fortune`:校验参数 → 调用 `suanming` → 调用 `DeepSeek` → 返回 `ai_text + raw_suanming`
- Express 静态站点单页表单包含示例填充、请求状态、AI 文本展示、原始 JSON 展开、免责声明等。 - Express 静态站点单页表单包含示例填充、请求状态、AI 文本展示、原始 JSON 展开、免责声明等。
- `.env` 控制 suanming、DeepSeek、端口与超时示例参见 [.env.example](./.env.example) - Token 自动管理:启动时自动登录获取 Token过期后自动刷新无需人工干预
- `.env` 控制 suanming、DeepSeek、端口与超时。
## 文件结构 ## 文件结构
``` ```
web/ Suanming-Web/
├── public/ # 静态前端资源index.html / styles.css / app.js ├── public/ # 静态前端资源index.html / styles.css / app.js
├── server.js # Express 网关及 API 实现 ├── server.js # Express 网关及 API 实现
├── package.json # 项目依赖 ├── package.json # 项目依赖
└── .env.example # 环境变量模板 └── .env # 环境变量配置
``` ```
## 快速开始 ## 快速开始
1. **安装依赖** 1. **安装依赖**
```bash ```bash
cd web cd Suanming-Web
npm install npm install
``` ```
2. **配置环境变量** 2. **配置环境变量**
```bash ```bash
cp .env.example .env # 创建 .env 文件,填入以下配置
# 修改 .env填入真实的 suanming 地址、访问令牌以及 DeepSeek Key ```
```env
# HTTP 监听端口
PORT=4173
# suanming API 配置
SUANMING_API_BASE=http://localhost:3001/api
SUANMING_EMAIL=your-email@example.com
SUANMING_PASSWORD=your-password
SUANMING_TIMEOUT_MS=12000
# DeepSeek API 配置
DEEPSEEK_API_KEY=your-deepseek-api-key
DEEPSEEK_API_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-chat
DEEPSEEK_TIMEOUT_MS=20000
``` ```
3. **启动服务** 3. **启动服务**
@@ -38,6 +55,12 @@ web/
# 浏览器访问 http://localhost:4173 # 浏览器访问 http://localhost:4173
``` ```
4. **PM2 生产部署**
```bash
pm2 start server.js --name suanming-web
pm2 save
```
## API 说明 ## API 说明
``` ```
@@ -78,14 +101,19 @@ Content-Type: application/json
} }
``` ```
## Token 自动管理
- **启动预热**:服务启动时自动登录获取 Token
- **自动刷新**:请求遇到 401 错误时自动刷新 Token 并重试
- **并发安全**:多个并发请求共用同一个登录 Promise避免重复登录
## 自定义 ## 自定义
- DeepSeek 调用通过 `openai` SDK 完成,`.env` 中的 `DEEPSEEK_API_URL` 只需设置到根域名(默认 `https://api.deepseek.com`)。 - DeepSeek 调用通过 `openai` SDK 完成,`.env` 中的 `DEEPSEEK_API_URL` 只需设置到根域名(默认 `https://api.deepseek.com`)。
- 若你的 suanming API 启用了认证,把登录后拿到的 Bearer token 填入 `SUANMING_API_TOKEN`,网关会自动加到 `Authorization` 头。
- 若暂未配置 DeepSeek Key会返回提示并保留 `raw_suanming`,方便调试。 - 若暂未配置 DeepSeek Key会返回提示并保留 `raw_suanming`,方便调试。
- 如需拓展 `name`、`fortune` 等类型,可在 `server.js` 的 `buildSuanmingRequest` 中补充对应 endpoint/payload。 - 如需拓展 `name`、`fortune` 等类型,可在 `server.js` 的 `buildSuanmingRequest` 中补充对应 endpoint/payload。
- 前端使用原生 JS便于在任何环境下部署若后续需要组件化框架可直接复用当前 API。 - 前端使用原生 JS便于在任何环境下部署若后续需要组件化框架可直接复用当前 API。
## 免责声明 ## 免责声明
页面底部及 DeepSeek Prompt 均包含仅供娱乐参考的提示,请在生产部署时继续保留。 页面底部及 DeepSeek Prompt 均包含"仅供娱乐参考"的提示,请在生产部署时继续保留。