# OnlyOffice Flutter 插件 - 示例运行指南 ## 简单示例 这是一个使用真实 OnlyOffice 服务的简单示例,展示如何快速集成和使用插件。 ### 配置信息 示例中使用的配置: - **OnlyOffice 服务**: `https://document.23544.com/` - **JWT Token**: `6Yr6DGoVV3ACS6GtVgdH453mXxLftd6Q` - **示例文件**: `https://quanxue-oa.oss-cn-chengdu.aliyuncs.com/20250815/1755244744547.pptx` ### 运行简单示例 ```bash # 进入 example 目录 cd example # 运行简单示例 flutter run -t lib/simple_example.dart ``` ### 在 Android 设备上运行 ```bash # 连接 Android 设备或启动模拟器 flutter devices # 运行 flutter run -t lib/simple_example.dart -d android ``` ### 在 iOS 设备上运行 ```bash # 连接 iOS 设备或启动模拟器 flutter devices # 运行 flutter run -t lib/simple_example.dart -d ios ``` ## 高级示例 项目还包含一个功能更丰富的高级示例 `main_advanced.dart`。 ### 运行高级示例(需要配置环境变量) ```bash 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 ``` ## 代码示例 ### 基本用法 ```dart 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 验证: ```dart OnlyOfficeViewer( onlyOfficeServerUrl: 'https://document.23544.com/', fileUrl: 'https://your-file-url.com/document.docx', // token 参数可以省略或设置为 null ) ``` ### 完整页面示例 ```dart 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` 中添加了网络权限: ```xml ``` ### 3. iOS 上无法加载 HTTP 内容 **解决方案**: 如果使用 HTTP(不推荐),需要在 `Info.plist` 中配置: ```xml NSAppTransportSecurity NSAllowsArbitraryLoads ``` **注意**: 建议使用 HTTPS 以确保安全。 ## 性能优化建议 1. **预加载文档**: 如果知道用户将要查看哪些文档,可以预先加载 2. **缓存策略**: 考虑实现文档缓存机制 3. **网络监控**: 监控网络状态,在网络不佳时给出提示 4. **错误处理**: 实现适当的错误处理和重试机制 ## 调试 ### 启用 WebView 调试(Android) ```dart import 'package:webview_flutter_android/webview_flutter_android.dart'; // 在初始化时启用调试 if (Platform.isAndroid) { final controller = WebViewAndroidController(); await controller.enableDebugging(true); } ``` ### 查看日志 运行应用时查看控制台输出: ```bash flutter run -t lib/simple_example.dart -v ``` ## 更多信息 - [插件 README](../README.md) - [测试报告](../TEST_REPORT.md) - [API 文档](../docs/API_REFERENCE.md) - [高级功能](../docs/ADVANCED_FEATURES.md) ## 技术支持 如有问题或建议,请提交 Issue 或 Pull Request。 --- **最后更新**: 2025年12月4日