@truenewx/tnxcore
Version:
互联网技术解决方案:JavaScript核心扩展支持
74 lines (63 loc) • 2.35 kB
text/typescript
/**
* 基于原生JavaScript的扩展支持
*/
import Enum from './foundation/enum.ts';
import Menu from './foundation/menu.ts';
import Properties from './foundation/properties.ts';
import SafePromise from './foundation/safe-promise.ts';
import Validator from './foundation/validator.ts';
import Wechat from './foundation/wechat.ts';
import Yaml from './foundation/yaml.ts';
import util from './util/index.ts';
import * as api from './api/index.ts';
import * as auth from './api/auth.ts';
import * as fss from './api/fss.ts';
import * as meta from './api/meta.ts';
import './tnxcore.css';
export {Enum};
export {Menu};
export {Properties};
export {SafePromise};
export {Validator};
export {Wechat};
export {Yaml};
export {util};
export default class Tnx {
$id: string;
foundations = {Enum, Menu, Properties, SafePromise, Validator, Wechat, Yaml};
libs: Record<string, any> = {};
util = util;
api = api;
auth = auth;
fss = fss;
meta = meta;
global: Record<string, any> = {};
constructor(apiBaseUrl: string, id = 'tnxcore') {
this.$id = id + "@" + new Date().format('yyyyMMddHHmmss');
this.api.setBaseUrl(apiBaseUrl);
window.tnx = this;
}
toast(message: string, theme?: string, options?: { duration?: number }): Promise<void> {
throw new Error('不支持的方法');
}
alert(message: string, options?: { title?: string, confirmButtonText?: string }): Promise<void> {
const title = options?.title || '提示';
alert(title + '\n' + message);
return Promise.resolve();
}
success(message: string, options?: { title?: string, confirmButtonText?: string }): Promise<void> {
return this.alert(message, Object.assign({title: '成功'}, options));
}
error(message: string, options?: { title?: string, confirmButtonText?: string }): Promise<void> {
return this.alert(message, Object.assign({title: '错误'}, options));
}
confirm(message: string, options?: {
title?: string,
confirmButtonText?: string,
cancelButtonText?: string,
}): Promise<boolean> {
const title = options?.title || '确认';
const yes = confirm(title + '\n' + message);
return Promise.resolve(yes);
}
}