docs: function getModelFromServer(pagePath, callback, req) {
    let modelServerOptions = ROOT.MODEL_SERVER;
    let reqUrl = modelServerOptions.path;
    if (typeof reqUrl === 'function') {
      reqUrl = reqUrl({
        host: modelServerOptions.host,
        queries: modelServerOptions.queries,
        headers: modelServerOptions.headers,
        path: pagePath
      });
    }
    // 如果没有设置path，则默认为页面的path
    if (!reqUrl) {
      reqUrl = pagePath;
    }
    if (!reqUrl.startsWith('http')) {
      if (!modelServerOptions.host.endsWith('/')) {
        modelServerOptions.host += '/';
      }
      if (reqUrl.startsWith('/')) {
        reqUrl = reqUrl.slice(1);
      }
      // 是相对地址，加上主机地址
      reqUrl = `${modelServerOptions.host}${reqUrl}`;
    }
    // 处理查询参数
    if (modelServerOptions.queries && Object.keys(modelServerOptions.queries).length) {
      let qs = querystring.stringify(modelServerOptions.queries);
      reqUrl += (reqUrl.includes('?') ? `&` : `?`) + qs;
    }
    let reqHeaders = {};
    // 需要判断有没有 cookie，没有的话，值是 undefined，最后发请求的时候会报错
    // 重现方法：本地删除cookie再发请求
    if (req.headers.cookie) {
      reqHeaders.cookie = req.headers.cookie;
    }
    // 处理请求头
    if (modelServerOptions.headers) {
      Object.keys(modelServerOptions.headers).forEach(function (headerKey) {
        reqHeaders[headerKey] = modelServerOptions.headers[headerKey];
      });
    }
    let urlParseResult = url.parse(reqUrl);
    let options = {
      hostname: urlParseResult.hostname,
      port: urlParseResult.port,
      path: urlParseResult.path,
      headers: reqHeaders,
      protocol: urlParseResult.protocol
    };
    console.log(`页面 ${pagePath} 的模型请求信息：${JSON.stringify(options)}`);
    require(urlParseResult.protocol.slice(0,-1)).get(options, function (res) {
      let ret = [];
      res.on('data', function (chunk) {
        ret.push(chunk.toString());
      });
      res.on('end', function () {
        let json = {};
        try {
          json = JSON.parse(ret.join(''));
          console.log(`页面 ${pagePath} 的模型请求返回的 json 数据为：${JSON.stringify(json)}`);
        } catch (ex) {
          console.log(`页面 ${pagePath} 的模型请求没有返回 json 数据：${JSON.stringify(ret)}`);
        }
        callback(json);
      });
    }).on('error', function (error) {
      callback(error.message);
    });
  }