const fs = require("fs");
const settings = require("../../../config/settings");
class CacheManager {
  constructor() {
    //await this.buildCacheMap();
    this.buildCacheMap();
  }
  buildCacheMap() {
    var self = this;
    self.doc = {};
    var cachePath = settings.basepath + "/app/base/db/cache/";
    const files = fs.readdirSync(cachePath);
    if (files) {
      files.forEach(function (r) {
        var classObj = require(cachePath + "/" + r);
        self[classObj.name] = new classObj();
        var refTmp = self[classObj.name];
        if (refTmp.prefix) {
          self.doc[refTmp.prefix] = refTmp.desc;
        } else {
          console.log("请在" + classObj.name + "缓存中定义prefix");
        }
      });
    }
  }
}
module.exports = CacheManager;
// var cm= new CacheManager();
// cm["InitGiftCache"].cacheGlobalVal("hello").then(function(){
//   cm["InitGiftCache"].cacheGlobalVal().then(x=>{
//     console.log(x);
//   });
// });