xiebaomin 1 year ago
parent
commit
93587f13fa

+ 22 - 1
src/main/resources/static/js/document/beautyArchiveDetailMixin.js

@@ -184,13 +184,34 @@ var beautyArchiveDetailMixin = {
         handlePlayer: function () {
             if (!this.isPlayer) this.currentVideo.play();
         },
+        myDecrypt (word, iv = CryptoJS.enc.Utf8.parse('caimei--20240103'), key = CryptoJS.enc.Utf8.parse("caimei--20240103")) {
+            if (word) {
+                return word.map(e => {
+                    if (e) {
+                        const encryptedHexStr = CryptoJS.enc.Base64.parse(e);
+                        const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
+                        const decrypt = CryptoJS.AES.decrypt(srcs, key, {
+                            iv,
+                            mode: CryptoJS.mode.CBC,
+                            padding: CryptoJS.pad.NoPadding
+                        });
+                        const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
+                        return decryptedStr.toString()
+                    } else return ''
+                })
+            } else return []
+        },
         //预览office文件 word ppt pdf
         handlePreviewOffice: function (file) {
             if (file) {
                 this.GetStatisticsAddPv(1, file.archiveContentId)
             }
+            const link = this.myDecrypt([file.fileUrl])[0].split('?')[0]
+            console.log(link)
+            if (this.checkPermission() !== 0) return;
+            // window.open(`http://127.0.0.1:5173/preview?t=3&url=${link}&isSp=1`)
             const domainUrl = isDev ? 'https://material-b.caimei365.com' : 'https://material.caimei365.com'
-            window.open(`${domainUrl}/preview?t=3&url=${file.fileUrl}&isSp=1`)
+            window.open(`${domainUrl}/preview?t=3&url=${link}&isSp=1`)
             // if (this.checkPermission() !== 0) return;
             // var index = file.fileName.lastIndexOf('.');
             // var suffix = file.fileName.substring(index);

+ 3 - 2
src/main/resources/templates/product/detail.html

@@ -721,8 +721,8 @@
                                         <div class="cm-title" v-html="item.title"></div>
                                         <div class="cm-row clear">
                                             <span class="cm-time">{{ item.addTime | formatTime }}</span>
-                                            <span class="cm-view" v-if="permission === 0" @click="handlePreviewOffice(item)">预览文件</span>
-                                            <span class="cm-view" v-else  @click="fileContentPreview(item)">预览文件</span>
+                                            <span class="cm-view" @click="handlePreviewOffice(item)">预览文件</span>
+<!--                                            <span class="cm-view" v-else  @click="fileContentPreview(item)">预览文件</span>-->
                                         </div>
                                     </div>
                                 </div>
@@ -897,6 +897,7 @@
 <script src="/lib/datapicker/moment-2.29.min.js"></script>
 <script charset="utf-8" type="text/javascript" src="/lib/magnifier.js"></script>
 <script charset="utf-8" type="text/javascript" src="/lib/viewer.min.js"></script>
+<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/product.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/shopping.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/beautyArchive.service.js(v=${version})}"></script>