标准连接
我们维护一个WebSocket连接以与MoralisLiveQuery 服务器 进行通信。在服务器端使用时,我们使用ws包,在浏览器中使用window.WebSocket。我们认为在大多数情况下,没有必要直接处理WebSocket连接。因此,我们开发了一个简单的API,让您专注于自己的业务逻辑。
创建订阅
let query = new Moralis.Query('Game');let subscription = await query.subscribe();
你得到的订阅实际上是一个事件发射器。有关事件发射器的更多信息,请查看此处。您将通过此订阅获得LiveQuery事件。当您第一次调用subscribe时,我们将尝试为您打开与LiveQuery服务器的WebSocket连接。
事件处理
我们定义了几种类型的事件,您将通过订阅对象获得:
打开事件
subscription.on('open', () => { console.log('subscription opened');});
当您调用
query.subscribe()
时,我们会向LiveQuery服务器发送一个订阅请求。当我们从LiveQuery服务器获得确认时,将发出此事件。
当客户端无法维护WebSocket连接并与LiveQuery服务器断开连接时,我们将尝试自动重新连接LiveQuery服务器。如果我们重新连接LiveQuery服务器并成功重新订阅MoralisQuery,您也会收到此事件。
创建事件
subscription.on('create', (object) => {console.log('object created');});
当创建一个新的MoralisObject并满足您订阅的MoralisQuery时,您将收到此事件。该对象是创建的MoralisObject。
注意:在新的Nitro服务器上,对于自动同步的表(例如同步事件),将使用更新而不是创建。
更新事件
subscription.on('update', (object) => {console.log('object updated');});
当现有MoralisObject满足MoralisQuery时,您的订阅会更新(MoralisObject在更改前后满足MoralisQuery),您将收到此事件。该对象是已更新的MoralisObject。它的内容是MoralisObject的最新值。
进入事件
subscription.on('enter', (object) => {console.log('object entered');});
当现有MoralisObject的旧值不满足MoralisQuery但其新值满足MoralisQuery时,您将收到此事件。对象是进入MoralisQuery的MoralisObject。它的内容是MoralisObject的最新值。
离开事件
subscription.on('leave', (object) => {console.log('object left');});
当现有MoralisObject的旧值满足MoralisQuery但其新值不满足MoralisQuery时,您将收到此事件。对象是离开MoralisQuery的MoralisObject。它的内容是MoralisObject的最新值。
删除事件
subscription.on('delete', (object) => {console.log('object deleted');});
当满足MoralisQuery的现有MoralisObject被删除时,您将收到此事件。对象是被删除的MoralisObject。
关闭事件
subscription.on('close', () => {console.log('subscription closed');});
当客户端失去与LiveQuery服务器的WebSocket连接并且我们无法获得更多事件时,您将获得此事件。
退订
subscription.unsubscribe();
如果您想停止接收来自MoralisQuery的事件,您只需取消订阅即可。之后,您将不会从订阅对象中获得任何事件。
关闭
Moralis.LiveQuery.close();
使用完LiveQuery后,您可以调用
Moralis.LiveQuery.close()
。此函数将关闭与LiveQuery服务器的WebSocket连接,取消自动重新连接,并取消订阅所有基于它的订阅。如果在此之后调用
query.subscribe()
,我们将创建一个到LiveQuery服务器的新WebSocket连接。
设置服务器URL
Moralis.liveQueryServerURL = 'ws://XXXX'
大多数情况下,您不需要手动设置它。如果您设置了
Moralis.serverURL
,我们将尝试提取主机名并使用ws://hostname作为默认的liveQueryServerURL。但是,如果您想定义自己的liveQueryServerURL或使用不同的协议(例如wss),则应自行设置。
WebSocket状态
我们公开了三个事件来帮助您监控WebSocket连接的状态:
打开事件
Moralis.LiveQuery.on('open', () => {console.log('socket connection established');});
当我们与LiveQuery服务器建立WebSocket连接时,您将收到此事件。
关闭事件
Moralis.LiveQuery.on('close', () => {console.log('socket connection closed');});
当我们失去与LiveQuery服务器的WebSocket连接时,您将收到此事件。
错误事件
Moralis.LiveQuery.on('error', (error) => {console.log(error);});
当发生网络错误或LiveQuery服务器错误时,您将收到此事件。
重新连接
由于整个LiveQuery功能依赖于与LiveQuery服务器的WebSocket连接,因此我们总是尝试保持打开的WebSocket连接。
因此,当与LiveQuery服务器的连接丢失时,我们会尝试自动重新连接。我们在引擎盖下做指数回退。
但是,如果WebSocket连接由于
Moralis.LiveQuery.close()
或
client.close()
而关闭,我们将取消自动重新连接。
SessionToken
当您订阅MoralisQuery时,我们会将
sessionToken
发送到LiveQuery服务器。对于标准API,我们默认使用当前用户的
sessionToken
。对于高级API,您可以在订阅MoralisQuery时使用任何
sessionToken
。需要注意的重要一点是,当您注销或您使用的
sessionToken
无效时,您应该取消订阅并重新订阅MoralisQuery。否则,您可能会遇到安全问题,因为您会收到不应该发送给您的事件。
使用Moralis.Query.or和两个查询的示例
let query1 = new Moralis.Query('test_subscription');let query2 = new Moralis.Query('test_subscription');query1.equalto('a', undefined)query2.equalTo('a', '10')mainQuery = Moralis.Query.or(query1, query2);let subscription = await mainQuery.subscribe();subscription.on('create', (object) => {console.log('object created', object);});subscription.on('update', (object) => {console.log('object updated', object);});
金手指软件的特点?与其他管理软件的优势是那些?
金手指系列软件目前涵盖的专用管理系统包括:推拿足按.美容美发.汽车美容.超市管理等行业软件,还包括网络办公系统.公司网络监控系统。 今后将针对更多的行业陆续开发专业管理系统。 金手指系列软件不同于一般行业软件,其核心特色:采用了目前已成熟的指纹系统进行消费认证,即顾客使用指纹注册成为商家会员,通过指纹识别即可消费或打折,简化了消费程序,省去形色各异的卡的牵绊,新颖时尚,彰显高贵身份。 金手指系列软件配备金手指专用指纹系统可以对会员进行统计分析,快速定位和分类消费群体,使商家可以精准营销其会员,增进会员的粘性从而促进消费。 使用金手指专用指纹系统,不仅可以实现一般收银软件的功能,还能实现指纹储值、指纹消费、指纹会员识别、会员消费行为分析、会员模糊查询、会员细化分类、员工指纹考勤等功能。 对于商家来说,使用指纹系统能避免以下诸多问题:一、 大量会员资料无法统计、查阅、分析;二、 顾客流失现象较为严重;三、 较为被动的销售,无主动性的对顾客或会员进行营销;四、 手工数据统计工作量大;五、 营业金额易出现误差;六、 优惠券或会员卡一次性支出成本高,容易产生库存导致浪费;七、 会员奖励制度不够完善,会员激励机制不够完善;联合使用我公司其他软件还能实现网络办公、远程账目查询、远程视频监控.公司网络监控等功能。 网址:
安卓手机导航软件免费下载有哪些?哪个好
答:目前安卓市场上的免费地图导航软件比较多的,如果问哪个好的话,这个比较难说,要看你的需求了,能够满足你的需求就是好软件。 小编为您推荐几款免费的导航软件,您可以挑选适合自己的那款。 导航软件1:网络手机地图这款软件是由网络公司开发的,你可以直接搜索地点、公交和车站,提供丰富的乘车、步行路线,同时还可以把自己的地理位置分享给朋友,让朋友知晓你的当前位置。 另外,网络地图支持离线功能,将地图数据包下载后,就可以随时随地使用,不再需要联网,非常方便。 最新版的网络地图还提供了周边外卖订餐功能。 网络手机地图下载安卓手机导航软件哪个好安卓手机导航软件免费下载2:老虎地图老虎地图是一款非常优秀的地图导航软件,无论你是搜地点、搜周边还是搜交通,轻松一点就可查到。 你可以按照地域、距离、人气、价格等条件对周边的商店、餐厅等进行筛选,更容易找到符合你需要的地点。 作为一款导航软件,老虎地图同样支持出行方案查询,公交、步行、自驾三种方式随你选。 下载地图数据包可以进行离线查询。 老虎地图下载导航软件3:Google地图Google地图是由谷歌官方提供的导航应用,这款软件功能非常强大,是目前安卓平台上安装量最大的导航软件。 它提供了矢量视图、卫星照片和地形视图三种视图模式,你可以随意进行切换。 同时Google地图提供语音导航功能,你可以很方便的找到周边的景点、商店等场所。 另外,该软件也支持离线地图功能,下载完数据包后就可以进行离线操作,非常实用。 Google地图下载安卓手机导航软件哪个好安卓手机导航软件免费下载4:SOSO地图SOSO地图是一款由腾讯公司开发的地图应用,它覆盖了全国400多个城市,不仅提供了传统地图导航软件的地点查询、出行方式查询、位置定位等功能,还支持3D视图模式,并能360度查看建筑物。 另外,你还可以将自己的当前地理位置分享给好友。 SOSO地图同样支持离线地图功能,将软件的数据包下载后,不仅能随时随地查询地点,还能节省流量。 SOSO地图下载安卓手机导航软件哪个好上面四款应用就是小编为您推荐的导航软件,它们都是免费的,并各有各的特点,您可以根据自己的实际需要进行选择。 无论您是出门驾车、乘公交还是出门旅游找地方,这些软件都可以帮到您。
域名和空间怎么注册和使用
域名注册:在服务商的网站的首页注册一个会员号(免费)--------登录您的会员号----------点击域名注册------在您需要注册的类型下输入你想注册的----------选择域名的后缀----------点击查询-------在显示可以注册的后-----------选择该域名-------------点击注册--------填写注册信息空间:直接购买就可以了域名需要解析和绑定后里访问网站,域名解析在域名管理里面添加A记录---输入www---输入IP---再点击添加A记录----直接点击确定----输入IP绑定在虚拟主机管理里面---点击主机管理---将带www和不带www的一起添加
发表评论