U.MDevelop.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. Namespace.register("U.CD"); //注册云开发命名空间
  2. //云开发main进入点函数
  3. U.CD.Run = function () {
  4. var _area = $("#UD_CD_TA")[0];
  5. var _cd = _area.innerText; //用户输入的开发文本区域
  6. eval(_cd); //运行用户开发代码
  7. }
  8. //清理运行结果
  9. U.CD.CL = function (obj) {
  10. if (obj) document.body.removeChild(obj);
  11. }
  12. //从数据库获取用户开发代码
  13. U.CD.GC = function (obj) {
  14. if (US.userInfo.userid == null) {
  15. if (obj) {
  16. U.U.L.LAR();
  17. }
  18. }
  19. else {
  20. U.A.Request(US.Auth, ["GetUserCode", US.userInfo.userid], U.CD.PC, []);
  21. }
  22. }
  23. //将代码赋到文本框中
  24. U.CD.PC = function (_text) {
  25. var code = _text.value[0]["CloudCode"];
  26. if (code != null) {
  27. $("#UD_CD_TA")[0].innerHTML = code;
  28. alert("读取成功");
  29. }
  30. else {
  31. alert("没有数据或已丢失");
  32. }
  33. }
  34. //保存用户开发代码至数据库
  35. U.CD.SC = function () {
  36. if (U.U.L.isLogin() == false) {
  37. var _cd = $("#UD_CD_TA")[0].innerHTML;
  38. U.A.Request(US.Auth, ["SaveUserCode", US.userInfo.userid, _cd], alert("保存成功"));
  39. }
  40. }
  41. //此函数不要,使用ujbetter
  42. //U.CD.Obj = function (id) {
  43. // return document.getElementById(id);
  44. //};
  45. //切换ujbetter和云c语言
  46. U.CD.Selelanuagetype = function (here) {
  47. if (here == "c") {
  48. alert("暂时不提供服务,留待未来"); return;
  49. //$("#UD_Y").animate({ "left": "80px" }, 400);
  50. $("#UD_CD_TA")[0].style.display = "none";
  51. $("#UD_RunJs")[0].style.display = "none";
  52. $("#UD_CD_CG")[0].style.display = "block";
  53. } else {
  54. //$("#UD_Y").animate({ "left": "0px" }, 400);
  55. $("#UD_CD_TA")[0].style.display = "block";
  56. $("#UD_RunJs")[0].style.display = "block";
  57. $("#UD_CD_CG")[0].style.display = "none";
  58. }
  59. }
  60. //云C语言切换,功能还未做完,暂时不开放。
  61. U.CD.SCD = function () {
  62. var _UDC = $("#UD_CD");
  63. _UDC.addAttrArray({ "width": _UDC[0].clientWidth, "height": _UDC[0].clientHeight });
  64. var _UDD = $("div", _UDC[0]);
  65. _UDD[1].style.width = _UDC[0].clientWidth - 30 + "px";
  66. _UDD[4].style.height = _UDC[0].clientHeight - 35 + "px";
  67. /*U.MD.DynamicLoad("/css/UD/UD_CD.css", "css");
  68. U.MD.DynamicLoad("/js/UDC/U.DC.CL.js", "js");
  69. U.MD.DynamicLoad("/js/UDC/U.DC.Comm.js", "js");
  70. U.MD.DynamicLoad("/js/UDC/U.DC.ExprCal.js", "js");
  71. U.MD.DynamicLoad("/js/UDC/U.DC.Interpreter.js", "js");
  72. U.MD.DynamicLoad("/js/UDC/U.DC.LEX.js", "js");
  73. U.MD.DynamicLoad("/js/UDC/U.DC.ST.js", "js");*/
  74. }
  75. //--------------------------------------------------------------------------云开发环境的初始化-------------------------------------------------------------------
  76. //----------------粗略版 先做模型出来在修正
  77. //var include = new Array(new Array(), new Array())
  78. //var num = 0;
  79. //云开发main进入点函数
  80. //U.M.CD = function () {
  81. // var _area = $("#UD_CD_TA")[0];
  82. // var _cd = _area.innerText; //用户输入的开发文本区域
  83. // //------C 集成的开发
  84. // var regC = new RegExp("(#include )", "g");
  85. // var regMain = new RegExp("(int main|void main)");
  86. // var reg = new RegExp("(char |int |long |unsigned |float |double )", "g");
  87. // _cd = _cd.replace(/(^\s+)/g, ""); ;
  88. // var str2 = "#include "
  89. // var c = _cd.indexOf(str2);
  90. // if (c == 0) {
  91. // _cd = _cd.replace(regMain, changMain); // 修改mian
  92. // _cd = _cd.replace(reg, test); //修改参数类型
  93. // _cd = _cd.replace(regC, inclu); //获取引用空间类型
  94. // // var starIndex = _cd.indexOf(regMain);
  95. // // var num = _cd.indexOf("{", starIndex, starIndex + 10);
  96. // // alert(_cd.substring(num - 1, num + 1));
  97. // // alert( _cd.substring(_cd.length-1,_cd.length));
  98. // }
  99. // else {
  100. // alert("请规范书写C语法!!");
  101. // return;
  102. // }
  103. // _cd = _cd + "main();"
  104. // try {
  105. // eval(_cd); //运行用户开发代码
  106. // }
  107. // catch (e) {
  108. // alert(e.Message);
  109. // }
  110. //}
  111. //---后面在改用switch来解决
  112. //function scanf() {
  113. // alert("tc");
  114. //}
  115. //function test() {
  116. // //alert($1);
  117. // return "var ";
  118. //}
  119. //function changMain() {
  120. // return "function main";
  121. //}
  122. //function inclu() {
  123. // var str = "include[" + num + "][1]='1';include[" + num + "][0]=";
  124. // num++;
  125. // return str;
  126. //}