/** * * @return type * 获得一个发送信息的单例 */ public static function getInstance() { if (self::$weixinUser) { return self::$weixinUser; } else { self::$weixinUser = new WeixinUser(); return self::$weixinUser; } }
public static function getUser() { $access_token = self::_getAccessToken(); $url = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token=' . $access_token; $results = MyCurl::sendGet($url); $results = json_decode($results, true); $openid_list = isset($results['data']['openid']) ? $results['data']['openid'] : false; if ($openid_list) { $userlist = array(); foreach ($openid_list as $key => $value) { $openid = $value; $url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=' . $access_token . '&openid=' . $openid . '&lang=zh_CN'; $userlist[] = json_decode(MyCurl::sendGet($url)); $rs = db::factory()->select("weixin_user", " where openid=?", '', array($openid)); if (!$rs) { WeixinUser::add_weixin_user(json_decode(MyCurl::sendGet($url))); } } return $userlist; } return false; }
<?php /** * JS_API支付demo * ==================================================== * 在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。 * 成功调起支付需要三个步骤: * 步骤1:网页授权获取用户openid * 步骤2:使用统一支付接口,获取prepay_id * 步骤3:使用jsapi调起支付 */ // error_reporting(E_ALL); include_once "../WxPayPubHelper/WxPayPubHelper.php"; //使用jsapi接口 $jsApi = new JsApi_pub(); $openid = WeixinUser::_oauth_get_openid(); //=========步骤1:网页授权获取用户openid============ //通过code获得openid /** if (!isset($_GET['code'])) { //触发微信返回code码 $url = $jsApi->createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL); Header("Location: $url"); }else { //获取code码,以获取openid $code = $_GET['code']; $jsApi->setCode($code); $openid = $jsApi->getOpenId();