许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Autodesk Forge Viewer实现单机离线应用教程

Autodesk Forge Viewer实现单机离线应用教程

阅读数 35
点赞 0
article_banner

Autodesk Forge Viewer 真正实现单机离线应用)

关于Autodesk Forge Viewer的离线实现,官方已经允许将SVF及相关文档导出,允许用户将SVF等文档部署到私有服务器上,但是本文讨论的是另外一种需求,我们遇见的客户需求是,用户在移动环境中,可能无法接入网络(例如在矿井、仓库等无网络环境)或者不允许大的 数据传输  等情况,这时我们需要考虑将SVF等文件持久化到手机Sqlite数据库、手机设备的文件系统、浏览器的储存对象(LocalStorage)中。

实现的思路是:

修改Viewer的前端代码,在线模式下,将Viewer像服务器发送的请求返回结果实现本地的持久化。

   开发环境:APP是利用Cordova开发的,前端框架使用的是Sencha Touch。

wgs.js
            worker.addEventListenerWithIntercept = function (listener) {
				var me = this;
				//这里APP是利用Cordova开发的,前端框架使用的是Sencha Touch
				var forgeFileStore  = Ext.getStore('forgeFileStore');
				
                var callbackFn = function callbackFn(ew) {
                    if (worker.checkEvent(ew)) return;
					//Online时储存worker传过来的svf文件到手机。
					if(ew.data.debug == "response"){
						forgeFileStore.addFile(ew.data.ckMessage.url);
					}else if(ew.data.debug == "request"){
						forgeFileStore.addCount(ew.data.ckMessage.url);
					}
                    listener(ew);
                };
                if (!interceptListeners) interceptListeners = [];
                interceptListeners.push({ arg: listener, callback: callbackFn });
                worker.addEventListener('message', callbackFn, false);		
                return callbackFn;
            };
123456789101112131415161718192021

在离线模式下,将 Web 请求修改为读取持久化的数据实现离线的目标

wgs.js
					this.WORKER_FETCHING_SCRIPT = true;
					var forgeFileStore  = Ext.getStore('forgeFileStore');
					if(!forgeFileStore.deviceIsOnline){
						_this.WORKER_FETCHING_SCRIPT = false;
						window.URL = window.URL || window.webkitURL;
						var callbacks = _this.WORKER_FETCHING_CALLBACKS.concat();
						_this.WORKER_FETCHING_CALLBACKS = [];
						for (var i = 0; i < callbacks.length; ++i) {
							callbacks[i].successCB && callbacks[i].successCB();
						};
						_this.WORKER_OFFLINEDATA_URL = forgeFileStore.getStaticFiles(scriptURL);
					}else{
						xhr.send();
					}
123456789101112131415

经过上述的对Viewer的相关定制,可实现Viewer真正的单机离线应用。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空