Onload2.js 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292
  1. //------------------------------------------------------------------------------------用户桌面和程序数据初始化区域----------------------------------------------------------------------------------------------------------------
  2. Namespace.register("U.MD.D"); //桌面onload和桌面总控的命名空间
  3. /*
  4. window.onload的流程:
  5. 1、自由属性的设置,例如:页面识别id。允许浏览器多页面浏览www.1473.cn
  6. 2、加载各种事件绑定,如:页面大小监视,不允许选择桌面文字,ie7以下浏览器页面提示
  7. 3、加载桌面图标。
  8. 4、加载跨域设置,如果没有跨域,首页数据无法获取
  9. 4、加载首页
  10. 5、加载广告,QQ登录等外链。
  11. UD和UC区别 uc是框架函数 ud为操作系统原壳 这里的简化的目标很简单 只要有人应用ud 就会引用一个web操作系统 提供操作系统的功能应用
  12. 难题 :
  13. 1、命名和用户冲突 会导致原web系统不可使用
  14. 2、函数冲突 如 用户自带window.resize这样的函数 我们提供了接口 但是这个接口的的暴露性可见性体现出文档的重要 宣传文档也就是文宣的重要性高了
  15. 3、有参数注释的都为暴露接口类型 其他都为内部使用 更好的体现方式
  16. */
  17. //#region 配置区域,相当于全局变量定义
  18. U.MD.D.IsUseStudio = true;
  19. //本地存储类
  20. U.MD.D.LocalStorage = null;
  21. //#endregion
  22. //#region onload处理
  23. /**
  24. * 系统初始化处理
  25. *
  26. * @param {function} 在外部项目应用该项目的时候 可以传入cb这个参数,如果传入了这个参数在回调跨域main.1473.cn加载成功会就会直接回调
  27. */
  28. window.onload = function () {
  29. U.MD.D.Load();
  30. U.MD.U.L.login();
  31. //U.MD.D.isLogin();
  32. // U.MD.D.fullscreen();
  33. U.MD.D.stopSafari();
  34. U.MD.D.I.openApplication('liyuanLogin')
  35. // window.addEventListener('resize', () => {
  36. // var realHeight = window.innerHeight
  37. // var realWidth = window.innerWidth
  38. // initViewport(realHeight, realWidth);
  39. // // window.location.reload();
  40. // })
  41. }
  42. US.Config = {
  43. server: '//beta.api.cocorobo.cn/api/',
  44. api: '//beta.api.cocorobo.cn/',
  45. chat: "//chat.api.cocorobo.cn/",
  46. edu: '//api.edu.cocorobo.cn/edu/',
  47. origin: '//cocorobo.cn',
  48. pbl: "//pbl.cocorobo.cn/api/pbl/",
  49. // bpbl:"//pbl.cocorobo.cn",//正式链接
  50. // bpbl:"//beta.pbl.cocorobo.cn",//测试链接
  51. bpbl:"//pbl.cocorobo.hk",//hk鏈接
  52. // pbl: "http://localhost:7003/api/pbl/",
  53. basename: '',
  54. type:1,
  55. background:'url("/img/icon/bgImg4.png")'
  56. }
  57. /**
  58. * 供外部调用的window.onload函数云端系统启动项
  59. *
  60. * @param {function} 在外部项目应用该项目的时候 可以传入cb这个参数,如果传入了这个参数在回调跨域main.1473.cn加载成功会就会直接回调
  61. */
  62. U.MD.D.Load = U.MD.D.FLoad = function (cb) {
  63. //这里判断是如果是www.1473.cn 或者 www.boomyun.com项目的时候 或者是 通过ufrom的跨域函数加载成功页面时候可以执行window.onload, 添加判断的目的主要是反正 其他项目引用uformd的时候自动执行window.onload报错。
  64. //当引用云端硬盘,好友模块时需要在自己的js文件中添加window.onload入口函数,否则会触发云端的window.onload,导致系统报错,
  65. //初始化桌面,如果是1473主站点那么初始化桌面系统,否则外部引入1473不加载桌面
  66. //系统初始化、第一个就是加载桌面,然后初始化全局变量、绑定事件、最后加载数据(加载数据需要跨域加载,因为项目分离的原因,我们有disk.1473.cn、user.1473.cn、firend.1473.cn里面有静态数据,还有动态的后台)
  67. if (U.MD.D.IsUseStudio) {
  68. //桌面初始化弹出
  69. U.selectEl("#UD_Dtop")[0].style.display = "block";
  70. //桌面做为一个置底的窗体
  71. new U.UF.UI.form(false, U.selectEl("#UD_Dtop")[0], { onresize: true, style: { "cssText": "width:100%;height:100%;padding:0;border:0;border-radius:0;box-shadow:0;position:static;" }, "className": "" }, { istop: false, isdrag: false, isdrag: false, isstretching: false, isenlarge: false, isnarrow: false, isclose: false }, null, { style: { "padding": "0" } });
  72. }
  73. //这里加判断的原因是怕有开发者开发的过程中直接调用uformd.js没有写跨域加载,没有写window.onload导致再运行的过程中找不到元素报错
  74. if ($("#U_MD_Home")[0]) {
  75. //设置页面大小等的全局变量
  76. U.MD.D.settingGlobalVariables();
  77. //浏览器事件监视及处理
  78. U.MD.D.addEvents();
  79. //var _browserinfo = U.UF.CI.getBrowser(); //获取浏览器
  80. ////ie7以下的浏览器弹出不兼容的处理
  81. //if (_browserinfo["browser"] == "msie" && parseInt(_browserinfo["ver"]) < 7) {
  82. // //弹出不兼容的处理
  83. // U.MD.D.A.browserCompatibleForm();
  84. //}
  85. }
  86. //跨域加载
  87. U.MD.D.crossDomain(cb); //跨域初始化,里面包含了用户登录
  88. }
  89. /**
  90. * 设置当前使用页面大小
  91. */
  92. U.MD.D.settingGlobalVariables = function () {
  93. //获取页面的大小
  94. var _size = U.selectEl("body").getElementInfo();
  95. US.height = _size["CH"]; //获取高度
  96. US.width = _size["CW"]; //获取宽度
  97. //1473的登录识别id
  98. US.systemId = 1;
  99. //页面识别id 页面唯一的识别 作为用户访问1473的唯一识别码,在之前用户获取聊天室的信息的唯一识别码
  100. US.pageId = Guid.newGuid();
  101. }
  102. /**
  103. * 系统监视
  104. */
  105. U.MD.D.addEvents = function () {
  106. //页面活动状态监视,失焦的时候停止五秒刷新,聚焦的时候开始刷新
  107. U.UF.EV.IsActivity(U.MD.D.focus, U.MD.D.blur);
  108. //监视页面的点击 使得窗体点击为顶部
  109. U.UF.F.clickTopWindow();
  110. //页面大小变化监视
  111. U.MD.D.reSize();
  112. window.onresize = U.MD.D.reSize;
  113. //如果是云端1473则屏蔽菜单和错误弹框
  114. if (U.MD.D.IsUseStudio) {
  115. if (window.print) { //判断是否有右键菜单
  116. document.oncontextmenu = U.UF.EV.stopDefault; //阻止桌面右键默认菜单
  117. }
  118. document.onselectstart = U.UF.C.shieldedSelect; //禁止文本选择处理
  119. U.UF.EV.addElementEvent("keydown", document, U.UF.C.shieldedBackspace); //禁止浏览器回退
  120. //window.onerror = U.MD.D.error; //错误提示屏蔽
  121. }
  122. //允许错误提示和右键菜单
  123. else {
  124. window.onerror = null;
  125. }
  126. //页面路由事件处理
  127. U.UF.N.route(U.MD.N.urlGuide);
  128. }
  129. /**
  130. * 页面大小变化时,需要重新排列图标及任务栏大小的变化.
  131. */
  132. U.MD.D.reSize = function () {
  133. //页面变化处理
  134. //获取页面的大小
  135. // US.height = window.innerHeight > window.innerWidth ? window.innerWidth : window.innerHeight;
  136. // US.width = window.innerHeight > window.innerWidth ? window.innerHeight : window.innerWidth;
  137. var _size = U.selectEl("html").getElementInfo();
  138. if (_size["CH"] > 500) {
  139. //处理窗体区域 随着页面大小变化而变化
  140. U.UF.UI.form.windowResize();
  141. // var _size = U.selectEl("body").getElementInfo();
  142. US.height = _size["CH"]; //获取高度
  143. US.width = _size["CW"]; //获取宽度;
  144. document.body.style.width = US.width + 'px';
  145. document.body.style.height = US.height + 'px';
  146. //任务栏处理
  147. if ($("#U_MD_D_RW")) {
  148. U.selectEl("#U_MD_D_RW").css("width", US.width - 165 + "px");
  149. U.MD.D.T.taskbar.multitask($("#U_MD_D_RW")[0]);
  150. //桌面图标处理
  151. if(US.Config.type == '1'){
  152. U.MD.D.iconPostion($("#U_MD_D_K").Child());
  153. }else{
  154. U.MD.D.iconPostion2($("#U_MD_D_K").Child());
  155. }
  156. }
  157. }
  158. }
  159. /**
  160. * 跨域引入1473
  161. * @param {function} 跨域加载成功后的回调函数
  162. */
  163. U.MD.D.crossDomain = function (cb) {
  164. U.MD.D.loadApplication(cb);
  165. ////跨域加载,如果是1473的跨域,那么则添加跨域的iframe处理
  166. //if (document.domain == "1473.cn") {
  167. // U.UF.CD.loadAjaxCrossDomain(function () {
  168. // U.MD.D.loadApplication(cb);
  169. // });
  170. //}
  171. ////如果是非1473的跨域,添加跨域的iframe
  172. //else {
  173. // U.UF.CD.thirdPartyLoadAjaxCrossDomain(function () {
  174. // U.MD.D.loadApplication(cb);
  175. // });
  176. //}
  177. }
  178. /**
  179. * 加载user 、 friend 、disk的js
  180. */
  181. U.MD.D.loadApplication = function (cb) {
  182. //U.UF.CD.loadApplication(function () {
  183. // U.MD.D.asynCrossDomain(cb);
  184. //});
  185. U.MD.D.asynCrossDomain(cb);
  186. }
  187. /**
  188. * 域名加载成功后异步 此处可正式获取数据
  189. * @param {function} 跨域加载成功后的回调函数
  190. */
  191. U.MD.D.asynCrossDomain = function (cb) {
  192. ////初始化url的处理
  193. //U.MD.N.urlGuide();
  194. ////通过cookie登录
  195. //U.MD.U.L.cookieLogin();
  196. ////如果是1473则弹出1473的首页
  197. //if (U.MD.D.IsUseStudio) {
  198. // U.MD.D.I.openApplication("boomYun");
  199. //}
  200. ////其它模块加载处理
  201. //U.MD.D.otherModularLoad();
  202. ////添加用户访问记录
  203. //U.UF.CI.getUserLocation(U.MD.D.visitLog);
  204. //桌面开始点,起始函数
  205. // if ($("#UD_Dtop")[0]) {
  206. // U.MD.D.I.init();
  207. // }
  208. //如果其他站点进入1473,这里是引入成功的回调处理
  209. if (U.UF.C.isFunction(cb)) {
  210. cb(); //回调处理
  211. }
  212. setInterval(function () {
  213. U.MD.D.getuser(); //用户登录
  214. }, 2000)
  215. setInterval(function () {
  216. U.MD.D.addLoginTime(); //用户登录
  217. }, 600000)
  218. }
  219. /**
  220. * 其它模块的加载
  221. */
  222. U.MD.D.otherModularLoad = function () {
  223. //计时器消息初始化 每个3秒刷一次消息
  224. U.MD.C.T.onesetInterval();
  225. //加载如广告 各模块加载
  226. U.MD.D.thirdPartyLoad(); //页面插件加载
  227. //html5本地存储,暂时用来完成本地页面交互消息 作用共享页面信息,还未完善。
  228. //U.MD.D.record();
  229. }
  230. /**
  231. * 第三方广告和登录加载处理
  232. */
  233. U.MD.D.thirdPartyLoad = function () {
  234. //阿里巴巴广告加载
  235. // U.UF.DL.C.AD.alimama([
  236. // { pid: "mm_32325420_3265865_24254681", appkey: "", unid: "" },
  237. // { pid: "mm_32325420_3265865_14752067", appkey: "", unid: "" },
  238. // { pid: "mm_32325420_3265865_24246760", appkey: "", unid: "" },
  239. // { pid: "mm_32325420_3265865_24254681", appkey: "", unid: ""}]);
  240. //qq登录加载按钮
  241. // U.MD.U.OT.qqLoadJs({ btnId: "U_MD_U_L_login_O_T_app_QQ", size: "C_S" });
  242. //微博登录加载按钮
  243. // U.MD.U.OT.weiboLoadJs({ id: "U_MD_U_L_login_O_T_app_I", type: "3,2", show_head: false, show_name: false, show_cancel: false,
  244. // callback: { login: U.MD.U.OT.weiboLoginCallBack }
  245. // });
  246. //百度统计加载
  247. // U.UF.DL.C.AD.onloadBaiduJs("1fce47ee7e8655ddd108fca7116f0752");
  248. // U.UF.DL.C.AD.onloadBaiduJs("f0ececeb4f687bc4d4ffb7719f4cf6a7");
  249. }
  250. /**
  251. * 写入访问用户信息
  252. */
  253. U.MD.D.visitLog = function () {
  254. U.A.Request(US.USER, ["AddToLoginLog", US.userInfo.UserId || US.EMPTYGUID, US.city.userAllLocation || ""], function () { }); //访问日志添加消息
  255. }
  256. //#endregion
  257. //#region 页面事件处理
  258. //关闭页面处理 把页面的活动数-1
  259. window.onunload = function () {
  260. try {
  261. var _userinfo = US.userInfo;
  262. if (U.MD.D.LocalStorage) {
  263. var _count = U.MD.D.LocalStorage.get("ati") || 0;
  264. if (_count > 0) { _count-- };
  265. U.MD.D.LocalStorage.set("ati", _count); //这是活动用户-1
  266. }
  267. if (_userinfo.UserId && U.A) { //在状态中让这个活动用户下线
  268. U.A.Request(US.USER, ["UserOffline", _userinfo.UserId], function () { }, []);
  269. }
  270. } catch (e) { }
  271. }
  272. //错误处理,前端错误需要在控制台输出,同时提交到错误数据库
  273. //window.onerror = function(sMessage,sUrl,sLine,columnNumber,errorObj){};
  274. //onerror函数的五个参数用于确定错误确切的信息,代表的意思依次为:
  275. //* @param {String} errorMessage errorMessage 错误信息
  276. //* @param {String} scriptURI 出错的文件
  277. //* @param {Long} lineNumber 出错代码的行号
  278. //* @param {Long} columnNumber 出错代码的列号
  279. //* @param {Object} errorObj 错误的详细信息,Anything
  280. U.MD.D.error = function (errorMessage, scripturi, linenumber, columnnumber, errorobj) {
  281. errorobj = errorobj || {}; //屏蔽js错误
  282. U.A.Request(US.USER, ["SetError", 0, (event.errorMessage || event || errorMessage), (scripturi || event.filename || event.errorUr) + "。行号:" + (linenumber || event.lineno || event.errorLine)], function () { }, []); //错误消息发送到数据库
  283. U.UF.C.console(event.errorMessage || event || errorobj); //console 输出错误信息
  284. return true; //不让浏览器弹出错误报告,浏览器会弹出一个comfirm的错误。
  285. }
  286. /**
  287. * 用户登录处理
  288. */
  289. let LoginState = false
  290. let CookieS = ''
  291. U.MD.D.getuser = function () {
  292. // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gif/longhuaBg.gif")'
  293. var userInfo = US.userInfo;
  294. var panId = userInfo && userInfo.accountNumber
  295. let loginType = U.UF.Cookie.get("cocoroboLoginType");
  296. if (!LoginState && !panId && !U.UF.C.queryString('code') && !U.UF.C.queryString('tycode')) {
  297. LoginState = true
  298. var _cookie = U.UF.Cookie.get("cocorobo");
  299. try {
  300. if (!panId && _cookie && loginType != 1) {
  301. U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
  302. if (res.value && res.value[0] && res.value[0][0]) {
  303. var _user = res.value[0][0];
  304. U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
  305. if (res.value && res.value[0] && res.value[0][0]) {
  306. US.userInfo = res.value[0][0]; //记录用户数据
  307. US.userInfo.userid = _user.userid;
  308. // if ($("#U_MD_HomeC_Pop")[0]) {
  309. // $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
  310. // }
  311. selectUser(_user.userid, (res) => {
  312. loginSet(res.value[0][0], res);
  313. });
  314. }else {
  315. LoginState = false
  316. }
  317. }, [], { "type": "GET", "withCredentials": true });
  318. }else {
  319. LoginState = false
  320. }
  321. }, [], { "type": "GET", "withCredentials": true });
  322. }else {
  323. LoginState = false
  324. }
  325. } catch (error) {
  326. LoginState = false
  327. }
  328. }else if(!LoginState && !panId && U.UF.C.queryString('code').length === 32){
  329. if($("#U_MD_HomeC_Pop")[0]){
  330. $("#U_MD_HomeC_Pop")[0].close()
  331. }
  332. LoginState = true
  333. // console.log('新华跳转',U.UF.C.queryString('code'))
  334. let url = "https://cloud.cocorobo.cn/api/getTeacherInfoByCode"
  335. var myHeaders = new Headers();
  336. // myHeaders.append("User-Agent", "Apifox/1.0.0 (https://apifox.com)");
  337. myHeaders.append("Content-Type", "application/json");
  338. // myHeaders.append("Access-Control-Allow-Origin","*")
  339. var raw = JSON.stringify({
  340. "code": U.UF.C.queryString('code')
  341. });
  342. var requestOptions = {
  343. method: 'POST',
  344. headers: myHeaders,
  345. body: raw,
  346. redirect: 'follow',
  347. credentials: 'include'
  348. };
  349. fetch(url, requestOptions)
  350. .then(response => response.text())
  351. .then(result => {
  352. // console.log(result)
  353. let data = JSON.parse(result).data
  354. if(JSON.parse(result).code == 200){
  355. let diqu = `${data.province}-${data.city}-${data.county}-${data.street}-${data.schoolName}`
  356. let diquId = data.schoolId
  357. U.A.Request(US.Config.pbl + "batchRegistrationSzdjg3", [data.realName, data.userUniqueId+"@xhly.com", 'a5efd078-20f6-4185-bef9-6d1c688bee70', data.schoolName || "", "", "", 1, data.userUniqueId,diqu,diquId], function (res) {
  358. // console.log(res);
  359. let loginData = JSON.stringify({
  360. openid: data.userUniqueId,
  361. edu: true
  362. })
  363. var requestOptionsLogin = {
  364. method: 'POST',
  365. headers: myHeaders,
  366. body: loginData,
  367. redirect: 'follow',
  368. credentials: 'include'
  369. };
  370. fetch("https://beta.api.cocorobo.cn/api/user", requestOptionsLogin)
  371. .then(response => response.text())
  372. .then(result => {
  373. let a = JSON.parse(result)
  374. if(a.length>0){
  375. let userId = a[0][0].userid
  376. US.userInfo.userid = userId
  377. selectUser(userId, (res) => {
  378. loginSet(res.value[0][0], res);
  379. });
  380. }
  381. })
  382. .catch(error => {
  383. LoginState = false
  384. console.log('error', error)
  385. });
  386. }, [], { "type": "POST", "withCredentials": true })
  387. }else{
  388. U.Alert("用户登录已失效,请重新获取登录信息!");
  389. }
  390. })
  391. .catch(error => {
  392. LoginState = false
  393. console.log('error', error)
  394. });
  395. }else if(!LoginState && !panId && U.UF.C.queryString('code').length < 32 && U.UF.C.queryString('code').length > 9){
  396. if($("#U_MD_HomeC_Pop")[0]){
  397. $("#U_MD_HomeC_Pop")[0].close()
  398. }
  399. LoginState = true
  400. let url = "https:" + US.Config.pbl + "luohugetTeacherInfo?code=" + encodeURIComponent(U.UF.C.queryString('code'));
  401. var myHeaders = new Headers();
  402. myHeaders.append("Content-Type", "application/json");
  403. var requestOptions = {
  404. method: 'GET',
  405. redirect: 'follow'
  406. };
  407. fetch(url, requestOptions)
  408. .then(response => response.text())
  409. .then(result => {
  410. // console.log(result)
  411. let data = JSON.parse(result).data
  412. // return
  413. if(JSON.parse(result).code == 0){
  414. let diqu = ``
  415. let diquId = data.loginid
  416. U.A.Request(US.Config.pbl + "batchRegistrationSzdjg3", [data.empname, data.loginid+"@luohu.com", 'c05b87d3-3d8e-4415-9dba-f3deccac4822', data.schoolname || "", data.mobile, "", data.identity === 1 ? 1 : 2, data.loginid,diqu,diquId], function (res) {
  417. // console.log(res);
  418. let loginData = JSON.stringify({
  419. openid: data.loginid,
  420. edu: true
  421. })
  422. var requestOptionsLogin = {
  423. method: 'POST',
  424. headers: myHeaders,
  425. body: loginData,
  426. redirect: 'follow',
  427. credentials: 'include'
  428. };
  429. fetch("https://beta.api.cocorobo.cn/api/user", requestOptionsLogin)
  430. .then(response => response.text())
  431. .then(result => {
  432. let a = JSON.parse(result)
  433. if(a.length>0){
  434. let userId = a[0][0].userid
  435. US.userInfo.userid = userId
  436. selectUser(userId, (res) => {
  437. loginSet(res.value[0][0], res);
  438. });
  439. }
  440. })
  441. .catch(error => {
  442. LoginState = false
  443. console.log('error', error)
  444. });
  445. }, [], { "type": "POST", "withCredentials": true })
  446. }else{
  447. U.Alert("用户登录已失效,请重新获取登录信息!");
  448. }
  449. })
  450. .catch(error => {
  451. LoginState = false
  452. console.log('error', error)
  453. });
  454. }else if(!LoginState && !panId && U.UF.C.queryString('tycode')){
  455. U.UF.DL.loading(document.body)
  456. if($("#U_MD_HomeC_Pop")[0]){
  457. $("#U_MD_HomeC_Pop")[0].close()
  458. }
  459. LoginState = true
  460. let url = "https://cloud.cocorobo.cn/api/getUserInfoByCode";
  461. var myHeaders = new Headers();
  462. myHeaders.append("Content-Type", "application/json");
  463. var requestOptions = {
  464. method: 'POST',
  465. headers: myHeaders,
  466. body: JSON.stringify({
  467. code: U.UF.C.queryString('tycode'),
  468. signature: U.UF.C.queryString('signature')
  469. }),
  470. redirect: 'follow'
  471. };
  472. fetch(url, requestOptions)
  473. .then(response => response.text())
  474. .then(result => {
  475. // console.log(result)
  476. let data = JSON.parse(result).data
  477. // return
  478. if(JSON.parse(result).code == 200){
  479. U.A.Request(US.Config.pbl + "batchRegistrationSzdjg3", [data.nickName, data.userId+"@tianyuan.com", 'b47d2ea8-7044-4810-9cb7-3aaf8b74cfbc', data.orgName ? data.orgName : "e5cdf6b8-abdc-11ef-b887-005056b86db5", '', "", 1, data.userId,'',data.userId], function (res) {
  480. // console.log(res);
  481. let loginData = JSON.stringify({
  482. openid: data.userId,
  483. edu: true
  484. })
  485. var requestOptionsLogin = {
  486. method: 'POST',
  487. headers: myHeaders,
  488. body: loginData,
  489. redirect: 'follow',
  490. credentials: 'include'
  491. };
  492. fetch("https://beta.api.cocorobo.cn/api/user", requestOptionsLogin)
  493. .then(response => response.text())
  494. .then(result => {
  495. let a = JSON.parse(result)
  496. if(a.length>0){
  497. let userId = a[0][0].userid
  498. US.userInfo.userid = userId
  499. selectUser(userId, (res) => {
  500. loginSet(res.value[0][0], res)
  501. U.UF.DL.uploading(document.body)
  502. });
  503. }
  504. })
  505. .catch(error => {
  506. LoginState = false
  507. console.log('error', error)
  508. });
  509. }, [], { "type": "POST", "withCredentials": true })
  510. }else{
  511. U.Alert("用户登录已失效,请重新获取登录信息!");
  512. U.UF.DL.uploading(document.body)
  513. }
  514. })
  515. .catch(error => {
  516. LoginState = false
  517. console.log('error', error)
  518. });
  519. } else if(panId){
  520. try {
  521. if(US.Config.type == '2'){
  522. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/easyBg.png")'
  523. if (userInfo.org == 'eb2af5e9-ac3d-46b6-9fe3-3c1c364f0217') {
  524. U.MD.D.getNotice();
  525. }else if (userInfo.org == '150e3120-9195-11ed-b13d-005056b86db5') {
  526. U.MD.D.getNotice();
  527. } else if (userInfo.org == 'ee40e8e3-e36c-4872-8105-cf395481012s') {
  528. U.MD.D.getNotice();
  529. }
  530. }else{
  531. if (userInfo.organizeid == '91305d49-01ba-11ed-8c78-005056b86db4') {
  532. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/mingdeBg.png")'
  533. } else if (userInfo.organizeid == 'c7df0bd4-6e75-401a-a137-4e163aa62263') {
  534. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/zhongshanBg.png")'
  535. } else if (userInfo.organizeid == '580aac24-a939-49f7-a75a-40a7b5af3a17') {
  536. // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/longweiBg.png")'
  537. } else if (userInfo.organizeid == 'b1095a3c-1d06-4ac8-854f-7c0d97f4ab41') {
  538. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/yunhaiBg.jpg")'
  539. } else if (userInfo.organizeid == '857af1c7-c8ee-4b04-85b5-fd182903adb7') {
  540. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/beijingBg.png")'
  541. } else if (userInfo.organizeid == '69893dca-1d47-11ed-8c78-005056b86db5') {
  542. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/weilaiBg.png")'
  543. } else if (userInfo.organizeid == 'efdef564-4064-11ed-8c78-005056b86db5') {
  544. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/pz.jpg")'
  545. } else if (userInfo.organizeid == 'd9db3320-503a-11ed-8c78-005056b86db5') {
  546. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/hzBg.png")'
  547. } else if (userInfo.organizeid == 'ccb9754d-59c1-11ed-8c78-005056b86db5') {
  548. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/nanfangBg.png")'
  549. } else if (userInfo.organizeid == 'f30a6615-5379-11ed-8c78-005056b86db5') {
  550. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/longhuaBg.png")'
  551. } else if (userInfo.organizeid == '4787cc87-6588-11ed-8c78-005056b86db5') {
  552. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/nanfangBg.png")'
  553. } else if (userInfo.organizeid == '9f888eae-7558-11ed-8c78-005056b86db5') {
  554. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/song.png")'
  555. } else if (userInfo.organizeid == '2b9ceb66-a1dd-11ed-b13d-005056b86db5') {
  556. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gmxxBg.png")'
  557. } else if (userInfo.organizeid == '1c3b9def-8fbe-11ed-b13d-005056b86db5') {
  558. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/wankeBg.png")'
  559. } else if (userInfo.organizeid == '82fcb5c7-c13b-11ed-8d51-005056b86db5') {
  560. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/qiaoxiangBg.png")'
  561. } else if (userInfo.organizeid == '4c686762-1d0a-11ed-8c78-005056b86db5') {
  562. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/sies.png")'
  563. } else if (userInfo.organizeid == 'ea2a8c65-f38c-11ed-91d8-005056b86db5') {
  564. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/longhuaZXBg.png")'
  565. } else if (userInfo.organizeid == 'f297fbdc-f0a0-11ee-b534-005056b86db5') {
  566. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/010606.png")'
  567. }
  568. if (userInfo.org == 'eb2af5e9-ac3d-46b6-9fe3-3c1c364f018d') {
  569. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/yantianOrgBg.png")'
  570. } else if (userInfo.org == '7ada499f-4ec7-11ed-8c78-005056b86db5') {
  571. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/csteamBg.png")'
  572. } else if (userInfo.org == 'eb2af5e9-ac3d-46b6-9fe3-3c1c364f0217') {
  573. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gm/bg.png")'
  574. U.MD.D.getNotice();
  575. } else if (userInfo.org == '97c4ee8b-d010-4042-986d-e9d3c217264f') {
  576. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/zhoujia.jpg")'
  577. } else if (userInfo.org == '150e3120-9195-11ed-b13d-005056b86db5') {
  578. if (!$("#tc_desktop_css")[0]) {
  579. const link = document.createElement("link");
  580. link.rel = "stylesheet";
  581. link.href =
  582. "./css/tencent/Desktop.css";
  583. link.id = "tc_desktop_css"
  584. document.body.appendChild(link);
  585. $(".avatar")[0].onclick= function(){
  586. U.MD.D.I.openApplication('tcData')
  587. }
  588. }
  589. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/tencentBg.jpg")'
  590. U.MD.D.getNotice();
  591. } else if (userInfo.org == 'ee40e8e3-e36c-4872-8105-cf395481012s') {
  592. $(".avatar")[0].onclick= function(){
  593. U.MD.D.I.openApplication('tcData')
  594. }
  595. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/szscBg.png")'
  596. U.MD.D.getNotice();
  597. } else if (userInfo.org == 'ec0af97a-7c10-4259-a7eb-db9cc8174cdc') {
  598. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/futianBg.png")'
  599. } else if (userInfo.org == 'e632b86c-f89d-11ed-91d8-005056b86db5') {
  600. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gdjgBg.png")'
  601. } else if (userInfo.org == '54f09f1e-09f0-11ee-91d8-005056b86db5') {
  602. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/szlhyjBg.jpeg")'
  603. } else if (userInfo.org == '7b016f69-0f4f-11ee-91d8-005056b86db5') {
  604. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/dseiBg.png")'
  605. } else if (userInfo.org == '1973f6c7-1561-11ee-91d8-005056b86db5') {
  606. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/szjkyBg2.png")'
  607. } else if (userInfo.org == '2fa75e51-189a-11ee-91d8-005056b86db5') {
  608. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/chjyjBg.png")'
  609. } else if (userInfo.org == '2a9f32ea-88df-49eb-aba1-0a286f691474') {
  610. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/qhBg.jpg")'
  611. } else if (userInfo.org == '884c5665-a453-46f3-b7b6-01d575290aa9') {
  612. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/scnuaiBg.png")'
  613. } else if (userInfo.org == '2fe1a080-4425-4620-b7a0-be2f3750ffd4') {
  614. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/x010607bgImg.png")'
  615. } else if (userInfo.org == 'ec84034b-8ea4-4d27-9cba-1adcb4720bb3') {
  616. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/SPROUTLabBg.png")'
  617. }
  618. }
  619. } catch (error) {
  620. if ($("#U_MD_HomeC_Pop")[0]) {
  621. $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
  622. }
  623. selectUser(userInfo.userid, (res) => {
  624. loginSet(res.value[0][0], res);
  625. });
  626. }
  627. }
  628. var _cookie = U.UF.Cookie.get("cocorobo");
  629. if(LoginState && !_cookie){
  630. window.onbeforeunload = null
  631. window.location.reload();
  632. }else if(LoginState && !CookieS){
  633. CookieS = _cookie
  634. U.UF.Cookie.set("cocoroboLoginType=2");
  635. }else if(LoginState && _cookie != CookieS){
  636. US.userInfo = {}
  637. U.A.Request(US.Config.server + "getcookieuserid", [], function (res) {
  638. if (res.value && res.value[0] && res.value[0][0]) {
  639. var _user = res.value[0][0];
  640. U.A.Request(US.Config.edu + "admin/userinfo/userinfoById/" + _user.userid, [], function (res) {
  641. if (res.value && res.value[0] && res.value[0][0]) {
  642. US.userInfo = res.value[0][0]; //记录用户数据
  643. US.userInfo.userid = _user.userid;
  644. selectUser(_user.userid, (res) => {
  645. loginSet(res.value[0][0], res);
  646. });
  647. U.UF.Cookie.set("cocoroboLoginType=2");
  648. }else {
  649. LoginState = false
  650. }
  651. }, [], { "type": "GET", "withCredentials": true });
  652. }else {
  653. window.onbeforeunload = null
  654. window.location.reload();
  655. }
  656. }, [], { "type": "GET", "withCredentials": true });
  657. }
  658. }
  659. U.MD.D.addLoginTime = function(){
  660. var userInfo = US.userInfo;
  661. if(Object.keys(userInfo).length !== 0){
  662. U.A.Request(US.Config.pbl + "addOperationTimeT", [userInfo.userid,'','3','600'], function (res) {
  663. }, [], { "type": "POST", "withCredentials": true });
  664. }
  665. }
  666. U.MD.D.getuser2 = function (userid, cid) {
  667. var myHeaders = new Headers();
  668. myHeaders.append("Content-Type", "application/json");
  669. let loginData = JSON.stringify({
  670. openid: userid,
  671. edu: true
  672. })
  673. var requestOptionsLogin = {
  674. method: 'POST',
  675. headers: myHeaders,
  676. body: loginData,
  677. redirect: 'follow',
  678. credentials: 'include' // 设置withCredentials为true
  679. };
  680. fetch("https://beta.api.cocorobo.cn/api/user", requestOptionsLogin)
  681. .then(response => response.text())
  682. .then(result => {
  683. let a = JSON.parse(result)
  684. if(a.length>0){
  685. if($(".U_PBL_Check2")[0]){
  686. $(".U_PBL_Check2")[0].style.display = "none";
  687. }
  688. let userId = a[0][0].userid
  689. US.userInfo.userid = userId
  690. selectUser(userId, (res) => {
  691. if ($("#U_MD_HomeC_Pop")[0]) {
  692. $("#U_MD_HomeC_Pop")[0].close(); //关闭登陆
  693. }
  694. loginPan(res.value[0][0], userid)
  695. US.userInfo = res.value[0][0];
  696. $(".avatar")[0].style.display = "block";
  697. if (res.value[0][0].type === 1 && $(".U_PBL_Check")[0] && res.value[0][0].org != '150e3120-9195-11ed-b13d-005056b86db5' && res.value[0][0].org != 'b47d2ea8-7044-4810-9cb7-3aaf8b74cfbc') {
  698. $(".U_PBL_Check")[0].style.display = "block";
  699. }
  700. $(".login")[0].style.display = "none";
  701. $(".register")[0].style.display = "none";
  702. $(".userName")[0].style.display = "block";
  703. $(".userName")[0].innerHTML = US.userInfo.username || US.userInfo.alias;
  704. $(".exit")[0].style.display = "block";
  705. let _vipbox = $('.U_MD_D_BD_vip_box')[0]
  706. _vipbox && (_vipbox.style.right = $(".U_MD_D_BD")[0].offsetWidth + 20 + 'px')
  707. if(res.value[0][0].type === 1 && res.value[0][0].org == 'c95e0a56-c205-11ed-8d51-005056b86db5'){
  708. U.MD.D.I.ModeCheck(2)
  709. }else{
  710. U.MD.D.I.initDesktopIcons($("#U_MD_D_K")[0], 1);
  711. }
  712. if(res.value[0][0].type === 1 && window.location.hash.indexOf('project') != -1){
  713. U.MD.D.I.openApplication("project")
  714. }
  715. if(res.value[0][0].type === 1 && window.location.hash.indexOf('study') != -1){
  716. U.MD.D.I.openApplication("study")
  717. }
  718. if(res.value[0][0].type === 2 && window.location.hash.indexOf('study') != -1){
  719. U.MD.D.I.openApplication("studentStudy")
  720. }
  721. U.MD.O.P.connect(); //登录成功后连接socket服务同步协同编辑
  722. U.UF.Cookie.set("cocoroboLoginType=2");
  723. LoginState = true
  724. if(cid){
  725. U.MD.D.I.openInApplication("studyDetail", cid, 2, 2)
  726. U.MD.D.addOp3("1", "", { type: "user_login_inviteCode" }, "success")
  727. }
  728. });
  729. }
  730. })
  731. .catch(error => {
  732. LoginState = false
  733. console.log('error', error)
  734. });
  735. }
  736. //#endregion
  737. //#region 获取ifram下的html
  738. //U.MD.D.getIfraemHtml = function (src) {
  739. // var _iframe = $$("iframe", { src: src, style: { display: "none"} });
  740. // //跨域回调设置
  741. // U.UF.DL.iframeLoad(_iframe, function () {
  742. // var _html = _iframe.contentWindow.document.body.innerHTML;
  743. // console.log(_html);
  744. // U.selectEl(_iframe).remove();
  745. // });
  746. // U.selectEl(_iframe).appendTo($('body')[0]);
  747. //};
  748. //#endregion
  749. U.MD.D.fullscreen = function () {
  750. //if (document.body.offsetWidth < 1025) {
  751. U.UF.C.fullScreen()
  752. //}
  753. document.body.addEventListener('dblclick', () => {
  754. U.UF.C.fullScreen()
  755. // const isFullScreen = document.fullscreenElement
  756. // if (isFullScreen) {
  757. // U.UF.C.cancelfullScreen()
  758. // } else {
  759. // U.UF.C.fullScreen()
  760. // }
  761. })
  762. }
  763. U.MD.D.stopSafari = function () {
  764. //阻止safari浏览器双击放大功能
  765. let lastTouchEnd = 0 //更新手指弹起的时间
  766. document.documentElement.addEventListener("touchstart", function (event) {
  767. //多根手指同时按下屏幕,禁止默认行为
  768. if (event.touches.length > 1) {
  769. event.preventDefault();
  770. }
  771. });
  772. document.documentElement.addEventListener("touchend", function (event) {
  773. let now = (new Date()).getTime();
  774. if (now - lastTouchEnd <= 300) {
  775. //当两次手指弹起的时间小于300毫秒,认为双击屏幕行为
  776. event.preventDefault();
  777. } else { // 否则重新手指弹起的时间
  778. lastTouchEnd = now;
  779. }
  780. }, false);
  781. //阻止双指放大页面
  782. document.documentElement.addEventListener("gesturestart", function (event) {
  783. event.preventDefault();
  784. });
  785. }
  786. U.MD.D.noticeBlock = '1'
  787. U.MD.D.OpenNotice = function () {
  788. let box = $('.U_MD_D_BD_notice')[0]
  789. box.style.display = 'block'
  790. }
  791. U.MD.D.cancelNotice = function () {
  792. U.UF.EV.stopBubble();
  793. let box = $('.U_MD_D_BD_notice')[0]
  794. box.style.display = 'none'
  795. U.MD.D.noticeBlock = '2'
  796. }
  797. U.MD.D.getNotice = function () {
  798. // a77e9404-efec-11e9-96f9-028edca3b798&oid=45facc0a-1211-11ec-80ad-005056b86db5&org=undefined&role=1
  799. var uid = US.userInfo.userid,
  800. oid = US.userInfo.organizeid,
  801. org = US.userInfo.org;
  802. U.A.Request(US.Config.pbl + "selectNotice?uid=" + uid + "&oid=" + oid + "&org=" + org + "&page=1", [], function (res) {
  803. if (res.value && res.value[0].length > 0) {
  804. let box = $('.U_MD_D_BD_noticeBox_box')[0]
  805. let _res = res.value[0]
  806. if (U.MD.D.noticeBlock == '1') {
  807. $('.U_MD_D_BD_notice')[0].style.display = 'block'
  808. }
  809. $('.U_MD_D_BD_notice_img')[0].style.display = 'block'
  810. box.innerHTML = ''
  811. var num = _res.length > 3 ? 3 : _res.length
  812. for (var i = 0; i < num; i++) {
  813. var _box = $$('div', { className: 'U_MD_D_BD_noticeBox' }, box)
  814. var _title = $$('div', { className: 'U_MD_D_BD_noticeBox_title' }, _box)
  815. // $$('span', { innerHTML: '消息通知' }, _title)
  816. $$('span', { innerHTML: _res[i].title }, _title)
  817. var _content = $$('div', { className: 'U_MD_D_BD_noticeBox_content' }, _box)
  818. $$('span', { innerHTML: _res[i].content.replace(/<[^>]*>/g, "") }, _content)
  819. var _time = $$('div', { className: 'U_MD_D_BD_noticeBox_time' }, _box)
  820. $$('span', { innerHTML: _res[i].creatTime }, _time)
  821. }
  822. } else {
  823. $('.U_MD_D_BD_notice')[0].style.display = 'none'
  824. $('.U_MD_D_BD_notice_img')[0].style.display = 'none'
  825. }
  826. // setTimeout(() => {
  827. // U.MD.D.getNotice();
  828. // }, 5000);
  829. }, [], { "type": "GET", "withCredentials": true });
  830. }
  831. // // 创建 video 元素并设置属性
  832. // const video = document.createElement("video");
  833. // video.src = "../../img/icon/video/mxStart.mp4";
  834. // video.autoplay = true;
  835. // video.muted = true;
  836. // video.style="width: 100%;"
  837. // // 添加 video 元素到页面
  838. // document.body.appendChild(video);
  839. // // 在视频播放完成后删除 video 元素
  840. // video.addEventListener("ended", () => {
  841. // document.body.removeChild(video);
  842. // });
  843. function formatDate(_date) {
  844. let time = _date.replace(/-/g, '/')
  845. let date = new Date(time);
  846. const year = date.getFullYear();
  847. const month = (date.getMonth() + 1).toString().padStart(2, "0");
  848. const day = date.getDate().toString().padStart(2, "0");
  849. const hours = date.getHours().toString().padStart(2, "0");
  850. const minutes = date.getMinutes().toString().padStart(2, "0");
  851. const seconds = date.getSeconds().toString().padStart(2, "0");
  852. return `${year}年${month}月${day}日`;
  853. }
  854. function formatDate2(_date) {
  855. let date = _date;
  856. const year = date.getFullYear();
  857. const month = (date.getMonth() + 1).toString().padStart(2, "0");
  858. const day = date.getDate().toString().padStart(2, "0");
  859. const hours = date.getHours().toString().padStart(2, "0");
  860. const minutes = date.getMinutes().toString().padStart(2, "0");
  861. const seconds = date.getSeconds().toString().padStart(2, "0");
  862. return `${year}年${month}月${day}日`;
  863. }
  864. function loginPan(userInfo, userId) {
  865. const currentDate = new Date();
  866. // 判断 isLogin1 和 isLogin2 是否为 2 或者是否过期(且过期时间是有效的日期格式)
  867. if (
  868. userInfo.isLogin1 == 2 ||
  869. (userInfo.isLogin1 &&
  870. userInfo.isLogin1 != 1 &&
  871. userInfo.isLogin1 != 2 &&
  872. new Date(userInfo.isLogin1) < currentDate) ||
  873. userInfo.isLogin2 == 2 ||
  874. (userInfo.isLogin2 != 1 &&
  875. userInfo.isLogin2 != 2 &&
  876. new Date(userInfo.isLogin2) < currentDate) ||
  877. userInfo.state != 1
  878. ) {
  879. U.MD.U.LO.logoutSystem2();
  880. return;
  881. }
  882. let vipbox = $(".U_MD_D_BD_vip_box")[0];
  883. vipbox && (vipbox.style.display = "block");
  884. let vip_time = $(".vip_time")[0];
  885. let vtime = "";
  886. let vMember = "基础用户";
  887. // 获取 isLogin1 和 isLogin2 的值
  888. let isLogin1 = userInfo.isLogin1;
  889. let isLogin2 = userInfo.isLogin2;
  890. if (isLogin2 != 1 && isLogin2 != null) {
  891. vtime = formatDate(isLogin2);
  892. vMember = "高级用户";
  893. } else if (isLogin1 != 1 && isLogin1 != null) {
  894. vtime = formatDate(isLogin1);
  895. vMember = "高级用户";
  896. } else if (
  897. (isLogin1 == 1 && isLogin2 == 1) ||
  898. (isLogin1 == null && isLogin2 == 1)
  899. ) {
  900. vtime = formatDate2(new Date(currentDate.setFullYear(currentDate.getFullYear() + 1)));
  901. vMember = "基础用户";
  902. }
  903. vip_time && (vip_time.innerHTML = vtime);
  904. let orgName = userInfo.orgName;
  905. let schoolName = userInfo.schoolName;
  906. let vip_school = $(".vip_school")[0];
  907. vip_school && (vip_school.innerHTML = orgName ? orgName : schoolName);
  908. let vip_member = $(".vip_member")[0];
  909. vip_member && (vip_member.innerHTML = vMember);
  910. addOp('','cocoflowLogin','')
  911. addOp('','cocoflowOpen','')
  912. // U.A.Request(
  913. // US.Config.pbl + "addLoginOperation",
  914. // [userId],
  915. // function (res) {},
  916. // [],
  917. // { type: "POST", withCredentials: true }
  918. // );
  919. if (userInfo.organizeid == "91305d49-01ba-11ed-8c78-005056b86db4") {
  920. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/mingdeBg.png")';
  921. US.Config.background = 'url("/img/icon/mingdeBg.png")';
  922. } else if (
  923. userInfo.organizeid == "c7df0bd4-6e75-401a-a137-4e163aa62263"
  924. ) {
  925. $("#U_MD_D_BG")[0].style.backgroundImage =
  926. 'url("/img/icon/zhongshanBg.png")';
  927. US.Config.background = 'url("/img/icon/zhongshanBg.png")';
  928. } else if (
  929. userInfo.organizeid == "580aac24-a939-49f7-a75a-40a7b5af3a17"
  930. ) {
  931. // $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/longweiBg.png")'
  932. } else if (
  933. userInfo.organizeid == "b1095a3c-1d06-4ac8-854f-7c0d97f4ab41"
  934. ) {
  935. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/yunhaiBg.jpg")';
  936. US.Config.background = 'url("/img/icon/yunhaiBg.png")';
  937. } else if (
  938. userInfo.organizeid == "857af1c7-c8ee-4b04-85b5-fd182903adb7"
  939. ) {
  940. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/beijingBg.png")';
  941. US.Config.background = 'url("/img/icon/beijingBg.png")';
  942. } else if (
  943. userInfo.organizeid == "69893dca-1d47-11ed-8c78-005056b86db5"
  944. ) {
  945. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/weilaiBg.png")';
  946. US.Config.background = 'url("/img/icon/weilaiBg.png")';
  947. } else if (
  948. userInfo.organizeid == "efdef564-4064-11ed-8c78-005056b86db5"
  949. ) {
  950. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/pz.jpg")';
  951. US.Config.background = 'url("/img/icon/pz.png")';
  952. } else if (
  953. userInfo.organizeid == "d9db3320-503a-11ed-8c78-005056b86db5"
  954. ) {
  955. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/hzBg.png")';
  956. US.Config.background = 'url("/img/icon/hzBg.png")';
  957. } else if (
  958. userInfo.organizeid == "ccb9754d-59c1-11ed-8c78-005056b86db5"
  959. ) {
  960. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/nanfangBg.png")';
  961. US.Config.background = 'url("/img/icon/nanfangBg.png")';
  962. } else if (
  963. userInfo.organizeid == "f30a6615-5379-11ed-8c78-005056b86db5"
  964. ) {
  965. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/longhuaBg.png")';
  966. US.Config.background = 'url("/img/icon/longhuaBg.png")';
  967. } else if (
  968. userInfo.organizeid == "4787cc87-6588-11ed-8c78-005056b86db5"
  969. ) {
  970. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/nanfangBg.png")';
  971. US.Config.background = 'url("/img/icon/nanfangBg.png")';
  972. } else if (
  973. userInfo.organizeid == "9f888eae-7558-11ed-8c78-005056b86db5"
  974. ) {
  975. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/song.png")';
  976. US.Config.background = 'url("/img/icon/song.png")';
  977. } else if (
  978. userInfo.organizeid == "2b9ceb66-a1dd-11ed-b13d-005056b86db5"
  979. ) {
  980. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gmxxBg.png")';
  981. US.Config.background = 'url("/img/icon/gmxxBg.png")';
  982. } else if (
  983. userInfo.organizeid == "1c3b9def-8fbe-11ed-b13d-005056b86db5"
  984. ) {
  985. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/wankeBg.png")';
  986. US.Config.background = 'url("/img/icon/wankeBg.png")';
  987. } else if (
  988. userInfo.organizeid == "82fcb5c7-c13b-11ed-8d51-005056b86db5"
  989. ) {
  990. $("#U_MD_D_BG")[0].style.backgroundImage =
  991. 'url("/img/icon/qiaoxiangBg.png")';
  992. US.Config.background = 'url("/img/icon/qiaoxiangBg.png")';
  993. } else if (
  994. userInfo.organizeid == "4c686762-1d0a-11ed-8c78-005056b86db5"
  995. ) {
  996. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/sies.png")';
  997. US.Config.background = 'url("/img/icon/sies.png")';
  998. } else if (
  999. userInfo.organizeid == "ea2a8c65-f38c-11ed-91d8-005056b86db5"
  1000. ) {
  1001. $("#U_MD_D_BG")[0].style.backgroundImage =
  1002. 'url("/img/icon/longhuaZXBg.png")';
  1003. US.Config.background = 'url("/img/icon/longhuaZXBg.png")';
  1004. } else if (
  1005. userInfo.organizeid == "f297fbdc-f0a0-11ee-b534-005056b86db5"
  1006. ) {
  1007. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/010606.png")';
  1008. US.Config.background = 'url("/img/icon/010606.png")';
  1009. }
  1010. if (userInfo.org == "eb2af5e9-ac3d-46b6-9fe3-3c1c364f018d") {
  1011. $("#U_MD_D_BG")[0].style.backgroundImage =
  1012. 'url("/img/icon/yantianOrgBg.png")';
  1013. US.Config.background = 'url("/img/icon/yantianOrgBg.png")';
  1014. } else if (userInfo.org == "7ada499f-4ec7-11ed-8c78-005056b86db5") {
  1015. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/csteamBg.png")';
  1016. US.Config.background = 'url("/img/icon/csteamBg.png")';
  1017. } else if (userInfo.org == "eb2af5e9-ac3d-46b6-9fe3-3c1c364f0217") {
  1018. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gm/bg.png")';
  1019. US.Config.background = 'url("/img/icon/bg.png")';
  1020. U.MD.D.getNotice();
  1021. } else if (userInfo.org == "97c4ee8b-d010-4042-986d-e9d3c217264f") {
  1022. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/zhoujia.jpg")';
  1023. US.Config.background = 'url("/img/icon/zhoujia.png")';
  1024. } else if (userInfo.org == "150e3120-9195-11ed-b13d-005056b86db5") {
  1025. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/tencentBg.jpg")';
  1026. US.Config.background = 'url("/img/icon/tencentBg.png")';
  1027. U.MD.D.getNotice();
  1028. } else if (userInfo.org == "ee40e8e3-e36c-4872-8105-cf395481012s") {
  1029. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/szscBg.png")';
  1030. US.Config.background = 'url("/img/icon/szscBg.png")';
  1031. U.MD.D.getNotice();
  1032. } else if (userInfo.org == "ec0af97a-7c10-4259-a7eb-db9cc8174cdc") {
  1033. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/futianBg.png")';
  1034. US.Config.background = 'url("/img/icon/futianBg.png")';
  1035. } else if (userInfo.org == "e632b86c-f89d-11ed-91d8-005056b86db5") {
  1036. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/gdjgBg.png")';
  1037. US.Config.background = 'url("/img/icon/gdjgBg.png")';
  1038. } else if (userInfo.org == "54f09f1e-09f0-11ee-91d8-005056b86db5") {
  1039. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/szlhyjBg.jpeg")';
  1040. US.Config.background = 'url("/img/icon/szlhyjBg.jpeg")';
  1041. } else if (userInfo.org == "7b016f69-0f4f-11ee-91d8-005056b86db5") {
  1042. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/dseiBg.png")';
  1043. US.Config.background = 'url("/img/icon/dseiBg.png")';
  1044. } else if (userInfo.org == "1973f6c7-1561-11ee-91d8-005056b86db5") {
  1045. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/szjkyBg2.png")';
  1046. US.Config.background = 'url("/img/icon/szjkyBg2.png")';
  1047. } else if (userInfo.org == "2fa75e51-189a-11ee-91d8-005056b86db5") {
  1048. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/chjyjBg.png")';
  1049. US.Config.background = 'url("/img/icon/chjyjBg.png")';
  1050. } else if (userInfo.org == "2a9f32ea-88df-49eb-aba1-0a286f691474") {
  1051. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/qhBg.jpg")';
  1052. US.Config.background = 'url("/img/icon/qhBg.jpg")';
  1053. } else if (userInfo.org == "884c5665-a453-46f3-b7b6-01d575290aa9") {
  1054. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/scnuaiBg.png")';
  1055. US.Config.background = 'url("/img/icon/scnuaiBg.png")';
  1056. } else if (userInfo.org == "2fe1a080-4425-4620-b7a0-be2f3750ffd4") {
  1057. $("#U_MD_D_BG")[0].style.backgroundImage =
  1058. 'url("/img/icon/x010607bgImg.png")';
  1059. US.Config.background = 'url("/img/icon/x010607bgImg.png")';
  1060. } else if (userInfo.org == "ec84034b-8ea4-4d27-9cba-1adcb4720bb3") {
  1061. $("#U_MD_D_BG")[0].style.backgroundImage =
  1062. 'url("/img/icon/SPROUTLabBg.png")';
  1063. US.Config.background = 'url("/img/icon/SPROUTLabBg.png")';
  1064. } else if (
  1065. userInfo.org == "b47d2ea8-7044-4810-9cb7-3aaf8b74cfbc"
  1066. ) {
  1067. $("#U_MD_D_BG")[0].style.backgroundImage = 'url("/img/icon/Tianyuan.png")';
  1068. US.Config.background = 'url("/img/icon/Tianyuan.png")';
  1069. }
  1070. US.userInfo = userInfo;
  1071. $(".avatar")[0].style.display = "block";
  1072. if (
  1073. userInfo.type === 1 &&
  1074. $(".U_PBL_Check")[0] &&
  1075. userInfo.org != "150e3120-9195-11ed-b13d-005056b86db5" && userInfo.org != 'b47d2ea8-7044-4810-9cb7-3aaf8b74cfbc'
  1076. ) {
  1077. $(".U_PBL_Check")[0].style.display = "block";
  1078. }
  1079. }
  1080. function loginSet(userInfo, res){
  1081. let userId = userInfo.userid
  1082. if (res.value == null || res.value[0].length == 0) {
  1083. // U.MD.D.I.openApplication("my")
  1084. let _name = US.userInfo.alias ? US.userInfo.alias : US.userInfo.username
  1085. let _type = US.userInfo == 1 ? 2 : 1
  1086. // US.Config.pbl
  1087. // "http://localhost:7003/api/pbl/"
  1088. U.A.Request(US.Config.pbl + "updatePblMessage", [userId, _name, _type, '16d397f3-b192-11ed-9211-005056b86db5', '', '', "0"], function (res) {
  1089. window.location.reload();
  1090. }, [], { "type": "POST", "withCredentials": true });
  1091. } else {
  1092. loginPan(userInfo, userId)
  1093. // U.MD.D.I.openApplication('cocoflowDeskTop')
  1094. }
  1095. if($(".U_PBL_Check2")[0]){
  1096. $(".U_PBL_Check2")[0].style.display = "none";
  1097. }
  1098. $(".login")[0].style.display = "none";
  1099. $(".register")[0].style.display = "none";
  1100. $(".userName")[0].style.display = "block";
  1101. $(".userName")[0].innerHTML = US.userInfo.username || US.userInfo.alias;
  1102. $(".exit")[0].style.display = "block";
  1103. let _vipbox = $('.U_MD_D_BD_vip_box')[0]
  1104. _vipbox && (_vipbox.style.right = $(".U_MD_D_BD")[0].offsetWidth + 20 + 'px')
  1105. // if(userInfo.type === 1 && userInfo.org == 'c95e0a56-c205-11ed-8d51-005056b86db5'){
  1106. // U.MD.D.I.ModeCheck(2)
  1107. // }else{
  1108. // U.MD.D.I.initDesktopIcons($("#U_MD_D_K")[0], 1);
  1109. // }
  1110. // if(userInfo.type === 1 && userInfo.org == "f3b243b2-75e2-4b00-8f66-7644946a2a25"){
  1111. // U.MD.D.I.openApplication("appStore")
  1112. // }
  1113. let shareCourseId = window.location.href.indexOf("?shareCourseId=")!=-1?window.location.href.split("?shareCourseId=")[1].toString():''
  1114. if(shareCourseId){
  1115. console.log(shareCourseId);
  1116. U.MD.D.I.openInApplication("studyDetail", shareCourseId, 5, 1)
  1117. }
  1118. if(userInfo.type === 1 && window.location.hash.indexOf('project') != -1){
  1119. U.MD.D.I.openApplication("project")
  1120. }
  1121. if(userInfo.type === 1 && window.location.hash.indexOf('study') != -1){
  1122. U.MD.D.I.openApplication("study")
  1123. }
  1124. if(userInfo.type === 2 && window.location.hash.indexOf('study') != -1){
  1125. U.MD.D.I.openApplication("studentStudy")
  1126. }
  1127. if(userInfo.type === 1 && U.UF.C.queryString('tycode') && U.UF.C.queryString('app')){
  1128. U.MD.D.I.openApplication(U.UF.C.queryString('app'))
  1129. }
  1130. U.MD.O.P.connect(); //登录成功后连接socket服务同步协同编辑
  1131. }
  1132. function selectUser(uid, callback) {
  1133. var userInfo = US.userInfo;
  1134. var panId = userInfo && userInfo.accountNumber
  1135. if(panId){
  1136. let res = {value:[[userInfo]]}
  1137. if (callback) callback(res);
  1138. return
  1139. }
  1140. const requestUser = () => {
  1141. U.A.Request(`${US.Config.pbl}selectUser?userid=${uid}`, [], function (res) {
  1142. if(res && res.value && res.value.length && res.value[0].length && res.value[0][0].userid){
  1143. if (callback) callback(res);
  1144. }else {
  1145. U.alert("获取用户信息失败,正在重试!")
  1146. LoginState = false
  1147. requestUser();
  1148. }
  1149. }, [], { "type": "GET", "withCredentials": true });
  1150. };
  1151. try {
  1152. requestUser();
  1153. } catch (error) {
  1154. U.alert("登录失败,正在重试!")
  1155. LoginState = false
  1156. requestUser();
  1157. }
  1158. }
  1159. function addOp(text,type,time){
  1160. var userInfo = US.userInfo;
  1161. if(Object.keys(userInfo).length !== 0){
  1162. U.A.Request(US.Config.pbl + "addOperationTimeT", [userInfo.userid,text,type,time], function (res) {
  1163. }, [], { "type": "POST", "withCredentials": true });
  1164. }
  1165. }
  1166. U.MD.D.addOp3 = async (userTime, loadTime, object, status) => {
  1167. let browser = detectBrowser()
  1168. let _time = new Date().toLocaleString('zh-CN', { hour12: false, timeZone: 'Asia/Shanghai' }).replace(/\//g, '-');
  1169. let params = {
  1170. userid: US.userInfo.userid,
  1171. username: US.userInfo.name,
  1172. accountNumber: US.userInfo.accountNumber,
  1173. org: US.userInfo.orgName,
  1174. school: US.userInfo.schoolName,
  1175. role: US.userInfo.type == '1' ? '老师' : '学生',
  1176. browser: browser,
  1177. userTime: userTime == '1' ? _time : userTime, // 使用时间 1次的就1 其次传秒
  1178. loadTime: loadTime, //load的时间没有就“”
  1179. object: JSON.stringify(object), //执行信息传json
  1180. status: status, //成功返回success。失败返回error的信息
  1181. }
  1182. fetch("https://pbl.cocorobo.cn/api/mongo/updateUserData2P", { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(params) }).then(res => {
  1183. if (res.status == 200) {
  1184. console.log('保存成功')
  1185. } else {
  1186. console.log('保存失败')
  1187. }
  1188. }).catch(e => {
  1189. console.log('保存失败')
  1190. console.log(e);
  1191. })
  1192. }