protected function redauth() { global $_W; session_start(); $openid = $_SESSION['__:proxy:openid']; require_once WWX_FXXT_ROOT . '/class/Fans.class.php'; $f = new Fans(); if (!empty($openid)) { $exists = $f->getOne($openid, true); /**FANS:3.根据用户UID或OPENID查询记录中的用户信息**/ if (!empty($exists)) { return $exists; } } $api = $this->module['config']['api']; if (empty($api)) { message('活动还未开放,商家没有配置好API'); } //微信下才可以使用 //$user_agent = $_SERVER['HTTP_USER_AGENT']; //if (strpos($user_agent, 'MicroMessenger') === false) { // message('对不起,本活动只能在微信浏览器参加!'); //} //微信下才可以使用 $modulePublic = '../addons/wwx_fxxt/style/static/'; require_once WWX_FXXT_ROOT . '/class/Activity.class.php'; $forceSubscribe = true; $openid = $this->getFromUser(); ///28.查询用户的唯一身份ID。 if (!empty($openid) && strlen($openid) > 10) { $fans = pdo_fetch('SELECT fans.openid openid, fans.follow follow, member.* FROM ' . tablename('mc_mapping_fans') . " fans, " . tablename('mc_members') . " member WHERE fans.uniacid = :uniacid AND fans.openid = :openid AND fans.uid=member.uid LIMIT 1", array(':uniacid' => $_W['uniacid'], ':openid' => $openid)); if (is_array($fans) && !empty($fans['openid'])) { $user = array(); $user['uniacid'] = $_W['uniacid']; $user['openid'] = $fans['openid']; $user['nickname'] = $fans['nickname']; $user['gender'] = $fans['gender']; $user['city'] = $fans['residecity']; $user['state'] = $fans['resideprovince']; $user['avatar'] = $fans['avatar']; $user['country'] = $fans['nationality']; $f->save($user); $_SESSION['__:proxy:openid'] = $user['openid']; } } $exists = $f->getOne($openid, true); /**FANS:3.根据用户UID或OPENID查询记录中的用户信息**/ if (!empty($exists)) { return $exists; } }
} } public function doMobileAuth() { global $_GPC, $_W; session_start(); $api = $this->module['config']['api']; if (empty($api)) { message('系统还未开放'); } $code = $_GPC['code']; load()->func('communication'); $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$api['appid']}&secret={$api['secret']}&code={$code}&grant_type=authorization_code"; $resp = ihttp_get($url); if (is_error($resp)) { message('系统错误, 详情: ' . $resp['message']); } $auth = @json_decode($resp['content'], true); if (is_array($auth) && !empty($auth['openid'])) { $url = "https://api.weixin.qq.com/sns/userinfo?access_token={$auth['access_token']}&openid={$auth['openid']}&lang=zh_CN"; $resp = ihttp_get($url); if (is_error($resp)) { message('系统错误'); } $info = @json_decode($resp['content'], true); if (is_array($info) && !empty($info['openid'])) { $user = array(); $user['uniacid'] = $_W['uniacid']; $user['openid'] = $info['openid']; $user['unionid'] = $info['unionid']; $user['nickname'] = $info['nickname']; $user['gender'] = $info['sex']; $user['city'] = $info['city']; $user['state'] = $info['province']; $user['avatar'] = $info['headimgurl']; $user['country'] = $info['country']; if (!empty($user['avatar'])) { $user['avatar'] = rtrim($user['avatar'], '0'); $user['avatar'] .= '132'; } require_once MB_ROOT . '/source/Fans.class.php'; $f = new Fans(); $f->save($user); $_SESSION['__:proxy:openid'] = $user['openid']; $forward = $_SESSION['__:proxy:forward']; header('Location: ' . $forward); exit; } }