vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
免费下载资源
·
项目需求是, 在vue中进行文档管理, 因此最后选择了wps在线编辑版本。
一、使用方法
-
在官网下载js-sdk js文件
-
全局引入
import * as WPS from './assets/js/jwps.es6' // 将其挂载到原型对象上 Vue.prototype.wps = WPS;
-
使用方法
- .将其封装为组件
<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>
- 在需要的页面引入
<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页面。
文章内容可能不全, 有疑问及时留言哈。
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891
Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)