uni app socket單使用者登陸例PHP

2021-10-08 22:30:42 字數 1280 閱讀 1297

//初始化

socket.on('init', () => );

}).on('quit_push',(res)=> )

}else if(res.cancel) )}}

});}});

2. 後端接收「裝置唯一標識」引數,先查詢快取是否存在,不存在記錄裝置標識和socket的clientid。

3. 登陸介面接收裝置標識,快取或庫里取出標識記錄與當前接收的裝置標識判斷是否一致,不一致則根據快取中的clientid傳送訊息。

$is_online = db::name('userloginclient')->where('user_id',$user['id'])->order('id desc')->find();

if(isset($device_no) && $device_no && $is_online['device_no'] != $device_no && !empty($is_online['device_no']))

4. 工具類sendtoclient方法部分

public static function sendtoclient($client_id, $message)

1. 首先對接了友盟,包括前端後端都加了sdk和使用上了他們的方法。

2. 訊息推送有乙個唯一值"token",這裡簡稱「pushtoken」,由客戶端生成,可以標識乙個唯一的裝置。

3. 後端登陸時,接收pushtoken,同樣判斷該pushtoken是否存在,不存在就以使用者id為鍵儲存。

4. 存在時再判斷與快取是否一致,一致則加長快取時間,不一致則給舊的pushtoken(快取中的)推送一條訊息,並快取新的pushtoken。

if (self::$headtoken && cache::has(self::$prefix . self::$userid))  else  else 

$oldtoken = cache::get(self::$prefix . self::$userid);

if (strlen($oldtoken) == 64) elseif (strlen($oldtoken) == 44)

cache::set(self::$prefix . self::$userid, self::$headtoken, self::$timeout);

}} else

6. 以上是根據友盟的sdk封裝的推送方法,其中包括單播,廣播,跳應用activity,跳網頁連線等等。

單使用者登入

目的 乙個賬號只能在乙個地方登入,不能同時登入 有兩種處理邏輯 1.a登入後,b不能使用同樣的賬戶進行登入 後台邏輯定義 使用者資料表多新增乙個字段,預設為false,每次使用者發起登入,檢測是否為false,是則可以登入,並設定為true,如果為true,則提示使用者已登入,請換個賬號 2.a登入...

Linux進單使用者

除了用光碟引導rescue模式,敲入linux rescure 還有一種方法是用啟動裝載器來進入單使用者模式 1.grub 進入啟動畫面之後,敲入 e 把游標移動到kernel 那一行,再敲入 e 在kernel 一行的最後加上空格single,回車 敲入 b 啟動系統,即進入單使用者模式,這個時候...

簡單使用者命令

1.檢視當前計算機的所有使用者賬戶 net user 2.新增使用者賬戶 net user username password add 3.刪除使用者賬號 net user username del 4.修改密碼 net user username newpassword 5.將users使用者新增...