U.CD.U.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. Namespace.register("U.CD.U");
  2. //用户登录后的js文件。
  3. //全局所有用户保存,试用U.E.Entity.
  4. //U.CD.U.Users = { "UserID": "", "CDTree": "" }; //生成一个集合模型。把用户id提出出来,后面带改用户的树形目录结构
  5. U.CD.U.AUsers = {};
  6. //生成一个列表,具有集合和数组的功能。包含了所有用户信息。
  7. U.CD.U.CUser = null;
  8. //当前正在操作的用户集合。
  9. //U.CD.U.CUser.PreClickNode 保存了右边树的节点单击颜色变化值。
  10. //U.CD.U.CUser.CurrentNode 保存了右边树的单击节点,以便新建文件时指定项目节点。
  11. //U.CD.U.CUser.CurrentSO 保存了右边树的单击节点元素,以便新建文件时指定项目节点。
  12. //U.CD.U.CUser.CTab = null; //保存了上一次的Tab栏数据
  13. //暂时使用下面变量防止主项目Ajax top.US.userinfo.UserId报错。US.fs是头像文件位置。
  14. //var US = {}; US.userinfo = {};US.fs = "http://fs.1473.cn/";
  15. //打开登录注册窗体
  16. U.CD.U.LoginApply = function (judge) {
  17. //var _r = $("#UCD_LR")[0];
  18. //U.D.PopupWindow(_r);
  19. //$("#UCD_LR").animate({ "left": document.body.clientWidth / 2 - 597 / 2 + "px", "top": document.body.clientHeight / 2 - 484 / 2 + "px", "display": "block" }, 100);
  20. //$("#UU_LUName")[0].focus(); // 输入框自动聚焦
  21. //U.ME.OpenWin("UCD_TOP_L_DL", "UCD_LR", document.body.clientWidth / 2 - 597 / 2 + "px", document.body.clientHeight / 2 - 484 / 2 + "px", "750px", "380px", 300);
  22. // U.CD.OU.Login();
  23. U.U.L.DLTC(3);
  24. }
  25. //登录异步处理
  26. U.CD.U.LoginAsyn = function (r) {
  27. //给信息面板获取值.1473主项目写法。
  28. var context = r.context;
  29. r = r.value;
  30. if (r == null) {
  31. return;
  32. } else if (r == false) {
  33. return;
  34. } else if (r[0].IsShielding == 1) {
  35. return;
  36. } else if (r[0].IsShielding == 2) {
  37. return;
  38. } else {
  39. //US.userinfo = r[0][0]; //把用户信息变成全局
  40. //document.title = US.userinfo.UserName; //网页标题变成名字(为了测试是否登录成功)
  41. //$("#UCD_TOP_L_TX")[0].src = US.fs + US.userinfo.UserThumbnailImageHead; //右边拓展页面的头像
  42. //$("#UCD_TOP_L_TX")[0].onerror = U.M.ImgError;
  43. //$("#UCD_TOP_L_UI")[0].innerHTML = US.userinfo.UserName;
  44. U.CD.U.LogPanel(US.userinfo);
  45. //这一句话居然没有权限?想半天想不明白
  46. U.CD.U.LUData(US.userinfo);
  47. //判断该用户是否存在,如果存在,返回源代码数据,不存在,向源代码资源管理器追加一条记录。
  48. //重置整体布局
  49. $("#UCD_TOP_AL")[0].innerHTML = "";
  50. //提示用户未登录信息为空。
  51. $("#UCD_RTree")[0].style.display = "block";
  52. //头部的右边拓展按钮可见
  53. //U.CD.LO.OpenZY(); //打开资源管理器
  54. U.CD.Url.AllowUser();
  55. //登录后打开保存、提示框信息等登录用户的权限。
  56. }
  57. }
  58. //登录后的用户面板
  59. U.CD.U.LogPanel = function (u) {
  60. var d = $("#UCD_TOP_L")[0];
  61. d.innerHTML = "";
  62. //$$("div", { "id": "UCD_TOP_L_UI", "innerHTML": u.UserName }, d); //追加用户信息
  63. $$("div", {
  64. "className": "UCD_TOP_L_HYYP",
  65. "innerHTML": "硬盘",
  66. "onclick": [[U.D.DT.YYDK, (["Disk", {"userid":US.userinfo.UserId,"directoryid":US.DG}])]]
  67. }, d);
  68. //追加硬盘信息
  69. $$("div", {
  70. "className": "UCD_TOP_L_HYYP",
  71. "innerHTML": "好友",
  72. "style": {
  73. "margin-right": "15px"
  74. },
  75. "onclick": [[U.D.DT.YYDK, (["Friend"])]]
  76. }, d);
  77. //追加好友信息
  78. // $$("div", { "className": "UCD_TOP_L_HYYP", "innerHTML": "博客", "onclick": [[U.D.DT.YYDK, (["Blog"])]] }, d); //追加好友信息
  79. $$("img", {
  80. "id": "UCD_TOP_L_TX",
  81. "src": US.fs + u.UserThumbnailImageHead,
  82. "alt": "http://www.1473.cn",
  83. "onclick": [[U.CD.OU.ProDiv, ([""])]],
  84. "onerror": U.M.ImgError
  85. }, d);
  86. //追加用户头像
  87. $$("div", {
  88. "id": "UCD_TOP_L_UI",
  89. "innerHTML": u.UserNickName ? u.UserNickName : u.UserName
  90. }, d);
  91. //追加用户头像
  92. $$("div", {
  93. "id": "UCD_TOP_L_TC",
  94. "innerHTML": "退出",
  95. "onclick": function () {
  96. if (US.userinfo.UserId && confirm('是否退出' + US.userinfo.UserName + '账号')) {
  97. U.U.L.TCUL();
  98. }
  99. }
  100. }, d);
  101. //追加退出按钮
  102. //$("#UF_UP_UserBoard")[0].style.display = "none"; //好友面板需要点击才弹出,直接隐藏
  103. $(".UD_SYHR")[0].style.display = "none";
  104. //好友面板需要点击才弹出,直接隐藏
  105. }
  106. //好友交流模块
  107. /*
  108. //交流模块与ufrom接口测试及调优方案
  109. //好友大小变化
  110. U.F.FSIZE = function () {
  111. $("#UD_SYH").childg(0, 1).addAttrArray({ "style": { "top": (US.Height - 530) / 2, "right": "0px"} }); //
  112. }
  113. //初始化好友函数
  114. U.F.CSHFG = function () {
  115. var _UDTD = $("#UD_SYH").addAttrArray({ "style": { "display": "block"} })[0], _UDOD = $(".UD_SYHZLTI", U.F.W.QHFG(_UDTD, [{ "display": "none", "left": "auto" }, { "display": "block", "top": (US.Height - 530) / 2, "right": "0px"}], true)[0])[0];
  116. $($("img", _UDOD)[0] || $$("img")).addAttrArray({ "onerror": U.M.ImgError, "src": U.M.GetImgU(US.userinfo.UserThumbnailImageHead), "onclick": U.U.DKGEZL }).appendTo(_UDOD); //添加当前使用用户的头像
  117. U.F.RPFG(US.Friend[4].length ? US.Friend[4] : US.Friend[1], $("div#UD_SYHRC", _UDTD)[0]); U.F.PUF($("div#UD_SYHZLZ", _UDTD)[0], US.Friend[1]); //打印好友
  118. }
  119. //初始化好友
  120. U.F.RPFG = function (UDE, UDOD) {
  121. var i, _UDFD = $$("frag"), _UDAD = $(UDOD).Child();
  122. for (i = 1; i < _UDAD.length; i++) { UDOD.removeChild(_UDAD[i]); }
  123. if (UDE.length) { for (i = 0; (i < UDE.length && i < 11); i++) { $$("img", { "onerror": U.M.ImgError, "title": UDE[i]["FriendsDescript"], "className": "UD_SYHRCI", "src": U.M.GetImgU(UDE[i].UserThumbnailImageHead), "alt": UDE[i].FriendsDescript || UDE[i].UserNickName, "onclick": [[U.M.StopBubble], [U.F.N.QXXHFXT, ([null, UDOD, UDE[i].UserId])], [U.F.W.HTOFM, ([UDE[i], true])]] }, _UDFD); } }
  124. else {
  125. _UDTD = $$("div", { "className": "UD_SYHRCT" }, _UDFD);
  126. _UDSD = $$("div", { "className": "UD_SYHRCTS" }, _UDTD);
  127. $$("img", { "src": "http://www.1473.cn/img/YSUN.png" }, _UDSD);
  128. $$("div", { "className": "UD_SYHRCTZ UD_SYI" }, _UDTD);
  129. $$("div", { "className": "UD_SYHRCTX", "innerHTML": "暂时无追随" }, _UDTD);
  130. }
  131. UDOD.appendChild(_UDFD);
  132. }
  133. //用户列表好友分组打印
  134. U.F.PUF = function (UDOD) {
  135. var i, _UDBD, _UDCD, _UDFD, _UDFG = US.Friend[0], _UDSP = $$("frag"); UDOD.innerText = "";
  136. for (i = 0; i < _UDFG.length; i++) {
  137. _UDFD = _$(US.Friend[1]).Select({ "FriendsGroupID": _UDFG[i].FriendsGroupID });
  138. _UDBD = $$("div", { "TID": _UDFG[i].FriendsGroupID, "className": "UD_SYHZLZO" }, _UDSP);
  139. $$("div", { "className": "UD_SYHZLZOT", "innerHTML": _UDFG[i].FriendsGroupName + "(" + _UDFD.length + ")", "onclick": [[U.F.ZKPUF, ([_UDBD])]] }, _UDBD);
  140. _UDCD = $$("div", { "className": "UD_SYHZLZOC" }, _UDBD);
  141. if (US.Friend[1].length) { U.F.TYDYF(_UDCD, _UDFD); } else { U.F.TYDYFK(_UDCD); }
  142. }
  143. UDOD.appendChild(_UDSP);
  144. }
  145. //统一打印
  146. U.F.TYDYF = function (UDOD, UDE, UTF) {
  147. var i, _UTF, _UDTD, _UDSD, _UDGD, _UDFD = $($$("frag"));
  148. if (UDE.length) {
  149. for (i = 0; i < UDE.length; i++) {
  150. _UDTD = $$("div", { "className": "UD_SYHZLZOCO", "onclick": [[U.F.W.HTOFM, ([UDE[i]])]], "TID": UDE[i].GroupManageID || UDE[i].UserId });
  151. _UDSD = $$("div", { "className": "UD_SYHZLZOCOI" }, _UDTD);
  152. if (UDE[i].GroupManageID || UDE[i].tf) { U.F.GQTX(UDE[i].GroupManageID ? UDE[i] : _$(US.Friend[2]).Select({ "GroupManageID": UDE[i].UserId })[0], _UDSD, 4, [35, 35]); }
  153. else { $$("img", { "onerror": U.M.ImgError, "title": "点击查看", "onclick": [[U.M.StopBubble], [U.U.I.UIFZX, ([UDE[i].UserId])]], "src": U.M.GetImgU(UDE[i].UserThumbnailImageHead) }, _UDSD); }
  154. _UDGD = $$("div", { "className": "UD_SYHZLZOCOR UTDF" }, _UDTD);
  155. $$("div", { "className": "UD_SYHZLZOCORN UTDF", "innerHTML": UDE[i].FriendsDescript || UDE[i].UserNickName || UDE[i].GroupManageName }, _UDGD);
  156. $$("div", { "className": "UD_SYHZLZOCORT UTDF", "innerHTML": UDE[i].UserIndividualitysignature || UDE[i].GroupManageRemark || "" }, _UDGD);
  157. _UDFD.append(_UDTD, 0, UDE[i].IsLogin == 1 ? (_UTF = true, _UDFD.firstChild) : null);
  158. }
  159. $(UDOD).append(_UDFD, 0, _UTF ? UDOD.firstChild : null);
  160. }
  161. else { UDOD.style.display = "none"; }
  162. }
  163. //打印空好友
  164. U.F.TYDYFK = function (UDOD) {
  165. _UDTD = $$("div", { "className": "UD_SYHZLZT" }, UDOD);
  166. _UDSD = $$("div", { "className": "UD_SYHZLZTS" }, _UDTD);
  167. $$("img", { "src": "http://www.1473.cn/img/YSUN.png" }, _UDSD);
  168. $$("div", { "className": "UD_SYHZLZTZ UD_SYI" }, _UDTD);
  169. $$("div", { "className": "UD_SYHZLZTX", "innerHTML": "暂时没有添加追随!!" }, _UDTD);
  170. }
  171. */
  172. U.CD.U.Friend = function () {
  173. var T = new Date();
  174. //函数初始调用时间
  175. U.D.DT.YYDK("Friend");
  176. //调用好友窗体,生成好友窗体
  177. var T1 = new Date();
  178. console.log("函数运行时间" + T1 - T);
  179. }
  180. //退出后以及初始化时的面板
  181. U.CD.U.LogoutPanel = function () {
  182. var d = $("#UCD_TOP_L")[0];
  183. d.innerHTML = "";
  184. $$("div", {
  185. "id": "UCD_TOP_L_DL",
  186. "innerHTML": "登录",
  187. "onclick": [[U.CD.U.LoginApply, ([""])]]
  188. }, d);
  189. //头部的登录按钮可见
  190. }
  191. //获取用户登录cookie,UID是传的用户id,传入用户id获取对应的用户cookie,不传获取最后一个登录cookie。
  192. U.CD.U.GLID = function (UID) {
  193. var i, _AID, _L, _ULL = document.cookie.lastIndexOf("Loginid");
  194. if (_ULL > -1) {
  195. _AID = eval("[{\"" + document.cookie.substring((document.cookie.indexOf("usestudiosso") + 13), (document.cookie.lastIndexOf("Loginid") + 44)).replace(/=/gm, "\":\"").replace(/&/gm, "\"},{\"") + "\"}]"),
  196. _L = (_AID.length / 3);
  197. if (UID) {
  198. ; for (i = 0; i < _AID.length; i++) {
  199. if (_AID[i]["userid"] == UID) {
  200. return {
  201. "userid": UID,
  202. "username": _AID[i + _L].username,
  203. "Loginid": _AID[i + (_L * 2)].Loginid
  204. };
  205. }
  206. }
  207. } else {
  208. return {
  209. "userid": _AID[_L - 1].userid,
  210. "username": _AID[_L * 2 - 1].username,
  211. "Loginid": _AID[_L * 3 - 1].Loginid
  212. };
  213. }
  214. }
  215. }
  216. //判断是否用户自己在操作的函数。
  217. U.CD.U.IsUSelf = function () {
  218. if (U.CD.U.CUser == null) {
  219. return false
  220. }
  221. ;//用户未执行登录操作,当前用户为空,让用户重新登录
  222. var _c = U.CD.U.GLID(U.CD.U.CUser.UserID);
  223. //获取用户登录Cookie. _c.userid _c.username _c.Loginid
  224. if (!_c) {
  225. return false;
  226. }
  227. //如果未登录,弹出登录窗口。如果当前用户未登录,只是给人查看,则提示用户登录
  228. if (_c.userid != U.CD.U.CUser.UserID)
  229. return false;
  230. //不保险,再加一句话判断
  231. else
  232. return _c;
  233. }
  234. //用户执行退出操作。
  235. U.CD.U.Logout = function () {
  236. //如果1473主项目已经清除了用户id,则此处只需要清理编程端界面。
  237. if (!US.userinfo.UserId) {
  238. //执行清理资源操作
  239. U.CD.R.ClearTab();
  240. //清理Tab窗口
  241. $("#UCD_RTree")[0].innerHTML = "";
  242. //清理目录树
  243. U.CD.LO.CloseZY();
  244. //关闭资源树。
  245. U.CD.U.LogoutPanel();
  246. //退出用户面板
  247. $("#UCD_RTree")[0].style.display = "none";
  248. //头部的右边拓展按钮可见
  249. }
  250. }
  251. //判断用户登录后装载用户数据
  252. U.CD.U.LUData = function (u) {
  253. //mode为接受参数的标志。第一个参数为后台增删查改类型,后面参数为实际传递的参数。//选取数据?其他,还未登录,不需要选取数据,以后再看
  254. //u.UserId有时候为空,下午再解决
  255. U.ACD.Request(U.CD.AjaxUrl, (["Select_OneUserByID", u.UserId, U.CD.USLang]), U.CD.RT.LUDataAsyn, ([""]));
  256. }
  257. //--------------------------------不再需要的函数---------------------------------------------
  258. U.CD.U.Login = function () {
  259. var _UN = $("#UCD_LR_L_A_T")[0].value;
  260. var _UP = $("#UCD_LR_L_P_T")[0].value;
  261. var _UL = "编程端登录";
  262. //登录地址,因为调用的新浪api,不知道在手机端效果如何,暂时
  263. //U.A.Request("UseStudioManage.uploadUserinfo", ([_username, _password, "", 0]));
  264. //四个参数,第一个要用Chrome去查询函数名字,然后在www.1473.cn项目里面找。。第二个参数向后台传递的参数,是一个数组。第三个参数是异步回调。第四个参数是做Loading。
  265. var _ld = U.CD.Loading.cloneNode();
  266. _ld.innerHTML = "正在登陆中,请稍后!";
  267. U.A.Request("UseStudioManage.uploadUserinfo", ([_UN, _UP, _UL || "", 3]), U.CD.U.LoginAsyn, ([_ld]));
  268. //加载用户信息 且进行异步处理
  269. }
  270. //用户通过Cookie自动登录
  271. U.CD.U.CookieL = function () {
  272. if (U.M.GetUF()) {
  273. return;
  274. }
  275. //获取#!后面的值,如果有,则不登陆。表示是查看其它用户信息
  276. var _UIF = U.CD.U.GLID();
  277. //获取用户登录的cookie
  278. if (_UIF && _UIF.userid && _UIF.userid.length == 36) {
  279. U.A.Request("UseStudioManage.LoginByCookie", ([_UIF.userid, _UIF.username, Guid.newGuid(), "", 0]), U.CD.U.LoginAsyn, ([""]));
  280. }
  281. //加载用户信息 且进行异步处理
  282. //if (_UIF && _UIF.userid && _UIF.userid.length == 36) { U.A.Request("UseStudioManage.LoginByCookie", ([_UIF.userid, _UIF.username, Guid.newGuid(), US.NLInfo.LogAddr || "", 0]), U.U.L.AsynUlL, (["", US.NLInfo.LogAddr])); } //加载用户信息 且进行异步处理
  283. }
  284. //添加一个用户,用户成功登陆后如果没有创建用户信息,则添加用户信息
  285. U.CD.AddUserInfo = function (u) {
  286. //根据userid创建一个项目,如果该userid不存在,创建时需要添加用户信息
  287. var _userid = u.UserId;
  288. var _userName = u.UserName;
  289. //var _request = US.Ajax.Request({ "mode": "AddUserInfo", "userid": _userid, "username": _userName });
  290. //mode为接受参数的标志。第一个参数为后台增删查改类型,后面参数为实际传递的参数。
  291. //U.A.Request(U.CD.AjaxUrl, (["SelectOneUserByID", ID]), U.CD.RT.LUDataAsyn, ([""]));
  292. }
  293. //关闭登录窗体
  294. U.CD.U.CloseW = function (o) {
  295. //U.D.WindowMin(o.parentNode.parentNode);
  296. U.ME.CloseWin("UCD_TOP_L_DL", "UCD_LR", 200, U.ME.ChangeColor("UCD_TOP_L_DL", "red"));
  297. }