先附上官網 WebOffice SDK
1、在下面這個地方找到jdk,然后下載
按照
2、只需要把jdk下載下來,放到項目中,然后引入到項目中就可以了,在wps 官網創建個應用,然后把appId放到代碼中就可以了,等待后端把回調搞完,剩下的都是交給后端就可以了,接口報500,或者403都是后端搞,編輯權限和可讀權限也是后端搞的
3、全部代碼
<template><div id="wps" ref="iframe"></div>
</template><script>
let WebOfficeSDK = require("@/utils/web-office-sdk-solution-v2.0.7.cjs.js");
export default {name: "tptOffice",data() {return {};},watch: {$route: {handler(to, from) {if (to.query.id != undefined) {this.init(to.query.id, to.query.officeType);}if (from?.path == "/tpt/office") {this.instance.destroy(); //wps自身的銷毀//因為離開的時候外層的標簽還在,所以加了這個獲取類名刪除const containers = document.getElementsByClassName("web-office-default-container");Array.from(containers).forEach((container) => {container.parentNode?.removeChild(container);});}},immediate: true,},},methods: {async init(fileId) {const ele = document.getElementById("wps");this.instance = await WebOfficeSDK.init({officeType: 'w', // 文件類型appId: "XXXXXXXXXXXXXXXX",fileId: fileId,mount: ele,mode: "normal",token: "",});},},
};
</script><style lang="scss"></style>
4、在運行中發現有點問題,如果是在頁面中套用的話,會占滿全屏,左側有菜單的話,會有遮擋,沒有找到好的方法,