首先获取accesstoken,
private function >
$oCurl = curl_init();
if(stripos($url,">
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus[">
return $sContent;
}else{
return false;
}
}
获取ticket
生成wxconfig需要的参数
private function getSignPackage($jsapiTicket,$url,$timestamp,$nonceStr) {
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";
$signature = sha1 ( $string );
$signPackage["appId"] = C("APPID");
$signPackage["nonceStr"] = $nonceStr;
$signPackage["timestamp"] = $timestamp;
$signPackage["url"] = $url;
$signPackage["signature"] = $signature;
$signPackage["rawString"] = $string;
return $signPackage;
}
接下来我们将用基于Cocos2d-JS的微信游戏《来自喵星的你》来做个说明,教大家如何快速接入刚刚发布的微信SDK。
(微信支付API正在路上,欢迎关注下期连载哦!)
1申请公众号
因为微信只能使用公众号接入SDK,所以我们必须先注册一个公众号。
2设置公众号
登录公众平台后,点击左下角的 设置-公众号设置。右侧有一个js接口安全域名的设置,这里可以绑定3个用到的域名,必须填入顶级域名。
然后点击左下角的 开发者中心,右侧会有一个AppID和一个AppSecret。这两个先记录下来,过后会用到。
3生成token
打开页面 微信公众平台接口调试工具 并且填入刚才的appid和secret,点击检查问题。记录下返回结果里面的“access_token”的值。
4获取ticket
复制这个链接:apiweixinqqcom/cgi-bin/ticket/getticketaccess_token=填写刚刚获取的access_token&type=jsapi
并在里面的access_token=后面填入刚刚获取的access_token(对的,就是那一串乱码一样的东西),回车!!
然后把“ticket”的值复制出来,并保存起来,这个就是当前appid的ticket了。
5生成签名
打开 微信 JS 接口签名校验工具 填入相应的数据:
1)jsapi_ticket: 填入上一步获取的ticket
2)noncestr: 这里随机生成一个字符串填进去(VQhYOUJRz6RolHqN)
3)timestamp: 这里填入一个时间戳,去掉毫秒的3位(如:1420870884) - 这里尽量写ticket生成后的一段时间,new Date() - 0可以获取当前的时间戳
4)url: 准备放页面的地址(域名必须在第二部中设置到安全域名内,如:cocos2d-xorg/wechathtml)
点击生成签名。记录下下面出现的signature这个值。
6页面引入微信SDK并初始化
在页面中加入:
<script src="reswxqqcom/open/js/jweixin-100js"></script>
并且执行初始化:
jsApiList填入的是当前需要使用的接口,需要注意的是,如果公众号不具备某些接口的权限,填进去也无法执行。
这时候将页面上传到第五步填入的url地址,并在微信中打开,应该能够看见config:ok的提示。
如果出现了Invalid Url或者Invalid Domain等提示,说明公众号配置里面出现了问题。而出现Invalid signature的话,则是signature生成出现了问题,检查下timestamp以及随机字符串等是否正确。
到这里我们就可以酣畅淋漓的使用微信的SDK啦。
public class TokenSingleton
{
//缓存accessToken 的Map ,map中包含 accessToken jsapiticket 和 缓存的时间戳
//当然也可以分开成两个属性咯
private Dictionary<string, string> map = new Dictionary<string, string>();
private TokenSingleton()
{
}
private static TokenSingleton single = null;
// 静态工厂方法
public static TokenSingleton getInstance()
{
if (single == null)
{
single = new TokenSingleton();
}
return single;
}
public Dictionary<string, string> getMap()
{
string time = map["time"];
string accessToken = map["access_token"];
string jsapiticket = map["jsapi_ticket"];
long nowDate = Framework>
以上就是关于面试 - 必知必会的微服务面试题全部的内容,包括:面试 - 必知必会的微服务面试题、如何使用微信JS-SDK实际分享功能、关于微信JS的调用config的参数怎么得到等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)