Namespace.register("U.MD.O.W.SP"); window.onload = function () { //加载1473数据 U.UF.CD.loadPageCrossDomain(function () { }); //获取站点信息 U.MD.O.W.SP.sitePreviewInit(); } /** * 网站预览初始化 */ U.MD.O.W.SP.sitePreviewInit = function () { var _pathname = window.location.search, //获取网站地址 _domename = _pathname.substring(1); //进行域名分离 console.log(_domename) //获取网页内容 if (_domename) { U.A.Request("http://cd.1473.cn/php", ["db.1473.cn", "UseStudio_DNS", "GetFileIdToDomain", _domename], function (r) { //获取文件信息 var _fileinfo = r.value; _fileId = r.FileId; console.log(_fileinfo); U.MD.O.W.SP.uwOpen(r.value[0].FileId); //进入获取文档信息 //U.MD.O.W.SP.initReply(); //加载评论系统 }); } } /** * 获取uw文件数据 * * @fileid {string} 文档id */ U.MD.O.W.SP.uwOpen = function (fileid) { //通过文档id获取文档信息 U.A.Request(US.CD, [US.DB, "UseStudio_Disk", "GetFileById", fileid], function (r) { r = r.value; var _fileinfo = r[0]; _fileId = r[0].UserFilesID; console.log(r[0]); $('.U_MD_O_W_SP_ToolsBar')[0].onclick = function () { U.MD.O.W.SP.isLogin(_fileinfo); } U.MD.O.E.data = JSON.parse(r[0].UsOffice); console.log(U.MD.O.E.data); //console.log(data); // console.log(U.MD.O.E.data); U.MD.O.E.printTask(true); U.MD.O.E.rePrintExcel(U.MD.O.E.data, true); if (r[0]) { //设置全局变量 U.MD.O.W.SP.FILEINFO = r[0]; console.log(U.MD.O.W.SP.FILEINFO); //有内容直接加载内容 if (r[0].UsOffice !== undefined && r[0].UsOffice != null) { U.MD.O.W.SP.uwOpen.asyn(r[0]); } //如果没有内容则去office下载内容 else if (['xls', 'xlsx'].indexOf(r[0].UserFilesExtendName.toLocaleLowerCase()) > -1) { //初始化内容处理 U.A.Request("http://office.1473.cn/Officetohtml.ashx", ["Open", r[0].UserFilesExtendName, r[0].UserFilesServername], function (r) { var _fileinfo = r.context[1]; //获取文档信息 if (_fileinfo.value != undefined) { //设置文档内容 r = r.value; fileinfo.UsOffice = r.value.getBodyHtml().replace(/src=[\'\"]?([^\'\"]*)[\'\"]?/ig, function (str1, str2) { return "src=\"http://office.1473.cn/usoffice/" + str2 + "\""; }); //加载文档信息 U.MD.O.W.SP.uwOpen.asyn(); } else { U.Alert("文档已丢失。。。"); } }, [null, r[0]]); } else { U.Alert("该文件无法打开"); } } else { U.Alert("文档已丢失。。。"); } }); } /** * 获取uw文件数据 * * @fileid {string} 文档id */ U.MD.O.W.SP.uwOpen.asyn = function (fileinfo) { //判断_value.UsOffice是否为null if (!fileinfo.UsOffice && typeof (fileinfo.UsOffice) != "undefined" && fileinfo.UsOffice != 0) { alert(1); fileinfo.UsOffice = " "; //显示为空 } //导航模式的处理 if (fileinfo.UserFilesExtendName.toLowerCase() == 'un') { $('.U_MD_O_W_SP_Head_Logo_name')[0].innerText = fileinfo.UserFilesName; $(".U_MD_O_W_SP_MarginBox_File")[1].className = 'U_MD_O_W_SP_MarginBox_Model_Word'; //复制clss $(".U_MD_O_W_SP_Head_Model")[0].style.display = 'block'; //显示元素 U.MD.O.W.SP.modelDataCreate(fileinfo); } //普通模式的处理 else { $('.U_MD_O_W_SP_Head')[0].style.display = 'block'; //显示元素 $('.U_MD_O_W_SP_Tool')[0].style.display = 'block'; //显示元素 //$("#U_MD_O_W_SP_Editor")[0].innerHTML = fileinfo.UsOffice.unEscapeQuotes(); //文档内容格式化 $(".U_MD_O_W_SP_Title")[0].innerText = fileinfo.UserFilesName; //文档名 U.MD.O.W.SP.bindInit(fileinfo); //进入事件绑定 } $$("meta", { name: "title", content: fileinfo.UserFilesName }, $('head')[0]); U.MD.O.W.SP.backTop(); } /** * 文档模板生成 * 把你的代码放在这个函数里面 */ U.MD.O.W.SP.modelDataCreate = function (fileinfo) { var _li, data = JSON.parse(fileinfo.UsOffice); //字符串转换为JSON对象 for (var i = 0; i < data.nav.length; i++) { //循环数据 _li = i == 0 ? $$("li", { innerHTML: data.nav[i].name, className: 'DataLi_active' }, $(".U_MD_O_W_SP_Header_DataUl")[0]) : $$("li", { innerHTML: data.nav[i].name }, $(".U_MD_O_W_SP_Header_DataUl")[0]); //创建li元素 //初始化导航的处理 _li.onclick = U.UF.C.closure(function (i) { //绑定点击事件 //根据导航获取信息 U.A.Request(US.CD, [US.DB, "UseStudio_Office", "GetNavPageContent", data.nav[i].pageId], function (r) { //请求数据库获取值 var _el = $('#U_MD_O_W_SP_Editor')[0], //获取输出元素 _listLi = $('.U_MD_O_W_SP_Header_DataUl').find('.DataLi_active'); //获取选中元素 //有选中的元素 然后 清空class if (_listLi.length) { (_listLi[0].className = ''); } $('.U_MD_O_W_SP_Header_DataUl').find('li')[i].className = 'DataLi_active'; //给点击的元素的class加 _el.innerHTML = r.value[0].content.unEscapeQuotes(); //对数据过滤然后输出 }); }, [i]); //点击第一个元素 if (i == 0) { _li.click(); } } } /** * 事件绑定 * * @fileinfo {object} 文档信息 */ U.MD.O.W.SP.bindInit = function (fileinfo) { var _shareEl = $('#U_MD_O_W_SP_Tool_ShareBtn')[0], //分享按钮 _saveEl = $('#U_MD_O_W_SP_Tool_SaveBtn')[0], //保存到我的云盘按钮 _showShareEl = U.MD.O.W.SP.shareFile(fileinfo, _shareEl), //打印分享的布局并返回户元素 _winWidth; _saveEl.onclick = function () { U.MD.O.W.SP.saveSpecifiedFolder(fileinfo); } } /** * 事件绑定 * * @fileinfo {object} 文档信息 */ U.MD.O.W.SP.backTop = function () { var _topEl = $('.U_MD_O_W_SP_Top_Icon')[0], //滚动置顶按钮 _winScrollTop; $(document).bind({ scroll: function () { _winScrollTop = document.documentElement.scrollTop; //浏览器窗口到顶部的距离 if (_winScrollTop >= 100) { //距离大于等于100px显示按钮 if (_topEl.style.visibility == 'hidden') //隐藏 _topEl.style.visibility = 'unset'; //显示 _topEl.style.top = document.documentElement.clientHeight + _winScrollTop - 200 + 'px'; //显示位置 } else if (_winScrollTop < 100 && _topEl.style.visibility == 'unset') { //显示 _topEl.style.visibility = 'hidden'; //隐藏 } } }) _topEl.onclick = function () { U.MD.O.W.SP.topAnimate(document.documentElement, 0) } } /** * 置顶动画 * * @ele {element} 移动元素 * @target {number} 目标点 */ U.MD.O.W.SP.topAnimate = function (ele, target) { clearInterval(ele.timer); //清楚历史定时器 ele.timer = setInterval(function () { //获取步长 确定移动方向(正负值) 步长应该是越来越小的,缓动的算法。 var step = (target - ele.scrollTop) / 10; //对步长进行二次加工(大于0向上取整,小于0项下取整) step = step > 0 ? Math.ceil(step) : Math.floor(step); //动画原理: 目标位置 = 当前位置 + 步长 ele.scrollTop = ele.scrollTop + step; //检测缓动动画有没有停止 if (Math.abs(target - ele.scrollTop) <= Math.abs(step)) { ele.scrollTop = target; //直接移动指定位置 clearInterval(ele.timer); } }, 16); } /** * 分享功能 * * @fileInfo {object} 文档信息 * @parentel {element} 添加的元素 */ U.MD.O.W.SP.shareFile = function (fileinfo, parentel) { var _content = $$('div', { className: "U_MD_O_W_SP_ShareBox" }), //创建最外层元素 _shareTitle = $$('div', { className: "U_MD_O_W_SP_ShareTitle" }, _content), //分享小标题 _shareBorder = $$('div', { className: "U_MD_O_W_SP_ShareBorder" }, _content), //分割线 _wechat = $$('div', { className: "shareBlock" }, _content), //微信好友分享按钮 _qq = _wechat.cloneNode(), //克隆元素 _xin = _wechat.cloneNode(); //克隆元素 $$('span', { innerText: "分享" }, _shareTitle); //创建文字 $$('img', { src: "/img/xinlangRed.png", style: { width: '24px'} }, _xin); //创建图片 $$('img', { src: "/img/qq.png", style: { width: '24px'} }, _qq); //创建图片 $$('img', { src: "/img/wechat.png", style: { width: '24px'} }, _wechat); //创建图片 $$('div', { innerText: "新浪微博" }, _xin); //创建文字 $$('div', { innerText: "微信好友" }, _wechat); //创建文字 $$('div', { innerText: "QQ好友" }, _qq); //创建文字 $$('div', { className: "U_MD_O_W_SP_ShareBorder" }, _content); //分割线 _wechat.className += " U_MD_O_W_SP_WeChat"; //加class _content.appendChild(_qq); //添加至最元素 $$('div', { className: "U_MD_O_W_SP_ShareBorder" }, _content); //分割线 _content.appendChild(_xin); //添加至最元素 _qq.onclick = function () { //绑定点击事件 var _title = "这个文档超赞的,赶快分享给大家吧!【" + fileinfo.Username + "--分享自-互联办公】"; //设置文本 U.UF.OT.qqFriendShare('', _title); //调用qq好友分享的接口 } _xin.onclick = function () {//绑定点击事件 var _title = "这个文档超赞的,赶快分享给大家吧!【" + fileinfo.Username + "--分享自-互联办公】"; //设置文本 U.UF.OT.weiboShare('', _title); //调用微博分享的接口 } U.UF.OT.weChatShareCode(_wechat); //调用微信分享的接口 parentel.appendChild(_content); return _content; //返回元素 } /** * 保存我的云盘 * * @fileinfo {object} 文档信息 */ U.MD.O.W.SP.saveSpecifiedFolder = function () { var _loginChecked = U.MD.U.L.isLogin(); //拿到登录状态值 if (!_loginChecked) { //判断是否登录 var _form = !Object.getOwnPropertynames(US.disk.Disks).length && U.MD.DK.initDisk(US.userInfo.userid, 'f6d7a4b6-e34c-4964-beed-24187b2cb1ba'); //拿到网盘的窗体 _form && (_form.style.display = 'none'); //隐藏窗体 if (Object.getOwnPropertynames(US.disk.Disks).length) { //判断US.disk.Disks常量是否有值 var _guid = Guid.newGuid(); //生成GUID U.MD.DK.VW.chosenSaveFile(U.MD.O.W.SP.FILEINFO.UserFilesExtendName.toLowerCase(), _guid, U.MD.O.W.SP.FILEINFO.UserFilesName, function (fileinfo) { //调用选择保存文件弹窗位置的接口 var _fileInfo = fileinfo; //文档信息 U.A.Request(US.CD, [US.DB, "UseStudio_Disk", "SaveFileContent", fileinfo.UserDirectoryID, U.MD.O.W.SP.FILEINFO.UsOffice, fileinfo.UserallDirectoryname || U.MD.O.W.SP.FILEINFO.UserFilesName], function (r) { //将文档数据存储至数据库 var _foldername = ''; //定义 for (var i = 0; i < US.disk.initTree.length; i++) { //循环判断用户保存到那个文件夹下 if (US.disk.initTree[i][0] == _fileInfo.UserDirectoryParentID) { _foldername = US.disk.initTree[i][4]; break; } } if (r.value) { //判断数据库返回值判断是否插入成功 U.Alert("以保存到云盘【" + _foldername + "】目录下!"); //提示用户 } else { U.Alert("文档保存失败!") //提示用户 } }); }); } else { U.alert('数据加载中...'); //提示用户 } } else { U.alert('登录失败!'); //提示用户 }; } //$('.U_MD_O_W_SP_ToolsBar').bind('click', function () { // U.MD.O.W.SP.isLogin(fileinfo); //}) U.MD.O.W.SP.eidtor = function (fileinfo) { if (US.userInfo.userid == fileinfo.UserID || (Guid.IsGuid(fileinfo.UserDirectoryEncrypt) && U.Json.select(US.friend.group, { GroupManageID: fileinfo.UserDirectoryEncrypt })[0])) { var fileinfo = { UserId: fileinfo.UserID, GroupID: fileinfo.UserDirectoryEncrypt, UserDirectoryID: fileinfo.UserFilesID, UserallDirectoryName: fileinfo.UserFilesName, UserDirectoryExtendType: fileinfo.UserFilesExtendName } console.log(fileinfo); U.MD.O.excel(US.userInfo, fileinfo); } else { U.Alert("无编辑权限"); } } U.MD.O.W.SP.isLogin = function (fileinfo) { if (!US.userInfo.userid) { U.MD.U.L.login(function () { U.MD.O.W.SP.eidtor(fileinfo) }); } else { U.MD.O.W.SP.eidtor(fileinfo) } } /** * 初始化加载评论 * */ //U.MD.O.W.SP.initReply = function () { // var _el = $(".U_MD_O_W_SP_Reply")[0]; // U.MD.R.reply({ 'type': true, 'el': _el, 'pid': "36341f7e-77a9-11e8-b499-005056b350a4" }); //}