# 听书配套说明与静态主页

本目录包含听书软件的功能说明、使用教程、展示主页、用户留言服务和留言管理工作台。

## 目录结构

```text
配套/
├── index.html                  # 唯美主页：功能介绍、展示、教程、FAQ 和下载
├── tutorial.html               # 完整网页版使用教程
├── feedback.html               # 用户留言：保存后公开数字编号
├── admin.html                  # 管理员留言工作台
├── server.py                   # Python 标准库留言服务器
├── start_message_server.bat    # Windows 一键启动留言服务
├── 听书功能说明.md              # 软件功能清单和限制
├── 使用教程.md                  # 详细使用步骤
├── README.md                   # 本说明
├── assets/
│   ├── style.css               # 页面样式、主题、管理员界面
│   ├── script.js               # 留言提交、公开编号、管理员操作
│   └── logo.svg
└── data/                       # 运行后自动生成
    ├── messages.db             # 留言数据库
    └── server_config.json      # 管理员口令
```

## 一、启动留言服务

双击：

```text
start_message_server.bat
```

或者手动运行：

```powershell
cd G:\workspace\TingShu\配套
python server.py --host 127.0.0.1 --port 8765
```

启动后终端会显示：

```text
User page: http://127.0.0.1:8765/feedback.html
Admin page: http://127.0.0.1:8765/admin.html
Admin token: 自动生成的管理员口令
Database: G:\workspace\TingShu\配套\data\messages.db
```

第一次启动会生成 `data/server_config.json`。管理员口令需要自行保存，不要公开。

## 二、用户留言

打开：

```text
http://127.0.0.1:8765/feedback.html
```

提交后：

- 服务端保存留言完整内容。
- 公开区域只显示数字编号，例如 `留言 #000001 已保存`。
- 公开接口不返回留言正文、提交时间、IP、设备、联系方式。
- 管理员可以查看和处理全部记录。

## 三、管理员工作台

打开：

```text
http://127.0.0.1:8765/admin.html
```

输入终端显示的管理员口令后，可以：

- 查看留言正文、时间、IP、设备、Android 版本、联系方式和 User-Agent。
- 搜索编号、标题、正文、设备或 IP。
- 将留言标记为新留言、处理中、已解决。
- 删除留言。
- 导出 UTF-8 CSV。

管理员口令只保存在当前浏览器会话中，关闭浏览器后需要重新输入。

## 四、数据存储与备份

默认数据库：

```text
配套\data\messages.db
```

备份时停止服务，然后复制整个 `data` 目录即可。迁移到新电脑时，把 `data` 目录放回配套目录，管理员口令也会保留。

## 五、直接打开静态页面

`index.html`、`tutorial.html` 可以直接双击打开。

`feedback.html` 和 `admin.html` 需要通过留言服务访问，因为浏览器静态文件模式不能保存留言。

## 六、安全与隐私

- 公开接口只返回数字编号。
- 管理员接口必须携带 `X-Admin-Token`。
- 服务端限制请求体大小和提交频率。
- `data` 目录、数据库、服务器脚本和配置文件不会通过静态文件接口暴露。
- 如果部署在公网，建议使用 HTTPS，并设置 `TRUST_PROXY=1` 以正确记录代理后的真实 IP。
- 不要在留言中填写密码、身份证号、私人笔记全文等敏感信息。

## 七、更新建议

功能或版本变化时，建议同步更新：

1. `index.html` 的功能卡片、展示和下载链接。
2. `tutorial.html` 与 `使用教程.md` 的操作步骤。
3. `听书功能说明.md` 的功能清单。
4. `feedback.html` 的留言说明。
5. `admin.html` 的管理流程提示。