first commit
This commit is contained in:
25
.gitignore
vendored
Normal file
25
.gitignore
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
# Node/React
|
||||
**/node_modules/
|
||||
**/build/
|
||||
**/coverage/
|
||||
|
||||
# Go
|
||||
**/*.exe
|
||||
**/*.test
|
||||
**/*.out
|
||||
**/*.dll
|
||||
**/*.so
|
||||
**/*.dylib
|
||||
|
||||
# Data files
|
||||
**/data/data.json
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
156
README.md
Normal file
156
README.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# 萌芽密码管理器
|
||||
|
||||
一个基于 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. 启动后端
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
start_backend.bat
|
||||
|
||||
# 或手动启动
|
||||
cd mengyakeyvault-backend
|
||||
go mod tidy
|
||||
go run main.go
|
||||
```
|
||||
|
||||
后端将启动在 `http://localhost:8080`。
|
||||
|
||||
### 2. 启动前端
|
||||
|
||||
```bash
|
||||
# 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 部署
|
||||
|
||||
### 后端部署
|
||||
|
||||
1. 进入后端目录
|
||||
```bash
|
||||
cd mengyakeyvault-backend
|
||||
```
|
||||
|
||||
2. 使用 Docker Compose 启动
|
||||
```bash
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
3. 查看日志
|
||||
```bash
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
### 部署配置
|
||||
|
||||
- 容器端口: 8080
|
||||
- 主机端口: 6464
|
||||
- 数据持久化路径: `/shumengya/docker/mengyakeyvault-backend/data/`
|
||||
- API 域名: `https://keyvault.api.shumengya.top`
|
||||
|
||||
### 生产环境前端配置
|
||||
|
||||
前端在生产环境构建时会自动使用 `https://keyvault.api.shumengya.top/api` 作为 API 地址。
|
||||
|
||||
构建生产版本:
|
||||
```bash
|
||||
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` 后重启服务即可。
|
||||
|
||||
Reference in New Issue
Block a user