C# asp.netCore 微信自定义分享

                  第一次写博客,没有什么经验,文章中如果有什么错误之处,欢迎大家提出批评,小弟虚心求教,废话不多说进入正题。

      之前,由于工作需要,需要写一个微信分享,本人小白,看了微信的官方文档后,发现官方写的文档是前端的。后端的很少,查看其他大神的分享文章后发现,比较麻烦。其实后端的工作比较简单,只需要把前端穿过来要分享的页面地址传过来,(分享页面地址必须是当前微信中页面地址,不能自定义页面地址 )。之后就是我们的事情了,在这之前要首先在自己的项目中安装微信公众号的的Sdk NuGet 包

              之后,就可以开始干啦。在你的接口里面想微信申请分享所需的参数啦! 具体代码如下。

JSSDKHelper   命名空间为:using Senparc.Weixin.MP.Helpers;
Options.AppId 是微信公众号应用的AppId Options.AppSecret 是微信公众号应用的密钥 这两个东西都可以在微信公众平台获取到,request.Url 就是刚才提到的前端传过来的需要分享的地址.
 调用微信sdk帮助类 就可以得到分享所需的参数.

  

public DataResponse<DtoUserShareQRCodeResponse> GetWechatShareParameter(DtoGetUserShareUrlRequest request, long userId) {
                                             var resul = JSSDKHelper.GetJsSdkUiPackageAsync(Options.AppId, Options.AppSecret, request.Url).Result;
                                                          Logger.LogDebug("用户分享:---微信请求分享结果:appid:{0}---noncestr:{1}---Signature:{2}----Timestamp:{3}---", resul.AppId, resul.NonceStr, resul.Signature, resul.Timestamp);
                                                         Logger.LogDebug("用户分享---分享连接地址:{0}",request.Url);
                                                        Logger.LogDebug("用户分享---分享图片地址:{0}",Options.Host_Url+"\\Uploads\\Share\\BackGroundThumb.jpg");
                                        return new DataResponse<DtoUserShareQRCodeResponse> {
                                        Code = 0,
                                           Data = new DtoUserShareQRCodeResponse {
                                         AppId = resul.AppId,
                                          NonceStr = resul.NonceStr,
                                         Signature = resul.Signature,
                                      Timestamp = resul.Timestamp,
                                    ShareImageUrl = $"{Options.Host_Url}\\Uploads\\Share\\BackGroundThumb.jpg",
                                   ShareUrl = $"{request.Url}&shareid={userId}"
                                  }
                               };
}

  由于格式有点乱,第一次弄。所以就在下面放一张源代码截图.  ShareImageUrl  是服务器返回给前端分享的图片,这个根据自己的业务自己选择图片

  

 

resul里面就是前端所需要的参数,直接返回给前端使用即可(前端给的网址要再返回给前端,前端不能修改分享连接,因为链接已经经过微信签名。不然的话,前端自定义的标题和内容都会没有效果。).文章就不足之处,欢迎指导!谢谢大家。

      

 

posted @ 2018-06-08 15:02  奇点未来  阅读(2030)  评论(0编辑  收藏  举报