development/zone

Zone 底座:调试函数(开发专用)


Methods

(static) dgAdmit(input, name, isProp, config)

「开发」Ux.dgAdmit

Parameters:
Name Type Default Description
input
name
isProp true
config

(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 Object

消息前缀。

color WebColor

色彩值。

Returns:

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

Type
any

(static) dgDiff(left, right)

「开发」Ux.dgDiff

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

Parameters:
Name Type Description
left any

对比左值

right any

对比右值

(static) dgFile(data, ext, filename)

「开发」Ux.dgFile

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

Parameters:
Name Type Default Description
data any

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

ext String json

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

filename String

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

(static) dgFileJson(data, ext, filename)

Deprecated:
  • Yes

「开发」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) dgJs(input, message, color) → {*}

「开发」Ux.dgJs

Parameters:
Name Type Description
input
message
color
Returns:
Type
*

(static) dgQr(data, prefix) → {*}

「开发」Ux.dgQr

Parameters:
Name Type Description
data
prefix
Returns:
Type
*

(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) dgSkip(value, vDefault) → {*|boolean|boolean}

「开发」Ux.dgSkip

Parameters:
Name Type Description
value
vDefault
Returns:
Type
* | boolean | boolean

(static) dgTodo(input, message)

「开发」Ux.dgTodo

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

Parameters:
Name Type Description
input any

输入的数据对象

message String

输入信息

(static) dglApi(reference, response)

「开发」Ux.dglApi

Parameters:
Name Type Description
reference
response

(static) dglList(reference)

「开发」Ux.dglList

Parameters:
Name Type Description
reference

(static) dglQrAdvanced(reference)

「开发」Ux.dglQrAdvanced

Parameters:
Name Type Description
reference

(static) dglQrC(reference, major)

「开发」Ux.dglQrC

Parameters:
Name Type Description
reference
major

(static) dglQrFilter(reference)

「开发」Ux.dglQrFilter

Parameters:
Name Type Description
reference

(static) dglQrSearch(reference)

「开发」Ux.dglQrSearch

Parameters:
Name Type Description
reference

(static) dglQrV(reference, qr, query, server)

「开发」Ux.dglQrV

Parameters:
Name Type Description
reference
qr
query
server

(static) dglQrViewUp(reference)

「开发」Ux.dglViewUp

Parameters:
Name Type Description
reference

(static) dglVColumn(reference)

「开发」Ux.dglVColumn

Parameters:
Name Type Description
reference

(static) dglVCriteria(reference)

「开发」Ux.dglVCriteria

Parameters:
Name Type Description
reference

(static) dglViewAt(reference)

「开发」Ux.dglViewAt

Parameters:
Name Type Description
reference

(static) fxCatch(errorFn, reference) → {function}

「标准」Ux.E.fxCatch

专用于 promise 中的 catch 方法的函数,通常调用如:

... promise.then(xxxx => ).catch(Ux.E.fxCatch(xxx, reference))

最终生成的数据结构:

  1. error 专用,state.error 赋值

  2. 远程响应数据结构如:

    {
        "code": xxx,
        "message": xxx,
        "status": xxx,
        "statusText": xxx,
        "_error": true
    }
    

追加错误信息到界面,多一个键值alert处理(自定义错误信息表)

Parameters:
Name Type Description
errorFn function | Object

附加Error的执行函数,用于执行二义性处理

reference

当前组件引用

Returns:

返回一个函数

Type
function

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

「标准」Ux.E.fxError

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

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

内部错误编码。

args Array.<any>

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

Returns:

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

Type
Object

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

「标准」Ux.E.fxFailure

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

Parameters:
Name Type Description
code Number | String

内部错误编码

args Array.<any>

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

Returns:
Type
Jsx

(static) fxFatal(code, args)

「标准」Ux.E.fxFatal

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

Parameters:
Name Type Description
code Number

内部错误编码

args Array.<any>

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

Throws:

错误信息异常会被抛出

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

「标准」Ux.E.fxMessage

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

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

Parameters:
Name Type Description
code Number

内部错误编码。

args Array.<any>

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

Returns:

返回最终的字符串信息。

Type
String

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

「标准」Ux.E.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.E.fxReject

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

Parameters:
Name Type Description
code Number

错误编号,内部定义。

Returns:

返回拒绝过后的内容。

Type
Promise.<T>

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

「标准」Ux.E.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.E.fxWarning

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

Parameters:
Name Type Description
fnCond function | boolean

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

code Number

内部错误编码。

args Array.<any>

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

Returns:

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

Type
String