如何除錯ucenter中傳送的api通知訊息
ucenter可以整合多個應用,在一個應用中登入了,就可以無縫地切換到另外應用中,原因是在登入的時候,應用通知了ucenter,ucenter又通知了其它的幾個應用,這樣就可以做到流暢的切換了
最近遇到一個問題,就是在destoon登入了,但是在ecmall中登入不正常,但是在本地是正常的啊,會不會是ucenter沒有通知了,那麼怎麼看ucenter的訊息傳送了嗎?我沒找到辦法只好,用寫檔案的形式來解決,在api/uc.app.php中找到synlogin這個函式,加入這樣一段,這個目的是在uc.app.php所在目錄下生成一個synlogin.txt,看看能不能成功地接收到ucenter的訊息,從新從其它的目錄中登入,如果目錄中沒synlogin.txt這個檔案,說明通訊不能成功,如果有的話,開啟看看其它的訊息,自己分析一下就可以了
define(`DT_ROOT`, str_replace("\", `/`, dirname(__FILE__))); $fp = fopen(DT_ROOT . "/synlogin.txt", "w"); //檔案被清空後再寫入 if ($fp) { $content= "username=$username and uid=$uid get class is:".get_class($this->user_mod); $content.=" and the ec_user id is:".$ec_user[`user_id`]; $flag = fwrite($fp, $content); if (!$flag) { echo "寫入檔案失敗<br>"; fclose($fp); exit(); } } else { echo "開啟檔案失敗"; } fclose($fp);
結果找出原因來了,在ucenter中有使用者而在ecmall中沒有使用者,是不會登入成功的因為
//note 同步登入 API 介面 $ec_user = $this->user_mod->get($uid); if ($ec_user) { $this->_do_login($ec_user[`user_id`]); }
$this->user_mod->get($uid);中會找不到使用者,所以在ucenter中的使用者一定要先在ecmall中登入一次,讓ecmall給你加入到他的使用者表中,這樣才能通知成功.
相關文章
- 鴻蒙傳送訊息通知鴻蒙
- RocketMQ中Producer訊息的傳送MQ
- (原創) odoo17中在訊息主題(mail.thread)中傳送訊息時,是否通知訊息作者進行控制OdooAIthread
- 如何在linux中傳送訊息給別的控制檯Linux
- 從原始碼看 ObjC 中訊息的傳送原始碼OBJ
- 用程式碼理解 ObjC 中的傳送訊息和訊息轉發OBJ
- 用程式碼理解ObjC中的傳送訊息和訊息轉發OBJ
- 訊息中介軟體—RocketMQ訊息傳送MQ
- 【RocketMQ】MQ訊息傳送MQ
- RocketMQ(八):訊息傳送MQ
- iOS 傳送位置訊息iOS
- php ActiveMQ的傳送訊息,與處理訊息PHPMQ
- 傳送不同型別的訊息型別
- 理解TON合約中的訊息傳送結構
- RocketMQ(九):訊息傳送(續)MQ
- TNW-傳送模板訊息TNW
- 6-RocketMQ傳送訊息MQ
- 傳送kafka訊息的shell指令碼Kafka指令碼
- RocketMQ -- 訊息傳送儲存流程MQ
- Kafka -- 訊息傳送儲存流程Kafka
- 快速向 Google Chat 傳送訊息Go
- iOS 給父類傳送訊息iOS
- 小程式傳送訂閱訊息
- 微信公眾號如何實現模板訊息傳送的功能
- 網路核心之TCP是如何傳送和接收訊息的TCP
- 如何在優雅地Spring 中實現訊息的傳送和消費Spring
- 使用gitlab ci構建IOS包併傳送通知訊息到企業微信GitlabiOS
- win10玩dnf傳送不了訊息怎麼解決_win10玩dnf傳送不了訊息如何處理Win10
- Laravel 訊息通知Laravel
- Laravel——訊息通知Laravel
- Kafka、RabbitMQ、RocketMQ訊息中介軟體的對比 —— 訊息傳送效能KafkaMQ
- Runtime備忘-訊息傳送流程
- 分散式事務:訊息可靠傳送分散式
- django+小程式傳送模板訊息Django
- Python呼叫飛書傳送訊息Python
- WIN32傳送自定義訊息Win32
- 以事務方式傳送 Kafka 訊息Kafka
- 一張圖進階 RocketMQ - 訊息傳送MQ