微信开发笔记

要实现微信版页面的授权登录必须:

1 有服务号
2 页面在微信中打开

要实现网页版微信扫码登录必须:
1 有开发平台账号
2 网站服务已经被绑定到开发平台账号

有些ajax请求是跨域请求会报错,可以采用本服务器服务器语言如php用 curl_init方法 调用远程微信信息。

本服务器js调用本服务器php页面得到返回结果 

相关代码 

public function https_request($url,$data = null){ 
		$curl = curl_init(); 
		curl_setopt($curl, CURLOPT_URL, $url); 
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
		curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); 
		if (!empty($data))
			{   curl_setopt($curl, CURLOPT_POST, 1); 
				curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } 
				curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
				$output = curl_exec($curl); curl_close($curl); 
				return $output; 
			}




$result = https_request($url);  
		
$jsoninfo = json_decode($result, true); 



openid是针对appid和微信号的唯一,同一个微信号 针对不同的appid ,openid是不同的。但是同一个微信号针对一个特定的appid的openid是永恒不变的。 

现在很多项目都采用的前后端分离的部署策略, 那么前端代码通常要调用不同域的后端api。 为了确保后端代码提供的api仅对部分域名开放 可以采用以下代码保护你的api 

header("Content-type: application/json;  charset=UTF-8");
$http_origin = $_SERVER['HTTP_ORIGIN'];

if ($http_origin == "http://m.xxx.com" || $http_origin == "http://pc.xxx.com" ){
    header("Access-Control-Allow-Origin: $http_origin");
}

if(!in_array($http_origin,array('http://m.xxx.com','http://pc.xxx.com'))){
   die('去死');
}


微信的授权一层一层拿到,那么其实可以在ajax里套ajax,我为了拿到用户的信息并且在数据库里更新数据,套了三层ajax,发现速度还可以,如果每获得一个结果重定向页面再处理数据速度反而会慢。



你可能感兴趣的:(微信开发笔记)