微信公眾號分享格式自定義


微信文章默認分享格式是標題,摘要,和一個圖片。公眾號文章分享是類似這個格式。

但非公眾號網頁,比如自己的H5網頁,則要寫一定的代碼才能實現

    <script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js" type="text/javascript"></script>
    <script type="text/javascript">

        wx.config({
            debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
            appId: '<%=appid%>', // 必填,公眾號的唯一標識
        timestamp: '<%=timestamp%>', // 必填,生成簽名的時間戳
        nonceStr: '<%=nonceStr%>', // 必填,生成簽名的隨機串
        signature: '<%=signature%>', // 必填,簽名,見附錄1
            jsApiList: ['checkJsApi',
                'onMenuShareTimeline',
                'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
        });

        var url = document.URL;
        if (url.indexOf("&openid") != -1)
            url = url.substring(0, url.indexOf("&openid"));
        var title = "我正在參加¥19.9看電影的活動,請你送我一條錦鯉!";
        var desc = "幫 <%=owner_nickname %> 助力,抽免費電影票!";
        var imgUrl = "http://xxx.cn/wx/images/fish.jpg";
        wx.ready(function () {


            wx.onMenuShareTimeline({
                title: title, // 分享標題
                desc: desc,
                imgUrl: imgUrl,
                link: url, // 分享鏈接
                success: function () {
                    // 用戶確認分享后執行的回調函數
                },
                cancel: function () {
                    // 用戶取消分享后執行的回調函數
                }
            });
            wx.onMenuShareAppMessage({
                title: title, // 分享標題
                desc: desc,
                imgUrl: imgUrl,
                link: url, // 分享鏈接

                success: function () {
                    // 用戶確認分享后執行的回調函數
                },
                cancel: function () {
                    // 用戶取消分享后執行的回調函數
                }
            });
        });
    </script>
調試時,要把wx.config({  debug: true}} 打開,不然你找不到錯誤。

后台代碼生成
timestamp,nonceStr,signature:
       public  long CreatenTimestamp()
        {
            return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
        }
        public  string CreatenNonce_str()
        {
            string[] strs = new string[]
                        {
                        "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
                        "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
                        };
            Random r = new Random();
            var sb = new StringBuilder();
            var length = strs.Length;
            for (int i = 0; i < 15; i++)
            {
                sb.Append(strs[r.Next(length - 1)]);
            }
            return sb.ToString();
        }
        public  string GetSignature(string jsapi_ticket, string timestamp, string nonce, string url)
        {
            url = url.IndexOf("#") >= 0 ? url.Substring(0, url.IndexOf("#")) : url;

            string tmpStr = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + nonce + "&timestamp=" + timestamp + "&url=" + url;

            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1").ToLower();

            return tmpStr;
        }

 



寫完之后,假如你沒有在公眾號后台設置,一定會碰到這個錯誤。

調試返回參數:

{ "errMsg": "config:invalid url domain" }

截圖:

 

環境:

微信測試號,非正式的公共號

說明:

需要在公眾號設置=》 功能設置里配置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM