Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

这是一个开箱即用node+express+ts模板,内含以下功能

  • 利用node的require模块进行api的自动化生成
  • 微信公众号的授权
    • 企业公众号的用户信息
    • 非企业公众号的用户信息
  • 微信小程序授权
  • 文件上传功能
  • 七牛csdnToken上传
  • mysql快速配置
  • 采用sequelize快速操作sql语句
  • 全局的token拦截
  • 采用异步的方式封装了request模块
  • 采用apidoc自动化生成api文档

文件夹介绍

  • api
    • api文件存放位置
  • mysql
    • mysql相关配置
  • middleware
    • 中间件
  • db
    • sequelize模型定义
  • utils
    • 工具库

如何快速的添加一个api

  1. api/common文件夹下新建一个ts文件,采用export导出一个function
  2. api/common/router/index.ts内新增xxx: { type: 'get' }

以下是实例,我在common内需要新增一个名为demo的api

api/common/demo.ts内容

export = (req: any, res: any) => {
    res.send({
        code: 200
    })
};

api/common/router/index.ts内容

export = {
    demo: { type: 'get' }
}

这样子就能在浏览器里面输入ip/common/demo进行访问了,如果请求为POST则讲type改成POST即可

添加api的必填参数校验

接回上面的教程,除了type选项,还有一个名为verifyValue的选项,用于配置该api的非空校验,default为该字段的默认值,详情查看api/common/router/index.ts里面的demo路由

在api文件里面的req进行了封装过滤,如果是GET请求req返回为req.query,如果请求方式为POST req则会返回req.body,在运行项目的时候可以尝试输出req进行查看

如果想去掉这个返回可以去api/index.ts修改query与body的返回

如何生成一个不同指向的路由

  1. 在api目录下新建一个文件夹,在该文件下面新建一个名为router的文件夹,在该router文件夹下,新建index.ts
  2. 在api/index.ts下的routerMap变量,新增一个名为第一步文件夹名的字符串

下面是注册流程

在api下新建了一个名为common,最终他的文件目录是这样子的api/common/router/index.ts

在api/index.ts的routerMap数组内,新增了一个common字符串,这样子就已经注册完一个指向common的路由了,可进行添加aip的操作了

微信公众号

微信公众号相关文件在api/wx目录下,可在api/wx/router查看各个文件的作用

微信小程序

微信公众号相关文件在api/applets目录下,可在api/applets/router查看各个文件的作用

七牛cdn上传

微信公众号相关文件在api/qiniu目录下,可在api/qiniu/router查看各个文件的作用

文件上传

微信公众号相关文件在api/common目录下,可在api/common/router查看各个文件的作用

配置上述的敏感密钥以及相关配置可在utils/config.ts配置

运行项目

全局安装过express-generator(首次使用需安装)

npm install -g express-generator

全局安装TS(首次使用需安装)

npm install -g typescript

安装express类型依赖(首次使用需安装)

npm install @types/node --save-dev
npm install @types/express --save-dev

全局安装ts-node(首次使用需安装)

npm install ts-node -g

全局安装nodemon(首次使用需安装)

npm install nodemon -g

引入依赖

npm i

启动开发环境

npm run dev

打包

npm run build

api文档生成采用的是apidoc,官方文档

全局引用apidoc

npm i apidoc -g

生成api文档

npm run doc

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages