中山建站wordpress 主题 小工具

张小明 2026/3/12 8:06:41
中山建站,wordpress 主题 小工具,如何制作网站网页,太原定制网站制作流程一. 开发环境开发工具#xff1a;DevEco Studio 5.1开发语言#xff1a;ArkTS测试手机#xff1a;华为 Mate 70二. Demo 实现的功能本文ESFramework的鸿蒙版Demo演示了以下功能#xff1a;#xff08;1#xff09;客户端用户上下线时#xff0c;通知其他在线用户。…一. 开发环境开发工具DevEco Studio 5.1开发语言ArkTS测试手机华为 Mate 70二. Demo 实现的功能本文ESFramework的鸿蒙版Demo演示了以下功能1客户端用户上下线时通知其他在线用户。2当客户端与服务端网络断开时进行自动重连当网络恢复后重连成功。3所有在线用户之间可以进行文字聊天。4文件传送。5消息同步调用。6重登陆模式。当同名的用户登陆时会把前面的用户挤掉。这里有该Demo运行的效果 演示视频。文末有该Demo鸿蒙端实现的源码下载源码后对照着这篇文章看会更容易理解。三. Harmony鸿蒙客户端实现说明源码解压后在DevEco Studio中打开Demo项目其结构如下所示1. 文件目录结构image2.定义信息类型在本demo中我们定义5个信息类型分别表示文字聊天消息直接发送给对方文字聊天消息由服务端转发图片消息、撤回消息以及客户端同步调用服务端。其定义如下:复制代码enum InformationTypes{/// 文字(表情)聊天信息TextChat 0,/// 文字(表情)聊天信息 (由服务端转发给消息接收方)TextChat4Transit 1,/// 图片聊天信息ImageChat 2,/// 收到消息发送者 撤回消息请求RecallMsg 3,/// 客户端异步调用服务端ClientSyncCallServer 4,}复制代码3.实现自定义信息处理器客户端的utils里的customizeHandler实现了ICustomizeHandler接口其主要实现HandleInformation方法来处理收到的聊天信息。handleInformation(sourceUserID: string, informationType: number, info: number[]): void{......}4.index.ets 登录页登录页的样式如图所示:Screenshot_2025-10-16T173824输入ip、账号、密码后点击登录输入的数据会用于初始化RapidPassiveEngine以登录。代码如下:复制代码//通过Provide标记engine并定义可以将engine与后代组件双向同步Provide(engine) engine:RapidPassiveEngine|null null//通过State将数据设置为响应式的数据State ip:string 192.168.0.244State userId:string 101State pwd:string 12//点击登录按钮Button(登录,{ type: ButtonType.Normal }).onClick((){//新建一个ESFramework引擎this.engine new RapidPassiveEngine()//通过initialize方法将登录的ip账号密码传进ESFrameworkthis.engine.initialize(this.userId, this.pwd ,this.ip,4530,customizeHandlers,(res){......})})复制代码5.home.ets 好友/功能页好友页里实现了好友列表的展示收到消息后会将消息展示在好友名下方,好友页样式图如下:Screenshot_2025-10-17T084257当用户登录成功后便可以从服务器获取所有在线联系人然后客户端只需要处理这些信息即可渲染页面处理信息代码如下:复制代码//创建一个User接口export interface User{username:string,headImg:string,clientType:ClientType}//在线用户列表State userList:ArrayUser []//登录的时候直接通过新建的引擎获取服务器里所有的在线成员,res为所有在线成员数组this.engine.ContactsOutter.getAllOnlineContacts((res:Arraystring){//在这里添加用户列表......})//监听联系人上线事件this.engine.ContactsOutter.event[ContactsDeviceConnected] (){//如果有联系人上线将会进入这个函数......}复制代码用户列表渲染主要代码如下:复制代码Column() {//使用List来渲染用户列表List() {//通过foreach获取到每一个用户的信息ForEach(this.userList, (item:User) {ListItem() {Flex({direction:FlexDirection.Row,alignItems:ItemAlign.Center}){Image(item.headImg)Flex({direction:FlexDirection.Column,justifyContent:FlexAlign.SpaceBetween}){Text(${item.username})}}}})}}复制代码6. chat.ets 聊天页当有联系人向我发送消息消息各项信息会进入已经实现的customizeHandler里的handleInformation里客户端处理这些信息即可渲染画面聊天页的样式如图所示:Screenshot_2025-10-13T094515处理相关代码如下:复制代码//在utils.ets文件里的customizeHandler类里,需要设置信息处理回调函数,外部才能通过传一个callback获取到收到消息的信息private handleInformationCallback ?: Function;//设置信息处理回调函数setHandleInformationCallback(callback : Function) : void {this.handleInformationCallback callback;}//处理来自其他用户的信息(包括大数据块信息)handleInformation(sourceUserID: string, informationType: number, info: number[]): void {if (this.handleInformationCallback) {//将收到的信息传递到信息处理回调函数里this.handleInformationCallback(sourceUserID, informationType,util.getStr(info))}}//在index.ets里//设置聊天记录字典键为用户id,值为聊天记录数组对象,message为聊天记录数据接口。OrayDic为ESFramework内置的设置字典的方法Provide(userMessages) userMessages: OrayDicstring, ArrayMessage new OrayDic();//获取自定义消息处理器const customizeHandlers new customizeHandler()//设置消息的监听customizeHandlers.setHandleInformationCallback((sendID:string,informationType:number,chatInfo:string){//收到的文字图片信息都会进入这里在这里处理聊天记录......})复制代码聊天记录主要渲染代码如下复制代码Column(){//通过List渲染聊天记录List(){//通过ForEach来获取每一个聊天信息ForEach(this.currentUserMessages,(item:Message){ListItem(){Column(){//文字信息if(item.informationType InformationTypes.TextChat || item.informationType InformationTypes.TextChat4Transit){//对方普通文字消息if(item.SpeakerID this.user?.username){......}//我方普通文字信息else{......}//图片信息if(item.informationType InformationTypes.ImageChat) {//对方图片信息if(item.SpeakerID this.user?.username) {......}//我方图片消息else{......}//文件信息if(item.informationType InformationTypes.File){//对方文件消息if(item.SpeakerID this.user?.username){......}//我方文件信息else{......}//撤回信息// if(item.informationType InformationTypes.RecallMsg)if(item.informationType InformationTypes.RecallMsg) {
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

