微信小程序集成環(huán)信sdk介紹

環(huán)信小程序SDK簡(jiǎn)介

環(huán)信小程序 SDK 為小程序開(kāi)發(fā)提供一套完整的技術(shù)解決方案没讲,在微信小程序的開(kāi)發(fā)環(huán)境下,集成 IM 相關(guān)的功能更加便捷礁苗、高效爬凑。掃描下方小程序二維碼或者微信二維碼可以快速體驗(yàn)環(huán)信小程序在線版本。

功能說(shuō)明

1.環(huán)信微信小程序 WebIM 在微信生態(tài)系統(tǒng)進(jìn)行優(yōu)化试伙,功能與微信對(duì)接更為流暢:
2.支持賬戶注冊(cè)登錄
3.支持 IM 基本功能收發(fā)文本嘁信、圖片、語(yǔ)音疏叨、視頻潘靖、音頻、文件考廉、透?jìng)髅乇U(kuò)展消息等
4.支持 群組聊天室功能
5.支持個(gè)人設(shè)置

開(kāi)發(fā)者集成

集成前準(zhǔn)備

注冊(cè)并創(chuàng)建應(yīng)用

搭建小程序開(kāi)發(fā)環(huán)境

小程序自己有一個(gè)專(zhuān)門(mén)的微信開(kāi)發(fā)者工具最新版本下載地址昌粤。
這一步比較簡(jiǎn)單既绕,按照提示一步步安裝好就行,然后用微信掃描二維碼登陸涮坐。 至此小程序的開(kāi)發(fā)環(huán)境差不多完成凄贩。

配置服務(wù)器域名

登錄微信公眾平臺(tái),進(jìn)入“開(kāi)發(fā) > 開(kāi)發(fā)設(shè)置”頁(yè)面袱讹,配置以下服務(wù)器地址:

將SDK添加到自己的小程序

下載SDK

可以通過(guò)以下兩種方式獲取SDK:

  1. 通過(guò)官網(wǎng)下載SDK (暫時(shí)沒(méi)有)
  2. 從我們的github倉(cāng)庫(kù) demo中獲取sdk中的文件

引入SDK

  • 開(kāi)始一個(gè)全新的項(xiàng)目
    1. 將sdk目錄下的文件全部倒入到自己的項(xiàng)目中壶熏。
    2. 直接使用import/require方式獲取引用, 如果使用mpvue保持引文件方式的統(tǒng)一。
  • 基于demo二次開(kāi)發(fā)
    拉取代碼浦译,導(dǎo)入開(kāi)發(fā)者工具即可運(yùn)行起來(lái)棒假。

調(diào)用示例:

//使用示例
import SDK from "../sdk/connection";

實(shí)例調(diào)用方式

采用單例模式,所有業(yè)務(wù)使用唯一實(shí)例

//實(shí)例化SDK對(duì)象
const WebIM = window.WebIM = SDK;
WebIM.conn = new WebIM.connection({
    isMultiLoginSessions: false, //是否可以登錄多個(gè)網(wǎng)頁(yè)精盅,并在所有網(wǎng)頁(yè)上接收消息
    https: false, //是否使用HTTPS 
    url: 'wss://im-api.easemob.com/ws/', //XMPP server
    apiUrl: 'https://a1.easemob.com',
    isAutoLogin: false, //自動(dòng)登錄
    heartBeatWait: 4500, //心跳間隔
    autoReconnectNumMax: 2, //自動(dòng)重連次數(shù)
    autoReconnectInterval: 2, //每個(gè)重新連接之間的間隔秒, 自動(dòng)重連次數(shù)大于1時(shí)有效帽哑。
});

SDK基礎(chǔ)功能

事件監(jiān)聽(tīng)

