3.3 KiB
3.3 KiB
萌芽密码管理器
一个基于 Go 后端和 React 前端的轻量密码管理器应用,支持本地 JSON 存储与关键词搜索。
功能特性
- 密码保护访问(默认密码:shumengya520)
- JSON 文件存储(无需数据库)
- 关键词搜索
- 添加、编辑、删除密码记录
- 响应式布局
项目结构
mengyakeyvault/
├── mengyakeyvault-backend/ # Go 后端
│ ├── main.go # 主程序
│ ├── go.mod # Go 模块文件
│ └── data/ # 数据目录
├── mengyakeyvault-frontend/ # React 前端
│ ├── src/ # 源代码
│ ├── public/ # 公共文件
│ └── package.json # 依赖配置
├── start_backend.bat # 启动后端脚本
├── start_frontend.bat # 启动前端脚本
└── build_frontend.bat # 构建前端脚本
环境要求
- Go 1.21+
- Node.js 18+ / npm
快速开始
1. 启动后端
# Windows
start_backend.bat
# 或手动启动
cd mengyakeyvault-backend
go mod tidy
go run main.go
后端将启动在 http://localhost:8080。
2. 启动前端
# Windows
start_frontend.bat
# 或手动启动
cd mengyakeyvault-frontend
npm install
npm start
前端将启动在 http://localhost:3000。
3. 访问应用
打开浏览器访问 http://localhost:3000,输入默认密码 shumengya520 即可使用。
数据格式
密码记录包含以下字段:
- 账号类型:网站、软件
- 账号:登录账号
- 密码:登录密码
- 用户名:用户名
- 手机号:手机号码
- 邮箱:邮箱地址
- 网站地址:网站 URL
- 软件名称:软件名称
- 标签:分类标签
API 接口
POST /api/verify- 验证密码GET /api/entries?keyword=xxx- 获取密码列表(支持关键词搜索)POST /api/entries- 添加密码记录PUT /api/entries- 更新密码记录DELETE /api/entries/:id- 删除密码记录
技术栈
后端
- Go 1.21+
- Gin
- JSON 文件存储
前端
- React 18
- Axios
- CSS3
Docker 部署
后端部署
-
进入后端目录
cd mengyakeyvault-backend -
使用 Docker Compose 启动
docker-compose up -d --build -
查看日志
docker-compose logs -f
部署配置
- 容器端口: 8080
- 主机端口: 6464
- 数据持久化路径:
/shumengya/docker/mengyakeyvault-backend/data/ - API 域名:
https://keyvault.api.shumengya.top
生产环境前端配置
前端在生产环境构建时会自动使用 https://keyvault.api.shumengya.top/api 作为 API 地址。
构建生产版本:
cd mengyakeyvault-frontend
npm run build
注意事项
- 密码验证成功后会在浏览器本地存储中缓存
- Docker 部署数据存储在
/shumengya/docker/mengyakeyvault-backend/data/data.json - 建议定期备份数据文件
- 确保 favicon.ico 和 logo.png 已放置在
mengyakeyvault-frontend/public/目录下
常见问题
数据文件在哪里
- 本地开发:
mengyakeyvault-backend/data/data.json - Docker 部署:
/shumengya/docker/mengyakeyvault-backend/data/data.json
如何修改默认密码
修改后端常量 DefaultPassword 后重启服务即可。