magic-api-oracle.sql 22 KB

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