最近用symfony+react写了一个需要微信登录的报名领票活动入口,作以记录。
首先说微信登录授权api的情况:http://mp.weixin.qq.com/wiki/9/01f711493b5a02f24b04365ac5d8fd95.html,这是网页授权获取用户基本信息的官方说明文档,里面基本已经解释比较清楚了。第一步:用户首先在微信客户端点击这个入口,然后会redirect到自己加上的REDIRECT_URI路径中,并返回一个code值,其作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
这样就可以得到微信用户的信息。
另外这个程序还设计到了设置cookie的问题,关于在js设置cookie的方法在w3c里面有介绍,也有例子http://www.w3school.com.cn/js/js_cookies.asp
还涉及到我以前遇到遇到的一个问题,在用callback 的时候只能写函数名,不能加上括号!!!!不能加括号!!!!!如果需要传参的时候,需要在调用的时候写一个匿名函数,类似于下面这样的。
function doAjax(u,param,callback){ $.ajax({ type:'POST', url:u, data:param, success:callback }); } function showAlert(data,test1,test2){ alert(data+" "+test1+" "+test2); } window.onload = doAjax("server","id=12&type=1",function(data){showAlert(data,3,5)});
关于symfony的东西以后边学习边积累,这次已经有了一个比较完整的认识了。
最后附上这次活动的地址: 需用微信打开访问www.duckr.cn/prmt/girlsday/即可