You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
suixy 6cf200608a 添加计量设备和测控点信息 3 weeks ago
src 添加计量设备和测控点信息 3 weeks ago
.env.example init 3 weeks ago
.gitignore init 3 weeks ago
README.md init 3 weeks ago
package.json init 3 weeks ago
yarn.lock init 3 weeks ago

README.md

EMS Node Login Server

这是 Java 后端核心接口的 Node.js 重写版本,放在 server-node 下独立运行。

已实现

  • POST /auth/login
  • GET /auth/code
  • POST /auth/logout
  • GET /auth/tenant/list
  • GET /system/user/getInfo
  • GET /system/menu/getRouters
  • /system/menu/**
  • /system/user/**
  • /system/role/**
  • /system/dept/**
  • /system/post/**
  • /system/dict/type/**
  • /system/dict/data/**
  • /system/config/**
  • /system/notice/**
  • /system/client/**
  • /system/tenant/**
  • /system/tenant/package/**
  • /system/social/list
  • /resource/oss/**
  • /resource/oss/config/**
  • /resource/sse/close
  • /monitor/cache/**
  • /monitor/operlog/**
  • /monitor/logininfor/**
  • /monitor/online/**
  • /demo/demo/**
  • /demo/tree/**
  • /workflow/category/**
  • /workflow/spel/**
  • /workflow/leave/**
  • /workflow/definition/**
  • /workflow/instance/**
  • /workflow/task/**
  • /tool/gen/**
  • GET /health

登录接口兼容 Java 返回结构:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "access_token": "...",
    "refresh_token": null,
    "expire_in": 604800,
    "refresh_expire_in": null,
    "client_id": "...",
    "scope": null,
    "openid": null
  }
}

运行

yarn install
yarn start

默认端口:3000

默认数据库名:scrin_ems。如果云数据库使用其他库名,修改 .env 中的 DB_NAME

请求示例

curl -X POST http://localhost:3000/auth/login \
  -H 'Content-Type: application/json' \
  -d '{
    "tenantId": "000000",
    "clientId": "e5cd7e4891bf95d1d19206ce24a7b32e",
    "grantType": "password",
    "username": "admin",
    "password": "admin123"
  }'

注意

  • 当前只实现 grantType=password
  • /auth/code 已实现数学验证码,验证码答案保存在 Node 进程内 TTL 缓存中;多实例部署时建议改成 Redis。
  • Java 原版使用 Sa-Token此版本使用 JWT所以后续 Node 接口可直接验证 JWT但 Java 原接口不会自动识别这个 token。
  • /system/user/getInfo/system/menu/getRoutersui/src/api/system 中声明的系统管理接口已按前端当前调用路径实现,读取 Authorization: Bearer <token>
  • 导出类接口当前返回空文件占位,头像上传和 OSS 文件下载仍是基础占位实现;如果要生产使用,需要继续接入实际文件存储和 Excel 导出。
  • 服务启动时会先执行 select 1 验证数据库连接;连接成功后才监听端口,并每 30 秒执行一次数据库心跳保持连接池活跃。
  • 工作流模块当前覆盖前端接口路径和基础数据表读写;流程启动、办理、驳回等 WarmFlow 引擎内部流转为轻量占位实现。
  • .env 存放真实数据库配置,已被 .gitignore 忽略。