// 自动化检测文件，获取然后全局注册
const routerContext = require.context("./", true, /\.js$/);
const globalUtils = [];
routerContext.keys().forEach(route => {
  // 如果是根目录的 index.js 和 request.js 不处理
  if (route.startsWith("./index") || route.startsWith("./request")) {
    return;
  }
  const routerModule = routerContext(route);
  /**
   * 兼容 import export 和 require module.export 两种规范
   * import export 有 default 用 routerModule.default
   */
  globalUtils.push(routerModule.default || routerModule);
});

export default {
  install(Vue) {
    // 全局注册
    globalUtils.forEach(item => {
      if (typeof item === "function") {
        Vue.prototype["$" + item.name] = item;
      } else if (typeof item === "object") {
        for (let i in item) {
          Vue.prototype["$" + i] = item[i];
        }
      } else {
        console.error("定义的类型暂不支持！");
      }
    });

    /** 字符串超长截取省略号显示 */
    Vue.filter("ellipsis", function(value, vlength = 25) {
      if (!value) {
        return "";
      }
      console.log("vlength: " + vlength);
      if (value.length > vlength) {
        return value.slice(0, vlength) + "...";
      }
      return value;
    });
  }
};
