# node.js **Repository Path**: baiqingxu/node.js ## Basic Information - **Project Name**: node.js - **Description**: express框架javascript后端文章管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-02 - **Last Updated**: 2024-06-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node.js #### 介绍 node.js 版本 20.11.1 nodemon 版本 3.0.3 Express框架javascript后端文章管理系统 这个文章库管理系统有三大模块 1.express的框架中间件 2.mysql数据库连接 3.跨域,token解析,用户信息加密,表单验证 后端接口分为 1.用户注册,登录,修改密码,头像 2.文章的发布,修改,删除 为了增加用户的安全性,这里使用了后端权限管理token的校验,并且对于用户的敏感信息系使用了加密 #### 软件架构 "@escook/express-joi": "^1.1.1", --- "bcryptjs": "^2.4.3", "cors": "^2.8.5", "express": "^4.17.1", "express-jwt": "^5.3.3",1 "joi": "^17.12.1", "jsonwebtoken": "^8.5.1", "multer": "^1.4.2", "mysql": "^2.18.1" #### 文件说明 1. db/index -- 数据库的接入使用 2. router -- 这是所有接口的路由 用户,文章管理的接口,一些验证管理模块的使用 3. router_handler -- 这是上个路由后书写的接口明细,包含了数据库的sql语句的执行 4. config.js -- 使用token的秘钥和结束时间 #### 使用说明 1. 安装 npm install 2. 启动 nodemon ./app.js #### 路由功能明细 本次默认地址是http://127.0.0.1:3000 ## 用户模块 用户登录注册 /reguser (post请求) 注册新的用户 router.post(`/reguser` , expressJoi(reg_login_schema) , user_handler.reguser) /login (post请求) 用户登录 router.post(`/login` , expressJoi(reg_login_schema) , user_handler.login) 用户管理 /userinfo (get请求)传输用户信息token 登录的所有信息除了password router.get(`/userinfo` , userinfo.getUserInfo ) /userinfo (post请求)修改用户信息 router.post(`/userinfo` , expressJoi(update_userinfo_schema) , userinfo.getDataUserinfo) /updatepwd (post请求)重置用户密码 router.post(`/updatepwd` , expressJoi(update_password) , userinfo.updatepassword) /update/avatar (post请求) 更新用户头像 #router.post(`/update/avatar` , expressJoi(update_avatar) , userinfo.updateAvatar) ## 文章模块 文章 增 删 改 查 更新 获取 /cates (get请求) 获取文章列表 router.get(`/cates` , artcate_handler.getArticleCate) /addcates (post请求)查看文章分类和文章名称 router.post(`/addcates` , expressJoi(add_cate_schema) , artcate_handler.add_cate_schema) /deletecate/:id (post请求)删除文章 router.get(`/deletecate/:id` , expressJoi(delete_cate_schema) , artcate_handler.deleteCateById) /cates/:id (get请求)查询单个文章 这个是前端返回的单个数据 router.get(`/cates/:id` , expressJoi(get_cate_schema) , artcate_handler.getArticleById) /updatecate (post请求)更新文章文章分类功能 router.post(`/updatecate` , expressJoi(update_cate_schema) , artcate_handler.updateCateById) /add (post请求)发布文章 router.post(`/add` , upload.single(`cover_img`) , expressJoi(add_article_schema) , artcle_handler.addAtrcle) #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)