C# asp.netCore 微信自定义分享-程序员宅基地

技术标签: ViewUI  前端  后端  

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

      之前,由于工作需要,需要写一个微信分享,本人小白,看了微信的官方文档后,发现官方写的文档是前端的。后端的很少,查看其他大神的分享文章后发现,比较麻烦。其实后端的工作比较简单,只需要把前端穿过来要分享的页面地址传过来,(分享页面地址必须是当前微信中页面地址,不能自定义页面地址 )。之后就是我们的事情了,在这之前要首先在自己的项目中安装微信公众号的的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里面就是前端所需要的参数,直接返回给前端使用即可(前端给的网址要再返回给前端,前端不能修改分享连接,因为链接已经经过微信签名。不然的话,前端自定义的标题和内容都会没有效果。).文章就不足之处,欢迎指导!谢谢大家。

      

 

转载于:https://www.cnblogs.com/panjunfeng/p/9155725.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dky93390/article/details/101785251

智能推荐

Fanuc karel语言数据类型_fanuc 撸语言-程序员宅基地

文章浏览阅读1k次。Fanuckarel语言数据类型KAREL 提供了三种数据类型来定义程序中的数据项:简单类型的数据项 结构化类型数据项 用户定义的类型数据项_fanuc 撸语言

Linux学习六(计划任务)----鸟哥私房菜_cron.daily 运行时间-程序员宅基地

文章浏览阅读213次。计划任务分为两种at和cornat仅执行一次的任务corn循环执行的任务at计划任务-单次任务启动atq服务 systemctl start atq运行方式:at命令会将任务以文本的形式写入/var/spool/at/目录下,然后此任务会等待atq服务执行。权限:系统利用/etc/at.allow与/etc/at.deny这两个文件施加限制1.若存在allow,存在于at.allow的用户才可以使用at。2.若allow不存在,不在deny文件的用户才可以使用.3_cron.daily 运行时间

Winhex使用,给SD卡烧录bin文件-程序员宅基地

文章浏览阅读288次。Winhex使用,给SD卡烧录bin文件_winhex

【Git】Git分支与应用分支&Git标签与应用标签_git 本地分支-程序员宅基地

文章浏览阅读1.2k次,点赞31次,收藏29次。【Git】Git分支与应用分支&Git标签与应用标签_git 本地分支

腾讯地图 点聚合_腾讯地图点聚合自定义图标-程序员宅基地

文章浏览阅读4.3k次。首先,我有一万个理由,不想用腾讯地图,但只有一个理由说服我使用:做微信开发,地图组件需要和微信自带地图保持一致性。今天我做了腾讯地图很多marker点的聚合显示功能,主要参考官方的,下面是地址,可以参考一下,很多代码可以删掉。https://lbs.qq.com/javascript_v2/case-run.html#overlay-markercluster..._腾讯地图点聚合自定义图标

物联网之NB-IoT技术实践开发二_at+cereg=2-程序员宅基地

文章浏览阅读603次。STM32CubeMX安装及使用1、STM32CubeMX介绍2、STM32CubeMX安装3、STM32CubeMX使用STM32CubeMX介绍STM32CubeMX简介:微控制器图形化配置– 自动处理引脚冲突– 动态设置确定的时钟树–..._at+cereg=2

随便推点

非对称加密算法_利用非对称的密码方法解决了交易数据传输过程中的保密问题-程序员宅基地

文章浏览阅读1.6k次。 非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,若果用公开密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称密钥算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其他用户公开;得到该公用密钥的乙方使用该密钥对机..._利用非对称的密码方法解决了交易数据传输过程中的保密问题

前端工具推荐 PxCook-程序员宅基地

文章浏览阅读1w次,点赞29次,收藏41次。前端页面设计的工具推荐---PxCook_pxcook

分享将单号保存在文档中一键导入并查询_怎么把快递订单编号一键插入word-程序员宅基地

文章浏览阅读153次。网上购物是大部分人的选择,有购物就肯定有查询物流信息的需求,小编教大家一个方法批量查询物流信息,批量导入单号一键查询,感兴趣的快来看看吧。并且物流信息跟官网同步,不需要一个一个查询,批量查询非常方便,快去试试吧。单号导入软件中一行一个排序,单击“保存”功能就可以对单号进行查询。将事先保存在文档中的单号打开,这时只需将文档选中“打开”即可。首先运行“快递批量查询高手”在软件中单击“添加单号”功能。会弹出一个添加快递单号文件框,在左下角选择“从。在提示框中选择“否”软件会自动识别快递公司。_怎么把快递订单编号一键插入word

记录一次莫名其妙的错误 ModuleNotFoundError: No module named ‘pyecharts. charts‘ ; ‘pyecharts‘ is not a package_pyecharts.charts为什么在vscode无法找到-程序员宅基地

文章浏览阅读2k次。今天在安装python的pyecharts库的遇到了奇怪的问题。ModuleNotFoundError: No module named ‘pyecharts. charts’ ; ‘pyecharts’ is not a package但是,我进入site-packages又看见的的确确是有这个模块的百度了不少,换过两个版本,尝试了各种花式安装方法,借过同学的pyecharts库,最后尝试了重启,还是没能解决。最后感觉不会是版本问题,还是选择卸载了其他版本,选择了最新的版本pip unins_pyecharts.charts为什么在vscode无法找到

Mac系统python socket报错socket.gaierror: [Errno 8] nodename nor servname provided, or not known-程序员宅基地

文章浏览阅读7.9k次。报错内容Traceback (most recent call last): File "server.py", line 19, in <module> serversocket.bind((host, port))socket.gaierror: [Errno 8] nodename nor servname provided, or not known解决方式..._[errno 8] nodename nor servname provided, or not known

连接-程序员宅基地

文章浏览阅读55次。http://v.youku.com/v_show/id_XNTg1ODUzNjg=.htmlhttp://blog.csdn.net/w809026418/archive/2008/12/05/3455610.aspx...