json2dart-generator 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/json2dart.js +1 -1
- package/dist/core/mock_generator.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/core/json2dart.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x5df2e5=a0_0x289d;(function(_0x561b23,_0x35b248){const _0x2fcd0b=a0_0x289d,_0x153382=_0x561b23();while(!![]){try{const _0x9a2599=-parseInt(_0x2fcd0b(0x1b8))/0x1+parseInt(_0x2fcd0b(0x1a4))/0x2+parseInt(_0x2fcd0b(0x1a2))/0x3*(parseInt(_0x2fcd0b(0x18b))/0x4)+parseInt(_0x2fcd0b(0x1a5))/0x5*(-parseInt(_0x2fcd0b(0x196))/0x6)+parseInt(_0x2fcd0b(0x198))/0x7*(parseInt(_0x2fcd0b(0x1a6))/0x8)+-parseInt(_0x2fcd0b(0x15f))/0x9+parseInt(_0x2fcd0b(0x1ad))/0xa;if(_0x9a2599===_0x35b248)break;else _0x153382['push'](_0x153382['shift']());}catch(_0xf7d59d){_0x153382['push'](_0x153382['shift']());}}}(a0_0x1ea3,0x60ff8));Object['defineProperty'](exports,a0_0x5df2e5(0x161),{'value':!![]}),exports[a0_0x5df2e5(0x19a)]=jsonToDart;function a0_0x289d(_0x1e9975,_0x34a21b){_0x1e9975=_0x1e9975-0x155;const _0x1ea3f4=a0_0x1ea3();let _0x289d7f=_0x1ea3f4[_0x1e9975];return _0x289d7f;}function a0_0x1ea3(){const _0x1acb9b=['Function','.fromJson(','3390LujPye','log','4540907UkFNZa','bool','jsonToDart','\x20\x20Map<String,\x20dynamic>\x20toJson()\x20=>\x20{\x0a','the','({\x0a','_classMap','set','className','.fromJson(Map<String,\x20dynamic>?\x20json)\x20{\x0a','252126VsoHyB','external','334396qBPVwK','3965TaEzNA','8PQrbbj','default','get','abstract','else','part','”\x20值包含为\x22空\x22的属性值或列表项,将被默认视为”String“类型','9347500SeSZgQ','void',').toList()','super','assert','covariant','push','hide','\x20\x20\x20\x20','null','List','785008VAJPre','try','export','class','join','throw','typedef','case','replace','catch','entries','includes','4864518MgwFyy','isObject','__esModule','continue','num','await','while','js-utils-plus','snakeToCamel','num.tryParse(','for','with','return','\x20\x20});','\x20as\x20List<dynamic>?)?.map((e)\x20=>\x20','context','\x20\x20\x20\x20this.','rethrow','?.toString()\x20??\x20\x27\x27)','isString','async','?.toString()','yield','uppercaseFirst','sync','\x20as\x20Map<String,\x20dynamic>?)','implements','isArray','const','operator','?.map((e)\x20=>\x20','var','isInt','class\x20','\x20\x20};','-\x20警告!:”','show','factory','List<','final','new','test','import','?.toJson()','20ukCVWe','int','String','map','json?[','isBoolean','this','double','static'];a0_0x1ea3=function(){return _0x1acb9b;};return a0_0x1ea3();}const js_utils_plus_1=require(a0_0x5df2e5(0x166));function modelTypeGenerator(_0x480ee2,_0x4dbf1c,_0x59b8ef,_0x50b59c,_0x51e8f2,_0x48d815){const _0x8b737d=a0_0x5df2e5;if((0x0,js_utils_plus_1[_0x8b737d(0x190)])(_0x4dbf1c))return{'type':'bool','typeTo':_0xb8d550=>_0xb8d550,'typeFrom':_0x324dc0=>_0x324dc0+'\x20as\x20bool?'};if((0x0,js_utils_plus_1[_0x8b737d(0x172)])(_0x4dbf1c))return{'type':_0x8b737d(0x18d),'typeTo':_0x2de41a=>_0x2de41a,'typeFrom':_0x5c1c45=>_0x5c1c45+'?.toString()'};if((0x0,js_utils_plus_1['isNumber'])(_0x4dbf1c)){if(_0x48d815)return{'type':'num','typeTo':_0x12705c=>_0x12705c,'typeFrom':_0x5c809d=>_0x8b737d(0x168)+_0x5c809d+'?.toString()\x20??\x20\x27\x27)'};return(0x0,js_utils_plus_1[_0x8b737d(0x17f)])(_0x4dbf1c)?{'type':'int','typeTo':_0x4fff0a=>_0x4fff0a,'typeFrom':_0x5f4b33=>'int.tryParse('+_0x5f4b33+_0x8b737d(0x171)}:{'type':_0x8b737d(0x192),'typeTo':_0x2884f5=>_0x2884f5,'typeFrom':_0x25762a=>'double.tryParse('+_0x25762a+'?.toString()\x20??\x20\x27\x27)'};}if((0x0,js_utils_plus_1[_0x8b737d(0x160)])(_0x4dbf1c)){const _0x2245b3=jsonToDart(_0x4dbf1c,_0x59b8ef,_0x50b59c,_0x51e8f2,_0x48d815,![]);return _0x59b8ef=_0x2245b3[_0x8b737d(0x1a0)]||_0x59b8ef,{'type':''+_0x59b8ef+_0x50b59c,'typeTo':_0x4a057e=>_0x4a057e+_0x8b737d(0x18a),'typeFrom':_0x470938=>''+_0x59b8ef+_0x50b59c+_0x8b737d(0x195)+_0x470938+_0x8b737d(0x178),'subLines':_0x2245b3[_0x8b737d(0x16e)]};}if((0x0,js_utils_plus_1[_0x8b737d(0x17a)])(_0x4dbf1c)){const _0x206444=_0x4dbf1c[0x0],{type:_0x408511,typeTo:_0x1cc89a,typeFrom:_0x303468,subLines:_0xb1a24e}=modelTypeGenerator(_0x480ee2,_0x206444,_0x59b8ef,_0x50b59c,_0x51e8f2,_0x48d815);return{'type':_0x8b737d(0x185)+_0x408511+(_0x51e8f2?'?':'')+'>','typeTo':_0x36b038=>_0x36b038+_0x8b737d(0x17d)+_0x1cc89a('e')+_0x8b737d(0x1af),'typeFrom':_0x43c7c1=>'('+_0x43c7c1+_0x8b737d(0x16d)+_0x303468('e')+_0x8b737d(0x1af),'subLines':_0xb1a24e};}return console[_0x8b737d(0x197)](_0x8b737d(0x182)+_0x480ee2+_0x8b737d(0x1ac)),{'type':_0x8b737d(0x18d),'typeTo':_0x197ca1=>_0x197ca1,'typeFrom':_0x971534=>_0x971534+_0x8b737d(0x174)};}function modelKeywordDefence(_0x4007b3){const _0x4b80b6=a0_0x5df2e5;let _0x591053=[_0x4b80b6(0x163),_0x4b80b6(0x192),_0x4b80b6(0x18c),_0x4b80b6(0x18d),_0x4b80b6(0x199),_0x4b80b6(0x1b7),_0x4b80b6(0x1a9),'dynamic',_0x4b80b6(0x179),_0x4b80b6(0x183),'as',_0x4b80b6(0x1aa),_0x4b80b6(0x189),_0x4b80b6(0x193),_0x4b80b6(0x1b1),'enum','in',_0x4b80b6(0x1b0),_0x4b80b6(0x173),_0x4b80b6(0x155),'interface','switch',_0x4b80b6(0x164),'extends','is',_0x4b80b6(0x177),'break',_0x4b80b6(0x1a3),'library',_0x4b80b6(0x191),_0x4b80b6(0x15a),_0x4b80b6(0x184),'mixin',_0x4b80b6(0x158),_0x4b80b6(0x15c),'false',_0x4b80b6(0x187),'true',_0x4b80b6(0x156),_0x4b80b6(0x186),_0x4b80b6(0x1b6),_0x4b80b6(0x1b9),_0x4b80b6(0x17b),'finally','on',_0x4b80b6(0x159),_0x4b80b6(0x162),_0x4b80b6(0x169),_0x4b80b6(0x17c),_0x4b80b6(0x17e),_0x4b80b6(0x1b2),_0x4b80b6(0x194),_0x4b80b6(0x1ab),_0x4b80b6(0x1ae),_0x4b80b6(0x1a7),_0x4b80b6(0x1a8),_0x4b80b6(0x170),_0x4b80b6(0x165),'deferred',_0x4b80b6(0x1b4),_0x4b80b6(0x16b),_0x4b80b6(0x16a),'do','if',_0x4b80b6(0x19f),_0x4b80b6(0x175)];if(_0x591053[_0x4b80b6(0x15e)](_0x4007b3)||/^\d/[_0x4b80b6(0x188)](_0x4007b3))return _0x4b80b6(0x19c)+(0x0,js_utils_plus_1['uppercaseFirst'])(_0x4007b3);return(0x0,js_utils_plus_1[_0x4b80b6(0x167)])(_0x4007b3);}function resolveClassName(_0x3825dd,_0x493691,_0x33cc10){const _0x234b5c=a0_0x5df2e5,_0x2bfa36=Object['entries'](_0x493691)[_0x234b5c(0x18e)](([_0x534a34,_0x1a60d0])=>_0x534a34+'='+typeof _0x1a60d0)['join']('&');if(!_0x33cc10[_0x3825dd])return _0x33cc10[_0x3825dd]=_0x2bfa36,_0x3825dd;if(_0x33cc10[_0x3825dd]&&_0x33cc10[_0x3825dd]==_0x2bfa36)return'';let _0xf8e5e1=0x2,_0x5eacf8=''+_0x3825dd+_0xf8e5e1;while(_0x33cc10[_0x5eacf8]&&_0x33cc10[_0x5eacf8]!==_0x2bfa36){_0xf8e5e1++,_0x5eacf8=''+_0x3825dd+_0xf8e5e1;}if(!_0x33cc10[_0x5eacf8])_0x33cc10[_0x5eacf8]=_0x2bfa36;return _0x5eacf8;}function jsonToDart(_0x485cfd,_0x3c055a,_0x34c464,_0x55015f,_0x37ba1b,_0x2aa817=!![]){const _0x550226=a0_0x5df2e5,_0x80e808=_0x2aa817?{}:jsonToDart[_0x550226(0x19e)];if(_0x2aa817)jsonToDart[_0x550226(0x19e)]=_0x80e808;const _0x37931e=(0x0,js_utils_plus_1['uppercaseFirst'])((0x0,js_utils_plus_1['snakeToCamel'])(_0x3c055a));_0x3c055a=resolveClassName(_0x37931e,_0x485cfd,_0x80e808);if(!_0x3c055a)return{'context':''};let _0x4d1f01=[],_0x1663db=[],_0x274e77=[],_0x4a3c05=[],_0x83760d=[],_0x6814bb=[];_0x4d1f01['push'](_0x550226(0x180)+_0x3c055a+_0x34c464+'\x20{'),_0x274e77[_0x550226(0x1b3)]('\x20\x20'+_0x3c055a+_0x34c464+_0x550226(0x19d)),_0x4a3c05[_0x550226(0x1b3)]('\x20\x20'+_0x3c055a+_0x34c464+_0x550226(0x1a1)),_0x83760d[_0x550226(0x1b3)](_0x550226(0x19b));for(const [_0x437460,_0x166f5e]of Object[_0x550226(0x15d)](_0x485cfd)){let _0x56aa7d='\x27'+_0x437460+'\x27',_0x33f747=modelKeywordDefence(_0x437460);const _0x5791a2=(0x0,js_utils_plus_1[_0x550226(0x176)])((0x0,js_utils_plus_1['snakeToCamel'])(_0x437460)),{type:_0x375cd6,typeTo:_0x55aaf8,typeFrom:_0x43bcf0,subLines:_0x1f411e}=modelTypeGenerator(_0x437460,_0x166f5e,_0x5791a2,_0x34c464,_0x55015f,_0x37ba1b);if(_0x1f411e)_0x6814bb['push'](_0x1f411e);_0x274e77[_0x550226(0x1b3)](_0x550226(0x16f)+_0x33f747+',\x0a'),_0x1663db[_0x550226(0x1b3)]('\x20\x20'+_0x375cd6+(_0x55015f?'?':'')+'\x20'+_0x33f747+';\x0a'),_0x4a3c05[_0x550226(0x1b3)](_0x550226(0x1b5)+_0x33f747+'\x20=\x20'+_0x43bcf0(_0x550226(0x18f)+_0x56aa7d+']')+';\x0a'),_0x83760d[_0x550226(0x1b3)](_0x550226(0x1b5)+_0x56aa7d+':\x20'+_0x55aaf8(_0x33f747)+',\x0a');}_0x274e77[_0x550226(0x1b3)](_0x550226(0x16c)),_0x4a3c05[_0x550226(0x1b3)]('\x20\x20}'),_0x83760d[_0x550226(0x1b3)](_0x550226(0x181)),_0x4d1f01[_0x550226(0x1b3)](_0x1663db['join']('')),_0x4d1f01[_0x550226(0x1b3)](_0x274e77[_0x550226(0x157)]('')),_0x4d1f01['push'](_0x4a3c05[_0x550226(0x157)]('')),_0x4d1f01[_0x550226(0x1b3)](_0x83760d[_0x550226(0x157)]('')),_0x4d1f01[_0x550226(0x1b3)]('}\x0a'),_0x4d1f01['push'](_0x6814bb['join'](''));const _0x5d304f=_0x2aa817?_0x4d1f01[_0x550226(0x157)]('\x0a')[_0x550226(0x15b)](/[\n\r]?$/g,''):_0x4d1f01[_0x550226(0x157)]('\x0a');return{'context':_0x5d304f,'className':_0x3c055a};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a1_0x2a20(){const _0x1cc298=['snakeToCamel','237579ytyaPy','92535rnVvtr','778311fulmEY',');\x0a\x20\x20}\x0a','6FtVbDv','js-utils-plus','165683nBqHyP','167696LsuZuM','\x20数据\x0a\x20\x20static\x20Map<String,\x20dynamic>\x20','defineProperty','1374810wvPWYT','()\x20{\x0a\x20\x20\x20\x20return\x20MockDataHelper.randomJsonFromTemplate(','36GMkjMZ','import\x20\x27dart:math\x27;\x0a\x0a///\x20提供各类随机数据的生成方法\x0aclass\x20MockDataHelper\x20{\x0a\x20\x20static\x20final\x20Random\x20_random\x20=\x20Random();\x0a\x0a\x20\x20///\x20随机整数\x20[min,\x20max]\x0a\x20\x20static\x20int\x20randomInt({int\x20min\x20=\x200,\x20int\x20max\x20=\x20100})\x20=>\x20min\x20+\x20_random.nextInt(max\x20-\x20min\x20+\x201);\x0a\x0a\x20\x20///\x20随机浮点数\x20[min,\x20max)\x0a\x20\x20static\x20double\x20randomDouble({double\x20min\x20=\x200.0,\x20double\x20max\x20=\x20100.0})\x20=>\x20min\x20+\x20_random.nextDouble()\x20*\x20(max\x20-\x20min);\x0a\x0a\x20\x20///\x20随机布尔值\x0a\x20\x20static\x20bool\x20randomBool()\x20=>\x20_random.nextBool();\x0a\x0a\x20\x20///\x20随机枚举值(传入枚举值列表)\x0a\x20\x20static\x20T\x20randomEnum<T>(List<T>\x20values)\x20{\x0a\x20\x20\x20\x20return\x20values[randomInt(min:\x200,\x20max:\x20values.length\x20-\x201)];\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机字符串(默认长度\x205-15)\x0a\x20\x20static\x20String\x20randomString({int\x20minLength\x20=\x205,\x20int\x20maxLength\x20=\x2015})\x20{\x0a\x20\x20\x20\x20const\x20chars\x20=\x20\x27abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x27;\x0a\x20\x20\x20\x20final\x20length\x20=\x20randomInt(min:\x20minLength,\x20max:\x20maxLength);\x0a\x20\x20\x20\x20return\x20String.fromCharCodes(Iterable.generate(length,\x20(_)\x20=>\x20chars.codeUnitAt(_random.nextInt(chars.length))));\x0a\x20\x20}\x0a\x0a\x20\x20///\x20从列表中随机取一项\x0a\x20\x20static\x20T\x20randomItem<T>(List<T>\x20items)\x20{\x0a\x20\x20\x20\x20if\x20(items.isEmpty)\x20throw\x20Exception(\x27Cannot\x20pick\x20from\x20empty\x20list\x27);\x0a\x20\x20\x20\x20return\x20items[randomInt(min:\x200,\x20max:\x20items.length\x20-\x201)];\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成图片\x20URL(使用占位图服务)\x0a\x20\x20static\x20String\x20randomImageUrl({int\x20width\x20=\x20200,\x20int\x20height\x20=\x20200})\x20{\x0a\x20\x20\x20\x20return\x20\x27https://picsum.photos/$width/$height?random=${_random.nextInt(10000)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成邮箱\x0a\x20\x20static\x20String\x20randomEmail()\x20{\x0a\x20\x20\x20\x20return\x20\x27${randomString(minLength:\x203,\x20maxLength:\x2010)}@example.com\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成手机号\x0a\x20\x20static\x20String\x20randomPhone()\x20{\x0a\x20\x20\x20\x20return\x20\x2713${List.generate(10,\x20(_)\x20=>\x20_random.nextInt(9)).join()}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成Json\x0a\x20\x20static\x20Map<String,\x20dynamic>\x20randomJsonFromTemplate(Map<String,\x20dynamic>\x20template)\x20{\x0a\x20\x20\x20\x20final\x20result\x20=\x20<String,\x20dynamic>{};\x0a\x20\x20\x20\x20for\x20(final\x20entry\x20in\x20template.entries)\x20{\x0a\x20\x20\x20\x20\x20\x20final\x20key\x20=\x20entry.key;\x0a\x20\x20\x20\x20\x20\x20final\x20value\x20=\x20entry.value;\x0a\x20\x20\x20\x20\x20\x20if\x20(value\x20is\x20int)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockIntForKey(key);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20double)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockDoubleForKey(key);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20bool)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20randomBool();\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20String)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockStringForKey(key);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20List)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20itemTemplate\x20=\x20value.isNotEmpty\x20?\x20value.first\x20:\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20length\x20=\x20randomInt(min:\x202,\x20max:\x2012);\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20List.generate(length,\x20(_)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(itemTemplate\x20is\x20Map)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20randomJsonFromTemplate(itemTemplate\x20as\x20Map<String,\x20dynamic>);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(itemTemplate\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20_randomValueFromType(itemTemplate.runtimeType);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20randomString();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20Map)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20randomJsonFromTemplate(value\x20as\x20Map<String,\x20dynamic>);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_randomValueFromType(value.runtimeType);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20result;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断整型\x20Mock\x20值\x0a\x20\x20static\x20int\x20_mockIntForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27id\x27,\x20\x27Id\x27]))\x20return\x20randomInt(min:\x2010000000000,\x20max:\x2099999999999);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27state\x27,\x20\x27State\x27,\x20\x27status\x27,\x20\x27Status\x27,\x20\x27type\x27,\x20\x27Type\x27,\x20\x27class\x27,\x20\x27Class\x27]))\x20return\x20randomInt(min:\x200,\x20max:\x205);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27count\x27,\x20\x27Count\x27,\x20\x27total\x27,\x20\x27Total\x27,\x20\x27num\x27,\x20\x27Num\x27,\x20\x27days\x27,\x20\x27Days\x27]))\x20return\x20randomInt(min:\x200,\x20max:\x20200);\x0a\x20\x20\x20\x20if\x20(key.startsWith(\x27is\x27))\x20return\x20randomInt(min:\x200,\x20max:\x201);\x0a\x20\x20\x20\x20return\x20randomInt();\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断\x20double\x20Mock\x20值\x0a\x20\x20static\x20double\x20_mockDoubleForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27lat\x27,\x20\x27Lat\x27,\x20\x27lng\x27,\x20\x27Lng\x27]))\x20return\x20randomDouble(min:\x2020.0,\x20max:\x2050.0);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27percent\x27,\x20\x27Percent\x27,\x20\x27rate\x27,\x20\x27Rate\x27]))\x20return\x20randomDouble(min:\x200,\x20max:\x20100);\x0a\x20\x20\x20\x20return\x20randomDouble();\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断字符串\x20Mock\x20值\x0a\x20\x20static\x20String\x20_mockStringForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27Date\x27))\x20return\x20_randomDateString();\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27Time\x27)\x20&&\x20!key.endsWith(\x27DateTime\x27))\x20return\x20_randomTimeString();\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27DateTime\x27))\x20return\x20\x27${_randomDateString()}\x20${_randomTimeString()}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27email\x27]))\x20return\x20randomEmail();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27phone\x27,\x20\x27mobile\x27]))\x20return\x20randomPhone();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27sn\x27]))\x20return\x20\x27SN${DateTime.now().year}${randomInt(min:\x20100000,\x20max:\x20999999)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27no\x27,\x20\x27num\x27]))\x20return\x20\x27${DateTime.now().year}${randomInt(min:\x20100000,\x20max:\x20999999)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27addr\x27]))\x20return\x20\x27${randomItem(_cities)}${randomItem(_districts)}${randomItem(_streets)}${randomInt(min:\x201,\x20max:\x20200)}号\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27version\x27]))\x20return\x20\x27${randomInt(min:\x201,\x20max:\x205)}.${randomInt(min:\x200,\x20max:\x209)}.${randomInt(min:\x200,\x20max:\x2099)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27desc\x27,\x20\x27remark\x27,\x20\x27content\x27]))\x20return\x20\x27${randomItem(_sentences)},${randomItem(_sentences)}。\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27url\x27,\x20\x27image\x27,\x20\x27avatar\x27]))\x20return\x20randomImageUrl();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27name\x27,\x20\x27title\x27]))\x20return\x20randomItem(_names);\x0a\x20\x20\x20\x20return\x20randomString();\x0a\x20\x20}\x0a\x0a\x20\x20static\x20const\x20_names\x20=\x20[\x27张三\x27,\x20\x27李四\x27,\x20\x27王五\x27,\x20\x27赵六\x27,\x20\x27孙七\x27,\x20\x27周八\x27,\x20\x27吴九\x27,\x20\x27郑十\x27,\x20\x27设备A\x27,\x20\x27项目B\x27,\x20\x27订单C\x27];\x0a\x20\x20static\x20const\x20_sentences\x20=\x20[\x27设备运行正常\x27,\x20\x27已完成例行保养\x27,\x20\x27等待配件更换\x27,\x20\x27需要现场技术支持\x27,\x20\x27客户已确认验收\x27,\x20\x27审批流程进行中\x27,\x20\x27待发货状态\x27];\x0a\x20\x20static\x20const\x20_cities\x20=\x20[\x27北京市\x27,\x20\x27上海市\x27,\x20\x27广州市\x27,\x20\x27深圳市\x27,\x20\x27杭州市\x27,\x20\x27成都市\x27,\x20\x27武汉市\x27,\x20\x27南京市\x27];\x0a\x20\x20static\x20const\x20_districts\x20=\x20[\x27朝阳区\x27,\x20\x27浦东新区\x27,\x20\x27天河区\x27,\x20\x27南山区\x27,\x20\x27西湖区\x27,\x20\x27武侯区\x27,\x20\x27洪山区\x27,\x20\x27鼓楼区\x27];\x0a\x20\x20static\x20const\x20_streets\x20=\x20[\x27中山路\x27,\x20\x27人民路\x27,\x20\x27建设路\x27,\x20\x27解放路\x27,\x20\x27长安街\x27,\x20\x27科技路\x27,\x20\x27高新大道\x27,\x20\x27滨江路\x27];\x0a\x0a\x20\x20///\x20随机日期时间(以小时为精度)\x0a\x20\x20static\x20DateTime\x20_randomDateTime({DateTime?\x20start,\x20DateTime?\x20end})\x20{\x0a\x20\x20\x20\x20final\x20now\x20=\x20DateTime.now();\x0a\x20\x20\x20\x20final\x20startDate\x20=\x20start\x20??\x20DateTime(now.year\x20-\x203,\x201,\x201);\x0a\x20\x20\x20\x20final\x20endDate\x20=\x20end\x20??\x20now;\x0a\x20\x20\x20\x20final\x20hours\x20=\x20endDate.difference(startDate).inHours;\x0a\x20\x20\x20\x20final\x20randomHours\x20=\x20randomInt(min:\x200,\x20max:\x20hours);\x0a\x20\x20\x20\x20return\x20startDate.add(Duration(hours:\x20randomHours));\x0a\x20\x20}\x0a\x0a\x20\x20///\x20YYYY-MM-DD\x20格式的随机日期字符串\x0a\x20\x20static\x20String\x20_randomDateString()\x20{\x0a\x20\x20\x20\x20final\x20date\x20=\x20_randomDateTime();\x0a\x20\x20\x20\x20return\x20\x27${date.year}-${date.month.toString().padLeft(2,\x20\x270\x27)}-${date.day.toString().padLeft(2,\x20\x270\x27)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20HH:mm:ss\x20格式的随机时间字符串\x0a\x20\x20static\x20String\x20_randomTimeString()\x20{\x0a\x20\x20\x20\x20final\x20h\x20=\x20randomInt(min:\x200,\x20max:\x2023).toString().padLeft(2,\x20\x270\x27);\x0a\x20\x20\x20\x20final\x20m\x20=\x20randomInt(min:\x200,\x20max:\x2059).toString().padLeft(2,\x20\x270\x27);\x0a\x20\x20\x20\x20final\x20s\x20=\x20randomInt(min:\x200,\x20max:\x2059).toString().padLeft(2,\x20\x270\x27);\x0a\x20\x20\x20\x20return\x20\x27$h:$m:$s\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20键名是否包含任意关键字(忽略大小写)\x0a\x20\x20static\x20bool\x20_keyContains(String\x20key,\x20List<String>\x20keywords)\x20{\x0a\x20\x20\x20\x20final\x20lower\x20=\x20key.toLowerCase();\x0a\x20\x20\x20\x20return\x20keywords.any((k)\x20=>\x20lower.contains(k.toLowerCase()));\x0a\x20\x20}\x0a\x0a\x20\x20static\x20dynamic\x20_randomValueFromType(Type\x20type)\x20{\x0a\x20\x20\x20\x20if\x20(type\x20==\x20int)\x20return\x20randomInt();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20double)\x20return\x20randomDouble();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20bool)\x20return\x20randomBool();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20String)\x20return\x20randomString();\x0a\x20\x20\x20\x20return\x20null;\x0a\x20\x20}\x0a}\x0a\x0a///\x20生成各类模型的随机\x20Mock\x20数据\x0aclass\x20Mock\x20{\x0a','objectToContent','__esModule','38100KDnrHg','2sBUmWk'];a1_0x2a20=function(){return _0x1cc298;};return a1_0x2a20();}const a1_0x1d1992=a1_0x3485;(function(_0x20a048,_0x211a7a){const _0x2bb4fb=a1_0x3485,_0x280780=_0x20a048();while(!![]){try{const _0x5f2755=-parseInt(_0x2bb4fb(0x11f))/0x1*(parseInt(_0x2bb4fb(0x11d))/0x2)+-parseInt(_0x2bb4fb(0x11c))/0x3+-parseInt(_0x2bb4fb(0x12b))/0x4*(-parseInt(_0x2bb4fb(0x120))/0x5)+parseInt(_0x2bb4fb(0x123))/0x6*(-parseInt(_0x2bb4fb(0x125))/0x7)+parseInt(_0x2bb4fb(0x126))/0x8+parseInt(_0x2bb4fb(0x121))/0x9+parseInt(_0x2bb4fb(0x129))/0xa;if(_0x5f2755===_0x211a7a)break;else _0x280780['push'](_0x280780['shift']());}catch(_0x20a39a){_0x280780['push'](_0x280780['shift']());}}}(a1_0x2a20,0x21941));Object[a1_0x1d1992(0x128)](exports,a1_0x1d1992(0x12e),{'value':!![]}),exports['generateMockDart']=generateMockDart;function a1_0x3485(_0x72bdcf,_0x1eff5a){_0x72bdcf=_0x72bdcf-0x11c;const _0x2a2092=a1_0x2a20();let _0x348543=_0x2a2092[_0x72bdcf];return _0x348543;}const js_utils_plus_1=require(a1_0x1d1992(0x124));function generateMockDart(_0x17ea0f,_0x4b7b11){const _0x134fc6=a1_0x1d1992;let _0x746473='';for(const {name:_0x5ab1d5,json:_0x423c08}of _0x17ea0f){const _0x26543e=(0x0,js_utils_plus_1[_0x134fc6(0x12d)])(_0x423c08,'',0x3);_0x746473+='\x0a\x20\x20///\x20生成随机\x20'+(0x0,js_utils_plus_1[_0x134fc6(0x11e)])(_0x5ab1d5)+_0x4b7b11+_0x134fc6(0x127)+(0x0,js_utils_plus_1['snakeToCamel'])(_0x5ab1d5)+_0x4b7b11+_0x134fc6(0x12a)+_0x26543e+_0x134fc6(0x122);}return _0x134fc6(0x12c)+_0x746473+'}\x0a';}
|
|
1
|
+
'use strict';function a1_0x13ab(_0x469432,_0x377f3f){_0x469432=_0x469432-0x165;const _0x457408=a1_0x4574();let _0x13ab30=_0x457408[_0x469432];return _0x13ab30;}const a1_0x3793ac=a1_0x13ab;(function(_0x315f78,_0x59648b){const _0x273ba7=a1_0x13ab,_0x21eacc=_0x315f78();while(!![]){try{const _0xce9bb0=-parseInt(_0x273ba7(0x16d))/0x1*(-parseInt(_0x273ba7(0x16f))/0x2)+-parseInt(_0x273ba7(0x169))/0x3+parseInt(_0x273ba7(0x167))/0x4*(-parseInt(_0x273ba7(0x172))/0x5)+-parseInt(_0x273ba7(0x166))/0x6*(-parseInt(_0x273ba7(0x16b))/0x7)+-parseInt(_0x273ba7(0x165))/0x8*(-parseInt(_0x273ba7(0x173))/0x9)+-parseInt(_0x273ba7(0x168))/0xa*(-parseInt(_0x273ba7(0x17a))/0xb)+parseInt(_0x273ba7(0x170))/0xc*(-parseInt(_0x273ba7(0x175))/0xd);if(_0xce9bb0===_0x59648b)break;else _0x21eacc['push'](_0x21eacc['shift']());}catch(_0x1dd1ae){_0x21eacc['push'](_0x21eacc['shift']());}}}(a1_0x4574,0x54982));Object['defineProperty'](exports,a1_0x3793ac(0x177),{'value':!![]}),exports[a1_0x3793ac(0x16c)]=generateMockDart;const js_utils_plus_1=require(a1_0x3793ac(0x16e));function a1_0x4574(){const _0x10a9e7=['4842770ByFCoy','725739oUsHux','objectToContent','14laxMxU','generateMockDart','7059ixBqdt','js-utils-plus','78wLsxjO','6828KNaoAW','\x20数据\x0a\x20\x20static\x20Map<String,\x20dynamic>\x20','10LMxMqq','17361mSmYjS',');\x0a\x20\x20}\x0a','7631ibnNkn','import\x20\x27dart:math\x27;\x0a\x0a///\x20提供各类随机数据的生成方法\x0aclass\x20MockDataHelper\x20{\x0a\x20\x20static\x20final\x20Random\x20_random\x20=\x20Random();\x0a\x0a\x20\x20///\x20随机整数\x20[min,\x20max]\x0a\x20\x20static\x20int\x20randomInt({int\x20min\x20=\x200,\x20int\x20max\x20=\x20100})\x20=>\x20min\x20+\x20_random.nextInt(max\x20-\x20min\x20+\x201);\x0a\x0a\x20\x20///\x20随机浮点数\x20[min,\x20max)\x0a\x20\x20static\x20double\x20randomDouble({double\x20min\x20=\x200.0,\x20double\x20max\x20=\x20100.0})\x20=>\x20min\x20+\x20_random.nextDouble()\x20*\x20(max\x20-\x20min);\x0a\x0a\x20\x20///\x20随机布尔值\x0a\x20\x20static\x20bool\x20randomBool()\x20=>\x20_random.nextBool();\x0a\x0a\x20\x20///\x20随机枚举值(传入枚举值列表)\x0a\x20\x20static\x20T\x20randomEnum<T>(List<T>\x20values)\x20{\x0a\x20\x20\x20\x20return\x20values[randomInt(min:\x200,\x20max:\x20values.length\x20-\x201)];\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机字符串(默认长度\x205-15)\x0a\x20\x20static\x20String\x20randomString({int\x20minLength\x20=\x205,\x20int\x20maxLength\x20=\x2015})\x20{\x0a\x20\x20\x20\x20const\x20chars\x20=\x20\x27abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\x27;\x0a\x20\x20\x20\x20final\x20length\x20=\x20randomInt(min:\x20minLength,\x20max:\x20maxLength);\x0a\x20\x20\x20\x20return\x20String.fromCharCodes(Iterable.generate(length,\x20(_)\x20=>\x20chars.codeUnitAt(_random.nextInt(chars.length))));\x0a\x20\x20}\x0a\x0a\x20\x20///\x20从列表中随机取一项\x0a\x20\x20static\x20T\x20randomItem<T>(List<T>\x20items)\x20{\x0a\x20\x20\x20\x20if\x20(items.isEmpty)\x20throw\x20Exception(\x27Cannot\x20pick\x20from\x20empty\x20list\x27);\x0a\x20\x20\x20\x20return\x20items[randomInt(min:\x200,\x20max:\x20items.length\x20-\x201)];\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成图片\x20URL(使用占位图服务)\x0a\x20\x20static\x20String\x20randomImageUrl({int\x20width\x20=\x20200,\x20int\x20height\x20=\x20200})\x20{\x0a\x20\x20\x20\x20return\x20\x27https://picsum.photos/$width/$height?random=${_random.nextInt(10000)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成邮箱\x0a\x20\x20static\x20String\x20randomEmail()\x20{\x0a\x20\x20\x20\x20return\x20\x27${randomString(minLength:\x203,\x20maxLength:\x2010)}@example.com\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成手机号\x0a\x20\x20static\x20String\x20randomPhone()\x20{\x0a\x20\x20\x20\x20return\x20\x2713${List.generate(10,\x20(_)\x20=>\x20_random.nextInt(9)).join()}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20随机生成Json\x0a\x20\x20static\x20Map<String,\x20dynamic>\x20randomJsonFromTemplate(Map<String,\x20dynamic>\x20template)\x20{\x0a\x20\x20\x20\x20final\x20result\x20=\x20<String,\x20dynamic>{};\x0a\x20\x20\x20\x20for\x20(final\x20entry\x20in\x20template.entries)\x20{\x0a\x20\x20\x20\x20\x20\x20final\x20key\x20=\x20entry.key;\x0a\x20\x20\x20\x20\x20\x20final\x20value\x20=\x20entry.value;\x0a\x20\x20\x20\x20\x20\x20if\x20(value\x20is\x20int)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20value\x20==\x200\x20?\x20_mockIntForKey(key)\x20:\x20value;\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20double)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20value\x20==\x200.0\x20||\x20value\x20==\x200.01\x20?\x20_mockDoubleForKey(key)\x20:\x20value;\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20bool)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20value;\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20String)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_mockStringForKey(key,\x20value);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20List)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20itemTemplate\x20=\x20value.isNotEmpty\x20?\x20value.first\x20:\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20final\x20length\x20=\x20randomInt(min:\x202,\x20max:\x205);\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20List.generate(length,\x20(_)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(itemTemplate\x20is\x20Map)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20randomJsonFromTemplate(itemTemplate\x20as\x20Map<String,\x20dynamic>);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(itemTemplate\x20!=\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20_randomValueFromType(itemTemplate.runtimeType);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20randomString();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(value\x20is\x20Map)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20randomJsonFromTemplate(value\x20as\x20Map<String,\x20dynamic>);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20result[key]\x20=\x20_randomValueFromType(value.runtimeType);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20result;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断整型\x20Mock\x20值\x0a\x20\x20static\x20int\x20_mockIntForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27id\x27,\x20\x27Id\x27]))\x20return\x20randomInt(min:\x20100000,\x20max:\x20999999);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27state\x27,\x20\x27State\x27,\x20\x27status\x27,\x20\x27Status\x27,\x20\x27type\x27,\x20\x27Type\x27,\x20\x27class\x27,\x20\x27Class\x27]))\x20return\x20randomInt(min:\x200,\x20max:\x205);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27count\x27,\x20\x27Count\x27,\x20\x27total\x27,\x20\x27Total\x27,\x20\x27num\x27,\x20\x27Num\x27,\x20\x27days\x27,\x20\x27Days\x27]))\x20return\x20randomInt(min:\x200,\x20max:\x20200);\x0a\x20\x20\x20\x20if\x20(key.startsWith(\x27is\x27))\x20return\x20randomInt(min:\x200,\x20max:\x201);\x0a\x20\x20\x20\x20return\x20randomInt();\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断\x20double\x20Mock\x20值\x0a\x20\x20static\x20double\x20_mockDoubleForKey(String\x20key)\x20{\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27lat\x27,\x20\x27Lat\x27,\x20\x27lng\x27,\x20\x27Lng\x27]))\x20return\x20randomDouble(min:\x2020.0,\x20max:\x2050.0);\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27percent\x27,\x20\x27Percent\x27,\x20\x27rate\x27,\x20\x27Rate\x27]))\x20return\x20randomDouble(min:\x200,\x20max:\x20100);\x0a\x20\x20\x20\x20return\x20randomDouble();\x0a\x20\x20}\x0a\x0a\x20\x20///\x20根据键名推断字符串\x20Mock\x20值。保留有意义的样本数据(中文、非空、非占位符)\x0a\x20\x20static\x20String\x20_mockStringForKey(String\x20key,\x20String\x20original)\x20{\x0a\x20\x20\x20\x20//\x20保留包含中文或有意义内容的样本值(非空且非\x22string\x22占位符)\x0a\x20\x20\x20\x20if\x20(original.isNotEmpty\x20&&\x20original\x20!=\x20\x27string\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20original;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27Date\x27))\x20return\x20_randomDateString();\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27Time\x27)\x20&&\x20!key.endsWith(\x27DateTime\x27))\x20return\x20_randomTimeString();\x0a\x20\x20\x20\x20if\x20(key.endsWith(\x27DateTime\x27))\x20return\x20\x27${_randomDateString()}\x20${_randomTimeString()}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27email\x27]))\x20return\x20randomEmail();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27phone\x27,\x20\x27mobile\x27]))\x20return\x20randomPhone();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27sn\x27]))\x20return\x20\x27SN${DateTime.now().year}${randomInt(min:\x20100000,\x20max:\x20999999)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27no\x27,\x20\x27num\x27]))\x20return\x20\x27${DateTime.now().year}${randomInt(min:\x20100000,\x20max:\x20999999)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27addr\x27]))\x20return\x20\x27${randomItem(_cities)}${randomItem(_districts)}${randomItem(_streets)}${randomInt(min:\x201,\x20max:\x20200)}号\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27version\x27]))\x20return\x20\x27${randomInt(min:\x201,\x20max:\x205)}.${randomInt(min:\x200,\x20max:\x209)}.${randomInt(min:\x200,\x20max:\x2099)}\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27desc\x27,\x20\x27remark\x27,\x20\x27content\x27]))\x20return\x20\x27${randomItem(_sentences)},${randomItem(_sentences)}。\x27;\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27url\x27,\x20\x27image\x27,\x20\x27avatar\x27]))\x20return\x20randomImageUrl();\x0a\x20\x20\x20\x20if\x20(_keyContains(key,\x20[\x27name\x27,\x20\x27title\x27]))\x20return\x20randomItem(_names);\x0a\x20\x20\x20\x20return\x20randomString();\x0a\x20\x20}\x0a\x0a\x20\x20static\x20const\x20_names\x20=\x20[\x27张三\x27,\x20\x27李四\x27,\x20\x27王五\x27,\x20\x27赵六\x27,\x20\x27孙七\x27,\x20\x27周八\x27,\x20\x27吴九\x27,\x20\x27郑十\x27,\x20\x27设备A\x27,\x20\x27项目B\x27,\x20\x27订单C\x27];\x0a\x20\x20static\x20const\x20_sentences\x20=\x20[\x27设备运行正常\x27,\x20\x27已完成例行保养\x27,\x20\x27等待配件更换\x27,\x20\x27需要现场技术支持\x27,\x20\x27客户已确认验收\x27,\x20\x27审批流程进行中\x27,\x20\x27待发货状态\x27];\x0a\x20\x20static\x20const\x20_cities\x20=\x20[\x27北京市\x27,\x20\x27上海市\x27,\x20\x27广州市\x27,\x20\x27深圳市\x27,\x20\x27杭州市\x27,\x20\x27成都市\x27,\x20\x27武汉市\x27,\x20\x27南京市\x27];\x0a\x20\x20static\x20const\x20_districts\x20=\x20[\x27朝阳区\x27,\x20\x27浦东新区\x27,\x20\x27天河区\x27,\x20\x27南山区\x27,\x20\x27西湖区\x27,\x20\x27武侯区\x27,\x20\x27洪山区\x27,\x20\x27鼓楼区\x27];\x0a\x20\x20static\x20const\x20_streets\x20=\x20[\x27中山路\x27,\x20\x27人民路\x27,\x20\x27建设路\x27,\x20\x27解放路\x27,\x20\x27长安街\x27,\x20\x27科技路\x27,\x20\x27高新大道\x27,\x20\x27滨江路\x27];\x0a\x0a\x20\x20///\x20随机日期时间\x0a\x20\x20static\x20DateTime\x20_randomDateTime({DateTime?\x20start,\x20DateTime?\x20end})\x20{\x0a\x20\x20\x20\x20final\x20now\x20=\x20DateTime.now();\x0a\x20\x20\x20\x20final\x20startDate\x20=\x20start\x20??\x20DateTime(now.year\x20-\x203,\x201,\x201);\x0a\x20\x20\x20\x20final\x20endDate\x20=\x20end\x20??\x20now;\x0a\x20\x20\x20\x20final\x20difference\x20=\x20endDate.difference(startDate).inMilliseconds;\x0a\x20\x20\x20\x20final\x20randomMilli\x20=\x20randomInt(min:\x200,\x20max:\x20difference);\x0a\x20\x20\x20\x20return\x20startDate.add(Duration(milliseconds:\x20randomMilli));\x0a\x20\x20}\x0a\x0a\x20\x20///\x20YYYY-MM-DD\x20格式的随机日期字符串\x0a\x20\x20static\x20String\x20_randomDateString()\x20{\x0a\x20\x20\x20\x20final\x20date\x20=\x20_randomDateTime();\x0a\x20\x20\x20\x20return\x20\x27${date.year}-${date.month.toString().padLeft(2,\x20\x270\x27)}-${date.day.toString().padLeft(2,\x20\x270\x27)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20HH:mm:ss\x20格式的随机时间字符串\x0a\x20\x20static\x20String\x20_randomTimeString()\x20{\x0a\x20\x20\x20\x20final\x20date\x20=\x20_randomDateTime();\x0a\x20\x20\x20\x20return\x20\x27${date.hour.toString().padLeft(2,\x20\x270\x27)}:${date.minute.toString().padLeft(2,\x20\x270\x27)}:${date.second.toString().padLeft(2,\x20\x270\x27)}\x27;\x0a\x20\x20}\x0a\x0a\x20\x20///\x20键名是否包含任意关键字(忽略大小写)\x0a\x20\x20static\x20bool\x20_keyContains(String\x20key,\x20List<String>\x20keywords)\x20{\x0a\x20\x20\x20\x20final\x20lower\x20=\x20key.toLowerCase();\x0a\x20\x20\x20\x20return\x20keywords.any((k)\x20=>\x20lower.contains(k.toLowerCase()));\x0a\x20\x20}\x0a\x0a\x20\x20static\x20dynamic\x20_randomValueFromType(Type\x20type)\x20{\x0a\x20\x20\x20\x20if\x20(type\x20==\x20int)\x20return\x20randomInt();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20double)\x20return\x20randomDouble();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20bool)\x20return\x20randomBool();\x0a\x20\x20\x20\x20if\x20(type\x20==\x20String)\x20return\x20randomString();\x0a\x20\x20\x20\x20return\x20null;\x0a\x20\x20}\x0a}\x0a\x0a///\x20生成各类模型的随机\x20Mock\x20数据\x0aclass\x20Mock\x20{\x0a\x0a\x20\x20///\x20生成指定数量的\x20Mock\x20数组\x0a\x20\x20static\x20List<Map<String,\x20dynamic>>\x20list(int\x20count,\x20Map<String,\x20dynamic>\x20Function()\x20generator)\x20{\x0a\x20\x20\x20\x20return\x20List.generate(count,\x20(_)\x20=>\x20generator());\x0a\x20\x20}\x0a','__esModule','()\x20{\x0a\x20\x20\x20\x20return\x20MockDataHelper.randomJsonFromTemplate(','\x0a\x20\x20///\x20生成随机\x20','11IaCIzi','496pFwZfp','1095372MRAVSJ','643772duIbVD'];a1_0x4574=function(){return _0x10a9e7;};return a1_0x4574();}function generateMockDart(_0x375013,_0x1866a0){const _0x4a6239=a1_0x3793ac;let _0x4479c1='';for(const {name:_0xca0bb3,json:_0x439e5e}of _0x375013){const _0x128103=(0x0,js_utils_plus_1[_0x4a6239(0x16a)])(_0x439e5e,'',0x3);_0x4479c1+=_0x4a6239(0x179)+_0xca0bb3+_0x1866a0+_0x4a6239(0x171)+_0xca0bb3+_0x4a6239(0x178)+_0x128103+_0x4a6239(0x174);}return _0x4a6239(0x176)+_0x4479c1+'}\x0a';}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
'use strict';const
|
|
2
|
+
'use strict';const a2_0x23b863=a2_0x3421;function a2_0x3421(_0x63f7a5,_0x525e98){_0x63f7a5=_0x63f7a5-0x1d3;const _0x310c94=a2_0x310c();let _0x34219a=_0x310c94[_0x63f7a5];return _0x34219a;}(function(_0x12cce3,_0x2d4482){const _0x4c95a4=a2_0x3421,_0x2a19cd=_0x12cce3();while(!![]){try{const _0x52d7e4=parseInt(_0x4c95a4(0x1f2))/0x1+-parseInt(_0x4c95a4(0x1d8))/0x2+parseInt(_0x4c95a4(0x204))/0x3*(-parseInt(_0x4c95a4(0x1de))/0x4)+parseInt(_0x4c95a4(0x1f9))/0x5+-parseInt(_0x4c95a4(0x1e7))/0x6*(parseInt(_0x4c95a4(0x1d9))/0x7)+parseInt(_0x4c95a4(0x1e6))/0x8*(parseInt(_0x4c95a4(0x203))/0x9)+parseInt(_0x4c95a4(0x1d7))/0xa;if(_0x52d7e4===_0x2d4482)break;else _0x2a19cd['push'](_0x2a19cd['shift']());}catch(_0x7a5c3e){_0x2a19cd['push'](_0x2a19cd['shift']());}}}(a2_0x310c,0x40870));var __importDefault=this&&this['__importDefault']||function(_0x18bf60){const _0x44b069=a2_0x3421;return _0x18bf60&&_0x18bf60[_0x44b069(0x1e1)]?_0x18bf60:{'default':_0x18bf60};};Object[a2_0x23b863(0x206)](exports,a2_0x23b863(0x1e1),{'value':!![]});const json2dart_1=require('./core/json2dart'),mock_generator_1=require(a2_0x23b863(0x1f5)),js_utils_plus_1=require(a2_0x23b863(0x1f1)),commander_1=require(a2_0x23b863(0x20a)),path_1=__importDefault(require(a2_0x23b863(0x1dc))),program=new commander_1[(a2_0x23b863(0x1ee))](),_path=process[a2_0x23b863(0x1ef)]();function a2_0x310c(){const _0x4c8c8a=['-\x20Mock\x20文件已生成:','21830DuafWA','自定义dart模型类名后缀,\x20如\x20Entity、Model','是否启用空安全','listFilesRecursively','dart模型输出路径,默认\x20lib/models','jsonToDart','.dart','mock','excludes','suffix','9BQDRke','6NnMxVc','assign','defineProperty','opts','length','是否生成Mock类','commander','writeFileSync','log','generateMockDart','使用num数据类型而不是double/int','5174310qyjafD','445410uhZsJr','4312uyMyok','json','error','path','lib/models','60056BhQRUu','output','mock.dart','__esModule','default','dir','需要排除的文件或文件夹,可指定多个文件','numparse','1453416motfOW','4962OBwViu','join','name','__className','parse','json文件夹路径,默认\x20.json_models/','--numparse','Command','cwd','--mock','js-utils-plus','322995YFWsOT','-s,\x20--suffix\x20<value>','--nullsafety','./core/mock_generator','option','push'];a2_0x310c=function(){return _0x4c8c8a;};return a2_0x310c();}program[a2_0x23b863(0x1f6)]('-d,\x20--dir\x20<dir>',a2_0x23b863(0x1ec))[a2_0x23b863(0x1f6)]('-o,\x20--output\x20<dir>',a2_0x23b863(0x1fd))[a2_0x23b863(0x1f6)](a2_0x23b863(0x1f3),a2_0x23b863(0x1fa))['option']('-e,\x20--excludes\x20<value...>',a2_0x23b863(0x1e4))[a2_0x23b863(0x1f6)](a2_0x23b863(0x1ed),a2_0x23b863(0x1d6))[a2_0x23b863(0x1f6)](a2_0x23b863(0x1f4),a2_0x23b863(0x1fb))[a2_0x23b863(0x1f6)](a2_0x23b863(0x1f0),a2_0x23b863(0x209)),program[a2_0x23b863(0x1eb)]();const options=Object[a2_0x23b863(0x205)]({'dir':'.json_models/','output':a2_0x23b863(0x1dd),'suffix':''},program[a2_0x23b863(0x207)]());function run(){const _0x440022=a2_0x23b863,_0x2b7e8d=[],_0x3a72e4=path_1[_0x440022(0x1e2)][_0x440022(0x1e8)](_path,options[_0x440022(0x1e3)]),_0x40e129=(0x0,js_utils_plus_1[_0x440022(0x1fc)])(_0x3a72e4,_0x440022(0x1da),options[_0x440022(0x201)]||[]);console['log'](new Array(0x50)[_0x440022(0x1e8)]('-')),_0x40e129['forEach'](function(_0x320a7e){const _0x50b7d5=_0x440022,_0x41ce73=(0x0,js_utils_plus_1['readFileSync'])(_0x320a7e,!![]);if(!_0x41ce73){console[_0x50b7d5(0x1db)]('-\x20执行文件:'+_0x320a7e);return;}console[_0x50b7d5(0x1d4)]('-\x20执行文件:'+_0x320a7e);const _0x3ef3bd=path_1[_0x50b7d5(0x1e2)]['parse'](_0x320a7e);let _0x2dc413=_0x41ce73[_0x50b7d5(0x1ea)]||_0x3ef3bd[_0x50b7d5(0x1e9)];if(_0x41ce73['__className'])delete _0x41ce73[_0x50b7d5(0x1ea)];if(options['mock'])_0x2b7e8d[_0x50b7d5(0x1f7)]({'name':_0x3ef3bd[_0x50b7d5(0x1e9)],'json':_0x41ce73});const {context:_0x4bd3a0}=(0x0,json2dart_1[_0x50b7d5(0x1fe)])(_0x41ce73,_0x2dc413,options[_0x50b7d5(0x202)],options['nullsafety'],options[_0x50b7d5(0x1e5)]),_0x52150e=path_1[_0x50b7d5(0x1e2)][_0x50b7d5(0x1e8)](_path,options[_0x50b7d5(0x1df)],_0x3ef3bd['name']+_0x50b7d5(0x1ff));(0x0,js_utils_plus_1[_0x50b7d5(0x1d3)])(_0x52150e,_0x4bd3a0);});if(options[_0x440022(0x200)]&&_0x2b7e8d[_0x440022(0x208)]>0x0){const _0x3bdee4=(0x0,mock_generator_1[_0x440022(0x1d5)])(_0x2b7e8d,options[_0x440022(0x202)]),_0x4c95fe=path_1[_0x440022(0x1e2)][_0x440022(0x1e8)](_path,options[_0x440022(0x1df)],_0x440022(0x1e0));(0x0,js_utils_plus_1[_0x440022(0x1d3)])(_0x4c95fe,_0x3bdee4),console[_0x440022(0x1d4)](_0x440022(0x1f8)+_0x4c95fe);}}run();
|