# 【智体OS】官方上新发布“空钥登陆”--方便访客使用智体操作系统OS和智体应用
dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角浏览3D场馆),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!
dtns.connector是dtns.network的客户端软件,允许多用户方便自由地连接dtns.network的智体设备。支持使用内置的poplang智体编程语言实现3D组件的智能化编程——语法超简单,一句话语法,人人轻松上手!通过poplang智体编程,可轻松创建、编辑、分发xverse-3D智体应用。
本次上新的主要内容为:dtns.os智体OS的客户端dtns.connector,支持以“无钥登录”模式使用客户端的智体应用,方便访客使用智体OS的智体应用资源和资产数据。
# 更新内容
1、【空钥登陆】:方便访客和匿名用户使用dtns.os智体OS客户端系统——相当于匿名访客系统——从而允许dtns.os智体OS成为一个成熟的新操作系统。【空钥登陆】支持访问头榜、使用pop-fastdown文件下载、系统智体应用、3D智体应用等等强大的功能模块。
2、文件极速下载:使用file-hash进行唯一性标识并缓存,遇同hash文件极速下载。
3、优化重连机制:避免dtns.ibchat等后台型ib3.hub节点连接重试过于频繁,每次尝试连接限制为5次内。
4、优化重新登录:无登录会话尝试使用钱包中的密钥进行恢复登录。
完全开源:dtns.connector和相关项目均开源。详见官网dtns.top
# 详细升级内容
dtns.connector
【新增】DTNSManager.js中增加缓存dweb-xmsg-list的函数saveRunCache 和 queryRunCache,以便在无网络连接时返回缓存数据。并支持params-user-id和s-id无传参时,使用localStorage快速读取的速度提升代码——取代iSessionDb的慢速查询。
【新增】DTNSStrings.js的indexconnectlogin-no-key,空钥登录提示语(中英文)
【新增】rpc-client.js中支持了以file-hash为核心的重复文件下载提升函数readFileDataFromCache和addFileData2Cache,以便在下载文件时提供文件下载加速。并支持check_and_reconnect()重连函数,对于this.mywallet.empty_key_flag空钥登录状态的重连以60s延迟方式进行(支持quick_web3name的空钥登录连接尝试--平衡无与有之间的差距)
【优化】apiindex.js中的connectIBChatSvr函数,将重连尝试次数从100减少至1,大大提升日志的可阅读性——避免浪费网络资源。
【新增优化】apinetworkindex.js中的initWebSocket函数,支持!rpc_client.mywallet.empty_key_flag 的判断(如果这个,不进行重连尝试)——并删除了多余的session-error处理(已在dtnsManager中进行处理,不需在此重复进行)。
【新增】connect.vue中增加了loginByEmptyKey函数,用于空钥登录(支持设置rpc_client.mywallet.empty_key_flag=true,以便在其它重试逻辑中据此减少重连,【新增】在refresh重新登录函数中,如登录失败以保存的密钥进行尝试登录———— 使用g_dchatManager.loginIB3Device函数。
【修复】DTNSManager.js中的saveRunCache函数,应该使用run函数时的dtnsUrlOrigin,这样才能正确避免ib3app和web3的差异。
【优化】rpc-client.js中的check_and_reconnect函数,如rpc_client.roomid与当前的this.roomid不一致时(代表当前的client是后台运行的rpc-client,故仅重连尝试5次----依然可以通过sendData-url进行再次触发重连)
# 使用教程(让我们看看【空钥登陆】都能干什么?)
一、打开dtns.connector的连接界面
二、点击【空钥登陆】,登录跳转成功
显示无钥登录成功。
三、查看我的页面
可以看到,登录的用户是系统用户:no-key-user
四、来到dweb头榜页面,进行no-key-user【空钥登陆】用户的文件下载测试
注:点击该*.docx文件名,显示下载进度(最终完成下载:如下图所示)
五、点击右上角的系统应用图标,查看系统应用【实时视频】【福刻Fork】【文件夹】【画图】【2D智体应用】【表单引擎】【3D智体应用】【文档】【海报制作】【手绘作品】【CAD】【markdown】【地图标注】【搜索*】【Rt实时应用*】【rtterm-pty分布式终端】等等智体应用
六、点击【3D智体应用】进入xverse-3D轻应用编辑器(基于three.js的3D场景编辑器)
七、回到系统应用面板,点击【手绘作品】
进入手绘作品编辑器(基于Excalidraw开源手绘设计器):
八、返回首页,并点击左下角的【智体IB】进入智体聊天窗口,进行poplang智体指令编程(例如在输入框输入;$.alert将调用js里的全局函数alert,弹窗显示一字符串——分号;$.代表着执行poplang指令,$.代表全局函数)
注:我们看到无钥登陆的访客系统可以使用dtns.connector智体OS客户端的强大能力,可以完成测试、体验、查阅头榜内容、下载文件等访客功能,并允许体验poplang智体编程、3D智体应用开发等等强大的智体OS应用生态系统。
总结:dtns.os智体OS通过先进的快速更新的系统功能,为所以智体应用提供分布式智体编程的终极体验。【空钥登陆】系统允许访客使用dtns.connector客户端智体应用,以简易友好的方式服务每一个人。