# node-action **Repository Path**: jl15988/node-action ## Basic Information - **Project Name**: node-action - **Description**: 利用node快速构建高可用、高效率、高健全的server - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-22 - **Last Updated**: 2024-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: Nodejs, Server, action, 服务, npm ## README # node-action ### 介绍 利用 node 快速构建高可用、高效率、高健全的 server ## 安装 ```shell npm install @jl15988/node-action ``` ## 简单使用 index.js ```js const {nodeAction, Action, actionInterceptor} = require("@jl15988/node-action"); const userInfo = { "id": 1, "username": "admin", "nickname": "管理员", "email": "aoteman@126.com", "mobile": "15612345678", "sex": 1, "avatar": null, "loginIp": "192.168.0.8", "loginDate": 1731468594935, "createTime": 1609837427000, "roles": [ { "id": 1, "name": "超级管理员" }, { "id": 2, "name": "普通角色" } ], "dept": null, "posts": [ { "id": 1, "name": "董事长" } ], "socialUsers": [] } // 创建用户控制器 const UserAction = new Action('UserAction', (action) => { // 设置 user action 的路由前缀 action.mapping('/user') // 获取用户信息接口 action.get('/get', (requestInfo) => { // 请求参数 console.log(requestInfo.params) // 返回用户信息 return userInfo }) // 修改用户信息接口 action.post('/update', (requestInfo) => { // 请求体 console.log(requestInfo.body) // 返回修改结果 return { code: 200, message: '修改成功' } }) }) const interceptors = [{ // 拦截器名 name: 'onLoad', // 执行排序,如果重复则按添加的顺序,没有顺序的优先级最低 sort: 0, // 解析路由之前的拦截器 load: (requestInfo, response) => { return true }, // 执行路由处理方法之前的拦截器 before: (requestInfo, response, routeInfo) => { return true }, // 执行路由处理方法之后的拦截器 after: (requestInfo, response, routeInfo, handleResult) => { return true } }] // 统一异常处理器 nodeAction.actionErrorHandler = (request, response, error) => { console.error(error) } // 统一返回数据处理器 nodeAction.actionResultHandler = (request, response, res) => { console.log(res) return res } nodeAction // 控制器 .actions([UserAction]) // 拦截器 .interceptors(interceptors) // 端口号 .port(3000) // 启动 .start() ``` 执行 `node src/index.js` 启动 浏览器访问:http://{本地地址}:3000/user/get