omelop-iplocation
Version:
ip2location parse ip location info
254 lines (236 loc) • 13.7 kB
JavaScript
;
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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