秒过所有产品的服务端(2025年版)

chengjie 733e77a4e8 0 před 1 týdnem
.vscode d3f661720e 升级node.js24.18.0 před 1 týdnem
doc 09e0446efd 0 před 2 týdny
local-error-monitor 57f46d86b4 0 před 2 týdny
public 572f8a7619 Codex升级Node.js到24.1第二次 před 2 týdny
scripts d3f661720e 升级node.js24.18.0 před 1 týdnem
src 733e77a4e8 0 před 1 týdnem
秒过分数线数据导入 d3f661720e 升级node.js24.18.0 před 1 týdnem
.gitignore 133204bbf1 增加log采集和管理 před 2 týdny
.nvmrc d3f661720e 升级node.js24.18.0 před 1 týdnem
MIGRATION_GUIDE.md deed1a678e Codex升级Node.js到24.1 před 3 týdny
README.md 57f46d86b4 0 před 2 týdny
package-lock.json d3f661720e 升级node.js24.18.0 před 1 týdnem
package.json d3f661720e 升级node.js24.18.0 před 1 týdnem

README.md

Koa用户管理API

这是一个基于Koa.js的简单用户管理API示例,使用MySQL作为数据库。

功能特点

  • 基于Koa.js框架
  • 使用ES模块语法
  • MySQL数据库连接
  • RESTful API设计
  • 环境配置分离

安装

Node.js 版本要求

本项目需要 Node.js 24.1.0 版本。如果你使用 nvm,可以按照以下步骤设置:

# 安装所需的 Node.js 版本(如果尚未安装)
nvm install 24.1.0

# 切换到项目所需的 Node.js 版本
nvm use

如果你没有安装 nvm,可以从 Node.js 官网 下载并安装 24.1.0 版本。

项目安装

# 克隆仓库
git clone https://scoreline.kylx365.com/kylx365/miaoguo_system_server.git
cd miaoguo_system_server

# 确保使用正确的 Node.js 版本
nvm use

# 安装依赖
npm install

数据库设置

  1. 确保MySQL服务已启动
  2. 执行初始化SQL脚本:
mysql -u root -p < doc/init.sql

错误日志表可以手动初始化,也会在服务启动后自动尝试创建:

mysql -u root -p kylx365_db < doc/system_error_logs.sql

环境变量

可以通过环境变量自定义配置:

  • NODE_ENV: 设置环境 (developmentproduction)
  • PORT: 服务器端口
  • DB_HOST: 数据库主机
  • DB_USER: 数据库用户名
  • DB_PASSWORD: 数据库密码
  • DB_NAME: 数据库名称
  • INTERNAL_API_TOKEN: 内部错误日志 API token,生产环境必须配置
  • ERROR_LOG_CAPTURE_CONSOLE: 是否采集 console.error,默认 true
  • ERROR_LOG_EXIT_ON_FATAL: 捕获进程级 fatal error 后是否退出交给 PM2 重启,默认 true
  • ERROR_LOG_API_URL: 本机轮询脚本访问的错误日志 API 地址
  • ERROR_LOG_API_TOKEN: 本机轮询脚本使用的内部 token
  • ERROR_LOG_START_FROM_BEGINNING: 本机轮询脚本首次运行时是否从 ID 0 拉取历史错误,默认 false

运行

# 开发环境
npm run dev

# 生产环境
npm run start

# 服务器上采集 PM2 error log
npm run error-log:pm2

# 本机轮询内部错误日志 API
ERROR_LOG_API_URL=https://your-domain/internal/error-logs ERROR_LOG_API_TOKEN=your-token npm run error-log:poll

内部错误日志接口:

curl -H "x-internal-token: your-token" "http://localhost:3050/internal/error-logs?since_id=0&status=all"
curl -H "x-internal-token: your-token" -X POST "http://localhost:3050/internal/error-logs/1/mark-fixed"

完整错误日志采集和本机检查配置见:

doc/server_error_log_monitor.md

API端点

示例请求

查看API是否能运行

curl http://localhost:3000/api/Ping