uni-app HBuilderX某次更新后 腾讯tbs文件服务的office预览插件无法正常使用
uni-app HBuilderX某次更新后 腾讯tbs文件服务的office预览插件无法正常使用
测试过的手机
xiaomi8,redmik30,苹果12
示例代码
ios正常,安卓点击下载没反应
操作步骤
downloadPDF(path) {
uni.downloadFile({
url: path,
success: function(res) {
var filePath = res.tempFilePath;
if (uni.getSystemInfoSync().platform == 'android') {
let docPreview = uni.requireNativePlugin('Dasu-doc_preview');
console.log(filePath)
docPreview.openDoc(plus.io.convertLocalFileSystemURL(filePath))
console.log(11111111111)
} else {
uni.openDocument({
filePath: filePath,
success: function(res) {
console.log('打开文档成功');
}
});
}
},
fail(e) {
console.log(e)
},
complete(w) {
console.log(w)
}
});
}
预期结果
downloadPDF(path) {
uni.downloadFile({
url: path,
success: function(res) {
var filePath = res.tempFilePath;
if (uni.getSystemInfoSync().platform == 'android') {
let docPreview = uni.requireNativePlugin('Dasu-doc_preview');
console.log(filePath)
docPreview.openDoc(plus.io.convertLocalFileSystemURL(filePath))
console.log(11111111111)
} else {
uni.openDocument({
filePath: filePath,
success: function(res) {
console.log('打开文档成功');
}
});
}
},
fail(e) {
console.log(e)
},
complete(w) {
console.log(w)
}
});
}
实际结果
uni.downloadFile({
url: path,
success: function(res) {
var filePath = res.tempFilePath;
if (uni.getSystemInfoSync().platform == 'android') {
let docPreview = uni.requireNativePlugin('Dasu-doc_preview');
console.log(filePath)
docPreview.openDoc(plus.io.convertLocalFileSystemURL(filePath))
console.log(11111111111)
} else {
uni.openDocument({
filePath: filePath,
success: function(res) {
console.log('打开文档成功');
}
});
}
},
fail(e) {
console.log(e)
},
complete(w) {
console.log(w)
}
});
更多关于uni-app HBuilderX某次更新后 腾讯tbs文件服务的office预览插件无法正常使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app HBuilderX某次更新后 腾讯tbs文件服务的office预览插件无法正常使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请联系插件作者解决
应该不是插件的原因
换插件吧,那个插件没维护了,https://ext.dcloud.net.cn/plugin?id=3226这个不错
在 uni-app
项目中使用腾讯 TBS(Tencent Browser Service)的 Office 预览插件时,如果遇到无法正常使用的问题,尤其是在 HBuilderX
更新后,可以尝试以下步骤进行排查和解决:
1. 检查 TBS 插件版本
确保你使用的 TBS 插件版本与当前的 HBuilderX
版本兼容。HBuilderX
的更新可能会导致某些插件或依赖的 API 发生变化,因此需要更新 TBS 插件到最新版本。
2. 检查 manifest.json
配置
确保在 manifest.json
文件中正确配置了 TBS 插件。检查以下配置项:
{
"app-plus": {
"plugins": {
"tbs": {
"version": "x.x.x", // 确保版本号正确
"provider": "tencent"
}
}
}
}
3. 检查权限配置
TBS 插件可能需要某些权限才能正常工作。确保在 manifest.json
中正确配置了所需的权限。例如:
{
"app-plus": {
"permissions": [
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"
]
}
}
4. 检查文件路径
确保你传递给 TBS 插件的文件路径是正确的。TBS 插件通常需要文件的绝对路径,而不是相对路径。你可以使用 uni.getFileSystemManager()
或 uni.downloadFile()
来获取文件的正确路径。
5. 查看日志信息
在 HBuilderX
的控制台中查看日志信息,检查是否有任何错误或警告信息。这些信息可以帮助你定位问题所在。
6. 更新 HBuilderX
和 TBS SDK
如果以上步骤都无法解决问题,尝试更新 HBuilderX
到最新版本,并确保你使用的 TBS SDK 也是最新版本。有时,问题可能是由于 HBuilderX
或 TBS SDK 的 bug 导致的,更新到最新版本可能会修复这些问题。
7. 联系官方支持
如果问题仍然存在,建议联系 uni-app
或 TBS 的官方技术支持团队,提供详细的错误信息和日志,以便他们帮助你解决问题。
8. 使用其他替代方案
如果 TBS 插件无法正常工作,可以考虑使用其他 Office 文件预览方案,比如使用 WebView
加载在线文档,或者使用其他第三方插件。
示例代码
以下是一个使用 TBS 插件预览 Office 文件的示例代码:
uni.downloadFile({
url: 'https://example.com/path/to/your/file.docx',
success: (res) => {
if (res.statusCode === 200) {
const filePath = res.tempFilePath;
uni.openDocument({
filePath: filePath,
fileType: 'docx',
success: function (res) {
console.log('打开文档成功');
},
fail: function (err) {
console.log('打开文档失败', err);
}
});
}
},
fail: (err) => {
console.log('文件下载失败', err);
}
});