星空网 > 软件开发 > ASP.net

微信公众平台开发学习系列(四):微信分享内容修改与分享之后才能访问某页面

本来是想实现点击一个按钮就弹出微信的分享窗口,但是并没有发现微信提供这样的功能。可总是有收获的,比如,如何修改微信的分享内容。这些功能是由微信JS-SDK提供。

官方文档地址:http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html

根据步骤,绑定域名-引入js-编写js代码

前台代码:

 <script>   wx.config({     debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。     appId: '@ViewData["AppId"]', // 必填,公众号的唯一标识     timestamp: '@ViewData["Timestamp"]', // 必填,生成签名的时间戳     nonceStr: '@ViewData["NonceStr"]', // 必填,生成签名的随机串     signature: '@ViewData["Signature"]', // 必填,签名     jsApiList: [       'checkJsApi',       'openLocation',       'getLocation',       'onMenuShareTimeline',       'onMenuShareAppMessage',       'scanQRCode'     ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2。详见:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html   });   wx.error(function (res) {     console.log(res);     alert('验证失败');   });   wx.ready(function () {     wx.onMenuShareTimeline({       title: '自定义的分享标题', // 分享标题       link: 'http://www.baidu.com', // 分享链接       imgUrl: 'http://images.cnitblog.com/i/340216/201404/301756448922305.jpg', // 分享图标       success: function () {       $.post("/Home/GetCookie");         alert('转发成功!');       },       cancel: function () {         alert("转发失败");       },       fail: function (res) {         alert(JSON.stringify(res));       }     });   }); </script>

获取timestamp等信息的后台代码如下:

    public ActionResult Index()    {      var timestamp = JSSDKHelper.GetTimestamp();      var nonceStr = JSSDKHelper.GetNoncestr();      string ticket = AccessTokenContainer.TryGetJsApiTicket(appId, secret);      var signature = JSSDKHelper.GetSignature(ticket, nonceStr, timestamp, Request.Url.AbsoluteUri);      ViewData["AppId"] = appId;      ViewData["Timestamp"] = timestamp;      ViewData["NonceStr"] = nonceStr;      ViewData["Signature"] = signature;      return View();    }

 

以下内容与微信开发并没什么关系,只是记录而已。

根据需求,需要分享之后才能访问某页面,我的想法是再分享success是post一个请求,返回cookie,cookie记录一个特殊值,同样,session中也记录同样的值,在页面上逻辑判断。代码为:

    public ActionResult ProtectView()    {      if (Request.Cookies["protect"] != null && Session["protect"] != null)      {        if (Session["protect"].ToString() == Request.Cookies["protect"].Value)        {          return Content("你有权访问此页面");        }        return Content("你无权访问此页面,需要先分享图文链接");      }      return Content("你无权访问此页面,需要先分享图文链接");    }

 

 post请求的action为:

    [HttpPost]    public void GetCookie()    {      Guid guid = Guid.NewGuid();      HttpCookie cookie = Request.Cookies["protect"];      cookie = new HttpCookie("protect",guid.ToString());      Session["protect"] = guid.ToString();      cookie.Expires = DateTime.Now.AddMinutes(10);      Response.Cookies.Add(cookie);    }

 




原标题:微信公众平台开发学习系列(四):微信分享内容修改与分享之后才能访问某页面

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

越南快递哪个便宜:https://www.goluckyvip.com/tag/105724.html
快递寄往越南:https://www.goluckyvip.com/tag/105725.html
中国到越南的快递多少钱:https://www.goluckyvip.com/tag/105726.html
什么快递能寄到越南:https://www.goluckyvip.com/tag/105727.html
越南公司快递:https://www.goluckyvip.com/tag/105728.html
有什么快递寄到越南:https://www.goluckyvip.com/tag/105729.html
怪物在游轮上复活的电影 怪物在游轮上复活的电影叫什么:https://www.vstour.cn/a/411230.html
在线旅游如何选择更优惠的旅游产品?:https://www.vstour.cn/a/411231.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流