微信登录相关


    /**
     * 微信通过code换取网页授权access_token web与app都是用这个
     *
     * @param string $app_id
     *            公众号的唯一标识
     * @param string $app_secret
     *            公众号的appsecret
     * @param string $code
     *            获取的code参数
     * @return array 包含以下键的关联数组:
     *         - access_token: string 访问令牌
     *         - expires_in: int 令牌过期时间(秒)
     *         - refresh_token: string 刷新令牌
     *         - openid: string 用户OpenID
     *         - scope: string 授权范围  拉取用户信息(需scope为 snsapi_userinfo)
     *         - is_snapshotuser: int 是否为快照用户(1 表示是,0 表示否)
     *         - unionid: string 用户UnionID(如果有)
     * @throws Exception 如果获取令牌失败,则抛出异常
     */
    public function wxOauth2($app_id, $app_secret, $code)
    {
        // 发送请求,获取用户openid和access_token
        $logsList = httpRequest('https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $app_id . '&secret=' . $app_secret . '&code=' . $code . '&grant_type=authorization_code', 'get');
        return json_decode($logsList);
    }
    /**
     * 拉取用户信息(需scope为 snsapi_userinfo) web与app都是用这个
     * @param string $access_token
     * @param string $openid
     * @return mixed
     */
    public function wxUserInfo($access_token, $openid)
    {
        // 获取当前用户信息  返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
        $user_info = httpRequest('https://api.weixin.qq.com/sns/userinfo?access_token=' .$access_token. '&openid=' .$openid. '&lang=zh_CN', 'get');
        return json_decode($user_info);
    }
    
    /**
     * 
     * @param string $appid 公众号的唯一标识
     * @param string $secret 公众号的appsecret
     * @param string $js_code 前端传来的code
     * @return array 包含以下键的关联数组:
     *         - errmsg: string 错误信息
     *         - errcode: int 错误码
     *         - session_key: string 会话密钥
     *         - openid: string 用户OpenID
     *         - unionid: string 用户UnionID(如果有)
     * @throws Exception 如果获取令牌失败,则抛出异常
     */
    public function weixin_s($appid,$secret,$js_code)
    {
        $logsList = httpRequest('https://api.weixin.qq.com/sns/jscode2session?appid=' . $appid . '&secret=' . $secret . '&js_code=' . $js_code . '&grant_type=authorization_code', 'get');
        return json_decode($logsList);
    }



评论0



    0.444753s