需要注意的事項(xiàng):
一.用戶通過微信訪問的小程序
二.公眾號(hào)和小程序進(jìn)行關(guān)聯(lián)峡扩,并且都發(fā)布到公共開放平臺(tái)上面,如果只有小程序是獲取不倒unionid的
三.只關(guān)注小程序是不行的障本,還需要關(guān)注相同主體的公眾號(hào)或和這個(gè)小程序有關(guān)聯(lián)的網(wǎng)站等,才能獲取到unionid
1.composer安裝overtrue/wechat
2.配置好配置文件
$config = config('wechat.mini_program.default');
$mini = Factory::miniProgram($config);
//這個(gè)code值是前端訪問的網(wǎng)址教届,返回的。微信返回的openid和session_key以及unionid(unionid不一定返回驾霜,openid和session_key肯定會(huì)返回把它們兩個(gè)先存到用戶表中)
$new_mini = $mini->auth->session($code);
3.解密信息,下面是前端請(qǐng)求getuserinfo那個(gè)微信接口返回的是加密信息
案训,需要前端把返回的iv和encryptData值傳給后端并結(jié)合session_key解密信息,如果你滿足上面的注意事項(xiàng)粪糙,下面解密信息中會(huì)返回unionid
$iv = $request->input('iv');
$encryptData = $request->input('encryptData');
$config = config('wechat.mini_program.default');
$mini = Factory::miniProgram($config);
$decryptedData = $mini->encryptor->decryptData($user->session_key, $iv, $encryptData);