config.default.js 3.2 KB
/* eslint valid-jsdoc: "off" */

"use strict";

const path = require("path");
/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = (appInfo) => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = (exports = {});
  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + "_1642067379356_9612";

  // add your middleware config here
  config.middleware = [];

  // add your user config here
  const userConfig = {
    // myAppName: 'egg',
  };

  const view = {
    root: path.join(appInfo.baseDir, "app/public"),
    defaultViewEngine: "nunjucks",
    mapping: {
      ".html": "nunjucks",
    },
  };

  config.cluster = {
    listen: {
      path: "",
      port: 8012,
      hostname: "0.0.0.0",
    },
  };

  config.restful = {
    tokenUrl: "/uaa/v1/auth/tokens",
    tokenMethod: "POST",
    scope: "global_access:tenant_admin",
    // host: 'http://118.178.181.180',
    host: "http://47.110.250.177",
    // host: 'http://47.110.158.110',
    // host:'http://120.27.220.60',
    // host: 'http://39.104.52.206',
    // host: 'http://47.99.189.12',
    ossUrl: "http://47.110.250.177:20000",
    version: "/v1",
    // host: '47.110.158.110',
    // host: '120.27.220.60',
    // host: '39.104.52.206',
    port: 20000,
  };

  config.static = {
    prefix: "/",
    dir: path.join(appInfo.baseDir, "app/public"),
    dynamic: true, //是否緩存靜態資源
    preload: false, //啓動項目開啓緩存
    maxAge: 0, //緩存時間 開發建議設0 跳坑
    buffer: false, //是否緩存到内存 默認prod 緩存
  };

  const security = {
    csrf: {
      xframe: {
        enable: false,
      },
      // heaederName:'cookie',
      type: "ctoken", // can be ctoken, referer, all or any, default to ctoken
      useSession: false, // if useSession set to true, the secret will keep in session instead of cookie
      ignoreJSON: false, // skip check JSON requests if ignoreJSON set to true
      cookieName: "csrfToken", // csrf token's cookie name
      sessionName: "csrfToken", // csrf token's session name
      headerName: "x-csrf-token", // request csrf token's name in header
      bodyName: "_csrf", // request csrf token's name in body
      queryName: "_csrf", // request csrf token's name in query
      refererWhiteList: [], // referer white list

      // queryName: '_csrf', // 通过 query 传递 CSRF token 的默认字段为 _csrf
      // bodyName: '_csrf', // 通过 body 传递 CSRF token 的默认字段为 _csrf
      ignore: (ctx) => {
        if (
          ctx.request.url.indexOf("/api") != -1 ||
          ctx.request.url.indexOf("/doLogin") != -1
        ) {
          return true;
        }
        return false;
      },
    },
  };

  config.connectHistoryApiFallback = {
    whiteList: ["/api", "/passport", "/__webpack_hmr"],
  };

  config.logger = {
    consoleLevel: "DEBUG",
    // dir:'/root/logs/eggjs'
  };

  config.passportLocal = {
    usernameField: 'username',
    passwordField: 'password',
  };
  
  //redis config
  const redis = {
    client: {
      host: "127.0.0.1",
      port: "6379",
      password: "",
      db: "1",
    },
    agent: true,
  };

  return {
    ...config,
    ...userConfig,
    security,
    redis,
    view,
  };
};