面试 - 必知必会的微服务面试题

面试 - 必知必会的微服务面试题,第1张

首先获取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&timestamp=$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的参数怎么得到等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10148104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存