_develop

开发调试模块

开发和调试专用模块,主要帮助开发生成不同日志。

函数名 说明
dgAjax Ajax远程数据调试。
dgDebug (高频)常用调试函数打印调试日志。
dgDiff 打印两个对象的比对差异结果。
dgFileJson (高频)将数据对象存储成文件保存并下载。
dgGraphic 图引擎日志函数。
dgQuery 查询引擎日志函数。
dgRouter 路由日志函数。
dgTodo 待办标签函数。
fxError 构造错误对象专用函数。
fxFailure Jsx输出型界面函数。
fxFatal 「中断」带中断错误抛出的中断执行函数。
fxMessage 构造错误消息专用函数。
fxRedux Redux专用错误信息输出。
fxReject 「异步」异步专用错误信息输出函数。
fxReport (废弃)直接打印彩色日志。
fxTerminal console.error打印错误信息。
fxWarning console.warn动因警告信息。

Methods

(static) dgAjax(data, prefix) → {any}

「开发专用」Ux.dgAjax

(高频函数)通用 DEBUG 调试函数,主要调试 Ajax 请求响应专用,在开发模式以及Z_DEV_MOCK打开时候使用 主要用于监控Ajax远程请求的数据信息,此处prefix为标识,主要用于鉴别在什么位置执行ajax调试专用。

Parameters:
Name Type Description
data any

输入的需要调试的数据信息。

prefix any

消息的前缀。

Returns:

输入什么内容就返回什么内容(方便Fluent调用)。

Type
any

(static) dgDebug(data, prefix, color) → {any}

「开发专用」Ux.dgDebug

(高频函数)通用 DEBUG 调试函数,直接调用即可,用于打印特定数据,第三参数可设置日志的颜色, 如果不设置则使用#eb2f96作为默认色彩。

import Ux from 'ux';
const user = { username:"Lang Yu" };
Ux.dgDebug(user, "用户信息");  // 使用默认色彩
Parameters:
Name Type Description
data any

推荐使用输入的 Object。

prefix String

消息前缀。

color WebColor

色彩值。

Returns:

传入什么内容就打印什么内容(方便Fluent调用)。

Type
any

(static) dgDiff(left, right)

「开发专用」Ux.dgDiff

打印两个对象的深度比对结果,打印差异性(比较两个对象专用)。

Parameters:
Name Type Description
left any

对比左值

right any

对比右值

(static) dgFileJson(data, ext, filename)

「开发专用」Ux.dgFileJson

(高频函数)通用 DEBUG 抓取数据格式的专用函数,该函数会抓取数据并且生成 Json 文件存储起来

Parameters:
Name Type Default Description
data any

输入的需要调试的数据信息。

ext String json

扩展名,不设置则使用 .json

filename String

下载的文件名,如果不设置则使用 <uuid>.<ext> 的格式。

(static) dgGraphic(input, message, color)

「开发专用」Ux.dgGraphic

打印图相关配置和数据信息,内部调用 dgDebug 函数,该函数目前只在 GEvent 内部使用,主要用于打印图专用的数据结构, 和 dgDebug 不同的是颜色上会有区别,图日志的默认颜色为#1A91FF

Parameters:
Name Type Default Description
input Object

输入的核心数据信息。

message String

打印的消息信息,会追加 GEvent 日志前缀。

color WebColor #1A91FF

色差专用字符串,Web色彩。

(static) dgQuery(reference, name)

「开发专用」Ux.dgQuery

打印 React 组件中的特殊查询条件信息,从 reference.state 中提取

  • $terms:列过滤配置,用于存储列过滤的字段和类型。
  • $filters:表单提交的查询条件配置,主要用于 ExForm 中的过滤提交设置。
  • $condition:列过滤最终生成的条件信息。
  • $query:状态中合并的起点查询条件,标配的 Query 结构。

下边是示例结构:

{
    "pager": {
        "page": 1,
        "size": 10
    },
    "sorter": [
        "field,DESC"
    ],
    "criteria": {
    },
    "projection": []
}
Parameters:
Name Type Description
reference React.Component

React组件引用专用信息

name String

当前条件分析器日志名称

(static) dgRouter(Ux, container, component)

「开发专用」Ux.dgRouter

UI组件的日志记录器,记录所有的UI组件,打印当前系统中所有存在的路由组件 该方法通常只在react-router的入口文件中使用,开发模式可知道生成代码生成的路由组件做统计。

Parameters:
Name Type Description
Ux Ux

Utility X工具包。

container Object

布局容器组件。

component Object

页面核心组件。

(static) dgTodo(input, message)

「开发专用」Ux.dgTodo

打印任务标签,颜色会有区别,内部调用dgDebug。

Parameters:
Name Type Description
input any

输入的数据对象

message String

输入信息

(static) fxError(code, args) → {Object}

「标准」Ux.fxError