WebIM.conn.listen({
 onOpened: function ( message ) {          //連接成功回調(diào)
        // 如果isAutoLogin設(shè)置為false,那么必須手動(dòng)設(shè)置上線叹俏,否則無(wú)法收消息
        // 手動(dòng)上線指的是調(diào)用conn.setPresence(); 如果conn初始化時(shí)已將isAutoLogin設(shè)置為true
        // 則無(wú)需調(diào)用conn.setPresence();             
    },  
    onClosed: function ( message ) {},         //連接關(guān)閉回調(diào)
    onTextMessage: function ( message ) {},    //收到文本消息
    onEmojiMessage: function ( message ) {},   //收到表情消息
    onPictureMessage: function ( message ) {}, //收到圖片消息
    onRoster: function ( message ) {},         //處理好友申請(qǐng)
    onInviteMessage: function ( message ) {},  //處理群組邀請(qǐng)
    onOnline: function () {},                  //本機(jī)網(wǎng)絡(luò)連接成功
    onOffline: function () {},                 //本機(jī)網(wǎng)絡(luò)掉線
    onError: function ( message ) {},          //失敗回調(diào)
    onReceivedMessage: function(message){},    //收到消息送達(dá)服務(wù)器回執(zhí)
    onDeliveredMessage: function(message){},   //收到消息送達(dá)客戶端回執(zhí)
    onReadMessage: function(message){},        //收到消息已讀回執(zhí)
  // ......
})

注冊(cè)

根據(jù)用戶名/密碼/昵稱(chēng)注冊(cè)環(huán)信IM

let options = {
     username: 'username',
     password: 'password',
    nickname: 'nickname',
    appKey: WebIM.config.appkey,
    success: function () { },  
    error: function () { }, 
    apiUrl: WebIM.config.apiURL
};
WebIM.utils.registerUser(options);

登錄

用戶名/密碼登錄

let options = { 
  apiUrl: WebIM.config.apiURL,
  user: 'username',
  pwd: 'password',
  appKey: WebIM.config.appkey
};
WebIM.conn.open(options);

使用Token登錄

let options = {
    apiUrl: WebIM.config.apiURL,
    user: 'username',
    accessToken: 'token',
    appKey: WebIM.config.appkey
};
WebIM.conn.open(options);

發(fā)送消息

let id = WebIM.conn.getUniqueId();
let msg = new WebIM.message(msgType, id);
msg.set({
    msg: 'userMessage',
    from: 'username',
    to: 'username',
    roomType: false,
    chatType: chatType,
    success(id, serverMsgId){}
});
WebIM.conn.send(msg.body);

退出

WebIM.conn.close();

小程序 SDK API 文檔

微信小程序的IM的API使用方法妻枕,與Web Javascript接入方式基本相同,可參照Web SDK 接口列表

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市佳头,隨后出現(xiàn)的幾起案子鹰贵,更是在濱河造成了極大的恐慌,老刑警劉巖康嘉,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碉输,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡亭珍,警方通過(guò)查閱死者的電腦和手機(jī)敷钾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)肄梨,“玉大人阻荒,你說(shuō)我怎么就攤上這事≈谙郏” “怎么了侨赡?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)粱侣。 經(jīng)常有香客問(wèn)我羊壹,道長(zhǎng),這世上最難降的妖魔是什么齐婴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任油猫,我火速辦了婚禮,結(jié)果婚禮上柠偶,老公的妹妹穿的比我還像新娘情妖。我一直安慰自己,他們只是感情好诱担,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布毡证。 她就那樣靜靜地躺著,像睡著了一般蔫仙。 火紅的嫁衣襯著肌膚如雪料睛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天匀哄,我揣著相機(jī)與錄音,去河邊找鬼雏蛮。 笑死涎嚼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挑秉。 我是一名探鬼主播法梯,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了立哑?” 一聲冷哼從身側(cè)響起夜惭,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎铛绰,沒(méi)想到半個(gè)月后诈茧,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捂掰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年敢会,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片这嚣。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸥昏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出姐帚,到底是詐尸還是另有隱情吏垮,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布罐旗,位于F島的核電站膳汪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏尤莺。R本人自食惡果不足惜旅敷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颤霎。 院中可真熱鬧媳谁,春花似錦、人聲如沸友酱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缔杉。三九已至锤躁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間或详,已是汗流浹背系羞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留霸琴,地道東北人椒振。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像梧乘,于是被迫代替她去往敵國(guó)和親澎迎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子庐杨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容