vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。

2023-11-19

项目需求是, 在vue中进行文档管理, 因此最后选择了wps在线编辑版本。

一、使用方法

  1. 在官网下载js-sdk  js文件
    
  2. 全局引入

    import * as WPS from './assets/js/jwps.es6'
    // 将其挂载到原型对象上
    Vue.prototype.wps = WPS;
    
  3. 使用方法

    1. .将其封装为组件
    	<template>
    	    <div id="viewFile"></div>
    	</template>
    <script>
    export default {
        props:['wpsUrl','token'],
        data(){
            return{
                // 是否开启简易模式
                simpleMode:false,
                }
            },
            mounted(){
                this.openWps(this.wpsUrl,this.token);
            },
            methods:{
                openWps(url, token) {
                    let _this = this;
                    const wps = _this.wps.config({
                        mode: _this.simpleMode?'simple':'normal',
                        mount: document.querySelector('#layoutBox'),
                        wpsUrl: url,
    
                        commonOptions: {
                            isShowTopArea: true, // 隐藏顶部区域(头部和工具栏)
                            isShowHeader: false, // 隐藏头部区域,
                        },
    
                        //  commandBars: [
                        //     // 可以配置多个组件
                        //     {
                        //     cmbId: "Print",
                        //     attributes: [{
                        //         name: "visible",
                        //         value: false
                        //     }]
                        //     },
                        //     {
                        //     cmbId: "HeaderRight",
                        //     attributes: [{
                        //         name: "visible",
                        //         value: false
                        //     }]
                        //     }
                        // ]
    
                    });
                    wps.setToken({"token": token});
                }
    </script>
    
    
    1. 在需要的页面引入
<template>
    <viewFile v-bind:wpsUrl="jwpsUrl" v-bind:token="jtoken"  />
</template>
<script>
    import viewFile from '../../../components/view/view.vue'
    export default {
        data(){
            return{
                jwpsUrl:'',
                jtoken:'',
          }
        },
        created() {
            this.jwpsUrl = sessionStorage.wpsUrl;
            this.jtoken = sessionStorage.token;

        },
        // 通过组件渲染wps的 iframe 框架
        components: {
            viewFile
        },
        beforeDestroy() {
        }
    }
</script>

3.在相关页面调用

		 editFileDetail(
          {
              type: 'edit',
              file_id: row.id
          }
        ).then( res => {
            let r = res.data.data;
            // 跳转 使用sessionStorage,避免关键信息在ip中暴露
            // 使用push会停留当前页面,故不采纳
            // params 传递参数,子组件无法渲染iframe组件,故不采纳
            sessionStorage.wpsUrl = r.path;
            sessionStorage.token = r.token;
            this.$router.push( { name: 'viewFile'})
        })

接口后端提供,前端调用,得到wpsUrl 和 token , 然后跳转到wps页面。

文章内容可能不全, 有疑问及时留言哈。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。 的相关文章

  • 基于sklearn的简单分类器

    基于sklearn的简单分类器 输入 输出 3 1 0 2 5 1 1 8 1 6 4 0 5 2 0 3 5 1 4 7 1 4 1 0 7 5 已知部分输入和部分输出求当输入为7 5时输出为多少 我们观察上面的规律不难发现 当输入的第一

随机推荐

  • react 使用 scss

    react 使用 scss 日常记录开发中遇到的坑 1 使用 npm install sass loader node sass S 进行安装 2 在页面中直接使用 有时候可以 有时候不行 原因 我个人觉得安装的两个插件本版兼容问题 nod
  • vue,vue-cli和@vue/cli是什么关系?有什么区别?

    vue是构建用户界面的渐进式JavaScript 框架 vue cli是vue的一个官方脚手架工具 快速工程化命令工具 用来帮助程序员们快速搭建基于vue框架的开发环境 vue有很多脚手架工具 vue cli只是其中一种 侧重于单页面应用
  • pytorch 取对角线元素/矩阵对角线元素置0

    pytorch 取对角线元素 矩阵对角线元素置0 使用 torch diag 取对角线元素 使用 torch diag embed 恢复维度 import torch a torch randn 3 3 print a tensor 0 7
  • 在Echarts中的tooltip上添加点击按钮

    需求 在Echarts的tooltips中添加点击按钮并可以鼠标悬停点击该按钮 功能实现 在option中的tooltip添加enterable true的属性 表示鼠标可以移入tooltip中 再在formatter中添加
  • 从Java到区块链:如何成为区块链开发人员

    最近这些天 区块链是每个开发人员的谈资 来自各个领域的许多软件开发商现在正试图进入区块链市场 我们与Mobilunity的区块链软件开发人员Eugene Kyselev 讨论了他是如何走出区块链开发方面的第一步的 希望对大家有所帮助 JAX
  • 上海链节科技:通证经济的到来,拉开了去中心化协作序幕

    国家在肯定扶持区块链技术的同时 也针对币圈进行了强监管 区块链行业经历疯狂到沉默 开始回归理性 重新审视技术带来的变革 技术是无罪的 分布式存储 去中心化 智能合约 加密 挖矿等种种技术或设计理念 都是为了保障信任 实现价值传递 降低交易成
  • Dockerfile: ENTRYPOINT vs CMD

    Dockerfile ENTRYPOINT和CMD的区别 dongmao zhang software engineer 132 人赞同了该文章 翻译 Dockerfile ENTRYPOINT vs CMD 在我们查阅Dockerfile
  • ANDROID

    1 环境构建 2 模拟测试 3 Activity 4android中的资源 5 UI 6 各种控件
  • 剑指offer第二版面试题20:表示数值的字符串(java)

    题目描述 请实现一个函数用来判断字符串是否表示数值 包括整数和小数 例如 字符串 100 5e2 123 3 1416 和 1E 16 都表示数值 但是 12e 1a3 14 1 2 3 5 和 12e 4 3 都不是 分析 1 在数值之前
  • ubuntu18.04上安装TensorFlow2.0

    推特上几乎每天都有关于深度学习中Keras TensorFlow哪个个才是最好的框架的口水战 2019年后 这将不在是个问题 2019年初 tf keras 子模块已引入TensorFlow v1 10 0中 现在 在TensorFlow
  • 线性代数——二次型

    一 通过矩阵研究二次方程 二次型的定义 把含有n个变量的二次齐次函数或方程称为二次型 例如 二次型可以用矩阵来表示 可以表示为 更一般的情况 可以表示为 令 则上式表示为 这就是我们常见的二次型表示方式 在 Linear Algebra a
  • spark groupByKey和groupBy,groupByKey和reduceByKey的区别

    1 groupByKey Vs groupBy 用于对pairRDD按照key进行排序 author starxhong object Test def main args Array String Unit val sparkConf n
  • java文件引用规则 同目录的不用引用 包中的需要引用

    import com Employee public class Hello public static void main String args Person p new Person John Doe11 Employee e new
  • Java中实现数组全排列

    全排列 从n个不同元素中任取m m n 个元素 按照一定的顺序排列起来 叫做从n个不同元素中取出m个元素的一个排列 当m n时所有的排列情况叫全排列 例如 1 2 3三个元素的全排列为 1 2 3 1 3 2 2 1 3 2 3 1 3 1
  • 抖音seo矩阵系统源码搭建开发详解

    抖音SEO矩阵系统是一个用于提高抖音视频在搜索引擎排名的工具 如果你想开发自己的抖音SEO矩阵系统 以下是详细的步骤 开发步骤详解 确定你需要的功能和算法 抖音SEO矩阵系统包含很多功能 比如关键词研究 内容优化 链接建设 社交媒体营销等
  • csdn样式设置

    csdn样式设置 一 文字字体 颜色 大小 二 字体居中 加粗 倾斜 分割线 三 缩进 四 下划线 删除线 空行 换行 五 添加跳转目录 一 文字字体 颜色 大小 设置文字字体的基本语法如下 字体 常见的有宋体 微软雅黑 黑体 华文行楷 方
  • 《每日一题》NO.38:谈谈芯片的IO排布形式,与封装之间的关系?

    芯司机 每日一题 会每天更新一道IC面试笔试题 其中有些题目已经被很多企业参考采用了哦 聪明的你快来挑战一下吧 多多刷题 巩固技术知识 也为求职笔面试加加分 大家快来做题吧 今天是第38题 本题来谈谈芯片的IO排布形式 与封装之间的关系 今
  • 2021-Efficient Two-Stream Network for Violence Detection Using Separable Convolutional LSTM

    使用可分离卷积LSTM进行暴力检测的高效两流网络 本文亮点为作者对视频进行了预处理 1 取帧差作为输入 2 进行背景抑制 突出运动对象 在模型方面 作者选择了一种轻量级的CNN进行特征提取 MobileNet 模型分为双流 一个流的输入为帧
  • 【深度学习】 Python 和 NumPy 系列教程(廿一):Matplotlib详解:2、3d绘图类型(7)3D表面投影图(3D Surface Projection Plot)

    目录 一 前言 二 实验环境 三 Matplotlib详解 1 2d绘图类型 2 3d绘图类型 0 设置中文字体 1 3D线框图 3D Line Plot 2 3D散点图 3D Scatter Plot 3 3D条形图 3D Bar Plo
  • vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。

    项目需求是 在vue中进行文档管理 因此最后选择了wps在线编辑版本 一 使用方法 在官网下载js sdk js文件 全局引入 import as WPS from assets js jwps es6 将其挂载到原型对象上 Vue pro