关于接口的说明我就不介绍了,在官方可以看到下面只看处理程序
public function get_address_api(){
$APPID=C('APPID');
$SCRETID=C('SCRETID');
if (!isset($_GET['code']))
{
$backurl = $this->get_url();
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$APPID."&redirect_uri=".urlencode($backurl)."&response_type=code&scope=jsapi_address&state=123#wechat_redirect"; // snsapi_userinfo
Header("Location: $url");
exit;
}else
{
$code = $_GET['code'];
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$APPID."&secret=".$SCRETID."&code=".$code."&grant_type=authorization_code";
$re = file_get_contents($url);
$rearr = json_decode($re,true);
$backurl = $this->get_url();
$openid = $rearr['openid'];
$unionid = $rearr['unionid'];
$asstoken = $rearr['access_token'];
S('jsapi_address_token'.$openid,$asstoken,7200);
$data['appid']=$APPID;
$data['url']=$backurl;
$data['timestamp']=time();
$data['timestamp']= (string)($data['timestamp']);
$data['noncestr']=$this->getRandStr(10);
$data['accesstoken']=$asstoken;
foreach ($data as $k => $v)
{
$Parameters[$k] = $v;
}
//签名步骤一:按字典序排序参数
ksort($Parameters);
$String = $this->formatBizQueryParaMap($Parameters, false);
$data['addrsign']=SHA1($String);
$this->assign('data',$data);
}
$this->siteDisplay('address_api');
}