U.CD.U.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. Namespace.register("U.CD.U"); //用户登录后的js文件。
  2. //全局所有用户保存,试用U.E.Entity.
  3. //U.CD.U.Users = { "UserID": "", "CDTree": "" }; //生成一个集合模型。把用户id提出出来,后面带改用户的树形目录结构
  4. U.CD.U.AUsers = {}; //生成一个列表,具有集合和数组的功能。包含了所有用户信息。
  5. U.CD.U.CUser = null; //当前正在操作的用户集合。
  6. //U.CD.U.CUser.PreClickNode 保存了右边树的节点单击颜色变化值。
  7. //U.CD.U.CUser.CurrentNode 保存了右边树的单击节点,以便新建文件时指定项目节点。
  8. //U.CD.U.CUser.CurrentSO 保存了右边树的单击节点元素,以便新建文件时指定项目节点。
  9. //U.CD.U.CUser.CTab = null; //保存了上一次的Tab栏数据
  10. //暂时使用下面变量防止主项目Ajax top.US.userInfo.UserId报错。US.fs是头像文件位置。
  11. //var US = {}; US.userInfo = {};US.fs = "http://fs.1473.cn/";
  12. U.CD.U.LoginApply = function (judge) {
  13. U.MD.U.L.DLTC(3);
  14. //var _r = $("#UCD_LR")[0];
  15. //U.D.PopupWindow(_r);
  16. //$("#UCD_LR").animate({ "left": document.body.clientWidth / 2 - 597 / 2 + "px", "top": document.body.clientHeight / 2 - 484 / 2 + "px", "display": "block" }, 100);
  17. //$("#UU_LUName")[0].focus(); // 输入框自动聚焦
  18. // U.CD.OU.Login();
  19. }
  20. U.CD.U.Login = function () {
  21. var _UN = $("#UCD_LR_L_A_T")[0].value;
  22. var _UP = $("#UCD_LR_L_P_T")[0].value;
  23. var _UL = "编程端登录"; //登录地址,因为调用的新浪api,不知道在手机端效果如何,暂时
  24. //U.A.Request("UseStudioManage.uploadUserinfo", ([_username, _password, "", 0]));
  25. //四个参数,第一个要用Chrome去查询函数名字,然后在www.1473.cn项目里面找。。第二个参数向后台传递的参数,是一个数组。第三个参数是异步回调。第四个参数是做Loading。
  26. var _ld = U.CD.Loading.cloneNode(); _ld.innerHTML = "正在登陆中,请稍后!";
  27. U.A.Request("UseStudioManage.uploadUserinfo", ([_UN, _UP, _UL || "", 3]), U.CD.U.LoginAsyn, ([_ld])); //加载用户信息 且进行异步处理
  28. }
  29. //登录异步处理
  30. U.CD.U.LoginAsyn = function (r) {
  31. if (US.userInfo.UserId) {
  32. document.title = US.userInfo.UserName; //网页标题变成名字(为了测试是否登录成功)
  33. //$("#UCD_TOP_L_TX")[0].src = US.fs + US.userInfo.UserThumbnailImageHead; //右边拓展页面的头像
  34. //$("#UCD_TOP_L_TX")[0].onerror = U.MD.C.imgError;
  35. //$("#UCD_TOP_L_UI")[0].innerHTML = US.userInfo.UserName;
  36. //$('#UCD_LR').animate({ 'left': 222 + "px" }, 200, function () { $('#UCD_LR')[0].style.display = "none"; }); //登录页面撤出界面
  37. //US.userInfo["OnUserId"] = U.CD.U.GLID(US.userInfo.UserId).Loginid; //唯一的登录id,设置Cookie信息
  38. //U.MU.S.IF(); //设置获取设置中用户信息的函数
  39. //US.Friend = request[2]; //US.Friend集合里用户好友信息和群信息
  40. //US.Friend[5] = eval(request[0][1]); //在线好友集合
  41. //U.MU.F.PF(); //好友信息获取
  42. //U.MU.D.GD(); //获取硬盘信息
  43. U.CD.U.LogPanel(US.userInfo);
  44. //这一句话居然没有权限?想半天想不明白
  45. U.CD.U.LUData(US.userInfo); //判断该用户是否存在,如果存在,返回源代码数据,不存在,向源代码资源管理器追加一条记录。
  46. //$("#UCD_TOP_AL")[0].innerHTML = ""; //提示用户未登录信息为空。
  47. $("#UCD_RTree")[0].style.display = "block"; //头部的右边拓展按钮可见
  48. //重置整体布局
  49. //$("#UCD_TOP_L_DL")[0].style.display = "none"; //头部的登录按钮不可见
  50. //$("#UCD_TOP_AL")[0].innerHTML = ""; //提示用户未登录信息为空。
  51. $("#UCD_RTree")[0].style.display = "block"; //头部的右边拓展按钮可见
  52. //U.CD.LO.OpenZY(); //打开资源管理器
  53. U.CD.Url.AllowUser(); //登录后打开保存、提示框信息等登录用户的权限。
  54. $(".UCD_CT_AddPag")[0].style.display = "block"; // 代码区域切换栏 +号 //林志雄加
  55. }
  56. }
  57. //登录后的用户面板
  58. U.CD.U.LogPanel = function (u) {
  59. var d = $("#UCD_TOP_L")[0];
  60. d.innerHTML = "";
  61. //$$("div", { "id": "UCD_TOP_L_UI", "innerHTML": u.UserName }, d); //追加用户信息
  62. $$("div", { "className": "UCD_TOP_L_HYYP", "innerHTML": "硬盘", "onclick": [[U.UF.EV.stopBubble], [U.MD.D.I.openApplication, (["Disk", { "userid": US.userInfo.UserId, "directoryid": US.DG}])]], style: { "margin-top": 4 + "px"} }, d); //追加硬盘信息
  63. // $$("div", { "className": "UCD_TOP_L_HYYP", "innerHTML": "|", "style": { "margin-left": 10 + "px", "margin-right": 10 + "px", "margin-top": 2 + "px"} }, d);
  64. $$("div", { "className": "UCD_TOP_L_HYYP", "innerHTML": "好友", "onclick": [[U.UF.EV.stopBubble], [U.MD.D.I.openApplication, (['Friend', [$('#UD_SYH')[0]]])]], style: { "margin-top": 4 + "px", "margin-left": 20 + "px"} }, d); //追加好友信息
  65. // $$("div", { "className": "UCD_TOP_L_HYYP", "innerHTML": "博客", "onclick": [[U.UF.EV.stopBubble], [U.M.divdoubleClick, (['UseStudioBlogSystemDiv', null, u.UserId, '', ''])]] }, d); //追加好友信息
  66. var d1 = $$("div", { "style": { "float": "right"} }, d);
  67. $$("img", { "id": "UCD_TOP_L_TX", "src": US.fs + u.UserThumbnailImageHead, "alt": "http://www.1473.cn", "onclick": [[U.CD.OU.ProDiv, ([""])]], "onerror": U.MD.C.imgError }, d1); //追加用户头像
  68. $$("div", { "id": "UCD_TOP_L_TC", "innerHTML": "退出", "onclick": function () { if (US.userInfo.UserId && confirm('是否退出' + US.userInfo.UserName + '账号')) { U.MD.U.LO.logoutSystem(); } } }, d1); //追加退出按钮
  69. //$("#UF_UP_UserBoard")[0].style.display = "none"; //好友面板需要点击才弹出,直接隐藏
  70. $(".UD_SYHR")[0].style.display = "none"; //好友面板需要点击才弹出,直接隐藏
  71. }
  72. //退出后以及初始化时的面板
  73. U.CD.U.LogoutPanel = function () {
  74. var d = $("#UCD_TOP_L")[0];
  75. d.innerHTML = "";
  76. $$("div", { "id": "UCD_TOP_L_DL", "innerHTML": "登录", "onclick": [[U.CD.U.LoginApply, ([""])]] }, d); //头部的登录按钮可见
  77. }
  78. //获取用户登录cookie,UID是传的用户id,传入用户id获取对应的用户cookie,不传获取最后一个登录cookie。
  79. U.CD.U.GLID = function (UID) {
  80. var i, _AID, _L, _ULL = document.cookie.lastIndexOf("Loginid");
  81. if (_ULL > -1) {
  82. _AID = eval("[{\"" + document.cookie.substring((document.cookie.indexOf("usestudiosso") + 13), (document.cookie.lastIndexOf("Loginid") + 44)).replace(/=/gm, "\":\"").replace(/&/gm, "\"},{\"") + "\"}]"), _L = (_AID.length / 3);
  83. if (UID) { ; for (i = 0; i < _AID.length; i++) { if (_AID[i]["userid"] == UID) { return { "userid": UID, "username": _AID[i + _L].username, "Loginid": _AID[i + (_L * 2)].Loginid }; } } }
  84. else { return { "userid": _AID[_L - 1].userid, "username": _AID[_L * 2 - 1].username, "Loginid": _AID[_L * 3 - 1].Loginid }; }
  85. }
  86. }
  87. //判断是否用户自己在操作的函数。
  88. U.CD.U.IsUSelf = function () {
  89. if (U.CD.U.CUser == null) { return false }; //用户未执行登录操作,当前用户为空,让用户重新登录
  90. var _c = U.CD.U.GLID(U.CD.U.CUser.UserID); //获取用户登录Cookie. _c.userid _c.username _c.Loginid
  91. if (!_c) { return false; } //如果未登录,弹出登录窗口。如果当前用户未登录,只是给人查看,则提示用户登录
  92. if (_c.userid != U.CD.U.CUser.UserID) return false; //不保险,再加一句话判断
  93. else return _c;
  94. }
  95. //用户通过Cookie自动登录
  96. U.CD.U.CookieL = function () {
  97. if (U.M.GetUF()) { return; } //获取#!后面的值,如果有,则不登陆。表示是查看其它用户信息
  98. var _UIF = U.CD.U.GLID(); //获取用户登录的cookie
  99. if (_UIF && _UIF.userid && _UIF.userid.length == 36) { U.A.Request("UseStudioManage.LoginByCookie", ([_UIF.userid, _UIF.username, Guid.newGuid(), "", 0]), U.CD.U.LoginAsyn, ([""])); } //加载用户信息 且进行异步处理
  100. //if (_UIF && _UIF.userid && _UIF.userid.length == 36) { U.A.Request("UseStudioManage.LoginByCookie", ([_UIF.userid, _UIF.username, Guid.newGuid(), US.NLInfo.LogAddr || "", 0]), U.MD.U.L.AsynUlL, (["", US.NLInfo.LogAddr])); } //加载用户信息 且进行异步处理
  101. }
  102. //用户执行退出操作。
  103. U.CD.U.Logout = function () {
  104. if (!US.userInfo.UserId) {
  105. //if (US.userInfo.UserId) { U.A.Request("UseStudioManage.DUser", ([US.userInfo.UserId, US.userInfo["OnUserId"]]), U.M.apply(), ([])); U.CD.U.UL(); } //此处清除了Cookie?
  106. //执行清理资源操作
  107. U.CD.R.ClearTab(); //清理Tab窗口
  108. $("#UCD_RTree")[0].innerHTML = ""; //清理目录树
  109. U.CD.LO.CloseZY(); //关闭资源树。
  110. U.CD.U.LogoutPanel(); //退出用户面板
  111. $("#UCD_RTree")[0].style.display = "none"; //头部的右边拓展按钮可见
  112. }
  113. }
  114. //用户下线获取给别人顶下线,执行清理操作。
  115. U.CD.U.UL = function () {
  116. $("#UCD_TOP_L_DL")[0].style.display = "block"; //头部的登录按钮不可见
  117. $("#UCD_RTree")[0].style.display = $("#UCD_TOP_L_UI")[0].style.display = $("#UCD_TOP_L_TX")[0].style.display = $("#UCD_TOP_L_TC")[0].style.display = "none"; //头部的右边拓展按钮可见
  118. }
  119. U.CD.U.RSRW = function () {
  120. SO = $('#UCD_LR_R_I')[0];
  121. if (SO.getAttribute("stat") == "block") {
  122. $("#UCD_LR_RegisterButton").animate({ "left": "420px" }, 100);
  123. $("#UCD_LR_R_I").animate({ "left": "460px" }, 100);
  124. SO.setAttribute("stat", "none");
  125. }
  126. else {
  127. $("#UCD_LR_RegisterButton").animate({ "left": "160px" }, 100);
  128. $("#UCD_LR_R_I").animate({ "left": "203px" }, 100);
  129. SO.style.display = "block";
  130. SO.setAttribute("stat", "block");
  131. }
  132. }
  133. //添加一个用户,用户成功登陆后如果没有创建用户信息,则添加用户信息
  134. U.CD.AddUserInfo = function (u) {
  135. //根据userid创建一个项目,如果该userid不存在,创建时需要添加用户信息
  136. var _userid = u.UserId;
  137. var _userName = u.UserName;
  138. //var _request = US.Ajax.Request({ "mode": "AddUserInfo", "userid": _userid, "username": _userName });
  139. //mode为接受参数的标志。第一个参数为后台增删查改类型,后面参数为实际传递的参数。
  140. //U.A.Request(U.CD.AjaxUrl, (["SelectOneUserByID", ID]), U.CD.RT.LUDataAsyn, ([""]));
  141. }
  142. //判断用户登录后装载用户数据
  143. U.CD.U.LUData = function (u) {
  144. //mode为接受参数的标志。第一个参数为后台增删查改类型,后面参数为实际传递的参数。//选取数据?其他,还未登录,不需要选取数据,以后再看
  145. U.ACD.Request(U.CD.AjaxUrl, (["Select_OneUserByID", u.UserId, U.CD.USLang]), U.CD.RT.LUDataAsyn, ([""]));
  146. }