前端利用WPS WebOffice 做在线文档预览与编辑

打印 上一主题 下一主题

主题 1781|帖子 1781|积分 5343

先附上官网 WebOffice SDK
1、在下面这个地方找到jdk,然后下载
按照

2、只须要把jdk下载下来,放到项目中,然后引入到项目中就可以了,在wps 官网创建个应用,然后把appId放到代码中就可以了,等待后端把回调搞完,剩下的都是交给后端就可以了,接口报500,或者403都是后端搞,编辑权限和可读权限也是后端搞的
3、全部代码
  1. <template>
  2.   <div id="wps" ref="iframe"></div>
  3. </template>
  4. <script>
  5. let WebOfficeSDK = require("@/utils/web-office-sdk-solution-v2.0.7.cjs.js");
  6. export default {
  7.   name: "tptOffice",
  8.   data() {
  9.     return {
  10.     };
  11.   },
  12.   watch: {
  13.     $route: {
  14.       handler(to, from) {
  15.         if (to.query.id != undefined) {
  16.           this.init(to.query.id, to.query.officeType);
  17.         }
  18.         if (from?.path == "/tpt/office") {
  19.           this.instance.destroy();  //wps自身的销毁
  20.           //因为离开的时候外层的标签还在,所以加了这个获取类名删除
  21.           const containers = document.getElementsByClassName(
  22.             "web-office-default-container"
  23.           );
  24.           Array.from(containers).forEach((container) => {
  25.             container.parentNode?.removeChild(container);
  26.           });
  27.         }
  28.       },
  29.       immediate: true,
  30.     },
  31.   },
  32.   methods: {
  33.     async init(fileId) {
  34.       const ele = document.getElementById("wps");
  35.       this.instance = await WebOfficeSDK.init({
  36.         officeType: 'w',    // 文件类型
  37.         appId: "XXXXXXXXXXXXXXXX",
  38.         fileId: fileId,
  39.         mount: ele,
  40.         mode: "normal",
  41.         token: "",
  42.       });
  43.     },
  44.   },
  45. };
  46. </script>
  47. <style lang="scss">
  48. </style>
复制代码
4、在运行中发现有点问题,如果是在页面中套用的话,会占满全屏,左侧有菜单的话,会有遮挡,没有找到好的方法,

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

熊熊出没

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表