>[info]關注更新用戶數據、自動回復
~~~
$app->server->push(function ($message) use ($app) {
if ($message["MsgType"] == "event") {
if ($message["Event"] == "subscribe") {
/*關注*/
$ck = \app\admin\model\User::where(["openid" => $message["FromUserName"]])->find();
if (!$ck) {
//$userinfo = $app->user->get($message["FromUserName"]);
$user = new \app\admin\model\User();
$user->data([
//"username" => isset($userinfo["nickname"]) ? $userinfo["nickname"] : '未獲取到',
//"nickname" => isset($userinfo["nickname"]) ? $userinfo["nickname"] : '未獲取到',
"openid" => $message["FromUserName"],
//"avatar" => isset($userinfo["headimgurl"]) ? $userinfo["headimgurl"] : '',
"status" => "normal",
//"status" => "hidden",
]);
$user->save();
} else {
if ($ck["subscribe"] == 0) {
$ck->subscribe = 1;
$ck->save();
}
}
return "歡迎關注老吳線報\n做線報我是認真的\n記得每日來簽到打卡查看線報";
}
}
}
~~~
>[warning] 由于是測試微信號,無法獲取昵稱跟頭像,只能拿到openid,所以這里做了注釋,服務號則沒有這些問題,可以打開注釋。
#### 溫馨提示,上方代碼中的 `$message` 可以打印出來以下結果:
~~~
array (
'ToUserName' => 'gh_4f212d728919',
'FromUserName' => 'oYr-IjpFjg4U0Ukfp1xsYXiD8kFM',
'CreateTime' => '1638513465',
'MsgType' => 'text',
'Content' => '55555555',
'MsgId' => '23457872284094365',
)
~~~