javascript学习指南_Javascript中实现分享到微信的方法

更新时间:2019-09-27    来源:微信    手机版     字体:

【www.bbyears.com--微信】


主要功能,获取用户分享后的状态,分享成功,分享失败之类
代码片段:
$noncestr = getRandStr(15);
        $timestamp = time();
        
        $access_token = access_token($db);
        //var_dump($access_token);
        //exit();
    $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=". $access_token ."&type=jsapi";
    $ret_json = curl_get_contents($url);
    $ret = json_decode($ret_json);
    $_SESSION["jsapi_ticket"] = $ret-> ticket;
        //var_dump($ret);
        $strvalue = "jsapi_ticket=".$_SESSION["jsapi_ticket"]."&noncestr=".$noncestr."×tamp=".$timestamp."&url=http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$signature = sha1($strvalue);
 
    //var_dump($strvalue);
    $smarty->assign("timestamp",$timestamp);
    $smarty->assign("nonceStr",$noncestr);
    $smarty->assign("signature",$signature);

Php部分主要是通过appid和secret 获取token后 用token获取一个ticket 。

输出时间,输出随机字符串,输出加密后的签名
js部分:
wx.config({
    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: "xxxxx", // 必填,公众号的唯一标识
    timestamp: "{$timestamp}", // 必填,生成签名的时间戳
    nonceStr: "{$nonceStr}", // 必填,生成签名的随机串
    signature: "{$signature}",// 必填,签名,见附录1
    jsApiList: ["onMenuShareTimeline","onMenuShareAppMessage"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
 
wx.ready(function(){
 
wx.onMenuShareTimeline({
    title: "分享标题", // 分享标题
    link: "http://baidu.com", // 分享链接
    imgUrl: "/wp-content/themes/weisaysimple/images/random/tb5.jpg", // 分享图标
    success: function () {
        // 用户确认分享后执行的回调函数
        //alert(1111);
    },
    cancel: function () {
        // 用户取消分享后执行的回调函数
        //alert(222);
    }
});
 
    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});

本文来源:http://www.bbyears.com/shoujikaifa/69686.html

热门标签

更多>>

本类排行