唐山丰南建设局网站中国建筑材料价格网

Jasminum插件作为专为中文用户设计的Zotero插件,通过其强大的中文PDF元数据抓取和本地附件匹配能力,为科研文献管理提供了坚实基础。本文将从实际问题出发,探讨如何通过插件协同使用,打造一个真正高效的科研工作流。 【免费下载链…

张小明 2026/3/5 4:41:56 网站建设

福建seo网站wordpress标签导航

19.3 用户痛点挖掘:现有工具的改进空间 课程概述 在前两节课中,我们分析了图像生成市场的现状和主要竞品的特点。本节课我们将深入挖掘用户在使用现有图像生成工具过程中遇到的具体痛点,明确我们可控图像生成平台的改进方向和创新机会。 通过本节课的学习,你将能够: 深…

张小明 2026/3/5 4:41:54 网站建设

云南做网站公司哪家好做外贸没有网站需要注意什么

Langchain-Chatchat结合OCR技术处理扫描版PDF的方案 在政府档案馆翻找一份十年前签署的采购合同,在银行后台手动核对数百页贷款文件中的条款细节——这些场景至今仍在许多机构中反复上演。纸质与扫描文档如同沉睡的知识矿藏,虽蕴含价值,却因无…

张小明 2026/3/5 4:41:55 网站建设

纯静态网站挂马网站源码cms

让 Proteus 说中文:手把手教你安全、稳定完成 8.0 版本汉化你是不是也曾在打开 Proteus 的那一刻,面对满屏英文菜单和对话框感到头大?尤其是刚接触电路仿真时,“Run Simulation”、“Component Mode”这些术语还得边查字典边操作&…

张小明 2026/3/5 4:41:55 网站建设

用vs2010做免费网站模板下载地址英国小子做房产网站

引言:我们正站在一场交通革命的门槛上 清晨,你的座驾已根据你的日程和实时交通情况,自动预热并规划好最优路线;行驶途中,车辆与沿途信号灯、其他车辆、路侧设施持续“对话”,一路绿灯,流畅通行&…

张小明 2026/3/5 4:41:59 网站建设

旅社网站怎么建立温州网站建设托管

在智能家居生态日益多元化的今天,如何让海尔设备与其他品牌设备协同工作成为许多用户面临的挑战。本文将分享如何通过开源集成插件实现海尔智家设备与HomeAssistant的无缝对接,帮助您构建统一的家居控制中心。 【免费下载链接】haier 项目地址: https…

张小明 2026/3/5 4:41:59 网站建设