4.6 KiB
4.6 KiB
OnlyOffice Flutter 插件 - 示例运行指南
简单示例
这是一个使用真实 OnlyOffice 服务的简单示例,展示如何快速集成和使用插件。
配置信息
示例中使用的配置:
- OnlyOffice 服务:
https://document.23544.com/ - JWT Token:
6Yr6DGoVV3ACS6GtVgdH453mXxLftd6Q - 示例文件:
https://quanxue-oa.oss-cn-chengdu.aliyuncs.com/20250815/1755244744547.pptx
运行简单示例
# 进入 example 目录
cd example
# 运行简单示例
flutter run -t lib/simple_example.dart
在 Android 设备上运行
# 连接 Android 设备或启动模拟器
flutter devices
# 运行
flutter run -t lib/simple_example.dart -d android
在 iOS 设备上运行
# 连接 iOS 设备或启动模拟器
flutter devices
# 运行
flutter run -t lib/simple_example.dart -d ios
高级示例
项目还包含一个功能更丰富的高级示例 main_advanced.dart。
运行高级示例(需要配置环境变量)
flutter run -t lib/main_advanced.dart \
--dart-define ONLYOFFICE_SERVER_URL=https://document.23544.com/ \
--dart-define ONLYOFFICE_FILE_URL=https://quanxue-oa.oss-cn-chengdu.aliyuncs.com/20250815/1755244744547.pptx \
--dart-define ONLYOFFICE_JWT_SECRET=6Yr6DGoVV3ACS6GtVgdH453mXxLftd6Q
代码示例
基本用法
import 'package:yx_only_office_flutter/yx_only_office_flutter.dart';
// 在 Widget 树中使用
OnlyOfficeViewer(
onlyOfficeServerUrl: 'https://document.23544.com/',
fileUrl: 'https://your-file-url.com/document.pptx',
token: 'your-jwt-token',
)
不带 Token 使用
如果你的 OnlyOffice 服务器不需要 JWT 验证:
OnlyOfficeViewer(
onlyOfficeServerUrl: 'https://document.23544.com/',
fileUrl: 'https://your-file-url.com/document.docx',
// token 参数可以省略或设置为 null
)
完整页面示例
import 'package:flutter/material.dart';
import 'package:yx_only_office_flutter/yx_only_office_flutter.dart';
class DocumentViewerPage extends StatelessWidget {
const DocumentViewerPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('文档查看器'),
),
body: OnlyOfficeViewer(
onlyOfficeServerUrl: 'https://document.23544.com/',
fileUrl: 'https://quanxue-oa.oss-cn-chengdu.aliyuncs.com/20250815/1755244744547.pptx',
token: '6Yr6DGoVV3ACS6GtVgdH453mXxLftd6Q',
),
);
}
}
支持的文档格式
Word 文档
.doc,.docx- Microsoft Word.pdf- PDF 文档.txt- 文本文件.rtf- 富文本格式.odt- OpenDocument 文本
Excel 表格
.xls,.xlsx- Microsoft Excel.csv- CSV 文件.ods- OpenDocument 表格
PowerPoint 演示文稿
.ppt,.pptx- Microsoft PowerPoint.odp- OpenDocument 演示文稿
常见问题
1. 文档无法加载
可能原因:
- OnlyOffice 服务器地址不正确
- 文件 URL 无法访问
- JWT Token 无效或过期
- 网络连接问题
解决方案:
- 检查服务器 URL 是否正确
- 确认文件 URL 可以在浏览器中访问
- 验证 JWT Token 是否有效
- 检查网络连接
2. Android 上网络请求被阻止
解决方案: 确保在 AndroidManifest.xml 中添加了网络权限:
<uses-permission android:name="android.permission.INTERNET" />
3. iOS 上无法加载 HTTP 内容
解决方案: 如果使用 HTTP(不推荐),需要在 Info.plist 中配置:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
注意: 建议使用 HTTPS 以确保安全。
性能优化建议
- 预加载文档: 如果知道用户将要查看哪些文档,可以预先加载
- 缓存策略: 考虑实现文档缓存机制
- 网络监控: 监控网络状态,在网络不佳时给出提示
- 错误处理: 实现适当的错误处理和重试机制
调试
启用 WebView 调试(Android)
import 'package:webview_flutter_android/webview_flutter_android.dart';
// 在初始化时启用调试
if (Platform.isAndroid) {
final controller = WebViewAndroidController();
await controller.enableDebugging(true);
}
查看日志
运行应用时查看控制台输出:
flutter run -t lib/simple_example.dart -v
更多信息
技术支持
如有问题或建议,请提交 Issue 或 Pull Request。
最后更新: 2025年12月4日