Files
mengyakeyvault/README.md
2026-03-11 21:15:06 +08:00

3.5 KiB
Raw Permalink Blame History

萌芽密码管理器

一个基于 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 部署

后端部署

  1. 进入后端目录

    cd mengyakeyvault-backend
    
  2. 使用 Docker Compose 启动

    docker-compose up -d --build
    
  3. 查看日志

    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 后重启服务即可。