UNPKG

gxd-vue-library

Version:

依赖与element Ui插件库,聚福宝福利PC端插件库

90 lines (76 loc) 2.22 kB
'use strict'; const fileHelper = require('./../fileHepler'); const basePath = require('./../path'); const apiDirectory = basePath.apiDirectory; const storeDirectory = basePath.storeDirectory; const mixinsDirectory = basePath.mixinsDirectory; const apiUrlDirectory = basePath.apiUrlDirectory; const rootSchemas = require('./../schemas/system'); const clog = require('./../clog'); let schemasArray = [rootSchemas]; let schemas = fileHelper.getDirFiles(basePath.schemasDirectory, ['js']); Object.keys(schemas).map(key => { schemasArray.push(require(basePath.schemasDirectory + '/' + schemas[key]['fullName'])); }); const getPromise = (item)=>{ return new Promise((resolve) => { fileHelper.existFile(item.url) .then(() => { fileHelper.readFile(item.url) .then(res=>{ if(res['indexOf']('@author coder') === -1) { resolve({item, isExist: true}) } else { resolve({item, isExist: false}) } }) .catch(()=>{ resolve({item, isExist: false}); }) }) .catch(() => { resolve({item, isExist: false}); }) }); }; let apisPromise = []; let filesArray = []; const init= (modes) =>{ return new Promise((resolve)=>{ modes.map(item=>{ filesArray.push({ url: `${apiDirectory}/${item.name}.js`, type:'api', item }); filesArray.push({ url: `${storeDirectory}/modules/${item.name}.js`, type: 'store', item }); filesArray.push({ url: `${apiUrlDirectory}/modules/${item.name}.js`, type: 'apiurl', item }); filesArray.push({ url: `${mixinsDirectory}/${item.name}.js`, type: 'mixins', item }); }); filesArray.map(item => { apisPromise.push(getPromise(item)) }); Promise.all(apisPromise) .then(res=>{ res.map(({item, isExist })=>{ clog(`${isExist?'(已存在)': '(可创建)'} 模块:${item.item.name},类型:${item.type}, 路径:${item.url}`, isExist ? 'red' : 'green'); }); resolve(res); }) .catch() }) }; init(schemasArray);