# o-view-back **Repository Path**: olhong/o-view-back ## Basic Information - **Project Name**: o-view-back - **Description**: 用nodejs中的express框架 + monogodb 写的一套带有用户角色部门以及菜单的接口 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-04-25 - **Last Updated**: 2023-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## express + monogodb ## 需要自己本地搭建后端monogodb数据库,然后执行注册接口 接口返回格式: ``` { code: 0, // 0成功 -1 失败 data: {}, message: '' // 成功失败的描述 } state 200 成功 401 token失效 ``` base_url = http://localhost:3000/api ### 注册 {{base_url}}/users/register post // 请求示例 ``` { "user": { "username": "test0011", // 用户名 "password": "123456" // 密码 } } ``` 返回示例 ``` { "code": 0, "data": { "username": "test0011", "image": null, "status": true, "role": [], "_id": "6448a09daa54cb8774b41e36", "createdAt": "2023-04-26T03:55:09.653Z", "updatedAt": "2023-04-26T03:55:09.653Z", "__v": 0 }, "message": "true" } ``` ### 登录 {{base_url}}/users/login post ``` { "user": { "username": "admin", "password": "123456" } } ``` 返回示例 ``` { "code": 0, "data": { "_id": "64463d0a4847b78043e84640", "username": "admin", "phone": "15828152536", "email": "olh@163.com", "image": null, "role": [], "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2NDQ2M2QwYTQ4NDdiNzgwNDNlODQ2NDAiLCJpYXQiOjE2ODI0NzQ5MzcsImV4cCI6MTY4MjUxODEzN30.tq9WMKzUKFQ7qvGmXvRxmWwCKO9qnXdXeZ75OQdkZNw", "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2NDQ2M2QwYTQ4NDdiNzgwNDNlODQ2NDAiLCJpYXQiOjE2ODI0NzQ5MzcsImV4cCI6MTY4MjU2MTMzN30.I9NN4Wew4yB5ZoZWg2cWMNAxqh3rmVGzw_3fD6CVYkk" }, "message": "true" } ``` image.png 可使用refreshToken刷新token ### 刷新token {{base_url}}/users/refreshToken post ``` { "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2NDQ2M2QwYTQ4NDdiNzgwNDNlODQ2NDAiLCJpYXQiOjE2ODI0MDI5ODEsImV4cCI6MTY4MjQ4OTM4MX0.xFUAknQD1oFheFKFIusUyReszoYNo-s5HrMAz4gaeQk" } ``` 返回值 ``` { "code": 0, "data": { "_id": "64463d0a4847b78043e84640", "username": "admin", "phone": "15828152536", "email": "olh@163.com", "image": null, "status": true, "remark": "admin", "role": [], "createdAt": "2023-04-24T08:25:46.330Z", "updatedAt": "2023-04-24T08:25:46.330Z", "__v": 0, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2NDQ2M2QwYTQ4NDdiNzgwNDNlODQ2NDAiLCJpYXQiOjE2ODI0MDI5OTYsImV4cCI6MTY4MjQ0NjE5Nn0.kYo98SC-Hat58gP9gDC2ptSSp2xkdEM2u4F10juulp0", "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI2NDQ2M2QwYTQ4NDdiNzgwNDNlODQ2NDAiLCJpYXQiOjE2ODI0MDI5OTYsImV4cCI6MTY4MjQ4OTM5Nn0.Ph7URQTWQMRgChVAYpEtQ9IXS46UlZX_-IA_pQ4kEhY" }, "message": "true" } ``` ### 部门 #### 新增部门 {{base_url}}/depart/ post application/json ``` { "name": "测试", "phone": "15785389652", "email": "test1@163.com", "concat": "64463d0a4847b78043e84640", "remark": "test01", "parent": "6446596ae7ca4e809afc6275" } ``` #### 编辑部门 {{base_url}}/depart/:id put application/json ``` { "name": "云团队" } ``` #### 查询部门 {{base_url}}/depart/getDepartList post { "name": "", "status": true } #### 删除部门 {{base_url}}/depart/:id ### 角色 #### 新增角色 {{base_url}}/role post 请求示例: ``` { "roleName": "test6", "permissonType": "test6-123", "remark": "123", "menuList": [] } ``` 返回示例 ``` { "code": 0, "data": { "roleName": "test6", "permissonType": "test6-123", "status": true, "remark": "123", "menuList": [], "_id": "64477cc2199ff73789ad7b32", "createdAt": "2023-04-25T07:09:54.370Z", "updatedAt": "2023-04-25T07:09:54.370Z", "__v": 0 }, "message": "true" } ``` #### 编辑角色 {{base_url}}/role/:id put 请求示例: ``` { "permissonType": "test2-123", "roleName": "test2" } ``` 返回示例 ``` { "code": 0, "data": { "permissonType": "test2-123", "roleName": "test2", "updatedAt": 1682406541449 }, "message": "更新成功" } ``` #### 删除角色 {{base_url}}/role/:id delete 返回示例 ``` { "code": 0, "data": { "id": "64477c04199ff73789ad7b17" }, "message": "删除成功" } ``` #### 查询角色 {{base_url}}/role/getRoleList post 请求示例: ``` { "pageSize": 5, "query": { "roleName": "test" } } ``` 返回示例 ``` { "code": 0, "data": { "role": [ { "_id": "64477cc2199ff73789ad7b32", "roleName": "test6", "permissonType": "test6-123", "status": true, "remark": "123", "menuList": [], "createdAt": "2023-04-25T07:09:54.370Z", "updatedAt": "2023-04-25T07:09:54.370Z", "__v": 0 } ], "total": 4, "pageNum": 1, "pageSize": 5 }, "message": "true" } ``` ### 用户 #### 新增用户 {{base_url}}/user post 请求示例: ``` { "username": "tinn ta", "phone": "15828141635", "email": "tinn@163.com", "role": ["64477cad199ff73789ad7b23","64477cb6199ff73789ad7b28"], "depart": "64465a20e7ca4e809afc627b" } ``` 返回示例 ``` { "code": 0, "data": { "username": "tinn ta", "phone": "15828141635", "email": "tinn@163.com", "image": null, "status": true, "role": [ "64477cad199ff73789ad7b23", "64477cb6199ff73789ad7b28" ], "depart": "64465a20e7ca4e809afc627b", "_id": "6447822cc3e285fd53fec416", "createdAt": "2023-04-25T07:33:00.713Z", "updatedAt": "2023-04-25T07:33:00.713Z", "__v": 0 }, "message": "true" } ``` #### 编辑用户 {{base_url}}/user/:id put 请求示例: ``` { "username": "test-update", "password": "123456789" } ``` 返回示例 ``` { "code": 0, "data": { "username": "test-update", "password": "123456789", "updatedAt": 1682408060974 }, "message": "更新成功" } ``` #### 删除用户 {{base_url}}/user/:id delete 返回示例 ``` { "code": 0, "data": { "id": "644640e4d515790ba2baca2a" }, "message": "删除成功" } ``` #### 查询用户 {{base_url}}/user/getUserList post 请求示例: ``` { "pageNum": 1, "pageSize": 10, "query": { "username": "admin" } } ``` 返回示例 ``` { "code": 0, "data": { "user": [ { "_id": "64463d0a4847b78043e84640", "username": "admin", "phone": "15828152536", "email": "olh@163.com", "image": null, "status": true, "remark": "admin", "role": [], "createdAt": "2023-04-24T08:25:46.330Z", "updatedAt": "2023-04-24T08:25:46.330Z", "__v": 0 } ], "total": 1, "pageNum": 1, "pageSize": 10 }, "message": "true" } ``` ### 菜单 #### 新增菜单 {{base_url}}/menu post 请求示例: ``` { "path": "/permission", "name": "permission", "title": "系统管理", "type": 1, "icon": "Tools", "order": 4, "component": "RouterView", "parentId": "6447a18e92c557a0220e2d07" } ``` 返回示例 ``` { "code": 0, "data": { "title": "系统管理", "type": "1", "icon": "Tools", "parentId": "6447a18e92c557a0220e2d07", "order": 4, "isHref": false, "path": "/permission", "name": "permission", "component": "RouterView", "keepAlive": false, "isShow": true, "status": true, "requireAuth": true, "_id": "6447a25592c557a0220e2d0e", "createdAt": "2023-04-25T09:50:13.774Z", "updatedAt": "2023-04-25T09:50:13.774Z", "__v": 0 }, "message": "true" } ``` #### 编辑菜单 {{base_url}}/menu/:id put 请求示例: ``` { "title": "O-VIEW" } ``` 返回示例 ``` { "code": 0, "data": { "title": "O-VIEW", "updatedAt": 1682416120352 }, "message": "true" } ``` #### 删除菜单 {{base_url}}/menu/:id delete 返回示例 ``` { "code": 0, "data": { "id": "6447a1421463028d59dacf4e" }, "message": "删除成功" } ``` #### 查询菜单 {{base_url}}/menu/getMenuList post 请求示例: ``` { "name": "root", "title": "O-VIEW", "status": true } ``` 返回示例 ``` { "code": 0, "data": [ { "_id": "6447a18e92c557a0220e2d07", "title": "O-VIEW", "type": "1", "icon": "House", "order": 1, "isHref": false, "path": "/", "name": "root", "component": "RouterView", "keepAlive": false, "isShow": true, "status": true, "requireAuth": true, "createdAt": "2023-04-25T09:46:54.146Z", "updatedAt": "2023-04-25T09:48:40.352Z", "__v": 0, "children": [] } ], "message": "true" } ``` ### 文件 #### 上传文件 {{base_url}}/files//upload post form-data 请求示例 file: 文件 返回示例 ``` { "code": 0, "data": { "data": { "originalname": "W1.png", "filename": "1682479059465-W1.png", "path": "/downloadFile/1682479059465-W1.png", "_id": "644897d32169b3330954161c", "createdAt": "2023-04-26T03:17:39.473Z", "updatedAt": "2023-04-26T03:17:39.473Z", "__v": 0 } }, "message": "文件上传成功" } ``` #### 访问文件 http://localhost:3000/downloadFile/${filename} 或者根据文件id获取文件地址 {{base_url}}/files/:id get 返回示例 ``` { "code": 0, "data": { "path": "/downloadFile/1682479059465-W1.png" }, "message": "true" } ``` #### 获取所有文件列表 {{base_url}}/files/getFileList post 请求示例 // 文件名称 精确查找 ``` { "pageSize": 10, "pageNum": 1, "query": { "originname": 'xxx', "filename": 'xxx' } } ``` 返回示例 ``` { "code": 0, "data": { "file": [ { "_id": "644897d32169b3330954161c", "originalname": "W1.png", "filename": "1682479059465-W1.png", "path": "/downloadFile/1682479059465-W1.png", "createdAt": "2023-04-26T03:17:39.473Z", "updatedAt": "2023-04-26T03:17:39.473Z", "__v": 0 } ], "total": 1, "pageNum": 1, "pageSize": 10 }, "message": "true" } ```