容错专用函数,消息处理函数,生成最终的 error 的状态信息,多用于 React 中的错误 state,生成的对象结构如:

{
    "code": "错误代码",
    "error": "错误信息(可根据参数执行消息)"
}
Parameters:
Name Type Description
code Number

内部错误编码。

args Array.<any>

错误信息中所需的参数(可变)。

Returns:

返回最终的错误状态,组件可消费。

Type
Object

(static) fxFailure(code, args) → {Jsx}

「标准」Ux.fxFailure

容错专用函数,渲染错误界面(渲染内部带有错误编码的错误界面), 该操作作用于jsx,目的是输出错误信息到界面, 在很多地方可直接使用该方法实现容错界面呈现。

Parameters:
Name Type Description
code Number | String

内部错误编码

args Array.<any>

错误信息中所需的参数(可变)

Returns:
Type
Jsx

(static) fxFatal(code, args)

「标准」Ux.fxFatal

容错专用函数,终止函数,一旦出错不打印任何信息,直接抛出 Error,最终会 throw Error 导致系统中断, 注意该函数会引起错误终端导致程序无法运行,一般是严重错误才使用。

Parameters:
Name Type Description
code Number

内部错误编码

args Array.<any>

错误信息中所需的参数(可变)

Throws:

错误信息异常会被抛出

(static) fxMessage(code, args) → {String}

「标准」Ux.fxMessage

容错专用函数,生成fxError中需要使用的error节点的信息,支持表达式替换,会将数据输入到表达式中。

容错专用函数,消息处理函数,生成最终合并的 Message 相关信息

Parameters:
Name Type Description
code Number

内部错误编码。

args Array.<any>

错误信息中所需的参数(可变)。

Returns:

返回最终的字符串信息。

Type
String

(static) fxRedux(object, original) → {any}

「标准」Ux.fxRedux

只会使用在 Redux 环境中的响应处理器,目前是框架内部使用,带监控流程生成日志。

内部调用代码如下:

const actionType = $action.ofType(type.getType());
const source = from(actionType);
return source.pipe(
     map(action => action.payload),
     map(promise),
     switchMap(promise => from(promise).pipe(
         map(responser),
         map(E.fxRedux),
         map(data => Rdx.dataOut(data))
     ))
);
Parameters:
Name Type Description
object String | Object

传入的数据信息。

original any

原始数据问题。

Returns:

传入什么返回什么,使用函数链操作。

Type
any

(async, static) fxReject(code) → {Promise.<T>}

「标准」Ux.fxReject

容错专用函数,直接通过 code 来抓取内部定义错误信息的 Promise.reject 处理,主要用于执行 异步模式下的 reject 操作,和Promise中的 reject 操作来绑定。

Parameters:
Name Type Description
code Number

错误编号,内部定义。

Returns:

返回拒绝过后的内容。

Type
Promise.<T>

(static) fxReport(data, config) → {Object}

Deprecated:
  • Yes

「标准」Ux.fxReport

该函数直接生成框架报表(新版已去掉彩色报表,没有必要存在),在最早的 console 中打印,内部调用代码如:

const input = {
     E,
     develop,
     abs,
     element,
     entity,
     graphic,
     unity,
     ajax,
     engine,
};
export default () => E.fxReport(input, config);
Parameters:
Name Type Description
data Object

需要生成报表的数据

config Object

是需要解析的

Returns:

返回生成的报表数据

Type
Object

(static) fxTerminal(fnCond, code, args) → {String}

「标准」Ux.fxTerminal

(高频)带条件的错误消息,构造内部消息专用,高频使用函数,和内部错误代码绑定。

调用代码如下:

     // ns 属性检查
     Ux.E.fxTerminal(!Cab || !Cab.hasOwnProperty("ns"), 10050, Cab);
     // 参数名称检查
     Ux.E.fxTerminal(!Name, 10051, Name);

注意首参可以是一个直接条件,也可以是一个Function,最终执行的结果进行JavaScript级别的判断,判断条件成功 则打印错误信息,如果判断条件失败则不打印错误信息,并且这个函数不会中断执行,也就是不抛出任何异常信息。

Parameters:
Name Type Description
fnCond function | boolean

条件值或条件函数,满足时执行。

code Number

内部错误编码。

args Array.<any>

错误信息中所需的参数(可变)。

Returns:

使用 error 打印警告信息,并且生成最终的警告信息。

Type
String

(static) fxWarning(fnCond, code, args) → {String}

「标准」Ux.fxWarning

(略)用法同fxTerminal,只是这个函数使用的输出管道为console.warn,而fxTerminal的输出管道为console.error

Parameters:
Name Type Description
fnCond function | boolean

条件值或条件函数,满足时执行。

code Number

内部错误编码。

args Array.<any>

错误信息中所需的参数(可变)。

Returns:

使用 warn 打印警告信息,并且生成最终的警告信息。

Type
String