之前项目中涉及到了微信分享的功能,然后总结下供有需要的朋友参考下。

在做之前可以先看下《微信JS-SDK说明文档》,大致了解下。我自己的工程目录是

1.HttpService和HttpServiceImpl主要是发起httppost的请求的封装类。

2.WeChatHttpServiceImpl主要是供外部调用,获取微信分享所需要的几个参数。

3.vo里面的四个类,主要是在供外部调用时,获取最终参数的几个中间类,相当于过渡作用。

4.js文件就是在自己写的页面中进行调用的,初始化这些js的function后就可以实现分享。

5.用到的包有四个,具体见lib里面。

配置文件如下:

<bean id="weChatInitParamsVo" class="com.mshare.vo.WeChatInitParamsVo">
<property name="weChatAppId" value="${weChatAppId}"></property>
<property name="weChatSecret" value="${weChatSecret}"></property>
</bean>

<bean id="httpService" class="com.mshare.http.impl.HttpServiceImpl">
<property name="defaultUrl" value="${defaultUrl}"></property>
</bean>

<bean id="weChatHttpService" class="com.mshare.service.impl.WeChatHttpServiceImpl">
<property name="tokenServiceUrl" value="${weixinTokenServiceUrl}"></property>
<property name="ticketServiceUrl" value="${weixinTicketServiceUrl}"></property>
<property name="currentUrl" value="${weixinShareCurrentUrl}"></property>
<property name="weChatInitParamsVo" ref="weChatInitParamsVo"></property>
<property name="httpService" ref="httpService"/>
</bean>

properties文件如下:

weChatAppId=***
weChatSecret=***
defaultUrl=***
weixinTokenServiceUrl=***
weixinTicketServiceUrl=***
weixinShareCurrentUrl=***

最后调用WeChatConfigVo weChatConfigVo = weChatHttpService.getWeChatConfig();把该对象的初始化数据填充到wx.config中

PS:这些配置文件的方式,我没有试验,有需要的可以自己做下处理,把这个工程打成jar包,引入到自己的项目中,然后配置下文件,可以直接使用。

工程源码地址:https://files.cnblogs.com/files/share2perfect/Msite.rar

java实现微信分享的更多相关文章

  1. Java生成微信分享海报【基础设计】

    前言 微信后台生成海报一般都是一个模板写死,然后就完事了,过了不久让修改个模板,就又要看半天,还要考虑是否重新复制一份改一改,越来越多的重复代码,全在一个图片类里,然后就越来越乱.这两天用设计模式处理 ...

  2. 纯Java实现微信朋友圈分享图

    纯Java实现微信朋友圈分享图 1.实现分享图的效果 2.开发环境 2.1 JDK * oracle's jdk 1.8以上 2.2 字体 * 若选择了微软雅黑字体又是代码部署到Linux,则需要安装 ...

  3. java菜鸟之微信分享

    前言:我终于理解了什么叫做教科书:教科书就是把一些简单容易的知识写成一堆谁都看不懂的书,这,就简称“教科书” 这些天接触到微信分享以及回调的问题,因为之前没接触过,所以这次做这个分享,碰了一点点壁,特 ...

  4. Java微信分享接口开发

    发布时间:2018-11-07   技术:springboot+maven   概述 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈 详细 代码下载:http://www.demodas ...

  5. JAVA调用微信接口实现页面分享功能(分享到朋友圈显示图片,分享给朋友)

    钉钉提供的内网穿透之HTTP穿透:https://www.cnblogs.com/pxblog/p/13862376.html 网页分享到微信中如何显示标题图,如果自定义标题图,描述,显示效果如下 官 ...

  6. Android微信分享图片大于32k进行压缩

    微信分享视频的时候,需要传一个图片数组,大小不能大于32k. 解决方案:使用Bitmap自带的compress方法解决了这个问题. 源码如下: <span style="font-si ...

  7. .net 微信分享功能

    微信在国内目前无疑是最火的社交软件,智能手机装机必备. 微信api有java,php,Python语言的demo, 为毛没有C#的范例?兄长今天给各位带来一个.不叫哥(割)了,A股今天又暴跌[3912 ...

  8. React Native微信分享 朋友圈分享 Android/iOS 通用

    超详细React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用   2016/06/16 |  React Native技术文章 |  Sky丶清|  暂无评论 |  1 ...

  9. 在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)

    最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,Shar ...

随机推荐

  1. java循环结构、数组

    数组 数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储引用数据类型.它的元素相当于 ...

  2. win10 移动端 android 测试环境搭建

    一.移动端自动化测试的基础环境配置1:安装Java环境 关于安装Java环境以及相关环境变量的配置在我之前的博文分享中已有详细介绍,有需要的可以直接查找翻阅,这里就不再一一介绍. 二.移动端自动化测试 ...

  3. Struts2 S2-061 远程命令执行漏洞复现(CVE-2020-17530)

    0x01 漏洞简介 Struts在某些情况下可能存在OGNL表达式注入漏洞,如果开发人员使用了 %{-} 语法进行强制OGNL解析,某些特殊的TAG属性可能会被双重解析.攻击者可以通过构造恶意的OGN ...

  4. pandas学习小记

    pandas操作整理 导入数据: pd.read_csv(filename):从CSV文件导入数据 pd.read_table(filename):从限定分隔符的文本文件导入数据 pd.read_ex ...

  5. P4630-[APIO2018]Duathlon铁人两项【圆方树】

    正题 题目链接:https://www.luogu.com.cn/problem/P4630 题目大意 \(n\)个点\(m\)条边的一张无向图,求有多少对三元组\((s,c,f)\)满足\(s\ne ...

  6. K8ssandra入门-详细记录在Linux上部署K8ssandra到Kubernetes

    1 什么是K8ssandra Cassandra是一款非常优秀的开源的分布式NoSQL数据库,被许多优秀的大公司采用,具有高可用.弹性扩展.性能好等特点. 正应Cassandra的优势,我们经常需要在 ...

  7. mysql从零开始之MySQL 选择数据库

    MySQL 选择数据库 在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简 ...

  8. CSS写一个圣诞树Chrome浏览器小插件

    一时兴起,突然想写一个Chrome浏览器插件,不知道写啥,就写了一个圣诞树小插件.项目源码>> Chrome浏览器插件 Chrome浏览器插件最主要的是:index.html.manife ...

  9. 3D Analyst Tools(3D Analyst 工具)

    3D Analyst 工具 工具里有又细分如下分类: 注:以下代码的参数需要另行配置,不能直接执行:Python2不支持中文变量! 1.3D 要素 # Process: 3D 内部 arcpy.Ins ...

  10. 写学习abcde的简单AI(C++实现)

    #include <iostream> #include <time.h> #include <stdlib.h> #include <cmath> u ...