diff --git a/README.md b/README.md index 9691247..fc5bc9e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@
-![Version](https://img.shields.io/badge/version-1.1.2-blue.svg) +![Version](https://img.shields.io/badge/version-1.1.3-blue.svg) ![Python](https://img.shields.io/badge/python-3.11-blue.svg) ![FastAPI](https://img.shields.io/badge/FastAPI-0.109.0-green.svg) ![React](https://img.shields.io/badge/react-18.3.1-blue.svg) @@ -41,18 +41,42 @@ - 💾 **PostgreSQL** - 生产级数据库,多用户数据隔离 - 🐳 **Docker 部署** - 一键启动,开箱即用 +## 📸 项目预览 + +
+ +### 登录界面 +![登录界面](images/1.png) + +### 主界面 +![主界面](images/2.png) + +### 项目管理 +![项目管理](images/3.png) + +### 赞助我 💖 +![赞助我](images/4.png) + +
+ ## 📋 TODO List +### ✅ 已完成功能 + - [x] **灵感模式** - 创作灵感和点子生成 - [x] **自定义写作风格** - 支持自定义 AI 写作风格 - [x] **数据导入导出** - 项目数据的导入导出 -- [ ] **Prompt 调整界面** - 可视化编辑 Prompt 模板 +- [x] **Prompt 调整界面** - 可视化编辑 Prompt 模板 - [x] **章节字数限制** - 用户可设置生成字数 -- [ ] **设定追溯与矛盾检测** - 自动检测设定冲突 -- [ ] **思维链与章节关系图谱** - 可视化章节逻辑关系 +- [x] **思维链与章节关系图谱** - 可视化章节逻辑关系 - [x] **根据分析一键重写** - 根据分析建议重新生成 - [x] **Linux DO 自动创建账号** - OAuth 登录自动生成账号 +### 📝 规划中功能 + +- [ ] **职业等级体系** - 小说世界观中的职业和等级系统 +- [ ] **角色/组织卡片导入导出** - 单独导出角色和组织数据 + > 💡 欢迎提交 Issue 或 Pull Request! ## 🚀 快速开始 diff --git a/backend/.env.example b/backend/.env.example index 590a68a..0d6bbc9 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -8,7 +8,7 @@ # 应用配置 # ========================================== APP_NAME=MuMuAINovel -APP_VERSION=1.1.2 +APP_VERSION=1.1.3 APP_HOST=0.0.0.0 APP_PORT=8000 DEBUG=false diff --git a/frontend/package.json b/frontend/package.json index c0e770e..bc46d88 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,7 +1,7 @@ { "name": "frontend", "private": true, - "version": "1.1.2", + "version": "1.1.3", "type": "module", "scripts": { "dev": "vite", diff --git a/frontend/src/pages/AuthCallback.tsx b/frontend/src/pages/AuthCallback.tsx index c27f29e..380d881 100644 --- a/frontend/src/pages/AuthCallback.tsx +++ b/frontend/src/pages/AuthCallback.tsx @@ -21,13 +21,13 @@ export default function AuthCallback() { // 后端会通过 Cookie 自动设置认证信息 // 这里只需要验证登录状态 await authApi.getCurrentUser(); - + // 检查密码状态 const pwdStatus = await authApi.getPasswordStatus(); setPasswordStatus(pwdStatus); - + setStatus('success'); - + // 只有在用户完全没有密码时才显示密码设置提示 // 如果已经有密码(无论是默认密码还是自定义密码),都不再提示 if (!pwdStatus.has_password) { @@ -36,16 +36,16 @@ export default function AuthCallback() { }, 1000); return; } - + // 从 sessionStorage 获取重定向地址 const redirect = sessionStorage.getItem('login_redirect') || '/'; sessionStorage.removeItem('login_redirect'); - + // 检查是否永久隐藏公告或今日已隐藏 const hideForever = localStorage.getItem('announcement_hide_forever'); const hideToday = localStorage.getItem('announcement_hide_today'); const today = new Date().toDateString(); - + if (hideForever === 'true' || hideToday === today) { // 延迟一下再跳转,让用户看到成功提示 setTimeout(() => { @@ -74,7 +74,7 @@ export default function AuthCallback() { justifyContent: 'center', alignItems: 'center', minHeight: '100vh', - background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', + background: 'linear-gradient(135deg, #4D8088 0%, #5F9EA8 100%)', }}>
@@ -93,7 +93,7 @@ export default function AuthCallback() { justifyContent: 'center', alignItems: 'center', minHeight: '100vh', - background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', + background: 'linear-gradient(135deg, #4D8088 0%, #5F9EA8 100%)', }}> { navigate(redirect); @@ -174,15 +174,15 @@ export default function AuthCallback() { const handleSkipPasswordSetting = () => { setShowPasswordModal(false); - + // 继续后续流程 const redirect = sessionStorage.getItem('login_redirect') || '/'; sessionStorage.removeItem('login_redirect'); - + const hideForever = localStorage.getItem('announcement_hide_forever'); const hideToday = localStorage.getItem('announcement_hide_today'); const today = new Date().toDateString(); - + if (hideForever === 'true' || hideToday === today) { setTimeout(() => { navigate(redirect); @@ -202,7 +202,7 @@ export default function AuthCallback() { onDoNotShowToday={handleDoNotShowToday} onNeverShow={handleNeverShow} /> - + - 账号:{passwordStatus.username}
+ 账号:{passwordStatus.username}
默认密码: )}
- +
@@ -263,7 +263,7 @@ export default function AuthCallback() { justifyContent: 'center', alignItems: 'center', minHeight: '100vh', - background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', + background: 'linear-gradient(135deg, #4D8088 0%, #5F9EA8 100%)', }}>