使用APICloud实现文档下载和预览功能

简介: 使用 APICloud 开发 app 时,可以使用 api.download 方法实现下载;预览文档可以使用 superFile 模块。superFile 模块封装了基于腾讯浏览服务 TBS,使用 X5Webkit 内核,实现文件的展示功能,支持多种文件格式(PDF、Word、Execl、TXT、PPT)。

文档下载是很多 app,尤其是企业应用中常用的功能。使用 APICloud 开发 app 时,可以使用 api.download 方法实现下载;预览文档可以使用 superFile 模块。superFile 模块封装了基于腾讯浏览服务 TBS,使用 X5Webkit 内核,实现文件的展示功能,支持多种文件格式(PDF、Word、Execl、TXT、PPT)。

 

在项目中添加 superFile 模块:

网络异常,图片无法展示
|

 

然后编译自定义 loader ,把自定义 loader 安装包安装到手机上,然后就可以使用 APICloud Studio3 wifi 同步功能,把代码同步到自定义 loader 中进行调试。 参考教程: https://docs.apicloud.com/Dev-Guide/Custom_Loader

 

实例代码如下:

<template>
  <safe-area>
    <scroll-view class="main" scroll-y>
      <view><text onclick='this.downloadDoc_open'>下载并打开文档</text></view>
    </scroll-view>
  </safe-area></template><style>.main { width: 100%;  height: 100%; background-color: #fff;
}</style><script>export default { name: 'test',
  data() {    return {
    }
  },
  apiready() {
  },  methods: {
    downloadDoc_open() {
      api.download({        url: '',  // 填写要下载文档的url
        savePath: 'fs://myapp/test.doc',        report: true,       cache: true,        allowResume: true
      }, function (ret, err) {        if (ret.state == 1) {         //下载成功
          console.log(JSON.stringify(ret));         if (api.systemType == 'ios') {            // ios  不需要初始化,直接open
            var superFile = api.require('superFile');
            superFile.open({              path: ret.savePath,
            })
          }         if (api.systemType == 'android') {            console.log(2);           var superFile = api.require('superFile');
            superFile.init(function (ret) {             if (ret.eventType == 'onViewInitFinished') {
                superFile.open({                  path: ret.savePath
                })
              }
            });
          }
        }
      });
    }
  }
}</script>

 


目录
相关文章
|
算法 C++
【C++11算法】move和move_backward
【C++11算法】move和move_backward
402 0
|
6月前
|
前端开发 JavaScript 数据格式
通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据和性能优化,reduce()的使用详解(附实际应用代码)
array.reduce()可以用来数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据、性能优化等,使用难度相对高一些,但是能大大减少代码量。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时
|
10月前
|
数据可视化 开发工具 git
如何解决 Git 版本控制系统中冲突的问题?
在Git版本控制系统中,冲突是指在合并或拉取操作时,两个或多个开发者对同一文件的同一部分进行了不同的修改,导致Git无法自动确定应该采用哪种修改。
284 1
|
11月前
|
安全 前端开发 测试技术
dapp/swap去中心化交易所系统开发
DApp/Swap去中心化交易所系统基于区块链技术,通过智能合约实现数字资产的去中心化交易。其开发流程涵盖项目规划、智能合约编写与审计、前后端开发、系统测试部署及维护升级等多个环节,需确保系统合规、安全,并提供良好用户体验。同时,建立技术支持与活跃社区,促进用户交流与反馈。
|
机器学习/深度学习 人工智能 Cloud Native
助力 AI 技术共享,蚂蚁开源又一核心技术“因果学习系统 OpenASCE”
技术开源是蚂蚁集团的重要技术战略,我们希望通过开源建立起开放、包容的技术生态,让更多人共享技术红利。
助力 AI 技术共享,蚂蚁开源又一核心技术“因果学习系统 OpenASCE”
|
Python
【Python】正则表达式判断是否存在连续相同的两个字符,连续两个字符一模一样
Python函数isContinuousChar,使用正则表达式来检测字符串中是否存在连续的相同字母或数字,并返回存在此类字符的列表长度,如果列表长度为0则表示不存在连续相同的字符。
403 2
|
IDE Java Spring
Spring Boot中的多模块项目构建
Spring Boot中的多模块项目构建
|
JavaScript
Vue2中子组件调用父组件的方法,父组件调用子组件的方法,父子组件互相传值和方法调用
Vue2中子组件调用父组件的方法,父组件调用子组件的方法,父子组件互相传值和方法调用
Vue2中子组件调用父组件的方法,父组件调用子组件的方法,父子组件互相传值和方法调用
|
存储 SQL Python
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。