feat: 提交资源
This commit is contained in:
		
							
								
								
									
										38
									
								
								extensions/max-studio/source/hotupdate/cfgutils.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								extensions/max-studio/source/hotupdate/cfgutils.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
import { existsSync, readFileSync, writeFileSync } from "fs";
 | 
			
		||||
import { ensureFileSync } from "fs-extra";
 | 
			
		||||
import path from "path";
 | 
			
		||||
 | 
			
		||||
export class CfgData {
 | 
			
		||||
    version: string = "1.0.0";
 | 
			
		||||
    md5: string = "";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export class CfgUtils {
 | 
			
		||||
    private static getCfgFile(pkg: string) {
 | 
			
		||||
        if (!pkg || pkg.trim() === '') {
 | 
			
		||||
            throw new Error('包名不能为空');
 | 
			
		||||
        }
 | 
			
		||||
        return path.join(__dirname, `../../../temp/max-framework-hotupdate/${pkg}.json`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static getCfgData(pkg: string): CfgData {
 | 
			
		||||
        const cfgFile = CfgUtils.getCfgFile(pkg);
 | 
			
		||||
        if (existsSync(cfgFile)) {
 | 
			
		||||
            const data = readFileSync(cfgFile, 'utf-8');
 | 
			
		||||
            const cfgData = JSON.parse(data) as CfgData;
 | 
			
		||||
            console.log('读取配置文件', pkg, JSON.stringify(cfgData));
 | 
			
		||||
            return cfgData;
 | 
			
		||||
        } else {
 | 
			
		||||
            const data = new CfgData();
 | 
			
		||||
            CfgUtils.savaConfig(pkg, data);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static savaConfig(pkg: string, data: CfgData) {
 | 
			
		||||
        console.log('保存配置文件', pkg, JSON.stringify(data));
 | 
			
		||||
        const cfgFile = CfgUtils.getCfgFile(pkg);
 | 
			
		||||
        ensureFileSync(cfgFile);
 | 
			
		||||
        writeFileSync(cfgFile, JSON.stringify(data), 'utf-8');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user