You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.5 KiB
53 lines
2.5 KiB
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | 天诚科技 [ 刘海东 17600099397赋能开发者,助力企业发展 ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2016~2020 https://www.tczxkj.com All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed 该系统并不是自由软件,未经许可不能去掉相关版权
|
|
// +----------------------------------------------------------------------
|
|
// | Author:甘肃天诚志信电子商务有限公司 刘海东 联系电话维系17600099397
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
|
namespace behavior\wechat;
|
|
|
|
use app\wap\model\user\User;
|
|
use app\wap\model\user\WechatUser;
|
|
use think\Cookie;
|
|
use think\Request;
|
|
|
|
class UserBehavior
|
|
{
|
|
/**
|
|
* 微信授权成功后
|
|
* @param $userInfo
|
|
*/
|
|
public static function wechatOauthAfter($openid, $wechatInfo,$is_h5=false)
|
|
{
|
|
Cookie::set('is_login', 1);
|
|
$spread_uid = $wechatInfo['spread_uid'];
|
|
$wechatInfo['nickname'] = filter_emoji($wechatInfo['nickname']);
|
|
if (isset($wechatInfo['unionid']) && $wechatInfo['unionid'] != '' && WechatUser::be(['unionid' => $wechatInfo['unionid']])) {
|
|
WechatUser::edit($wechatInfo, $wechatInfo['unionid'], 'unionid');
|
|
$uid = WechatUser::where('unionid', $wechatInfo['unionid'])->value('uid');
|
|
User::updateWechatUser($wechatInfo, $uid);
|
|
} else if (WechatUser::be(['openid' => $wechatInfo['openid']])) {
|
|
WechatUser::edit($wechatInfo, $wechatInfo['openid'], 'openid');
|
|
User::updateWechatUser($wechatInfo, WechatUser::openidToUid($wechatInfo['openid']));
|
|
} else {
|
|
unset($wechatInfo['spread_uid']);
|
|
if (isset($wechatInfo['subscribe_scene'])) unset($wechatInfo['subscribe_scene']);
|
|
if (isset($wechatInfo['qr_scene'])) unset($wechatInfo['qr_scene']);
|
|
if (isset($wechatInfo['qr_scene_str'])) unset($wechatInfo['qr_scene_str']);
|
|
try {
|
|
$userInfo = User::setWechatUser($wechatInfo, $spread_uid,'wechat');
|
|
WechatUser::setNewUserInfo($userInfo);
|
|
} catch (\Exception $e) {
|
|
}
|
|
}
|
|
User::where('uid', WechatUser::openidToUid($openid))->limit(1)->update(['last_time' => time(), 'last_ip' => Request::instance()->ip()]);
|
|
if($is_h5) return WechatUser::openidToUid($openid);
|
|
}
|
|
|
|
}
|
|
|