diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/commentFunction.js b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/commentFunction.js
index 5fc99e1e..ee971feb 100644
--- a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/commentFunction.js
+++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/commentFunction.js
@@ -638,7 +638,7 @@ function showMessageReplyList(replyList,messageid){
if(backgroundcanuseflag=="1"){
replystr+='
'+replyusername+'
';
}else{
- replystr+=' '+replyusername+'
';
+ replystr+=' 匿名用户
';
}
replystr+=' '+replytime+'';
if(deletePermit=="1"){
diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js
index c018cf16..30065bd8 100755
--- a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js
+++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js
@@ -4622,7 +4622,7 @@ function addShapeFile() {
filesToFilter: [["Images (*.jpg; *.jpeg; *.gif; *.png; *.bmp)", "*.jpg; *.jpeg; *.gif; *.png; *.bmp; *.pdf; *.doc; *.docx; *.xls; *.xlsx; *.ppt; *.pptx; *.txt"]],
repositoryName: "tmp",
numLimit: 0,
- sizeLimit: 10 * 1024 * 1024,
+ sizeLimit: 200 * 1024 * 1024,
complete: function () {
//事件回调函数
$.simpleAlert('close');
@@ -4631,7 +4631,7 @@ function addShapeFile() {
add: function (e, data) { //附件被添加到上传列表时触发,当返回false时,可阻止上传
if (data.files.length == 0) {
return false;
- } else if (data.files[0].size > 10 * 1024 * 1024) {
+ } else if (data.files[0].size > 200 * 1024 * 1024) {
$.simpleAlert("文件过大");
return false;
}
@@ -4808,7 +4808,7 @@ function addPolicyFile() {
filesToFilter: [["Document(*.xml;*.doc;*.docx;)", "*.xml;*.doc;*.docx;"]],
repositoryName: "migration",
numLimit: 1,
- sizeLimit: 50 * 1024 * 1024,
+ sizeLimit: 200 * 1024 * 1024,
complete: function () {
//事件回调函数
$.simpleAlert('close');
@@ -4817,7 +4817,7 @@ function addPolicyFile() {
add: function (e, data) { //附件被添加到上传列表时触发,当返回false时,可阻止上传
if (data.files.length == 0) {
return false;
- } else if (data.files[0].size > 50 * 1024 * 1024) {
+ } else if (data.files[0].size > 200 * 1024 * 1024) {
$.simpleAlert("文件过大");
return false;
}
diff --git a/com.awspaas.user.apps.yili.integration/template/page/Department.html b/com.awspaas.user.apps.yili.integration/template/page/Department.html
index 4e79a6b9..7b28f5e3 100644
--- a/com.awspaas.user.apps.yili.integration/template/page/Department.html
+++ b/com.awspaas.user.apps.yili.integration/template/page/Department.html
@@ -648,13 +648,9 @@
this.selectdept = JSON.stringify(this.treelist)
},
openGptHome() {
- //let url = "https://chatgpt-uat.dcin-test.digitalyili.com/welcome?from=libchat&lib=ef2b50fd79c52577d51222bc58b231d7&priv=1&sid=" + sid ;
- //this.fullscreen = window.innerWidth <= 768; // 小屏幕时全屏显示
- //https://yiligpt.x.digitalyili.com/libchat?lib=b8e082947190f2aa4fca0d96a5a95ea5&priv=1&sid=
- //this.newPageUrl = "https://iam.digitalyili.com/proxy/sso?target=https://yiligpt.x.digitalyili.com/libchat?lib=b8e082947190f2aa4fca0d96a5a95ea5&priv=1&sid=" + sid;
var sids = encodeURIComponent(sid);
//this.newPageUrl = "https://iam.digitalyili.com/proxy/sso?target=https%3A%2F%2Fyiligpt.x.digitalyili.com%2Flibchat%3Flib%3Db8e082947190f2aa4fca0d96a5a95ea5%26priv%3D1%26sid%3D"+ sids;
- this.newPageUrl = "https://iam.digitalyili.com/proxy/sso?target=https://yiligpt.x.digitalyili.com/libchat%25253Flib=b8e082947190f2aa4fca0d96a5a95ea5%252526priv=1%252526sid=" + sids;
+ this.newPageUrl = "https://iam.digitalyili.com/proxy/sso?target=https://yiligpt.x.digitalyili.com/auth-center%25253Fplatform=oa%252526lib=b8e082947190f2aa4fca0d96a5a95ea5%252526priv=1%252526sid=" + sids;
document.cookie = "AWSSESSIONID=" + sid;
this.param1 = sid;
this.dialogVisible = true;
@@ -664,8 +660,9 @@
this.dialogVisible = false;
},
openInFullScreen() {
+ var sids = encodeURIComponent(sid);
this.dialogVisible = false;
- window.open("https://iam.digitalyili.com/proxy/sso?target=https%3A%2F%2Fyiligpt.x.digitalyili.com%2Fauth-center%253Fplatform%253Doa%2526lib%253Db8e082947190f2aa4fca0d96a5a95ea5%2526priv%253D1", "_blank");
+ window.open("https://iam.digitalyili.com/proxy/sso?target=https://yiligpt.x.digitalyili.com/auth-center%25253Fplatform=oa%252526lib=b8e082947190f2aa4fca0d96a5a95ea5%252526priv=1%252526sid="+ sids, "_blank");
}
},
});
diff --git a/com.awspaas.user.apps.yili.integration/web/com.awspaas.user.apps.yili.integration/css/department1.css b/com.awspaas.user.apps.yili.integration/web/com.awspaas.user.apps.yili.integration/css/department1.css
index 16b45404..759290de 100644
--- a/com.awspaas.user.apps.yili.integration/web/com.awspaas.user.apps.yili.integration/css/department1.css
+++ b/com.awspaas.user.apps.yili.integration/web/com.awspaas.user.apps.yili.integration/css/department1.css
@@ -56,4 +56,26 @@
line-height: 35px;
display: grid;
place-items: center;
+}
+
+.loading-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: rgba(255, 255, 255, 0.8);
+ z-index: 9999;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.loading-text {
+ font-size: 18px;
+ color: #409EFF;
+ padding: 20px;
+ background: #fff;
+ border-radius: 4px;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
\ No newline at end of file
diff --git a/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/Plugins.java b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/Plugins.java
new file mode 100644
index 00000000..167b86a2
--- /dev/null
+++ b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/Plugins.java
@@ -0,0 +1,24 @@
+package com.awspaas.user.apps.yiliwps;
+
+import com.actionsoft.apps.listener.PluginListener;
+import com.actionsoft.apps.resource.AppContext;
+import com.actionsoft.apps.resource.plugin.profile.ASLPPluginProfile;
+import com.actionsoft.apps.resource.plugin.profile.AWSPluginProfile;
+import com.awspaas.user.apps.yiliwps.aslp.WPSOnlineReadOnlyASLP;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Author:yujh
+ * @Date: 2025/1/21 15:47
+ */
+public class Plugins implements PluginListener {
+ public Plugins() {
+ }
+ public List register(AppContext context) {
+ List list = new ArrayList();
+ list.add(new ASLPPluginProfile("wpsOnlineReadOnly", WPSOnlineReadOnlyASLP.class.getName(), "调用转换服务.在预览之前提前进行转换,预览时直接打开转换后的文件", null));
+ return list;
+ }
+}
diff --git a/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/aslp/WPSOnlineReadOnlyASLP.java b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/aslp/WPSOnlineReadOnlyASLP.java
new file mode 100644
index 00000000..f32d8805
--- /dev/null
+++ b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/aslp/WPSOnlineReadOnlyASLP.java
@@ -0,0 +1,67 @@
+package com.awspaas.user.apps.yiliwps.aslp;
+
+import com.actionsoft.apps.resource.interop.aslp.ASLP;
+import com.actionsoft.apps.resource.interop.aslp.Meta;
+import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
+import com.actionsoft.bpms.server.fs.DCContext;
+import com.awspaas.user.apps.yiliwps.constant.YiliWpsConst;
+import com.awspaas.user.apps.yiliwps.utils.HttpPostUtil;
+import com.awspaas.user.apps.yiliwps.utils.WPS4Util;
+import javax.ws.rs.HttpMethod;
+import java.net.URLEncoder;
+import java.util.Map;
+
+/**
+ * @Author:yujh
+ * @Date: 2025/1/21 15:39
+ */
+public class WPSOnlineReadOnlyASLP implements ASLP {
+ public WPSOnlineReadOnlyASLP() {
+ }
+
+ @Override
+ @Meta(parameter = { "name: 'sid', required: true, desc:'sessionid'",
+ "name: 'sourceDc', required: true, desc:'原文件DC'"})
+ public ResponseObject call(Map params) {
+ ResponseObject result = ResponseObject.newOkResponse();
+ if (params == null) {
+ result.err("不接受参数为空的调用!");
+ return result;
+ }
+ String sid = params.get("sid").toString();
+ DCContext sourceDc = (DCContext) params.get("sourceDc");
+ String fileName = sourceDc.getFileName();
+ String fileType = getFileType(fileName);
+ WPS4Util.initAppInfo(YiliWpsConst.AK, YiliWpsConst.SK);
+
+ String url = String.format("/api/preview/v1/files/%s/link?type=%s&preview_mode=%s&_w_third_sid=%s&_w_third_palId=%s&_w_third_queryFileId=%s&_w_third_fname=%s&_w_third_appId=%s&_w_third_repositoryName=%s&_w_third_groupValue=%s&_w_third_fileValue=%s&_w_third_filePreview=%s"
+ ,sourceDc.getFileValue(),fileType,"ordinary",sid,sourceDc.getGroupValue(),sourceDc.getFileValue(), URLEncoder.encode(sourceDc.getFileName()),sourceDc.getAppId(),sourceDc.getRepositoryName(),sourceDc.getGroupValue(),sourceDc.getFileValue(),"filePreview");
+ System.out.println(">>>>>>>>预览的url = " + url);
+ Map headers = null;
+ try {
+ headers = WPS4Util.getSignatureHeaders(url, HttpMethod.GET,null, YiliWpsConst.CONTENT_TYPE);
+ result.setData(HttpPostUtil.sendGetRequest(YiliWpsConst.HOST+"/open"+url,headers));
+ System.out.println(">>>>>>>>>>result.toString() = " + result.toString());
+ return result;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * 根据文件名获取文件类型
+ * @param fileName
+ * @return
+ */
+ public String getFileType(String fileName){
+ //根据文件名获取文件类型
+ if (fileName.endsWith(".doc") || fileName.endsWith(".docx")) {
+ return "w";
+ } else if (fileName.endsWith(".xls") || fileName.endsWith(".xlsx")) {
+ return "s";
+ } else if (fileName.endsWith(".pdf") || fileName.endsWith(".pdfx")) {
+ return "p";
+ }
+ return "w";
+ }
+}
diff --git a/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/restful/YiliWpsApi.java b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/restful/YiliWpsApi.java
index c227c232..1da396a7 100644
--- a/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/restful/YiliWpsApi.java
+++ b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/restful/YiliWpsApi.java
@@ -25,13 +25,18 @@ public class YiliWpsApi {
@QueryParam("_w_third_palId") String palId,
@QueryParam("_w_third_queryFileId") String queryFileId,
@QueryParam("_w_third_sid") String sid,
- @QueryParam("_w_third_fname") String fileName
+ @QueryParam("_w_third_fname") String fileName,
+ @QueryParam("_w_third_appId") String appId,
+ @QueryParam("_w_third_repositoryName") String repositoryName,
+ @QueryParam("_w_third_groupValue") String groupValue,
+ @QueryParam("_w_third_fileValue") String fileValue,
+ @QueryParam("_w_third_filePreview") String filePreview
) {
JSONObject params = new JSONObject();
UserContext _uc = UserContext.fromSessionId(sid);
- logApi.consoleInfo(">>>>>文件信息请求成功/v1/3rd/file/info"+palId+","+headFileId+queryFileId+sid+fileName);
+ logApi.consoleInfo(">>>>>文件信息请求成功/v1/3rd/file/info"+palId+","+headFileId+queryFileId+sid+fileName+appId+repositoryName+groupValue+fileValue);
WpsWeb web =new WpsWeb(_uc);
- return web.getFileInfo(sid,palId,queryFileId,fileName);
+ return web.getFileInfo(sid,palId,queryFileId,fileName,appId,repositoryName,groupValue,fileValue,filePreview);
}
@Path("/v1/3rd/user/info")
diff --git a/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/web/WpsWeb.java b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/web/WpsWeb.java
index 862ad7b7..0500d2af 100644
--- a/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/web/WpsWeb.java
+++ b/com.awspaas.user.apps.yiliwps/src/com/awspaas/user/apps/yiliwps/web/WpsWeb.java
@@ -23,6 +23,7 @@ import com.actionsoft.bpms.server.fs.dc.DCProfileManager;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.bpms.util.UUIDGener;
import com.actionsoft.bpms.util.UtilNumber;
+import com.actionsoft.bpms.util.UtilString;
import com.actionsoft.sdk.local.SDK;
import com.actionsoft.sdk.local.api.LogAPI;
import com.alibaba.fastjson.JSONArray;
@@ -33,6 +34,7 @@ import com.awspaas.user.apps.yiliwps.utils.CallASLPUtil;
import com.awspaas.user.apps.yiliwps.utils.HttpPostUtil;
import com.awspaas.user.apps.yiliwps.utils.WPS4Util;
import javax.ws.rs.HttpMethod;
+import javax.ws.rs.QueryParam;
import java.io.*;
import java.net.URLDecoder;
import java.net.URLEncoder;
@@ -81,14 +83,19 @@ public class WpsWeb extends ActionWeb {
return HttpPostUtil.sendGetRequest(YiliWpsConst.HOST+"/open"+url,headers);
}
- public String getFileInfo(String sid,String palId,String fileId,String fileName){
+ public String getFileInfo(String sid,String palId,String fileId,String fileName,String appId,String repositoryName,String groupValue,String fileValue,String filePreview){
String sourceFileName = null;
try {
sourceFileName = URLDecoder.decode(fileName,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
- DCContext sourceDc = getFileDCContext(fileId);
+ DCContext sourceDc;
+ if(UtilString.isEmpty(filePreview)){
+ sourceDc = getFileDCContext(fileId);
+ }else{
+ sourceDc = getFileDCContext(palId,appId,repositoryName,groupValue,fileValue,sourceFileName);
+ }
JSONObject jsonObject = new JSONObject();
JSONObject file = new JSONObject();
JSONObject user = new JSONObject();
@@ -279,6 +286,38 @@ public class WpsWeb extends ActionWeb {
}
}
+ /**
+ * 获取附件的附件ID
+ * @return
+ */
+ public DCContext getFileDCContext(String palId,String appId,String repositoryName,String groupValue,String fileValue,String fileName) {
+ //先校验DC是否存在
+ DCContext sourceDc = null;
+ System.out.println(">>>>>>>appId = " + appId);
+ System.out.println(">>>>>>>repositoryName = " + repositoryName);
+ DCPluginProfile dcProfile = DCProfileManager.getDCProfile(appId, repositoryName);
+ if (dcProfile != null) {
+ System.out.println(" >>>>进入普通文件");
+ sourceDc = new DCContext(this.getContext(), dcProfile, appId, groupValue,
+ fileValue, fileName);
+ if(null != sourceDc){
+ System.out.println(">>>>>>>>>>>>>>>>sourceDc.getDownloadURL() = " + sourceDc.getDownloadURL());
+ return sourceDc;
+ }
+ //获取的附件为空
+ }
+ //先获取附件模版
+ System.out.println(" >>>>默认附件");
+ repositoryName = "!form-ui-file-";
+ BO bo = SDK.getBOAPI().query(YiliWpsConst.BO_EU_SYSTEM_DEMO_FILE).addQuery("FILESTATE=", true).detail();
+ List files = SDK.getBOAPI().getFiles(bo.getId(), "SYSTEMFILE");
+ FormFile formFile = files.get(0);
+ sourceDc = SDK.getBOAPI().getFileDCContext(formFile, repositoryName);
+ sourceDc.setSession(this.getContext());
+ //往附件表中写入一个附件
+ return sourceDc;
+ }
+
public String getCoeDefinition(String palId){
// coe所需参数
PALRepositoryModel plModel = PALRepositoryCache.getCache().get(palId);