# AnKao Web 项目 这是一个使用Go语言和Gin框架构建的Web应用项目。 ## 项目结构 ``` AnKao/ ├── main.go # 主程序入口 ├── internal/ # 私有应用代码 │ ├── handlers/ # HTTP请求处理器 │ ├── middleware/ # 中间件 │ └── models/ # 数据模型 ├── pkg/ # 公共库代码 │ └── config/ # 配置管理 ├── go.mod # Go模块文件 └── README.md # 项目说明 ``` ## 快速开始 ### 运行服务器 ```bash go run main.go ``` 服务器将在 `http://localhost:8080` 启动 ### API端点 #### 用户相关 - `POST /api/login` - 用户登录 #### 题目相关 - `GET /api/questions` - 获取题目列表 - `GET /api/questions/random` - 获取随机题目 - `GET /api/questions/:id` - 获取指定题目 - `POST /api/submit` - 提交答案 - `GET /api/statistics` - 获取统计数据 - `POST /api/reset` - 重置进度 #### 其他 - `GET /api/health` - 健康检查端点 ## 开发 ### 安装依赖 ```bash go mod tidy ``` ### 构建 ```bash go build -o bin/server.exe main.go ``` ### 运行编译后的程序 ```bash # Windows .\bin\server.exe # Linux/Mac ./bin/server ``` ## 特性 - 基于 Gin 框架的高性能 HTTP 服务器 - 自定义日志中间件 - RESTful API 结构 - 健康检查端点 - 用户登录系统(基于JSON文件存储) - 题目练习功能 - 答题统计功能 - React + TypeScript + Vite 前端 - Ant Design Mobile UI组件库 ## 用户系统 用户数据存储在 [users.json](users.json) 文件中,格式如下: ```json { "用户名": { "password": "密码", "avatar": "头像URL", "nickname": "昵称" } } ``` ### 测试账号 - 用户名: `admin` / 密码: `123456` - 用户名: `test` / 密码: `test123` ## 前端开发 ### 安装依赖 ```bash cd web npm install ``` ### 运行开发服务器 ```bash npm run dev ``` ### 构建 ```bash npm run build ``` ## 页面结构 - **首页(刷题页)** - 题目练习、随机题目、题目列表、筛选等功能 - **我的** - 用户信息、退出登录 - **登录页** - 用户登录 ## 技术栈 - **Go** 1.25.1 - **Gin** v1.11.0 - Web 框架 - 清晰的项目架构,易于扩展