求教 微信JS-SDK 的接口文件配置问题,config 配置问题

config文件怎么配置,那些timestamp、nonceStr怎么填写??wx.config({debug:true,//开启调试模式,调用的所有api的返回值会在客... config 文件怎么配置,那些timestamp、nonceStr 怎么填写??

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

appId 这是公众号ID好找。但是下面的什么时间戳,随机串 签名怎么弄??

难道是通过PHP程序(我们是使用PHP语言的),来进行生成 调用的??
展开
 我来答
吃饱了不锇
推荐于2016-03-16 · 超过34用户采纳过TA的回答
知道答主
回答量:121
采纳率:100%
帮助的人:77.5万
展开全部
<?php 
/**
 * @desc 微信用JS-JDK操作类
 * @author loudc,2015-01-23
 */
class  Wapi_My_Service_WechatJs{
static private $apilist = '';
/**
 * @desc 返回JS数字签名
 * @param string $wechatTYPE 微信公众号账号配置名
 * @return string $shareurl 分享地址
 */
public static  function GetWechatJsKey($wechatTYPE,$addurl){
if(!$wechatTYPE||!$addurl){
return false;
}
$WECHATTYPE=unserialize(WECHATTYPE);
if(!in_array($wechatTYPE,$WECHATTYPE)){
return false;
}
$regex = '@(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?&#171;&#187;“”‘’]))@';
if(!preg_match($regex,$addurl)){
return false;
}
//$info=Wapi_My_Cache_WechatJs::GetWechatJsKeyFromCache($wechatTYPE,$addurl);
if($info){
return $info;
}else{
$info=self::RefreshWechatJsKey($wechatTYPE,$addurl);
return $info;
}
return false;
}
/**
 * @desc 返回JS数字签名
 * @param string $wechatTYPE 微信公众号账号配置名
 * @return string $shareurl 分享地址
 */
public static  function RefreshWechatJsKey($wechatTYPE,$addurl){
$appid=Wapi_My_Service_WechatOauth::GetWechatDataFronID($wechatTYPE,'appid');
$appsecret=Wapi_My_Service_WechatOauth::GetWechatDataFronID($wechatTYPE,'appsecret');
$url="
$appid&secret=$appsecret";
$access_token=Wapi_My_Service_WechatOauth::HttpCurl($url);
$access_token=json_decode($access_token,true);
$access_token=$access_token['access_token'];
$keyurl="
$access_token&type=jsapi";
$key=Wapi_My_Service_WechatOauth::HttpCurl($keyurl);
$key=json_decode($key,true);
$keyvalue=$key['ticket'];
$keytime=$key['expires_in']-2000;
$timestamp=time();
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$noncestr ="";
for ( $i = 0; $i < 16; $i++ )
{
$noncestr .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
$jsapi_ticket="jsapi_ticket=$keyvalue&noncestr=$noncestr&timestamp=$timestamp&url=$addurl";
$signature=sha1($jsapi_ticket);
$info=array(
'appId'=>$appid ,
'timestamp'=>$timestamp,
'nonceStr'=>$noncestr,
'signature'=>$signature
);
Wapi_My_Cache_WechatJs::RefreshWechatJsKey($wechatTYPE,$addurl,$info,$keytime);
return $info;
}
/**
 * @desc 返回JS代码
 * @param string $wechatTYPE 微信公众号账号配置名
 * @param string $addurl 分享地址
 * @param string $string 处理文件
 * @param string $title 分享标题
 * @param string $desc 分享描述
 * @param string $link 分享地址
 * @param string $imgUrl 分享图片
 * @param string $jscode JS代码
 */
public static function GetWechatJs($wechatTYPE,$string,$title,$desc,$imgUrl){
$addurl="
$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$info=self::GetWechatJsKey($wechatTYPE,$addurl);
$link=Wapi_My_Service_WechatLogin::GetShareUrl($wechatTYPE,$addurl,$string);
$jscode="
<script src='

<script>
wx.config({
      debug:false,
       appId: '".$info['appId']."',
       timestamp: '".$info['timestamp']."',
       nonceStr: '".$info['nonceStr']."',
       signature: '".$info['signature']."',
       jsApiList: [
         'checkJsApi',
         'onMenuShareTimeline',
          'onMenuShareAppMessage',
         'onMenuShareQQ',
         'onMenuShareWeibo',
       ]
   });
   wx.ready(function(){
       wx.onMenuShareTimeline({
       title: '".$title."',
      desc: '".$desc."',
      link: '".$link."',
       imgUrl: '".$imgUrl."',
     });     
      
   wx.onMenuShareAppMessage({
       title: '".$title."',
      desc: '".$desc."',
      link: '".$link."',
       imgUrl: '".$imgUrl."',
     });
      
       wx.onMenuShareQQ({
       title: '".$title."',
      desc: '".$desc."',
      link: '".$link."',
       imgUrl: '".$imgUrl."',
     });
      
       wx.onMenuShareWeibo({
       title: '".$title."',
      desc: '".$desc."',
      link: '".$link."',
       imgUrl: '".$imgUrl."',
     });            
});
      wx.error(function(res){

});
</script>
";
return $jscode;
}
}
?>

 原来写的一个返回JS代码的PHP类,

Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式