magic_0.5.0_dm.sql 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935
  1. -- ----------------------------
  2. -- CREATE SCHEMA "MAGIC";
  3. -- ----------------------------
  4. CREATE SCHEMA "MAGIC";
  5. -- ----------------------------
  6. -- Table structure for MAGIC_GROUP
  7. -- ----------------------------
  8. CREATE TABLE "MAGIC"."MAGIC_GROUP"
  9. (
  10. "ID" VARCHAR(32) NOT NULL,
  11. "GROUP_NAME" VARCHAR(64) NULL,
  12. "GROUP_TYPE" VARCHAR(1) NULL,
  13. "GROUP_PATH" VARCHAR(64) NULL,
  14. "PARENT_ID" VARCHAR(32) NULL,
  15. "DELETED" CHAR(1) DEFAULT '0'
  16. NULL
  17. );
  18. -- ----------------------------
  19. -- Table structure for MAGIC_API_INFO_HIS
  20. -- ----------------------------
  21. CREATE TABLE "MAGIC"."MAGIC_API_INFO_HIS"
  22. (
  23. "ID" VARCHAR(32) NULL,
  24. "API_METHOD" VARCHAR(12) NULL,
  25. "API_PATH" VARCHAR(512) NULL,
  26. "API_SCRIPT" CLOB NULL,
  27. "API_PARAMETER" CLOB NULL,
  28. "API_OPTION" CLOB NULL,
  29. "API_NAME" VARCHAR(255) NULL,
  30. "API_GROUP_ID" VARCHAR(32) NULL,
  31. "API_REQUEST_BODY" CLOB NULL,
  32. "API_REQUEST_HEADER" CLOB NULL,
  33. "API_RESPONSE_BODY" CLOB NULL,
  34. "API_DESCRIPTION" VARCHAR(512) NULL,
  35. "API_CREATE_TIME" BIGINT NULL,
  36. "API_UPDATE_TIME" BIGINT NULL
  37. );
  38. -- ----------------------------
  39. -- Table structure for MAGIC_API_INFO
  40. -- ----------------------------
  41. CREATE TABLE "MAGIC"."MAGIC_API_INFO"
  42. (
  43. "ID" VARCHAR(32) NOT NULL,
  44. "API_METHOD" VARCHAR(12) NULL,
  45. "API_PATH" VARCHAR(512) NULL,
  46. "API_SCRIPT" CLOB NULL,
  47. "API_PARAMETER" CLOB NULL,
  48. "API_OPTION" CLOB NULL,
  49. "API_NAME" VARCHAR(255) NULL,
  50. "API_GROUP_ID" VARCHAR(32) NULL,
  51. "API_REQUEST_BODY" CLOB NULL,
  52. "API_REQUEST_HEADER" CLOB NULL,
  53. "API_RESPONSE_BODY" CLOB NULL,
  54. "API_DESCRIPTION" VARCHAR(512) NULL,
  55. "API_CREATE_TIME" BIGINT NULL,
  56. "API_UPDATE_TIME" BIGINT NULL
  57. );
  58. -- ----------------------------
  59. -- Records of MAGIC_API_INFO
  60. -- ----------------------------
  61. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('033239e63a2a42b987567a37a2efdd32','GET','/download','import response;
  62. return response.download(''中文测试'',''str.txt'');','{
  63. "request" : {
  64. "message" : "Hello MagicAPI!"
  65. },
  66. "path" : {
  67. "id" : "123456"
  68. },
  69. "body" : {
  70. "id" : "123456"
  71. },
  72. "header" : {
  73. "token" : "tokenValue"
  74. },
  75. "cookie" : {
  76. "cookieName" : "cookieValue"
  77. },
  78. "session" : {
  79. "userId" : "123"
  80. }
  81. }','{
  82. }','文件下载','6ca78813dfccb943107db664df39f1bc',null,null,'',null,1595050133467,1595065447606);
  83. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('104219ceb2e34de38c1d4389cb0a094e','GET','/json','import response;
  84. return response.json({
  85. success : true,
  86. message : ''执行成功''
  87. });','{
  88. "request" : {
  89. "message" : "Hello MagicAPI!"
  90. },
  91. "path" : {
  92. "id" : "123456"
  93. },
  94. "body" : {
  95. "id" : "123456"
  96. },
  97. "header" : {
  98. "token" : "tokenValue"
  99. },
  100. "cookie" : {
  101. "cookieName" : "cookieValue"
  102. },
  103. "session" : {
  104. "userId" : "123"
  105. }
  106. }','{
  107. }','自定义json','6ca78813dfccb943107db664df39f1bc',null,null,'{
  108. "success": true,
  109. "message": "执行成功"
  110. }',null,1595065423867,1595065447606);
  111. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('180524e850124de7956d855bc94bcac9','GET','/if','/*
  112. if 测试
  113. */
  114. if(a == 1){
  115. return 1;
  116. }else if(a == 2){
  117. return 2;
  118. }else{
  119. return 0;
  120. }','{
  121. "request" : {
  122. "message" : "Hello MagicAPI!"
  123. },
  124. "path" : {
  125. "id" : "123456"
  126. },
  127. "header" : {
  128. "token" : "tokenValue"
  129. },
  130. "cookie" : {
  131. "cookieName" : "cookieValue"
  132. },
  133. "session" : {
  134. "userId" : "123"
  135. }
  136. }','{
  137. }','if测试','951fd086c7c9e3ad158f66a3f5a405cf',null,null,null,null,1593514724505,1594736129503);
  138. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('343ac4fb280941a6bb7ddc523b331fee','GET','/page','import response;
  139. var total = 5; //模拟一共有多少条数据
  140. var list = [1,2]; //模拟数据项
  141. return response.page(total,list);','{
  142. "request" : {
  143. "message" : "Hello MagicAPI!"
  144. },
  145. "path" : {
  146. "id" : "123456"
  147. },
  148. "body" : {
  149. "id" : "123456"
  150. },
  151. "header" : {
  152. "token" : "tokenValue"
  153. },
  154. "cookie" : {
  155. "cookieName" : "cookieValue"
  156. },
  157. "session" : {
  158. "userId" : "123"
  159. }
  160. }','{
  161. }','自定义分页','6ca78813dfccb943107db664df39f1bc',null,null,'{
  162. "code": 1,
  163. "message": "success",
  164. "data": {
  165. "total": 5,
  166. "list": [
  167. 1,
  168. 2
  169. ]
  170. },
  171. "timestamp": 1595065175380
  172. }',null,1595065176504,1595065447606);
  173. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('48095f19fa3a455296bf96b244a3c60c','GET','/image','import ''java.awt.image.BufferedImage'' as BufferedImage;
  174. import ''java.awt.Color'' as Color;
  175. import ''java.awt.Font'' as Font;
  176. import ''java.io.ByteArrayOutputStream'' as ByteArrayOutputStream;
  177. import ''java.util.Random'' as Random;
  178. import ''javax.imageio.ImageIO'' as ImageIO;
  179. import response;
  180. import log;
  181. var width = 200;
  182. var height = 69;
  183. var image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
  184. var graphics = image.getGraphics();
  185. graphics.setColor(Color.WHITE);
  186. graphics.fillRect(0,0,width,height);
  187. graphics.setFont(new Font("微软雅黑", Font.BOLD, 40));
  188. var letter = ''123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'';
  189. var random = new Random();
  190. var randomColor = ()=>new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256));
  191. var x = 10;
  192. var code = '''';
  193. for (i in range(0, 3)){ //验证码
  194. graphics.setColor(randomColor());
  195. var degree = random.nextInt() % 30;
  196. var ch = letter.charAt(random.nextInt(letter.length()));
  197. code = code + ch;
  198. graphics.rotate(degree * 3.1415926535 / 180, x, 45);
  199. graphics.drawString(ch + '''', x, 45);
  200. graphics.rotate(-degree * 3.1415926535 / 180, x, 45);
  201. x = x + 48;
  202. }
  203. log.info(''生成的验证码:{}'',code)
  204. for (i in range(0, 6)) { //干扰线
  205. graphics.setColor(randomColor());
  206. graphics.drawLine(random.nextInt(width), random.nextInt(height),random.nextInt(width), random.nextInt(height));
  207. }
  208. for(i in range(0, 30)){ //噪点
  209. graphics.setColor(randomColor());
  210. graphics.fillRect(random.nextInt(width), random.nextInt(height), 2,2);
  211. }
  212. graphics.dispose();
  213. var baos = new ByteArrayOutputStream();
  214. ImageIO.write(image,"png",baos);
  215. baos.flush();
  216. baos.close();
  217. return response.image(baos.toByteArray(),''image/png'');
  218. ','{
  219. "request" : {
  220. "message" : "Hello MagicAPI!"
  221. },
  222. "path" : {
  223. "id" : "123456"
  224. },
  225. "body" : {
  226. "id" : "123456"
  227. },
  228. "header" : {
  229. "token" : "tokenValue"
  230. },
  231. "cookie" : {
  232. "cookieName" : "cookieValue"
  233. },
  234. "session" : {
  235. "userId" : "123"
  236. }
  237. }','{
  238. }','生成验证码','6ca78813dfccb943107db664df39f1bc',null,null,'"iVBORw0KGgoAAAANSUhEUgAAAMgAAABFCAIAAACAFD7PAAAElklEQVR42u3bTYhOYRQH8GmspyykxkKzMNSYMikpITa2CitNFpQyNVMWbEbNwkYNFnaTYqGUBZHFLAhTiiJFyWYsiCxmMRshpXF0dXu6H889z/fH/Z/+y/veIb/Oc54zr4E1FMpBDUT4Z7o6up+CfxvAAq9s69T9L5SsYIm8IAyw0MDC18/ZVUpER+GPm58oaGC9grVz8SKl77AgzHr5gJVigRduhWhggJVLA1t3ZKGMo5/4bHIPBZL8wVo9OlskYAPjqBpaOldEjxRg+YBVYhLj+a8kdqmSF+eDpbBOZyIpua2Z8fcUwMoH1pnLLygir84JbOndnMRZSa1RFWApw1Ii4hQWZ2AqHxBhMWf8Ciyxpg+MUSrOmLbyq+tfz+vD0iPS+ClzWyIpJiz5w2282mwVsCqM+EcnYFnoPbHBUlpSSJpW52jVH2dGsOw2LbvnYCnm0fwDimq7kjcwiS2ls69tRAOsHGBpLClswTK5dfYI1tS+f4kNlsZ01VkEq20C64SlRC1dYX2Hpf2ziqZVn8AkM1avLoaZH4UVOtZh1Wf8tg1W35YOYWAFaVoWVUlGeCavFK38GZyghIQV52noB1Zx5HU2sOQ8NcYhrCQuhhbH9k5YFUCNvDIg1Wkrf1gFIOuq6rYkB1+KXwXjqJLwyg1Wm6GwsMpGlRAvJVh1W72A1ZbOV02OHKfYtbWWwndZ5YDSg+XuNNSzZQKLsyyNVhiHjvwBV7Bim99N+pbqgchZljYKixmW6jMWYKU7ZtniZetXh/E0MObtT/JYj2C5s6UEi7NuCM6LuVMArAXmBOZiWVpm7ONEGc47w/LSOAp7DcuRLRGWCEhMWgvSeGesipLvU7cpATcO4gOblrdQDG21AbJyGrqrh+O3zG11XhvtwOIoqcBy/X91TGDVbXEAufv2n0VSclWqS9FgsCRWwsJqe4zZhPyM8J4blUVVTFtGsOpc+E+6g9UGqP6pV9uWKZ73Dp4blaGqtnfagSUXw0n5ntcLlyhWYDE7kORMdAfLjy3ORGWdVESwxPfoweJ0INV5X+OquPfJLkoMTYvTqCSq9DZbTmBp2zIH1DgGqfqwsndQguXOlvbVj79n9wpLw5Y5IMP53W5JTsN7c98ormExGxVzHRURLD6vRkyLpzdQlABFBUtiqwIrbKPSgLX18HpKgBnLyk6hgOV56eCtaTklpaEqVVjBi4npwtnNFD+2ImlUGrBUT8OcYTErUVi7f61QTFSZzFiuYK08/UxZQwk1+HI7xTMs8/fofa0PsALAcm1Le6LSW2UFXpCi/JyGFkl10tFeuwNWSrbsNipDW4CVCSx3pDR4cV61Y+ANBbDiheW0UWnYYr4HsKK25ZOU4X6BfxTOf7hByQjW8+H/SQGW50ZlvdKDdWzkJMWOMPfU9GwlTSrM8H7nyiFKYFgeqanCSr1RJQzL97lp7IxvKw9SWDd4amkVWDcWr1FybVT8AizTq0AnrOxJbRz6TQGsGPcOgIUCLByFsAVYPmv08TQFsAALsAALpyEKsAALsGAr0ro7PEMBLMACLJRKvT14goKjEJU5rL+mrI6dI4qKvwAAAABJRU5ErkJggg=="',null,1595051666872,1595066035326);
  239. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('4cd4297dba064c888e571cffbb00d729','GET','/assert','import assert;
  240. assert.notNull(message, 0, ''message 不能为null'');
  241. assert.regx(id,''\d+'', 0, ''id必须是数字'');
  242. return ''ok'';','{
  243. "request" : {
  244. "message" : "Hello MagicAPI!"
  245. },
  246. "path" : {
  247. "id" : "123456a"
  248. },
  249. "body" : {
  250. "id" : "123456"
  251. },
  252. "header" : {
  253. "token" : "tokenValue"
  254. },
  255. "cookie" : {
  256. "cookieName" : "cookieValue"
  257. },
  258. "session" : {
  259. "userId" : "123"
  260. }
  261. }','{
  262. }','参数验证','97f02306240bf5ca1bf6fb4062639720',null,null,'{
  263. "code": 0,
  264. "message": "id必须是数字",
  265. "data": null,
  266. "timestamp": 1595065764237
  267. }',null,1595065796210,1595065959708);
  268. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('523c2ae2b50a4465a0d8de83e5436da9','GET','/map','var list = [{
  269. sex : 0,
  270. name : ''小明'',
  271. age : 19
  272. },{
  273. sex : 1,
  274. name : ''小花'',
  275. age : 18
  276. }];
  277. var getAge = (age)=>{
  278. return age > 18 ? ''成人'' : ''未成年''
  279. }
  280. // 利用map函数对list进行过滤
  281. return list.map((item)=>{
  282. age : getAge(item.age),
  283. sex : item.sex == 0 ? ''男'' : ''女'',
  284. name : item.name
  285. });','{
  286. "request" : {
  287. "message" : "Hello MagicAPI!"
  288. },
  289. "path" : {
  290. "id" : "123456"
  291. },
  292. "body" : {
  293. "id" : "123456"
  294. },
  295. "header" : {
  296. "token" : "tokenValue"
  297. },
  298. "cookie" : {
  299. "cookieName" : "cookieValue"
  300. },
  301. "session" : {
  302. "userId" : "123"
  303. }
  304. }','{
  305. }','字段转换','2decf1e2876bc3d5f09b06ae72eb71eb',null,null,'{
  306. "code": 1,
  307. "message": "success",
  308. "data": [
  309. {
  310. "sex": "男",
  311. "name": "小明",
  312. "age": "成人"
  313. },
  314. {
  315. "sex": "女",
  316. "name": "小花",
  317. "age": "未成年"
  318. }
  319. ],
  320. "timestamp": 1595066113546
  321. }',null,1595066116077,1595066227461);
  322. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('6cf9a1ad659f4707be704528632778c5','GET','/loop/map','/*
  323. 测试循环Map
  324. */
  325. var map = {
  326. key1 : 1,
  327. key2 : 2,
  328. key3 : 3
  329. };
  330. var sum = 0;
  331. var keys = '''';
  332. for(key,value in map){
  333. sum = sum + value;
  334. keys = keys + key
  335. }
  336. return keys + ''-'' + sum;','{
  337. "request" : {
  338. "message" : "Hello MagicAPI!"
  339. },
  340. "path" : {
  341. "id" : "123456"
  342. },
  343. "header" : {
  344. "token" : "tokenValue"
  345. },
  346. "cookie" : {
  347. "cookieName" : "cookieValue"
  348. },
  349. "session" : {
  350. "userId" : "123"
  351. }
  352. }','{
  353. }','测试循环Map','951fd086c7c9e3ad158f66a3f5a405cf',null,null,null,null,1593515248339,1594736134584);
  354. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('7557a409802b4742b590122ef030b643','GET','/expression','var ids = [''1'',''2'',''3''];
  355. //具体执行的SQL请看打印的运行日志信息。
  356. db.select(''select * from magic_api_info where id in (#{ids})'') //对参数自动展开
  357. var id = ''123'';
  358. db.select("select * from magic_api_info where id = ''${id}'' ") //拼接字符串的方式
  359. //var name = ''123'';
  360. db.select("select * from magic_api_info where id = ''123'' ?{name,and api_name = #{name}}") //if 判断
  361. return ''ok'';','{
  362. "request" : {
  363. "message" : "Hello MagicAPI!"
  364. },
  365. "path" : {
  366. "id" : "123456"
  367. },
  368. "body" : {
  369. "id" : "123456"
  370. },
  371. "header" : {
  372. "token" : "tokenValue"
  373. },
  374. "cookie" : {
  375. "cookieName" : "cookieValue"
  376. },
  377. "session" : {
  378. "userId" : "123"
  379. }
  380. }','{
  381. }','参数测试',null,null,null,null,null,1595066679177,1607515402467);
  382. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('8621986dbb6945c6bd8a01dbcecfe9a5','GET','/filter-map','var list = [{
  383. sex : 0,
  384. name : ''小明''
  385. },{
  386. sex : 1,
  387. name : ''小花''
  388. }]
  389. // 利用map函数对list进行过滤,然后进行转换
  390. return list.filter(item=>item.sex == 0).map((item)=>{
  391. sex : item.sex == 0 ? ''男'' : ''女'',
  392. name : item.name
  393. });','{
  394. "request" : {
  395. "message" : "Hello MagicAPI!"
  396. },
  397. "path" : {
  398. "id" : "123456"
  399. },
  400. "body" : {
  401. "id" : "123456"
  402. },
  403. "header" : {
  404. "token" : "tokenValue"
  405. },
  406. "cookie" : {
  407. "cookieName" : "cookieValue"
  408. },
  409. "session" : {
  410. "userId" : "123"
  411. }
  412. }','{
  413. }','过滤和转换','2decf1e2876bc3d5f09b06ae72eb71eb',null,null,'{
  414. "code": 1,
  415. "message": "success",
  416. "data": [
  417. {
  418. "sex": "男",
  419. "name": "小明"
  420. }
  421. ],
  422. "timestamp": 1595066270905
  423. }',null,1595066278706,1595066278706);
  424. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('9815c54b31f64a9cb3a068934df21c25','POST','/var','/*
  425. 测试变量定义
  426. */
  427. var int = 1;
  428. var double = 2.0d; //2.0D
  429. var long = 3L; // 3l
  430. var float = 4f; // 4F
  431. var byte = 5b; // 5B;
  432. var short = 6s; //6S
  433. var boolean = true; //true or false;
  434. var nullValue = null; // null
  435. var list = [1,2,3,4,5]; //定义list
  436. var map = {
  437. k1 : 123,
  438. k2 : "456",
  439. k3 : 789L,
  440. k4 : {
  441. k5 : ''...''
  442. }
  443. }; //定义map
  444. var string1 = "str"; //定义字符串
  445. var string2 = ''str2''; // \t \n \r \'' \" \\ 转义符是支持的,其它的不支持
  446. //文本块,主要用于定义SQL
  447. var string3 = """
  448. select
  449. *
  450. from table t1
  451. join table2 t2 on t2.xx = t1.xx
  452. where t1.id in (1,2,3,4,5,6)
  453. """
  454. var lambda = e=>e+1; //定义lambda','{
  455. "request" : {
  456. "message" : "Hello MagicAPI!"
  457. },
  458. "path" : {
  459. "id" : "123456"
  460. },
  461. "header" : {
  462. "token" : "tokenValue"
  463. },
  464. "cookie" : {
  465. "cookieName" : "cookieValue"
  466. },
  467. "session" : {
  468. "userId" : "123"
  469. }
  470. }','{
  471. }','测试定义变量','951fd086c7c9e3ad158f66a3f5a405cf',null,null,null,null,1593519576351,1594736110904);
  472. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('986acacbb7a84ea58c2ceff7e74e04b5','GET','/log','import log;
  473. // 切换到"运行日志"查看日志信息
  474. log.info(''info日志:{}'',message);
  475. log.warn(''warn日志'');
  476. try{
  477. return 1 / 0;
  478. }catch(e){
  479. log.error(''error日志'',e);
  480. }
  481. return ''ok'';','{
  482. "request" : {
  483. "message" : "Hello MagicAPI!"
  484. },
  485. "path" : {
  486. "id" : "123456"
  487. },
  488. "body" : {
  489. "id" : "123456"
  490. },
  491. "header" : {
  492. "token" : "tokenValue"
  493. },
  494. "cookie" : {
  495. "cookieName" : "cookieValue"
  496. },
  497. "session" : {
  498. "userId" : "123"
  499. }
  500. }','{
  501. }','测试日志','97f02306240bf5ca1bf6fb4062639720',null,null,'{
  502. "code": 1,
  503. "message": "success",
  504. "data": "ok",
  505. "timestamp": 1595065936684
  506. }',null,1595065953402,1595065959708);
  507. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('998b865018a146aab9abd8f4ffdc8359','GET','/cache','return db.cache(''test'').select(''select api_name,api_method,api_path from magic_api_info'');','{
  508. "request" : {
  509. "message" : "Hello MagicAPI!"
  510. },
  511. "path" : {
  512. "id" : "123456"
  513. },
  514. "body" : {
  515. "id" : "123456"
  516. },
  517. "header" : {
  518. "token" : "tokenValue"
  519. },
  520. "cookie" : {
  521. "cookieName" : "cookieValue"
  522. },
  523. "session" : {
  524. "userId" : "123"
  525. }
  526. }','{
  527. }','缓存测试','d5308dde58814f97169ecb4dee2585e6',null,null,'',null,1595064750136,1595064750136);
  528. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('a4ebe5b3b0a143e797e0027e37b089d3','GET','/page','return db.page(''select api_name from magic_api_info'')','{
  529. "request" : {
  530. "message" : "Hello MagicAPI!"
  531. },
  532. "path" : {
  533. "id" : "123456"
  534. },
  535. "body" : {
  536. "id" : "123456"
  537. },
  538. "header" : {
  539. "token" : "tokenValue"
  540. },
  541. "cookie" : {
  542. "cookieName" : "cookieValue"
  543. },
  544. "session" : {
  545. "userId" : "123"
  546. }
  547. }','{
  548. }','分页测试','d5308dde58814f97169ecb4dee2585e6',null,null,'{
  549. "code": 1,
  550. "message": "success",
  551. "data": {
  552. "total": 12,
  553. "list": [
  554. {
  555. "apiName": "文件下载"
  556. },
  557. {
  558. "apiName": "if测试"
  559. },
  560. {
  561. "apiName": "生成验证码"
  562. },
  563. {
  564. "apiName": "测试循环Map"
  565. },
  566. {
  567. "apiName": "测试定义变量"
  568. },
  569. {
  570. "apiName": "缓存测试"
  571. },
  572. {
  573. "apiName": "操作符测试"
  574. },
  575. {
  576. "apiName": "测试循环List"
  577. },
  578. {
  579. "apiName": "测试lambda"
  580. },
  581. {
  582. "apiName": "测试创建对象"
  583. }
  584. ]
  585. },
  586. "timestamp": 1595064916305
  587. }',null,1595064929177,1595064929177);
  588. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('b7df52ff308e481abceda07d7d3ef62c','GET','/binary','/*
  589. 各种操作符测试
  590. */
  591. import ''java.lang.System'' as system;
  592. var a = 1;
  593. var b = 2;
  594. system.out.println("a = " + a + ", b = " + b);
  595. var c = a + b;
  596. system.out.println("a + b = " + c);
  597. c = a - b;
  598. system.out.println("a - b = " + c);
  599. c = a * b;
  600. system.out.println("a * b = " + c);
  601. c = a / b;
  602. system.out.println("a / b = " + c);
  603. c = a % b;
  604. system.out.println("a % b = " + c);
  605. c = a > b;
  606. system.out.println("a > b = " + c);
  607. c = a >= b;
  608. system.out.println("a >= b = " + c);
  609. c = a == b;
  610. system.out.println("a == b = " + c);
  611. c = a < b;
  612. system.out.println("a < b = " + c);
  613. c = a <= b;
  614. system.out.println("a <= b = " + c);
  615. c = a != b;
  616. system.out.println("a != b = " + c);','{
  617. "request" : {
  618. "message" : "Hello MagicAPI!"
  619. },
  620. "path" : {
  621. "id" : "123456"
  622. },
  623. "header" : {
  624. "token" : "tokenValue"
  625. },
  626. "cookie" : {
  627. "cookieName" : "cookieValue"
  628. },
  629. "session" : {
  630. "userId" : "123"
  631. }
  632. }','{
  633. }','操作符测试','951fd086c7c9e3ad158f66a3f5a405cf',null,null,null,null,1593514691506,1594903771663);
  634. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('cd3c9e4c09fc44fdb82c0f1b783f59af','GET','/loop/list','/*
  635. 测试循环List
  636. */
  637. var list = [1,2,3,4,5];
  638. var sum = 0;
  639. for(val in list){
  640. sum = sum + val;
  641. }
  642. return sum;','{
  643. "request" : {
  644. "message" : "Hello MagicAPI!"
  645. },
  646. "path" : {
  647. "id" : "123456"
  648. },
  649. "header" : {
  650. "token" : "tokenValue"
  651. },
  652. "cookie" : {
  653. "cookieName" : "cookieValue"
  654. },
  655. "session" : {
  656. "userId" : "123"
  657. }
  658. }','{
  659. }','测试循环List','951fd086c7c9e3ad158f66a3f5a405cf',null,null,'{
  660. "code": 1,
  661. "message": "success",
  662. "data": 15,
  663. "timestamp": 1594915393436
  664. }',null,1593515155753,1594915394105);
  665. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('d338de01930f4149b4ea85c9f1f88387','GET','/lambda','/*
  666. 测试Lambda
  667. */
  668. var lambda1 = e => e + 1; //单参数单行代码,省略括号,省略{}
  669. var lambda2 = (e) => e +1; //单参数单行代码,不省略括号,省略{} 作用同上
  670. var lambda4 = e => {e + 1};//单参数无返回值,不能省略{}
  671. var lambda5 = e => {return e + 1};//单参数有返回值,省略括号,不省略{}
  672. var lambda6 = (e) => {return e + 1};//单参数有返回值,不省略括号,不省略{},作用同上
  673. var lambda7 = (a,b) => a + b; //多参数单行代码,省略{}
  674. var lambda7 = (a,b) => {return a + b}; //多参数单行代码,有返回值,作用同上
  675. var lambda8 = (a,b) =>{ //多参数多行代码, 无法省略括号和{}
  676. a = a + 1;
  677. return a + b;
  678. }
  679. var v1 = lambda1(1); //返回2
  680. var v2 = lambda2(v1); //返回3
  681. return lambda8(v1,lambda7(v1,v2)); //返回8
  682. ','{
  683. "request" : {
  684. "message" : "Hello MagicAPI!"
  685. },
  686. "path" : {
  687. "id" : "123456"
  688. },
  689. "header" : {
  690. "token" : "tokenValue"
  691. },
  692. "cookie" : {
  693. "cookieName" : "cookieValue"
  694. },
  695. "session" : {
  696. "userId" : "123"
  697. }
  698. }','{
  699. }','测试lambda','951fd086c7c9e3ad158f66a3f5a405cf',null,null,'{
  700. "code": 1,
  701. "message": "success",
  702. "data": 8,
  703. "timestamp": 1594915477773
  704. }',null,1593518831250,1594915478585);
  705. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('dafa5ca6daf9419995e9a4a01eea1e57','GET','/filter','var list = [{
  706. sex : 0,
  707. name : ''小明''
  708. },{
  709. sex : 1,
  710. name : ''小花''
  711. }]
  712. // 利用map函数对list进行过滤
  713. return list.filter((item)=>item.sex == 0);','{
  714. "request" : {
  715. "message" : "Hello MagicAPI!"
  716. },
  717. "path" : {
  718. "id" : "123456"
  719. },
  720. "body" : {
  721. "id" : "123456"
  722. },
  723. "header" : {
  724. "token" : "tokenValue"
  725. },
  726. "cookie" : {
  727. "cookieName" : "cookieValue"
  728. },
  729. "session" : {
  730. "userId" : "123"
  731. }
  732. }','{
  733. }','List过滤','2decf1e2876bc3d5f09b06ae72eb71eb',null,null,'{
  734. "code": 1,
  735. "message": "success",
  736. "data": [
  737. {
  738. "sex": 0,
  739. "name": "小明"
  740. }
  741. ],
  742. "timestamp": 1595066209866
  743. }',null,1595066211481,1595066227461);
  744. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('dccb42bc1d974d99b0ebd9a12d42c47b','GET','/new','import ''java.util.Date'' as Date;
  745. import ''java.text.SimpleDateFormat'' as SimpleDateFormat;
  746. var now = new Date();
  747. var df = new SimpleDateFormat(''yyyy-MM-dd'');
  748. return df.format(now);','{
  749. "request" : {
  750. "message" : "Hello MagicAPI!"
  751. },
  752. "path" : {
  753. "id" : "123456"
  754. },
  755. "header" : {
  756. "token" : "tokenValue"
  757. },
  758. "cookie" : {
  759. "cookieName" : "cookieValue"
  760. },
  761. "session" : {
  762. "userId" : "123"
  763. }
  764. }','{
  765. }','测试创建对象','951fd086c7c9e3ad158f66a3f5a405cf',null,null,'{
  766. "code": 1,
  767. "message": "success",
  768. "data": "2020-07-18",
  769. "timestamp": 1595040221517
  770. }',null,1593525594254,1595040241898);
  771. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('ee45724999ad400c927f5a267f6b8676','GET','/test/for','/*
  772. 测试循环
  773. */
  774. var sum = 0;
  775. for(val in range(0,100)){ //包括0 包括100
  776. if(val > 90){
  777. break; //跳出循环
  778. }
  779. if(val % 3 == 0){
  780. continue; //进入下一次循环
  781. }
  782. sum = sum + val;
  783. }
  784. return sum;','{
  785. "request" : {
  786. "message" : "Hello MagicAPI!"
  787. },
  788. "path" : {
  789. "id" : "123456"
  790. },
  791. "header" : {
  792. "token" : "tokenValue"
  793. },
  794. "cookie" : {
  795. "cookieName" : "cookieValue"
  796. },
  797. "session" : {
  798. "userId" : "123"
  799. }
  800. }','{
  801. }','测试for循环','951fd086c7c9e3ad158f66a3f5a405cf',null,null,null,null,1593515005267,1594735986968);
  802. INSERT INTO "MAGIC"."MAGIC_API_INFO"("ID","API_METHOD","API_PATH","API_SCRIPT","API_PARAMETER","API_OPTION","API_NAME","API_GROUP_ID","API_REQUEST_BODY","API_REQUEST_HEADER","API_RESPONSE_BODY","API_DESCRIPTION","API_CREATE_TIME","API_UPDATE_TIME") VALUES('ff2135698c6e4d1bad0db59195dfe706','GET','/select','var sql = """
  803. select
  804. ''${message}'' as user_name,
  805. #{id} as user_id
  806. """;
  807. return db.select(sql);','{
  808. "request" : {
  809. "message" : "Hello MagicAPI!"
  810. },
  811. "path" : {
  812. "id" : "123456"
  813. },
  814. "header" : {
  815. "token" : "tokenValue"
  816. },
  817. "cookie" : {
  818. "cookieName" : "cookieValue"
  819. },
  820. "session" : {
  821. "userId" : "123"
  822. }
  823. }','{
  824. }','测试执行SQL','d5308dde58814f97169ecb4dee2585e6',null,null,'',null,1593005960511,1594990967188);
  825. -- ----------------------------
  826. -- Records of MAGIC_GROUP
  827. -- ----------------------------
  828. INSERT INTO "MAGIC"."MAGIC_GROUP"("ID","GROUP_NAME","GROUP_TYPE","GROUP_PATH","PARENT_ID","DELETED") VALUES('2decf1e2876bc3d5f09b06ae72eb71eb','结果转换','1','/convert','0','0');
  829. INSERT INTO "MAGIC"."MAGIC_GROUP"("ID","GROUP_NAME","GROUP_TYPE","GROUP_PATH","PARENT_ID","DELETED") VALUES('6ca78813dfccb943107db664df39f1bc','自定义结果','1','/custom','0','0');
  830. INSERT INTO "MAGIC"."MAGIC_GROUP"("ID","GROUP_NAME","GROUP_TYPE","GROUP_PATH","PARENT_ID","DELETED") VALUES('951fd086c7c9e3ad158f66a3f5a405cf','语法测试','1','/test','0','0');
  831. INSERT INTO "MAGIC"."MAGIC_GROUP"("ID","GROUP_NAME","GROUP_TYPE","GROUP_PATH","PARENT_ID","DELETED") VALUES('97f02306240bf5ca1bf6fb4062639720','其它测试','1','/other','0','0');
  832. INSERT INTO "MAGIC"."MAGIC_GROUP"("ID","GROUP_NAME","GROUP_TYPE","GROUP_PATH","PARENT_ID","DELETED") VALUES('d5308dde58814f97169ecb4dee2585e6','SQL测试','1','/sql','0','0');
  833. -- ----------------------------
  834. -- CONSTRAINT
  835. -- ----------------------------
  836. ALTER TABLE "MAGIC"."MAGIC_GROUP" ADD CONSTRAINT PRIMARY KEY("ID") ;
  837. ALTER TABLE "MAGIC"."MAGIC_API_INFO" ADD CONSTRAINT PRIMARY KEY("ID") ;
  838. CREATE UNIQUE INDEX "PRIMARY"
  839. ON "MAGIC"."MAGIC_GROUP"("ID");
  840. -- ----------------------------
  841. -- COMMENTS
  842. -- ----------------------------
  843. COMMENT ON TABLE "MAGIC"."MAGIC_GROUP" IS 'MagicAPI分组信息表';
  844. COMMENT ON COLUMN "MAGIC"."MAGIC_GROUP"."GROUP_NAME" IS '组名';
  845. COMMENT ON COLUMN "MAGIC"."MAGIC_GROUP"."GROUP_TYPE" IS '组类型,1:接口分组,2:函数分组';
  846. COMMENT ON COLUMN "MAGIC"."MAGIC_GROUP"."GROUP_PATH" IS '分组路径';
  847. COMMENT ON COLUMN "MAGIC"."MAGIC_GROUP"."PARENT_ID" IS '父级ID';
  848. COMMENT ON COLUMN "MAGIC"."MAGIC_GROUP"."DELETED" IS '是否被删除,1:是,0:否';
  849. COMMENT ON TABLE "MAGIC"."MAGIC_API_INFO_HIS" IS 'MagicAPI接口历史记录';
  850. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."ID" IS 'api_id';
  851. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_METHOD" IS '请求方法';
  852. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_PATH" IS '请求路径';
  853. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_SCRIPT" IS '接口脚本';
  854. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_PARAMETER" IS '接口参数';
  855. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_OPTION" IS '接口选项';
  856. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_NAME" IS '接口名称';
  857. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_GROUP_ID" IS '分组ID';
  858. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_REQUEST_BODY" IS '请求体';
  859. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_REQUEST_HEADER" IS '请求Header';
  860. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_RESPONSE_BODY" IS '输出结果';
  861. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_DESCRIPTION" IS '接口描述';
  862. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_CREATE_TIME" IS '创建时间';
  863. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO_HIS"."API_UPDATE_TIME" IS '修改时间';
  864. CREATE UNIQUE INDEX "INDEX26948817097900"
  865. ON "MAGIC"."MAGIC_API_INFO"("ID");
  866. COMMENT ON TABLE "MAGIC"."MAGIC_API_INFO" IS 'MagicAPI接口信息';
  867. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_METHOD" IS '请求方法';
  868. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_PATH" IS '请求路径';
  869. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_SCRIPT" IS '接口脚本';
  870. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_PARAMETER" IS '接口参数';
  871. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_OPTION" IS '接口选项';
  872. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_NAME" IS '接口名称';
  873. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_GROUP_ID" IS '分组ID';
  874. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_REQUEST_BODY" IS '请求体';
  875. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_REQUEST_HEADER" IS '请求Header';
  876. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_RESPONSE_BODY" IS '输出结果';
  877. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_DESCRIPTION" IS '接口描述';
  878. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_CREATE_TIME" IS '创建时间';
  879. COMMENT ON COLUMN "MAGIC"."MAGIC_API_INFO"."API_UPDATE_TIME" IS '修改时间';