微信小程序与aspnetcore signalr实例
本文不对小程序与signalr做任何介绍,默认读者已经掌握
aspnetcore Signalr文档
小程序文档
写在之前
SignalR没有提供小程序使用的客户端js,所以本人参考signlar.js写了小程序版signalr-client。js代码开源、地址https://github.com/liangshiw/SignalRMiniProgram-Client
先上效果图
首先需要创建一个aspnetcore的mvc项目,创建完成后我们需要安装signalr的包
<代码>,安装包Microsoft.AspNetCore。SignalR 代码>
现在就可以创建中心集线器了,首先定义一个类来描述已在线的用户,它需要头像和姓名
公共类> 公共覆盖异步任务> 公共覆盖异步任务> 公共异步任务SendMessage(字符串味精) { var客户=> onLoad:功能(选项){ 这一点。hubConnect=new Hub.HubConnection (); this.hubConnect.start (" https://chat.jingshonline.net/chat ",{昵称:app.globalData.userInfo。昵称,《阿凡达》:app.globalData.userInfo。avatarUrl}); this.hubConnect。onOpen=res=比;{ console.log(“成功开启连接”) } this.hubConnect。(“系统”,res=比;{ wx.showModal ({ 标题:“系统消息”, 内容:, }) }) this.hubConnect。(“接收”,res=比;{ centendata.push ({ 内容:res.msg, 时间:新日期(日).toLocaleString (), head_owner: res.avatar, is_show_right: 0 }); this.setData ({ centendata: centendata }) }) }
同样在页面销毁时应断开与signalr服务器的连接
onUnload:函数(){ this.hubConnect。关闭({原因:“退”出}) }
发送方法也非常简单,只需要调用sendMessage方法并把用户输入的消息传入就大功告成了,其它就是页面上的处理了
this.hubConnect.send (“sendMessage”,消息);
完整的代码请去github https://github.com/liangshiw/SignalRMiniProgram-Client/tree/master/sample
需要注意的是在打开小程序代码时,请修改project.config.json文件中的appid。
以上所述是小编给大家介绍的微信小程序与AspNetCore SignalR聊天实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!