微信订阅号确定唯一用户

来源:互联网 发布:irobort扫地知乎 编辑:程序博客网 时间:2024/05/19 06:17

问题:微信子菜单类型为view,在详情页需要记录用户点赞数,以此确定唯一性,而订阅号无法通过网页获取用户的openid,需通过第三方获取
示例:
一些常用预定义常量:

//预定义常量define('SCHEME', $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');define('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : preg_replace("/(.*)\.php(.*)/i", "\\1.php", $_SERVER['PHP_SELF']));define('QUERY_STRING', safe_replace($_SERVER['QUERY_STRING']));define('PATH_INFO', isset($_SERVER['PATH_INFO']) ? safe_replace($_SERVER['PATH_INFO']) : '');define('DOMAIN', isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : preg_replace("/([^:]*)[:0-9]*/i", "\\1", $_SERVER['HTTP_HOST']));define('SITE_URL', SCHEME.$_SERVER['HTTP_HOST'].COOKIE_PATH);define('RELATE_URL', isset($_SERVER['REQUEST_URI']) ? safe_replace($_SERVER['REQUEST_URI']) : SCRIPT_NAME.(QUERY_STRING ? '?'.QUERY_STRING : PATH_INFO));define('URL', SCHEME.$_SERVER['HTTP_HOST'].RELATE_URL);define('WX_OAUTH_OPENID', "https://open.weixin.qq.com/connect/oauth2/authorize?appid='.某个公众号的appid.'&redirect_uri='.urlencode(获取openid的url).'&response_type=code&scope=snsapi_base&state={url}?#wechat_redirect");

使用方法:

/** * 详情页 */public function getShow($iId){    $openid = '';    if(!Session::has('openid') and !Input::has('openid')){        return Redirect::to('/video/openid?url='.URL);    }elseif(Input::has('openid')){        $openid = Input::get('openid');        Session::put('openid', $openid);    }    $res = Video::getShow($iId, $openid);    if(!$res){        return Redirect::to('/video');    }    return View::make('front.video.show')                ->with('oVideo', $res[0])                ->with('oExpert', $res[1])                ->with('flag', $res[2]);}/***获取openid */public function getOpenid(){    if(Input::has('url')){        $url = Input::get('url');        $res  =  parse_url($url);        if(isset($res['query'])){            $url = $url.'&openid=';        }else{            $url = $url.'?openid=';        }        $url = base64_encode($url);        $url = str_replace('{url}', $url, WX_OAUTH_OPENID);        return Redirect::to($url);    }}
0 0
原创粉丝点击