signalr 應用於微信小程式(一)

2022-03-02 05:12:57 字數 2595 閱讀 7399

先安裝signalr:

1.安裝singalr,用nutget就行,用這個包管理就行。

2.使用singalr

3.根據singalr的呼叫模式來開發singalr的客戶端。

安裝singalr,非core,後面我們會介紹core的。

我用的是2.23,那麼開始上**了

引用:

using microsoft.aspnet.signalr;

using microsoft.aspnet.signalr.hubs;

整合:

[hubname("chathub")]

public class chathub : hub

hubname是重新命名chathub,不然的話,signalr 預設使用後類名的小寫作為路由。

//已經連線

public override async task onconnected()

//恢復連線

public override task onreconnected()

//斷開連線

public override task ondisconnected(bool stopcalled)

在程式啟動後啟動該程式:

在startup 中如下:

using microsoft.owin;

using owin;

using microsoft.aspnet.signalr;

using microsoft.owin.cors;

[assembly: owinstartupattribute(typeof(thinkingspace.startup))]

namespace thinkingspace

}}

下面是完整的chathub:

using system;

using system.collections.generic;

using system.linq;

using system.web;

using microsoft.aspnet.signalr;

using microsoft.aspnet.signalr.hubs;

using system.threading.tasks;

using newtonsoft.json;

using comment;

using comment.time;

using thinkingspace.models;

using objectjson;

using objectjson.chat;

//using comment.everyday;

namespace thinkingspace.chat

begin.mine = mine;

listfr = new list();

fr.add(friends);

listgroup = new list();

group.add(new groupinformation());

begin.friend = fr;

begin.group = group;

groups.add(context.connectionid, groupid);

clients.client(context.connectionid).addnewmessagetopage(begin);

}public void getalluser()

public void sendtest(string yes)

/// /// 傳送訊息 自定義判斷是傳送給全部使用者還是某乙個組(類似於群聊啦)

///

public void send(mineandto data)

/// ///

///

///

public void sendsingle(mineandto data)

else

}//使用者離線

/// ///

///

///

///

public override task ondisconnected(bool stopcalled)

return base.ondisconnected(true);

}public override async task onconnected()

/// ///

///

public override task onreconnected()

}}

在瀏覽器前端有兩種連線方式,一種是本地快捷版,一種是遠端速度版。

本地快捷版:

遠端速度版:

完整案例:

我是基於layim:

@

@**@

這就是乙個完整的案例可以執行的,下一節介紹如何寫乙個簡單的signalr在小程式上執行的前端庫。

(微信小程式)一 初識微信小程式

需要看的 先是檔案目錄 一 pages 他存放於多個頁面 如 index log頁面。可以把他裡面的每個資料夾看成乙個整體。這個整體存放著 html css 和 資料 1 index資料夾 存放的index頁面的目錄。2 index.js 他可以處理得到 ajax 或自定義定義的資料。把得到的值封裝...

微信小程式事件應用詳解

1 冒泡事件 當乙個元件上的事件被觸發後,該事件會向父節點傳遞。bindtap事件 當使用者點選該元件的時候會在該頁面對應的page中找到相應的事件處理函式 wxml檔案 js檔案 getverificationcode function e wxml事件 事件繫結 bind事件繫結不會阻止冒泡事件...

微信小程式動畫簡單應用

建立使用多個css動畫,通過變數的true false 使得class的切換完成動畫 下面例子使用 willhide 這個變數的切換來控制view的進入動畫和退出動畫 animation.wxml view class modal bottom wrap slot slot view willhid...