搜尋
首頁php教程php手册php實作即時聊天(基於融雲通訊)

php實作即時聊天(基於融雲通訊),目前只是簡單的例子。
今天看到了一個挺有趣的項目,即時聊天工具。雖然有QQ這樣很普及的聊天工具了,但是自己搞一個還蠻有趣的。
本案例是基於融雲通訊的,官網地址http://www.rongcloud.cn/,功能很多,我由於沒有很好看的頁面,直接用他們的插件,據我觀察,插件只有最近聯繫人這個功能。那就先按照簡單的案例先實現吧,喜歡的可以自己繼續研究!
首先需要註冊一個融雲帳號---然後自己去建立一個實例----查看各種KEY,具體的自己按照官網的指引去看吧。我給的例子是我的一個測試key,可以直接去用。依舊是tp5框架,自己不會配置tp5框架的,我就不說什麼了。沒有用資料庫去實現用戶訊息,簡單的實作功能,主要是給大家示範一下功能,勿噴啊。
配置各種key的config.php<?php <br /> //設定檔<br> return [<br> <br>     'APP_KEY' => 'e0x9wycfxxx5q',<br>     'APP_SECRET' => 'F7sI8rkLtv'<br> ]; 他們給的key好短啊有沒有,繼續吧。我下載了官方給的SDK,已經引進到extend檔案下了。可以直接調用了。開始主要的部分吧,聊天頁面的主方法:
Index.php<?php <br /> namespace appindexcontroller;<br> <br> use rongyunServerAPI;<br> use thinkController;<br> <br> class Index extends Controller<br> {<br>     public function _initialize()<br>     {<br>         if( empty( cookie('uid') ) ){<br>             $this->redirect( url('login/index') );<br>         }<br>     }<br> <br>     //聊天主方法<br>     public function index()<br>     {<br>         $appKey = config('APP_KEY');<br>         $appSecret = config('APP_SECRET');<br> <br>         $rongYun = new ServerAPI( $appKey, $appSecret );<br> <br>         $tx = "http://www.tk.com/static/images/1.jpg";<br>         if( 2 == cookie('uid') ){<br>             $tx = "http://www.tk.com/static/images/2.jpg";<br>         }<br>         $token = $rongYun->getToken( cookie('uid'), cookie('uname'), $tx );<br> <br>         $token = json_decode( $token, true )['token'];<br>         $this->assign([<br>             'token' => $token<br>         ]);<br>         return $this->fetch();<br>     }<br> <br>     //所有的使用者資訊<br>     public function userInfo()<br>     {<br>         $return['userlist'] = [<br>             ['id' => 1, 'name' => '張三', 'portraitUri' => 'http://www.tk.com/static/images/1.jpg'),             ['id' => 2, 'name' => '李四', 'portraitUri' => 'http://www.tk.com/static/images/2.jpg']🎟         ];<br>         return json( $return );<br>     }<br> <br>     //登入使用者資訊<br>     public function onLine()<br>     {<br>        $return['data'] = [<br>             ['id' => '1', 'status' => true],<br>             ['id' => '2', 'status' => true]<br>         ];<br>         return json( $return );<br>     }<br> }各種程式碼我都寫死了,主要是示範效果的。好了,其餘的程式碼,可以去我的github上去下載自己去官網對照這個看吧。我主要示範一下具體怎麼跑起來。來看看login.php吧:<?php <br /> namespace appindexcontroller;<br> <br> use thinkController;<br> <br> class Login extends Controller<br> {<br>     public function index()<br>     {<br>         return $this->fetch();<br>     }<br> <br>     public function doLogin()<br>     {<br>         $param = input('param.');<br> <br>         if( '張三' == $param['uname'] ){<br>             cookie('uid', 1);<br>             cookie('uname', '張三');<br>         }else if( '李四' == $param['uname'] ){<br> <br>             cookie('uid', 2);<br>             cookie('uname', '李四');<br>         }<br> <br>         $this->redirect( url('index/index') );<br>     }<br> } 哈哈,我的登入只是為了區分使用者(真的做項目可不是這樣!)。可以看到吧,一個用戶是張三,一個用戶是李四。密碼亂輸就行。看一下示範效果吧:
首先造訪首頁,沒登入的話會跳到登入:
php實作即時聊天(基於融雲通訊)
php實作即時聊天(基於融雲通訊)
如果你用的是張三登入的話,記得:張三的id是1,很重要!使用者名稱正確進行,密碼亂輸就行。登入之後,頁面如下:
php實作即時聊天(基於融雲通訊)
輸入會話的ID,也就是使用者ID,我們向李四說話,李四就是2,然後點選設定會話,會彈出如下頁:
php實作即時聊天(基於融雲通訊)
開始聊天吧:
php實作即時聊天(基於融雲通訊)

然後重新開啟一個瀏覽器,一定是另一個瀏覽器!登錄,用李四登入,你會看到:
php實作即時聊天(基於融雲通訊)
看到張三給你傳訊息了,打開看看吧:
php實作即時聊天(基於融雲通訊)
也可以回覆:
php實作即時聊天(基於融雲通訊)
哈哈是不是很有意思。當然我現在只實現了最簡單的功能,有興趣的可以繼續研究!
專案下載地址:https://github.com/nick-bai/talking,如果沒看到的話,專案正在上傳,稍後在看就可以看到了。對你有幫助的話,給我打個星。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。