# coderhub **Repository Path**: wzm_love_coding/coderhub ## Basic Information - **Project Name**: coderhub - **Description**: 这是一个node后端项目,框架采用koa,mysql分层架构思维开发 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-05 - **Last Updated**: 2023-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 安装项目依赖 ```js npm i koa @koa/router koa-bodyparser npm i dotenv (加载.env文件) npm i mysql2 npm i jsonwebtoken ``` ## 启动项目 ```js npm run start ``` ## trouble 在使用git,未添加.ignore文件,使用了git add. 将所有的文件都添加到库里了,不小心将一些不需要加入版本库的文件加到了版本库中。由于此时还没有提交,所以不存在HEAD版本,故不能使用git reset HEAD命令。 #解决方法 ```js git rm -r --cached . ``` 如果想要过滤出指定后缀(如:*.bpmn)的文件,可以用 git rm -r --cached *.bpmn ## 加密解密 ```js npm install crypto --save ``` > 文章链接 https://cloud.tencent.com/developer/beta/article/1732824 ## 生成公钥和私钥 进入keys文件夹 ```js openssl genrsa -out private.key 2048 rsa -in private.key -pubout -out public.key ``` PRIVATE_KEY 大小现在最少要2048 ## 使用jwt ```js async sign(ctx, next) { // 1.获取用户信息 const { id, name } = ctx.user // 2.颁发令牌token let token = await jwt.sign({ id, name }, PRIVATE_KEY, { expiresIn: 24 * 60 * 60,//一天 algorithm: 'RS256'//非对称加密 }) // 3.返回用户信息 ctx.body = { code: 0, data: { id, name, token } } ```