core.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // 系统进程ID
  2. SYSTEM.ID = (Math.ceil(Math.random()*61439+4096)).toString(16).toUpperCase();
  3. //系统目录配置
  4. SYSTEM.PATH = {
  5. App : SYSTEM.ROOTPATH + '/app',
  6. System : SYSTEM.ROOTPATH + '/system',
  7. Module : SYSTEM.ROOTPATH + '/system/module',
  8. CoreLib : SYSTEM.ROOTPATH + '/system/lib/core',
  9. ExtraLib : SYSTEM.ROOTPATH + '/system/lib/extra',
  10. CoreHelper : SYSTEM.ROOTPATH + '/system/lib/helper',
  11. Library : SYSTEM.ROOTPATH + '/lib',
  12. Helper : SYSTEM.ROOTPATH + '/lib/helper',
  13. Temp : SYSTEM.ROOTPATH + '/temp',
  14. Log : SYSTEM.ROOTPATH + '/log'
  15. }
  16. //全局扩展库
  17. const Global = (global as any);
  18. Global.FILE = require('fs-extra');
  19. Global.FILE.walkSync = require('klaw-sync');
  20. Global.PATH = require('path');
  21. Global.REQUEST = require('request');
  22. Global.Moment = require('moment');
  23. //自动载入系统目录运行库
  24. let CoreLibFiles = FILE.readdirSync(SYSTEM.PATH.CoreLib);
  25. // console.log(CoreLibFiles)
  26. CoreLibFiles.forEach((filename:string)=>{
  27. const nameWithOutMimeType = (filename.split('.')[0]).toUpperCase();
  28. let coreClass;
  29. try {
  30. coreClass = require(SYSTEM.PATH.CoreLib + '/' + filename);
  31. }catch(e){
  32. console.log('[Core] Core library file ['+filename+'] load error!');
  33. console.log(e);
  34. Global.Tracer.error('[Core] Core library file ['+filename+'] load error!');
  35. }
  36. // if(!coreClass) return;
  37. if(coreClass.hasOwnProperty && coreClass.hasOwnProperty('_name') && coreClass['_name']){
  38. Global[coreClass['_name']] = coreClass;
  39. }else{
  40. Global[nameWithOutMimeType] = coreClass;
  41. }
  42. if(typeof coreClass == 'object' && coreClass.hasOwnProperty && coreClass.hasOwnProperty('__construct')) coreClass['__construct']();
  43. });
  44. CoreLibFiles = null;
  45. //检查并自动创建文件目录
  46. Object.keys(SYSTEM.PATH).forEach((path)=>{
  47. try{
  48. FILE.statSync(SYSTEM.PATH[path]);
  49. }catch(e){
  50. FILE.mkdirsSync(SYSTEM.PATH[path]);
  51. }
  52. });