ryanemax пре 7 месеци
родитељ
комит
766338cb11
4 измењених фајлова са 61 додато и 31 уклоњено
  1. 1 1
      docker-front
  2. 33 12
      docker-office/README.md
  3. 7 6
      server/cloud/tbook/func-tbook-export.js
  4. 20 12
      server/lib/docs/index.js

+ 1 - 1
docker-front

@@ -1 +1 @@
-Subproject commit 670fb82d36d8c078793a4f4dbf7b1b399924573b
+Subproject commit d72a9419c3625fe205bf325c6557e9f4b0b6b940

+ 33 - 12
docker-office/README.md

@@ -8,22 +8,28 @@ apt install docker.io
 ```
 
 /etc/docker/daemon.json
-``` json
+``` bash
+# https://oz4vi93h.mirror.aliyuncs.com
+sudo mkdir -p /etc/docker
+sudo tee /etc/docker/daemon.json <<-'EOF'
 {
-	"registry-mirrors": ["https://registry.docker-cn.com",
-		"https://dockerhub.azk8s.cn",
-		"https://reg-mirror.qiniu.com",
-		"http://hub-mirror.c.163.com",
-		"https://docker.mirrors.ustc.edu.cn"
-	]
+"registry-mirrors": ["https://oz4vi93h.mirror.aliyuncs.com"]
+}
+EOF
+# 备用源地址
+{
+  "registry-mirrors": [
+    "https://docker.m.daocloud.io"
+  ]
 }
-```
-
-``` bash
 # 重启设置源
-sudo service docker restart    
+systemctl daemon-reload
+systemctl restart docker
+# 下载镜像
+docker pull gotenberg/gotenberg
 ```
 
+
 # 核心服务
 ## 服务1:coolwsd
 - 手册 https://sdk.collaboraonline.com/docs/installation/Configuration.html
@@ -36,5 +42,20 @@ sudo docker build -t fmode-office .
 ## 服务2:gotenberg
 
 ``` bash
-sudo docker run --rm -p 3000:3000 gotenberg/gotenberg:8
+# 后台启动
+sudo docker run --rm -d -p 3000:3000 gotenberg/gotenberg
+# 直接运行
+sudo docker run --rm -p 3000:3000 gotenberg/gotenberg
+```
+
+``` nginx
+ location /docs/ {
+        rewrite ^/docs/(.*)$ /$1 break;  # 去掉/docs/前缀
+
+        proxy_pass http://localhost:3000;  # 反向代理到本地的3000
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header X-Forwarded-Proto $scheme;
+    }
 ```

+ 7 - 6
server/cloud/tbook/func-tbook-export.js

@@ -1,4 +1,4 @@
-import { replaceDocx, docsToPdf, createZip, uploadFileToOSS } from "../../lib/docs";
+import { replaceDocx, createZip, uploadFileToOSS, docxToPdf } from "../../lib/docs";
 // const Parse = global.Parse;
 
 const path = require("path")
@@ -257,19 +257,20 @@ function renderReportDocsByTextbook(textbook){
     Object.keys(fixData).forEach(key=>{
         bookData[key] = fixData[key]
     })
-    console.log(bookData)
-    console.log(json)
+    // console.log(bookData)
+    // console.log(json)
     let bookid = json.code || json?.objectId;
     let tempFileName = path.join(`${bookid}${json.title}.docx`)
     return new Promise((resolve)=>{
         replaceDocx(TemplateDocxPath,tempFileName,bookData,{onDocxComplete:async (filePath)=>{
             // 需要API支持
-            // docsToPdf(filePath)
-            let url = (await uploadFileToOSS(filePath))?.url || null
+            let pdfPath = filePath.replaceAll(".docx",".pdf")
+            filePath = await docxToPdf(filePath,pdfPath) || filePath // 成功用pdf,失败继续用docx
+            let url = (await uploadFileToOSS(pdfPath))?.url || null
             resolve({
                 code:bookid,
                 title:json?.title,
-                filePath,
+                pdfPath,
                 url
             })
         }})

Разлика између датотеке није приказан због своје велике величине
+ 20 - 12
server/lib/docs/index.js


Неке датотеке нису приказане због велике количине промена