/create-tell

创建项目的命令行工具,整合了微信公众平台的基本服务

Primary LanguageJavaScriptMIT LicenseMIT

create-tell

NPM version build status

创建EggJS项目的脚手架:整合微信公众平台基本服务

技术选型

数据库

  • 文档型数据库:MongoDB
  • 高性能缓存:Redis
  • 对象云存储:OSS

插件

辅助

如何使用

安装模块

$ npm init tell
? Please select a boilerplate type (Use arrow keys)
  basic - egg-boilerplate-basic
> mp - wechat app boilerplate
  rtc - real time communication app boilerplate

下载模板

package.json 指定 egg.framework,默认为 egg

{
  "egg": {
    "declarations": true,
    "framework": "egg-tell-basic"
  },
  "dependencies": {
    "egg": "^2.15.1",
    "egg-scripts": "^2.11.0",
    "egg-tell-basic": "^1.0.5"
  },
}

修改配置

指定配置文件覆盖数据库地址

  /**
  * 跨域设置
  * @member Config#mp
  * @property {String} appId - 公众平台应用编号
  * @property {String} appSecret - 公众平台应用密钥
  * @property {String} mchId - 商户平台商家编号
  * @property {String} apiKey - 商户支付密钥
  * @property {number}  notifyUrl  - 支付结果回调地址
  */
  config.mp = {
    appId: '',
    appSecret: '',
    mchId: '',
    apiKey: '',
    notifyUrl: '',
  };


  /**
   * 高性能缓存数据库
   * @member Config#redis
   * @property {String} host - 主机
   * @property {int} port - 端口
   * @property {String} password - 密码
   * @property {String} db - 数据库空间
   */
  config.redis = {
    client: {
      host: process.env.EGG_REDIS_HOST || '127.0.0.1',
      port: process.env.EGG_REDIS_PORT || 6379,
      password: process.env.EGG_REDIS_PASSWORD || '',
      db: process.env.EGG_REDIS_DB || '10',
    },
  };

  /**
   * 文档型数据库
   * @member Config#mongoose
   * @property {String} url - 地址
   * @property {Object} optints - 参数
   */
  config.mongoose = {
    url: 'mongodb://localhost:27017/teller',
    options: {
      useNewUrlParser: true,
      autoIndex: true,
      useCreateIndex: true,
    },
  };

  /**
  * 安全设置
  * @member Config#security
  * @property {String} domainWhiteList - 白名单列表
  * @property {Object} csrf - 跨站请求伪造
  */
  config.security = {
    domainWhiteList: [],
    csrf: {
      enable: false,
    },
  };

  /**
   * 性能监控
   * @member Config#alinode
   * @property {String} appid - 应用编号
   * @property {String} secret - 应用密钥
   */
  config.alinode = {
    appid: '',
    secret: '',
  };

启动项目

$ npm run dev

集成开发环境

建议使用VSCode,并添加如下扩展