Misc Other
Overview
Utility function
jsonStringify
Convert the object obj to a JSON string.
Misc.jsonStringify(obj);| Parameter | Type | Description |
|---|---|---|
| obj | Object | The object to be serialized |
Return Value
Type String The object obj serialized as a JSON string; returns null if obj is null.
Example
Misc.jsonStringify("123456"); //"123456"
Misc.jsonStringify([1, 2, 3, 4, 5, 6]); //[1,2,3,4,5,6]
Misc.jsonStringify({ a: 1, b: 2 }); //{"a":1,"b":2}
Misc.jsonStringify(date); //1667232000000
Misc.jsonStringify(true); //true
Misc.jsonStringify(null); //nulljsonParse
Parse the string str into a JSON object.
Misc.jsonParse(str);| Parameter | Type | Description |
|---|---|---|
| str | String | The string to be converted into an object |
Return Value
Type Object The resulting object; throws an exception if str is null or not valid JSON.
Example
Misc.jsonParse('"123456"'); //123456
Misc.jsonParse("[1,2,3,4,5,6]"); //[1,2,3,4,5,6]
Misc.jsonParse('{"a":1,"b":2}'); //{a:1,b:2}
Misc.jsonParse(1667232000000); //1667232000000
Misc.jsonParse('"2022-12-03T15:31:10.844Z"'); //Sat Dec 03 23:31:10 CST 2022
Misc.jsonParse(true); //true
Misc.jsonParse(null); //nullparseFloat
Parse the string str into a decimal number.
Misc.parseFloat(str);| Parameter | Type | Description |
|---|---|---|
| str | String | The string to be converted |
Return Value
Type Double The converted decimal number; throws an exception if str is null or not a valid numeric format.
Example
Misc.parseFloat(1); //1.0
Misc.parseFloat(2.0); //2.0
Misc.parseFloat("2"); //2.0
Misc.parseFloat("a"); //null
Misc.parseFloat(true); //null
Misc.parseFloat(null); //nullparseInt
Parse the string str into an integer.
Misc.parseInt(str);| Parameter | Type | Description |
|---|---|---|
| str | String | The string to be converted |
Return Value
Type Integer The converted integer; throws an exception if str is null or not a valid numeric format.
Example
Misc.parseInt(1); //1
Misc.parseInt(2.0); //2
Misc.parseInt("2"); //2
Misc.parseInt("3.1415"); //3
Misc.parseInt("03.1415"); //3
Misc.parseInt("a"); //null
Misc.parseInt(true); //null
Misc.parseInt(null); //nulltimestampToDate
Convert the UNIX timestamp number value timestamp to a date type.
Misc.timestampToDate(timestamp);| Parameter | Type | Description |
|---|---|---|
| timestamp | Integer | UNIX timestamp |
Return Value
Type Date The converted date; returns null if timestamp is null.
Example
Misc.timestampToDate(1667232000000); //Tue Nov 01 00:00:00 CST 2022
Misc.timestampToDate("1667232000000"); //Tue Nov 01 00:00:00 CST 2022
Misc.timestampToDate("3.1415"); //null
Misc.timestampToDate("a"); //null
Misc.timestampToDate(null); //nulldateToTimestamp
Convert the date type date to a UNIX timestamp number value.
Misc.dateToTimestamp(date);| Parameter | Type | Description |
|---|---|---|
| date | Date | The date to be converted |
Return Value
Type Integer The converted UNIX timestamp; returns null if date is null.
示例
Misc.dateToTimestamp(new Date()); //1667232000000
Misc.timestampToDate(null); //nullformatDate
Convert the date type date to a string formatted according to the format fmt(yyyy-MM-dd HH:mm:ss,SSS).
Misc.formatDate(date, fmt);| Parameter | Type | Description |
|---|---|---|
| date | Date | The date to be formatted |
| fmt | String | The format string |
Return Value
Type String The formatted date string; returns null if date is null or fmt is null or not a valid format.
Example
//假设date的值是 2022-11-01 13:01:01,000, 时间戳 timestamp 为 1667278861000
Misc.formatDate(date, "yyyy-MM"); //2022-11
Misc.formatDate(date, "yyyy-MM-dd"); //2022-11-01
Misc.formatDate(date, "yyyy"); //2022
Misc.formatDate(date, "HH:mm:ss,SSS"); //13:01:01,000
Misc.formatDate(date, "abc"); //null
Misc.formatDate(timestamp, "yyyy-MM"); //2022-11
Misc.formatDate(timestamp, "yyyy-MM-dd"); //2022-11-01
Misc.formatDate(timestamp, "yyyy"); //2022
Misc.formatDate(timestamp, "HH:mm:ss,SSS"); //13:01:01,000
Misc.formatDate(timestamp, "abc"); //null
Misc.formatDate(null, "yyyy-MM-dd"); //null
Misc.formatDate(date, null); //null
Misc.formatDate(timestamp, null); //null
Misc.formatDate(null, null); //nullparseDate
Parse the string str into a date type formatted according to the format fmt(yyyy-MM-dd HH:mm:ss,SSS).
Misc.parseDate(str, fmt);| Parameter | Type | Description |
|---|---|---|
| str | String | The date string to be parsed |
| fmt | String | The format string |
Return Value
Type Date The parsed date; returns null if str is null or fmt is null or not a valid format.
Example
Misc.parseDate("2022-11-01 13:01:01,000", "yyyy-MM"); //Tue Nov 01 00:00:00 CST 2022
Misc.parseDate("2022-11-01 13:01:01,000", "yyyy-MM-dd"); //Tue Nov 01 00:00:00 CST 2022
Misc.parseDate("2022-11-01 13:01:01,000", "yyyy"); //Sat Jan 01 00:00:00 CST 2022
Misc.parseDate("2022-11-01 13:01:01,000", "HH:mm:ss,SSS"); //null
Misc.parseDate("2022-11-01 13:01:01,000", "abc"); //null
Misc.parseDate(null, "yyyy-MM-dd"); //null
Misc.parseDate("2022-11-01 13:01:01,000", null); //null
Misc.parseDate(null, null); //nullhost
Return the home page address of the system.
Misc.host();Return Value
Type String The home page address of the system.
Example
Misc.host(); // https://next.informat.cn/pinyin
Return the pinyin of the string str.
Misc.pinyin(str);| Parameter | Type | Description |
|---|---|---|
| str | String | The string to be converted |
Return Value
Type String The pinyin of the string str; returns null if str is null.
Example
Misc.pinyin("你好织信"); //ni hao zhi xin
Misc.pinyin("Hellow 织信"); //H e l l o w zhi xin
Misc.pinyin(null); //nullshortPinyin
Return the first letter of each Chinese character in the string str.
Misc.shortPinyin(str);| Parameter | Type | Description |
|---|---|---|
| str | String | The string to be converted |
Return Value
Type String The first letter of each Chinese character in the string str; returns null if str is null.
Example
Misc.shortPinyin("你好织信"); //nhzx
Misc.shortPinyin("Hellow 织信"); //Hellow zx
Misc.shortPinyin(null); //nullexpectNotNull
Judge whether the object is empty. If it is empty, throw an exception with the prompt message. Otherwise, return the object.
Misc.expectNotNull(obj, message);| Parameter | Type | Description |
|---|---|---|
| obj | Object | The object to be judged |
| message | String | The prompt message if obj is empty |
Return Value
Type Object The input object.
Example
Misc.expectNotNull(null, "消息"); //会抛出异常
Misc.expectNotNull("obj", "消息"); //返回 'obj'expectFirst
Return the first element of the array array. If array is empty, throw an exception with the prompt message.
Misc.expectFirst(array, message);| Parameter | Type | Description |
|---|---|---|
| array | Array | The array to be judged |
| message | String | The prompt message if array is empty |
Return Value
Type Object The first element of the array array.
Example
Misc.expectFirst(null, "消息"); //会抛出异常
Misc.expectFirst([], "消息"); //会抛出异常
Misc.expectFirst(["1", "2"], "消息"); //返回1expectLast
Return the last element of the array array. If array is empty, throw an exception with the prompt message.
Misc.expectLast(array, message);| Parameter | Type | Description |
|---|---|---|
| array | Array | The array to be judged |
| message | String | The prompt message if array is empty |
Return Value
Type Object The last element of the array array.
Example
Misc.expectLast(null, "消息"); //会抛出异常
Misc.expectLast([], "消息"); //会抛出异常
Misc.expectLast(["1", "2"], "消息"); //返回2invokeScript
Call the function func in the script script.
The function func in the script script must be exported using the export syntax. If the script or the function does not exist, an exception will be thrown.
Misc.invokeScript(script, func, ...args);| Parameter | Type | Description |
|---|---|---|
| script | String | The path of the script |
| func | String | The name of the function |
| args | ...Object | The list of arguments |
Return Value
Type Object The return value of the function func in the script script. If the function does not return a value, null will be returned.
Example
脚本 test.js
export function add(a, b) {
return a + b;
}Misc.invokeScript("test.js", "add1"); //会抛出异常
Misc.invokeScript("test.js", "add", 1, 2); //3invokeAutomatic
Call the automatic program automaticId.
If the automatic program does not exist, an exception will be thrown.
Misc.invokeAutomatic(automaticId, ...args);| Parameter | Type | Description |
|---|---|---|
| automaticId | String | The identifier of the automatic program |
| args | ...Object | The list of arguments |
Return Value
Type Object The return value of the automatic program automaticId. If the automatic program does not return a value, null will be returned.
Example
Misc.invokeAutomatic("testAutomatic", 1, 2); //3httpGet
Call the GET method to access the url address and return the content of the request.
If the url address is incorrect, an exception will be thrown. If the response code of the http request is not 200, an exception will be thrown.
Misc.httpGet(url);| Parameter | Type | Description |
|---|---|---|
| url | String | The url address to be accessed |
Return Value
Type String The body content of the http request response.
Example
Misc.httpGet("https://next.informat.cn/web0/api/i1mwqy35y88hl/helloworld"); //hello world!prop
取出对象 object 中的属性 key 的值
如果对象为Map类型则返回键为key的那一项,如果为对象类型则返回其中的key属性。如果 object 为null则返回 null
Misc.prop(object, key);| Parameter | Type | Description |
|---|---|---|
| object | Object | The object to return the property of |
| key | String | The name of the property to return. If key is empty, an exception will be thrown. |
Return Value
Type Object The value of the property key in the object object. If the object is null, null will be returned.
Example Assuming that the structure of the object object is as follows
Misc.prop({ a: "1", b: 2 }, "a"); //1
Misc.prop({ a: "1", b: 2 }, "c"); //null
Misc.prop({ a: "1", b: 2 }, null); //null
Misc.prop(null, "c"); //null
Misc.prop(null, null); //nullprops
取出对象 object 中的属性 props 列表 的新对象
Misc.props(object, props);| Parameter | Type | Description |
|---|---|---|
| object | Object | The object to return the property of |
| props | Array<String> | The list of property names to return. If props is empty, an exception will be thrown. |
Return Value
Type Object A new object composed of the property values of the object object with the property names in the props list. If the object is null, null will be returned.
Example
| 参数 | 类型 | 描述 |
|---|---|---|
| object | Object | 要返回属性的对象 |
| props | Array<String> | 要返回属性列表的新对象,如果 props 为 null 时会抛出异常 |
返回值
类型 Object object 中 key 属性的值
示例 假设 对象 object 的结构如下
Misc.props({ a: "1", b: 2 }, "a"); // {'a':'1'}
Misc.props({ a: "1", b: 2 }, "a", "b"); // {'a':'1','b':2}
Misc.props({ a: "1", b: 2 }, ["a", "b"]); // {'a':'1','b':2}
Misc.props({ a: "1", b: 2 }, null); //{}
Misc.props(null, "c"); //null
Misc.props(null, null); //异常情况transform
Return a new list of objects composed of the property values of the elements in the list list with the property names in the mapping mapping. If the list is null, null will be returned.
Misc.transform(object, mapping);| Parameter | Type | Description |
|---|---|---|
| list | Array | The list of elements to transform |
| mapping | Map<String,String> | The mapping object of property names. If mapping is empty, an exception will be thrown. |
Return Value
Type Array A new list of objects composed of the property values of the elements in the list list with the property names in the mapping mapping. If the list is null, null will be returned.
Example
Misc.transform({ name: "张三", age: 1 }, { name: "userName", age: "userAge" }); //{'userName':'张三','userAge':1}
Misc.transform({ name: "张三", age: 1 }, { name: "userName", sex: "userSex" }); //{'userName':'张三','userSex':null}
Misc.transform({ name: "张三", age: 1 }, null); // {}
Misc.transform(null, { name: "userName", age: "userAge" }); // null
Misc.transform(null, null); // nullappId
Get the ID of the application where the expression is executed.
Misc.appId();Return Value
Type String The ID of the application where the expression is executed.
getAppIdByKey
Get the ID of the application where the expression is executed by the application identifier.
Misc.getAppIdByKey(key);| Parameter | Type | Description |
|---|---|---|
| key | String | The application identifier. If key is empty, an exception will be thrown. |
Return Value
Type String The ID of the application where the expression is executed.
attachmentURL
Get the attachment access link address.
By the data table identifier, field identifier, and value of the attachment field, get the access link address.
Misc.attachmentURL(tableKey, fieldKey, value);| Parameter | Type | Description |
|---|---|---|
| tableKey | String | The data table ID. If tableKey is empty, an exception will be thrown. |
| fieldKey | String | The field ID. If fieldKey is empty, an exception will be thrown. |
| value | String | TableAttachment 中的 id 属性 |
Return Value
Type String The attachment access link address.
Example
Misc.attachmentURL("staff", "photo", "1af34d8a031d4faeaef40a989585caa5.png");
//https://next.informat.cn/web0/file/fieldkey/psl4wawpyued1/staff/photo/1af34d8a031d4faeaef40a989585caa5.pngappResURL
Get the resource access link address of the application resource library.
By passing in the resource library resource ID, get the access link address.
Misc.appResURL(appResId);| Parameter | Type | Description |
|---|---|---|
| appResId | String | The resource ID. If appResId is empty, an exception will be thrown. |
Return Value
Type String The resource access link address of the application resource library.
Example
Misc.appResURL("cjkhd8819chd8dhs.jpg");
//https://next.informat.cn/web0/main/app_res/icxt9rsd1f0ai/demoApp/cjkhd8819chd8dhs.jpgwebsiteResURL
Get the resource access link address of the application website module.
By passing in the website module ID and resource path, get the access link address.
Misc.websiteResURL(moduleKey, filePath);| Parameter | Type | Description |
|---|---|---|
| moduleKey | String | The website module ID. If moduleKey is empty, an exception will be thrown. |
| filePath | String | The file path. If filePath is empty, an exception will be thrown. |
Return Value
Type String The resource access link address of the application website module.
Example
Misc.websiteResURL("websiteModule", "logo.png");
//https://next.informat.cn/web0/website/od6km3qte7vdb/j8j56sgtoj8b7/logo.png
Misc.websiteResURL("websiteModule", "./logo.png");
//https://next.informat.cn/web0/website/od6km3qte7vdb/j8j56sgtoj8b7/./logo.pngbarcodeURL
Get the BASE64 value of the barcode image.
Misc.barcodeURL(value, format);| Parameter | Type | Description |
|---|---|---|
| value | String | The value of the barcode; must contain only digits. |
| format | String | Barcode format; optional values are CODE39 CODE128 CODE128A CODE128B CODE128C ISBN EAN13 EAN8 EAN5 EAN2 UPC ITF ITF14 MSI MSI11 MSI1010 MSI1110 pharmacode codabar |
Return Value Type String The BASE64 value of the barcode image.
Example
Misc.barcodeURL("12345", "CODE39");
// data:image/png;base64,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q1evdr169cq/c+nSJffqq6+mjjFp0iT3zjvvwDnYIT4CJHR8TOGI4jV37tzpFi5c6Pbt25fvP3jwYPf999+XvL948WJPxNzz6KOPegOQe4Tob731Vv7f33zzjRs1alSeyA899JA7c+ZMvl0IOn78+FQ5T5065Tp16pRvP3DgQIHRuHjxohMZ0p4FCxa4999/H+LADvERIKHjYwpH/Pvvv90jjzySJ1yfPn08scsRev/+/e7dd9/1xGrRooX7+eef3ezZs913333nx7l8+XI+rD527Jg7dOiQe+2111z79u19+8mTJ703X7dunf+3hOEPPPBAoqwjR45027dvh4SWKOGPP/4oGaNVq1auZcuWEAd2iI8ACR0fUziiEPrpp5928+fPd+PGjXObNm3yIWoaoW/evOlJXPwcPHjQh93yFHvRJCGE1J07d/ZNP/74Y/7dxn23bNni3nzzTffhhx/68P/KlSslY+c8tBBaDAmf+kGAhK7RXty6dcvdd999fva1a9eWJXSaiDJG8+bNfbOE8Cg3PnHihHvyySd9f8mtu3btWjD0P//845566ilvPH755Rf32GOPkdA10g/rtCS0FbmI71kJffToUSfhujzi9du1a5coleTsx48f91538+bNvsAl7xY/UsySQpjk4CNGjHBt2rQpS2h5/+WXX/b5effu3Z0U3aZOnZoqR0TIOFQKAiR0HaiGhdC3b992Q4YMcbt373Zvv/22W79+fclKhLRjx451586dyxfRunXr5qvlzz33XEF/yeFfeuklN2zYMPftt9/6Ng2hiyeVYpnk9S+88EIdIPvfE4GEroM9txB6xYoVbsaMGb7aLN43V2RrvBw5EhswYEDBCufNm+fee+89d//99+f/fv36dde7d28fhsuRVy4sTyO05NUyjuTaErb/+++/TuaaPn2699Y9evRwR44cScz76wDuJi0CCV0H2xtK6MbHUnLMJcW0tEfy7L/++svt2LHDffXVV76aLl5aKuG5HP6jjz7yBTohqYTluSeN0GlzyZg9e/b0zZqcvg6gb3IikNB1sKUhhN67d68bNGiQl1qq4+Iltc+NGzd8/iyeWIg9cOBAJ4Wwhx9+2A8h+XXjG2hDhw71f1+6dKl75plnfH90Q036SMX9s88+c1OmTNGKxn6RECChIwFZyTBaQv/000/53FSKVxMnTgyeVopWcjNt1qxZ7uOPP3Z//vmn69Chg2ocyckb3xhLemn48OE+hxZPLx6fT3URIKGri3fibBpCS54sZ86Svy5ZssTnwZZn9OjR7uuvv/bV6JUrV/oLJp988kniUHPnzvV/l7PyJ554wk2YMKHsDTGJAB5//HFfgAuNHixr4TulCJDQdaAViNC///6769evnyeKXKmUq5XlnjVr1vjjLDlGyj3Xrl1zW7du9VVveeT/X3/99bLjpOXQ27Zt84UvObPOPXL5ZebMme7TTz/1fzp9+rTr2LFjHaD73xKBhK7RfkuBSu5yyyM3r8TzytOlSxf/XyGjeDl5cufD8v9pJJH73mPGjPH95fhJcmQZS3JfKYzlrohK+4svvuh27doFq9BphM55eQm/5fxZvqBRqty5++Li8adNm1YjZP/b05LQNdp/UXo55kl75LhJ7m8XEzqt/+eff+4mT57smxctWuQviDT+QEbuPcmdJVxv27YtXHkaoaUiLpXx4keMjazrjTfegGOzQzYIkNDZ4FoXo549e9aH6eL95Rqn5LdJd8ItwkqILZ/KkhtqEgFINCBz8KktAiR0bfHn7EQgKgIkdFQ4ORgRqC0CJHRt8efsRCAqAiR0VDg5GBGoLQIkdG3x5+xEICoCJHRUODkYEagtAiR0bfHn7EQgKgIkdFQ4ORgRqC0CJHRt8efsRCAqAv8DcxPZ+gRC0sQAAAAASUVORK5CYII=qrcodeURL
Get the BASE64 value of the QR code image.
Misc.qrcodeURL(value, format);| Parameter | Type | Description |
|---|---|---|
| value | String | The content of the QR code. If value is empty, an exception will be thrown. |
| width | Interger | The size of the generated QR code image. If width is empty, an exception will be thrown. |
Return Value Type String The BASE64 value of the QR code image.
Example
Misc.qrcodeURL("12345", 300);
// data:image/jpeg;base64,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eval
Execute the expression engine to replace the data in the expression string str template using the context context variable.
Misc.eval(str, context);| Parameter | Type | Description |
|---|---|---|
| str | String | The expression string. If str is empty, an exception will be thrown. |
| context | Object | The context variable. If context is null, an exception will be thrown. |
Return Value Type Object The value of the template expression after execution.
Example
Misc.eval(null, null); // null
Misc.eval("${true}", null); // true
Misc.eval("${true}", {}); // true
Misc.eval("name", { name: "informat" }); // 'name'
Misc.eval("${name}", { name: "informat" }); // 'informat'
Misc.eval("${detail.age}", { name: "informat", detail: { age: 12 } }); // 12
Misc.eval("${detail.sex}", { name: "informat", detail: { age: 12 } }); // null
Misc.eval(null, { name: "informat" }); //nullsafesql
Generate a safe complete sql statement with placeholders ? from the sql statement.
Misc.safesql(sql, params);| Parameter | Type | Description |
|---|---|---|
| sql | String | The sql statement with placeholders ?. |
| params | Array<Object> | The parameter list, which is replaced in order of the placeholders. |
Return Value Type String The safe sql statement.
Example
Misc.safesql(`update tab set age=?,name=? where id=?`, [18, "李四", `'张' or 1=1`]);
// update tab set age=18,name='李四' where id='''张'' or 1=1'uuid16
Generate a 16-bit uuid string.
Misc.uuid16();Return Value
Type String
Example
Misc.uuid16(); //lqjfw3xaglp38tru
Misc.uuid16(); //xnqdnq24zubdrk1yuuid32
Generate a 32-bit uuid string.
Misc.uuid32();Return Value
Type String
Example
Misc.uuid32(); //rigzv6usysisu2gmkash6hdg526y10b5
Misc.uuid32(); //h7b1gde1bz402kwhgoq383hfl6k2p77mnewObject
Build an empty object.
Misc.newObject();Return Value
Type Object
Example
Misc.newObject(); //{}recordSql
Execute the SQL query to get the record list of the table. Only Select statements are supported, and only the records of the table module are supported.
Misc.recordSql(sql, parameters);| Parameter | Type | Description |
|---|---|---|
| sql | String | The SQL statement. |
| parameters | Array<Object> | The parameter list. |
Return Value
Type Array<Object> The record list of the table.
Example

