コード例 #1
0
ファイル: login.php プロジェクト: orbitalimpact/qiciengine
$secret = APP_SECRET;
if ($_REQUEST['web']) {
    $appid = APPID_PC;
    $secret = APP_SECRET_PC;
}
$params = "appid={$appid}&secret={$secret}&code={$code}&grant_type=authorization_code";
$line = SnsNetwork::makeRequest('https://api.weixin.qq.com/sns/oauth2/access_token', $params, '', 'get', 'https');
if (!$line['result']) {
    // 访问失败了
    echo json_encode(array("error" => "访问失败"));
    die;
}
$token = json_decode($line['msg'], true);
if ($token['errmsg']) {
    // 换取code失败
    echo json_encode(array("error" => $token['errmsg']));
    die;
}
// 成功获取到了,记录到session中
session_start();
$token['expires'] = time() + $token['expires_in'] - 15 * 60;
$_SESSION['access_token'] = $token;
// 拉取用户信息
$access_token = $token['access_token'];
$openid = $token['openid'];
$params = "access_token={$access_token}&openid={$openid}&lang=zh_CN";
$line = SnsNetwork::makeRequest('https://api.weixin.qq.com/sns/userinfo', $params, '', 'get', 'https');
echo json_encode(array("openid" => $token['openid'], "unionid" => $token['unionid'], "userinfo" => json_decode($line['msg'], true)));
// 调用具体的业务逻辑处理
after_login();
コード例 #2
0
$secret = APP_SECRET;
if ($_REQUEST['web']) {
    $appid = APPID_PC;
    $secret = APP_SECRET_PC;
}
$params = "appid={$appid}&secret={$secret}&code={$code}&grant_type=authorization_code";
$line = SnsNetwork::makeRequest('https://api.weixin.qq.com/sns/oauth2/access_token', $params, '', 'get', 'https');
if (!$line['result']) {
    // 访问失败了
    echo json_encode(array("error" => "访问失败"));
    die;
}
$token = json_decode($line['msg'], true);
if ($token['errmsg']) {
    // 换取code失败
    echo json_encode(array("error" => $token['errmsg']));
    die;
}
// 成功获取到了,记录到session中
session_start();
$token['expires'] = time() + $token['expires_in'] - 15 * 60;
$_SESSION['access_token'] = $token;
// 拉取用户信息
$access_token = $token['access_token'];
$openid = $token['openid'];
$params = "access_token={$access_token}&openid={$openid}&lang=zh_CN";
$line = SnsNetwork::makeRequest('https://api.weixin.qq.com/sns/userinfo', $params, '', 'get', 'https');
echo json_encode(array("openid" => $token['openid'], "unionid" => $token['unionid'], "userinfo" => json_decode($line['msg'], true)));
// 调用具体的业务逻辑处理, 传入用户参数
after_login($token['openid'], json_decode($line['msg'], true));
コード例 #3
0
ファイル: core.php プロジェクト: jkzleond/alhelp_api
function do_login($uid)
{
    cookie('next_direct_login', $uid, 30 * 3600 * 24);
    $member = D('User/Member');
    $info = $member->_getById($uid);
    // $info = \Member::model()->findbypk($uid);
    // $member = $info;
    // $member->forget_code = '';
    // $member->last_login_time = date("Y-m-d H:i:s");
    // $member->last_login_ip = get_client_ip();
    if (!IsDebug()) {
        $member->save(array('id' => $uid, 'last_login_time' => date('Y-m-d H:i:s'), 'last_login_ip' => get_client_ip()));
        // $member->save();
    }
    $info['role'] = I('role', 1);
    /*
    	$info ['group_admin_count'] = M ( 'school' )->where ( array ( //该用户是多少个圈子的圈主
    	'group_member_id' => $info ['id']
    	) )->count ();
    */
    session('member', $member);
    session('member_id', $uid);
    session('info', $info);
    //update_data ( $this->table );
    //登入送积分
    $param = array('uid' => $info['id'], 'tablename' => 'member', 'tableid' => $info['id'], 'uname' => $info['nickname'], 'action' => MODULE_NAME . '/' . CONTROLLER_NAME . '/' . ACTION_NAME, 'ruleId' => 7, 'field' => 'score', 'isLimit' => true, 'isdate' => true);
    if (!IsDebug()) {
        tag('setScore', $param);
    }
    after_login();
}