90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown
# Mi Diario — 西班牙语日记学习工具
|
||
|
||
一个纯前端的西班牙语学习应用,基于外研社《现代西班牙语1》整理知识库。
|
||
|
||
## 功能
|
||
|
||
- 📝 西班牙语日记:新建、编辑、删除、按日期管理
|
||
- 🌐 实时翻译:输入西语自动显示英语和中文对照
|
||
- 🔊 发音朗读:支持西语、英语、中文三种语言(Web Speech API)
|
||
- 📖 单词本:自动提取输入中的关键词并给出解释,支持点击发音
|
||
- 📕 专用单词本页面:支持搜索、分类筛选、添加、编辑、删除和三语朗读
|
||
- 📚 语法知识库:按教材整理的 40 个语音和语法知识点
|
||
|
||
## 使用
|
||
|
||
直接打开 `index.html` 即可使用(推荐 Edge / Chrome)。
|
||
|
||
## 阶段2:Python 后端
|
||
|
||
安装依赖:
|
||
|
||
```powershell
|
||
cd spanish-diary
|
||
python -m pip install -r server/requirements.txt
|
||
```
|
||
|
||
启动服务:
|
||
|
||
```powershell
|
||
python server/app.py
|
||
```
|
||
|
||
浏览器访问:
|
||
|
||
```text
|
||
http://localhost:5000
|
||
```
|
||
|
||
默认管理员账号:
|
||
|
||
```text
|
||
用户名:admin
|
||
密码:admin123
|
||
```
|
||
|
||
> 生产环境请先修改管理员密码,并通过环境变量设置 `SECRET_KEY`。
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
index.html — 主页面
|
||
style.css — 主页面样式
|
||
app.js — 应用逻辑
|
||
api.js — 后端 API 客户端
|
||
db.js — IndexedDB 数据存储
|
||
translate.js — 翻译模块
|
||
speech.js — 发音模块
|
||
login.html — 登录/注册
|
||
admin.html — 用户管理
|
||
knowledge.html — 知识库首页
|
||
knowledge/ — 6 个分类知识页面
|
||
server/ — Python Flask 后端
|
||
```
|
||
|
||
## 数据存储
|
||
|
||
阶段 1 使用浏览器 IndexedDB 本地存储,无需后端。
|
||
|
||
阶段 2 使用 SQLite 数据库:
|
||
|
||
```text
|
||
server/data/spanish_diary.db
|
||
```
|
||
|
||
## 阶段2 功能
|
||
|
||
- 用户注册、登录、登出
|
||
- 用户修改密码
|
||
- 管理员添加、禁用、删除用户
|
||
- 管理员重置用户密码
|
||
- 用户日记数据隔离
|
||
- 共享知识库
|
||
- 每用户翻译配置(本地 / MyMemory / 自定义接口)
|
||
- 实时翻译、选中翻译、保存和中译西统一调用每用户翻译配置
|
||
- LibreTranslate 等自定义接口默认使用 `zh-hans` 表示简体中文,可通过扩展配置 `zh_code` 覆盖
|
||
- 每用户日记统计
|
||
- 每用户单词收藏
|
||
- 移动端左上菜单、编辑区优先、左滑显示翻译
|
||
- 手机、平板、桌面响应式适配
|