|
-
- function NewFile(params) {
-
- var wppApp = wps.WppApplication();
- var doc = wppApp.Presentations.Add();
- wps.PluginStorage.setItem("IsInCurrOADocOpen", false);
-
-
- if (wps.Env && wps.Env.GetTempPath) {
- if (params.newFileName) {
-
- doc.SaveAs($FileName = wps.Env.GetTempPath() + "/" + params.newFileName);
- } else {
-
- doc.SaveAs($FileName = wps.Env.GetTempPath() + "/OA_" + currentTime());
- }
- } else {
- alert("文档保存临时目录出错!不能保存新建文档!请联系系统开发商。");
- }
-
- var l_NofityURL = GetParamsValue(params, "notifyUrl");
- if (l_NofityURL) {
- NotifyToServer(l_NofityURL.replace("{?}", "1"));
- }
-
-
- pSetOADocumentFlag(doc, params);
-
- DoSetOADocLandMode(doc, EnumDocLandMode.DLM_LocalDoc);
-
- OnWindowActivate();
-
- return doc;
- }
-
-
- function OpenFile(params) {
- var l_strFileUrl = params.fileName;
- var doc;
- var l_IsOnlineDoc = false;
- if (l_strFileUrl) {
-
- if (pCheckIsExistOpenOADoc(l_strFileUrl) == true) {
-
- wps.WppApplication().Activate();
-
- var l_AllowOADocReOpen = false;
- l_AllowOADocReOpen = wps.PluginStorage.getItem("AllowOADocReOpen");
- if (l_AllowOADocReOpen == false) {
- alert("已打开相同的OA文件,请关闭之前的文件,再次打开。");
- wps.WppApplication().Activate();
- return null;
- } else {
-
- var nDocCount = wps.WppApplication().Presentations.Count;
- pReOpenOADoc(l_strFileUrl);
-
-
- l_IsOnlineDoc = true;
- var nDocCount_New = wps.WppApplication().Presentations.Count;
- if (nDocCount_New > nDocCount) {
- doc = wps.WppApplication().ActivePresentation;
- }
- }
- } else {
-
- if (l_strFileUrl.startWith("http")) {
- DownloadFile(l_strFileUrl, function (path) {
- if (path == "") {
- alert("从服务端下载路径:" + l_strFileUrl + "\n" + "获取文件下载失败!");
- return null;
- }
-
- doc = pDoOpenOADocProcess(params, path);
- pOpenFile(doc, params, l_IsOnlineDoc);
- });
- return null;
- } else {
- doc = pDoOpenOADocProcess(params, l_strFileUrl);
- if (doc)
- doc.SaveAs($FileName = wps.Env.GetTempPath() + "/" + doc.Name);
- }
-
- }
- } else {
-
- NewFile(params);
- }
-
-
- if (!doc) {
- return null;
- }
- pOpenFile(doc, params, l_IsOnlineDoc);
-
- }
-
- function pOpenFile(doc, params, isOnlineDoc){
- var l_IsOnlineDoc = isOnlineDoc
-
-
- pSetOADocumentFlag(doc, params);
-
- if (l_IsOnlineDoc == true) {
- DoSetOADocLandMode(doc, EnumDocLandMode.DLM_OnlineDoc);
- } else {
- DoSetOADocLandMode(doc, EnumDocLandMode.DLM_LocalDoc);
- }
-
- l_NofityURL = GetParamsValue(params, "notifyUrl");
- if (l_NofityURL) {
- l_NofityURL = l_NofityURL.replace("{?}", "1");
- NotifyToServer(l_NofityURL);
- }
-
- pDoResetRibbonGroups();
-
- OnWindowActivate();
-
- wps.WppApplication().Activate();
- return doc;
- }
-
-
- function OpenOnLineFile(OAParams) {
-
- if (!OAParams) return;
-
-
- var l_OAFileUrl = OAParams.fileName;
- var l_doc;
- if (l_OAFileUrl) {
-
- wps.WppApplication().Presentations.OpenFromUrl(l_OAFileUrl, "OnOpenOnLineDocSuccess", "OnOpenOnLineDocDownFail");
-
- setDocumentRights(ksoRightsInfo.ksoNoneRight)
- l_doc = wps.WppApplication().ActivePresentation;
- }
-
-
- pOpenFile(l_doc, OAParams, true);
- return l_doc;
-
-
-
-
-
-
-
-
- }
-
-
- function OnOpenOnLineDocSuccess(resp) {
-
- }
-
-
- function pDoOpenOADocProcess(params, TempLocalFile) {
- for (var key = "" in params) {
- switch (key.toUpperCase())
- {
- case "buttonGroups".toUpperCase():
- break;
- }
- }
-
-
- var l_Doc = wps.WppApplication().Presentations.Open(TempLocalFile);
- return l_Doc;
- }
-
-
- function OnOpenOnLineDocDownFail() {
- alert("打开在线不落地文档失败!请尝试重新打开。");
- return;
- }
-
-
- function pCheckIsExistOpenOADoc(FileURL) {
- var l_DocCount = wps.WppApplication().Presentations.Count;
- if (l_DocCount <= 0) return false;
-
-
- if (l_DocCount >= 1) {
- for (var l_index = 1; l_index <= l_DocCount; l_index++) {
- var l_objDoc = wps.WppApplication().Presentations.Item(l_index);
-
- var l_strParam = wps.PluginStorage.getItem(l_objDoc.FullName);
- if (l_strParam == null)
- continue;
- var l_objParam = JSON.parse(l_strParam)
- if (l_objParam.fileName == FileURL) {
- return true;
- }
- }
- return false;
- }
- }
-
-
- function DoSetOADocLandMode(doc, DocLandMode) {
- if (!doc) return;
- var l_Param = wps.PluginStorage.getItem(doc.FullName);
- var l_objParam = JSON.parse(l_Param);
-
- l_objParam.OADocLandMode = DocLandMode;
-
- var l_p = JSON.stringify(l_objParam);
-
- wps.PluginStorage.setItem(doc.FullName, l_p);
- }
-
-
- function pSetOADocumentFlag(doc, params) {
- if (!doc) {
- return;
- }
- var l_Param = params;
- l_Param.isOA = EnumOAFlag.DocFromOA;
- l_Param.SourcePath = doc.FullName;
- if (doc) {
- var l_p = JSON.stringify(l_Param);
-
- wps.PluginStorage.setItem(doc.FullName, l_p);
- }
- }
-
-
- function pDoResetRibbonGroups(paramsGroups) {
-
- }
-
-
- function OnDocSaveByAutoTimer() {
- var l_Doc;
- var l_Count = 0
- var l_docCounts = wps.WppApplication().Presentations.Count;
- for (l_Count = 0; l_Count < l_docCounts; l_Count++) {
- l_Doc = wps.WppApplication().Presentations.Item(l_Count);
- if (l_Doc) {
- if (pCheckIfOADoc(l_Doc) == true) {
-
- pAutoUploadToServer(l_Doc);
-
- }
- }
- }
- }
-
-
- function OpenTimerRun(funcCallBack) {
- var l_mCount = 0;
- var l_timeID = 0;
-
-
- var l_AutoSaveToServerTime = wps.PluginStorage.getItem("AutoSaveToServerTime");
- if (l_AutoSaveToServerTime == 0) {
- l_timeID = wps.PluginStorage.getItem("TempTimerID");
- clearInterval(l_timeID);
- return;
- } else if (l_AutoSaveToServerTime < 3) {
- l_AutoSaveToServerTime = 3;
- }
-
- l_timeID = setInterval(function () {
- l_mCount = l_mCount + 1;
- if (l_mCount > l_AutoSaveToServerTime) {
- l_mCount = 0;
- funcCallBack();
- }
- }, 60000);
-
- wps.PluginStorage.setItem("TempTimerID", l_timeID);
- }
|