# 登录

# 微信服务号

微信服务号获取用户信息非常简单

  1. 引入命名空间 sunphp\account\SunAccount
  2. 使用内置的login()方法既可
use sunphp\account\SunAccount;

/* 前端默认入口示例 */
class Wx {

    /* 微信公众号登录 */
    public function login(){
        $account=SunAccount::create();
        $userinfo=$account->login();
        dump($userinfo);
    }

}

# 微信小程序

# 获取openid

  1. 小程序前端调用wx.login()方法获取code
  2. 引入命名空间 use sunphp\account\SunAccount
  3. 后端通过session()方法获取openid和session_key
use sunphp\account\SunAccount;

/* 微信小程序常见接口示例 */
class WxXcx {


    /* 获取用户的openid */
    public function getOpenid(){
        $code="小程序前端获取的code";
        $account=SunAccount::create();
        $data=$account->session($code);

        //获取到的数据格式如下
        // $data=[
        //     'openid'=>"获取到的用户openid",
        //     'session_key'=>"获取到的session值",
        // ];
    }

# 解密数据

  1. 小程序前端获取iv、encryptedData等数据
  2. 引入命名空间 use sunphp\account\SunAccount
  3. 后端通过decryptData()方法解密数据
use sunphp\account\SunAccount;

/* 微信小程序常见接口示例 */
class WxXcx {

    /* 解密用户信息 */
    public function getUserinfo(){
        $session_key="之前获取的session_key";
        $iv="iv数据";
        $encryptedData="encryptedData数据";
        $account=SunAccount::create();
        $data=$account->decryptData($session_key, $iv, $encryptedData);
    }