UNPKG

omelop-iplocation

Version:

ip2location parse ip location info

254 lines (236 loc) 13.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExportClientTS = void 0; const path = require("path"); const fs = require("fs"); const exportServerTS_1 = require("./exportServerTS"); const constants_1 = require("./constants"); class ExportClientTS extends exportServerTS_1.ExportServerTS { constructor(opts) { super(opts); } /** 配置资源Bundle子目录 */ get subdir() { let bundleName = this.docConfigKey.get(constants_1.DocConfigKey.sub_bundle); if (!bundleName || bundleName.length === 0) { return; } return bundleName; } /** 多语言json数据输出目录 */ getLanOutDir(lang) { if (this.subdir) { return `${this.outJsonRootDir}/config_${this.subdir}_i18n_${lang}/config_${this.subdir}_i18n_${lang}`; } return `${this.outJsonRootDir}/config_i18n_${lang}/config_i18n_${lang}`; } /** json数据输出目录 */ getDataOutDir(pub, isPublic) { let dir = this.subdir ? `${this.outJsonRootDir}/config_${this.subdir}_${pub}/config_${this.subdir}_${pub}` : `${this.outJsonRootDir}/config_${pub}/config_${pub}`; if (isPublic) { dir = this.subdir ? `${this.outJsonRootDir}/config_${this.subdir}_common/config_${this.subdir}_common` : `${this.outJsonRootDir}/config_common/config_common`; } return dir; } getModelGetUrl() { let str = ` /** 获取文件链接 */ public static getUrl(filename: string, lang?:string): string { let configUrl = null;`; if (this.subdir) { str += ` let dir = this.isPublic() ? 'config_${this.subdir}_common' : \`config_${this.subdir}_\${window['PubPlatform']}\`; `; } else { str += ` let dir = this.isPublic() ? 'config_common' : \`config_\${window['PubPlatform']}\`; `; } str += `if (window['RemoteConfigURL']) { configUrl = \`\${window['RemoteConfigURL']}/\${dir}/\${filename}\` } else { configUrl = \`\${dir}/\${filename}\` } return configUrl; }`; return str; } genBaseModel() { let str = ` export type JsonLoaderHander = (filename: string) => any; /** 配置模型基础类 */ export abstract class config_model_base { private static loaderHander: JsonLoaderHander; /** 获取文件链接 */ public static getUrl(filename: string, lang?:string): string { let configUrl = null; let dir = this.isPublic() ? 'config_common' : \`config_\${window['PubPlatform']}\`; if (window['RemoteConfigURL']) { configUrl = \`\${window['RemoteConfigURL']}/\${dir}/\${filename}\` } else { configUrl = \`\${dir}/\${filename}\` } return configUrl; } /** 加载文件 */ public static loadJson(configUrl: string): any { return this.loaderHander(configUrl) } /** 公共配置 */ public static isPublic(): boolean { return false; } /** 设置配置加载器 */ public static setJsonLoaderHandler(handler: JsonLoaderHander) { this.loaderHander = handler; } } export interface ConfigClass<T extends config_model_base> { new(): T; FIELDS?: any; getUrl(filename: string, lang?: string): string; loadJson(configUrl: string): any; getConfigName(filename?: string): string; getClassName(): string; /** 公共配置 */ isPublic(): boolean; }`; let targetFilename = `${this.outTsRootDir}/config_model.ts`; const pathInfo = path.parse(targetFilename); this.mkdirsSync(pathInfo.dir); fs.writeFileSync(targetFilename, str); } genLangModel(filename, content, fields, fieldsDef, datas) { const oriFilename = path.parse(filename).name; let modelrName = `${oriFilename}_model`; let str = `import { config_model_base } from './config_model'; import { lang_model_map } from './lang_model_map'; /** * ${content} */ export class ${modelrName} extends config_model_base {\r\n`; if (fieldsDef) { // 字段定义 str += this._genLangFieldDefine(datas); str += `\r\n`; } if (fields === 1) { str += `\tpublic static readonly FIELDS = {\r\n`; str += this._genLangFields(datas); str += `\t}\r\n`; } str += `\r\n`; str += `\tpublic static getClassName(): string { return \'${modelrName}\' } public static getConfigName(filename?: string): string { return \`${oriFilename}-\${filename}.json\`; } public static getUrl(filename: string, lang?: string): string { let configUrl = null; if (window['RemoteConfigURL']) {`; if (this.subdir) { str += ` configUrl = \`\${window['RemoteConfigURL']}/config_${this.subdir}_i18n_\${lang}/\${filename}\`; `; } else { str += ` configUrl = \`\${window['RemoteConfigURL']}/config_i18n_\${lang}/\${filename}\`; `; } str += ` } else {`; if (this.subdir) { str += ` configUrl = \`config_${this.subdir}_i18n_\${lang}/\${filename}\`; `; } else { str += ` configUrl = \`config_i18n_\${lang}/\${filename}\`; `; } str += ` } return configUrl; } } lang_model_map.add(${modelrName});`; fs.writeFileSync(`${path.parse(filename).dir}/${modelrName}.ts`, str); } genErrorModel(filename, content, datas, baseCodeConfig) { const oriFilename = path.parse(filename).name; let modelrName = `${oriFilename}_model`; let str = ''; if (baseCodeConfig) { str += `import { ${baseCodeConfig.baseCode}, ${baseCodeConfig.baseObj}} from '${baseCodeConfig.path}';\r\n`; } str += `import { config_model_base } from './config_model'; /** * ${content} */ export class ${modelrName} extends config_model_base {\r\n`; str += `\r\n`; str += `\tpublic static getClassName(): string { return \'${modelrName}\' } public static getConfigName(filename?: string): string { return \`${oriFilename}-\${filename}.json\`; } public static getUrl(filename: string, lang?: string): string { let configUrl = null; if (window['RemoteConfigURL']) {`; if (this.subdir) { str += ` configUrl = \`\${window['RemoteConfigURL']}/config_${this.subdir}_i18n_\${lang}/\${filename}\` `; } else { str += ` configUrl = \`\${window['RemoteConfigURL']}/config_i18n_\${lang}/\${filename}\` `; } str += ` } else {`; if (this.subdir) { str += ` configUrl = \`config_${this.subdir}_i18n_\${lang}/\${filename}\` `; } else { str += ` configUrl = \`config_i18n_\${lang}/\${filename}\` `; } str += ` } return configUrl; } }`; str += `\r\n`; str += `export const ${oriFilename} = {\r\n`; if (baseCodeConfig) { str += `\t...${baseCodeConfig.baseCode},\r\n`; } // 字段定义 str += this._genErrorFieldDefine(datas); str += `}\r\n`; str += `export const ${oriFilename}_key = {};\r\n`; str += `for (let [k, v] of Object.entries(${oriFilename})) {\r\n`; str += `\t${oriFilename}_key[v] = k;\r\n`; str += `}\r\n`; str += `\r\n`; str += `export const ${oriFilename}_obj = {\r\n`; if (baseCodeConfig) { str += `\t...${baseCodeConfig.baseObj},\r\n`; } // 字段定义 str += this._genErrorFieldObj(datas); str += `}`; fs.writeFileSync(`${path.parse(filename).dir}/${modelrName}.ts`, str); } } exports.ExportClientTS = ExportClientTS; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0Q2xpZW50VFMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXhwb3J0Q2xpZW50VFMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixxREFBa0Q7QUFDbEQsMkNBQTJDO0FBRTNDLE1BQWEsY0FBZSxTQUFRLCtCQUFjO0lBRzlDLFlBQVksSUFBUztRQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixJQUFJLE1BQU07UUFDTixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyx3QkFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVELG9CQUFvQjtJQUNWLFlBQVksQ0FBQyxJQUFhO1FBQ2hDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxXQUFXLElBQUksQ0FBQyxNQUFNLFNBQVMsSUFBSSxXQUFXLElBQUksQ0FBQyxNQUFNLFNBQVMsSUFBSSxFQUFFLENBQUM7U0FDekc7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsZ0JBQWdCLElBQUksZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7SUFDUCxhQUFhLENBQUMsR0FBVyxFQUFFLFFBQWlCO1FBQ2xELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsV0FBVyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsV0FBVyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMs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