跪求wemall7 商业版源码的源码的jeewx

今天看啥 热点:
微信公众账号第三方平台全网发布源码(java)- 实战测试通过
微信公众账号第三方平台全网发布源码(java)- 实战测试通过
package org.jeecgframework.web.rest.
import java.io.BufferedR
import java.io.IOE
import java.io.PrintW
import java.security.MessageD
import java.security.NoSuchAlgorithmE
import java.util.A
import java.util.C
import java.util.D
import java.util.HashM
import java.util.L
import java.util.M
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.apache.commons.lang.StringU
import org.dom4j.D
import org.dom4j.DocumentE
import org.dom4j.DocumentH
import org.dom4j.E
import org.jeecgframework.core.util.LogU
import org.jeecgframework.core.util.ResourceU
import org.jeecgframework.core.util.oConvertU
import org.jeecgframework.web.system.service.SystemS
import org.jeewx.api.core.exception.WexinReqE
import org.jeewx.api.mp.aes.AesE
import org.jeewx.api.mp.aes.WXBizMsgC
import org.jeewx.api.third.JwThirdAPI;
import org.jeewx.api.third.model.ApiComponentT
import org.springframework.beans.factory.annotation.A
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import weixin.open.entity.base.WeixinOpenAccountE
* 微信公众账号第三方平台全网发布源码(java)
* @author: jeewx开源社区
* @网址:www.jeewx.com
* @论坛:www.jeecg.org
@Controller
@RequestMapping(/openwx)
public class OpenwxController {
private final String APPID = ???;
* 微信全网测试账号
private final static String COMPONENT_APPID = ???;
private final String COMPONENT_APPSECRET = ???;
private final static String COMPONENT_ENCODINGAESKEY = ?????;
private final static String COMPONENT_TOKEN = ?????;
@Autowired
private SystemService systemS
* 授权事件接收
* @param request
* @param response
* @throws IOException
* @throws AesException
* @throws DocumentException
@RequestMapping(value = /event/authorize)
public void acceptAuthorizeEvent(HttpServletRequest request, HttpServletResponse response) throws IOException, AesException, DocumentException {
LogUtil.info(微信第三方平台---------微信推送Ticket消息10分钟一次-----------+ DataUtils.getDataString(DataUtils.yyyymmddhhmmss));
processAuthorizeEvent(request);
output(response, success); // 输出响应的内容。
@RequestMapping(value = /authorCallback)
public void authorCallback(HttpServletRequest request, HttpServletResponse response) throws IOException, AesException, DocumentException {
String auth_code = request.getParameter(auth_code);
String expires_in = request.getParameter(auth_code);
* 一键授权功能
* @param request
* @param response
* @throws IOException
* @throws AesException
* @throws DocumentException
@RequestMapping(value = /goAuthor)
public void goAuthor(HttpServletRequest request, HttpServletResponse response) throws IOException, AesException, DocumentException {
ApiComponentToken apiComponentToken = new ApiComponentToken();
apiComponentToken.setComponent_appid(COMPONENT_APPID);
apiComponentToken.setComponent_appsecret(COMPONENT_APPSECRET);
WeixinOpenAccountEntity
entity = getWeixinOpenAccount(APPID);
apiComponentToken.setComponent_verify_ticket(entity.getTicket());
String component_access_token = JwThirdAPI.getAccessToken(apiComponentToken);
//预授权码
String preAuthCode = JwThirdAPI.getPreAuthCode(COMPONENT_APPID, component_access_token);
String url = https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=+COMPONENT_APPID+&pre_auth_code=+preAuthCode+&redirect_uri=+ResourceUtil.getConfigByName(domain)+/rest/openwx/authorC
response.sendRedirect(url);
} catch (WexinReqException e) {
e.printStackTrace();
@RequestMapping(value = {appid}/callback)
public void acceptMessageAndEvent(HttpServletRequest request, HttpServletResponse response) throws IOException, AesException, DocumentException {
String msgSignature = request.getParameter(msg_signature);
//LogUtil.info(第三方平台全网发布-------------{appid}/callback-----------验证开始。。。。msg_signature=+msgSignature);
if (!StringUtils.isNotBlank(msgSignature))
// 微信推送给第三方开放平台的消息一定是加过密的,无消息加密无法解密消息
StringBuilder sb = new StringBuilder();
BufferedReader in = request.getReader();
while ((line = in.readLine()) != null) {
sb.append(line);
in.close();
String xml = sb.toString();
Document doc = DocumentHelper.parseText(xml);
Element rootElt = doc.getRootElement();
String toUserName = rootElt.elementText(ToUserName);
//微信全网测试账号
if (StringUtils.equalsIgnoreCase(toUserName, APPID)) {
LogUtil.info(全网发布接入检测消息反馈开始---------------APPID=+ APPID +------------------------toUserName=+toUserName);
checkWeixinAllNetworkCheck(request,response,xml);
* 处理授权事件的推送
* @param request
* @throws IOException
* @throws AesException
* @throws DocumentException
public void processAuthorizeEvent(HttpServletRequest request) throws IOException, DocumentException, AesException {
String nonce = request.getParameter(nonce);
String timestamp = request.getParameter(timestamp);
String signature = request.getParameter(signature);
String msgSignature = request.getParameter(msg_signature);
if (!StringUtils.isNotBlank(msgSignature))
// 微信推送给第三方开放平台的消息一定是加过密的,无消息加密无法解密消息
boolean isValid = checkSignature(COMPONENT_TOKEN, signature, timestamp, nonce);
if (isValid) {
StringBuilder sb = new StringBuilder();
BufferedReader in = request.getReader();
while ((line = in.readLine()) != null) {
sb.append(line);
String xml = sb.toString();
LogUtil.info(第三方平台全网发布-----------------------原始 Xml=+xml);
String encodingAesKey = COMPONENT_ENCODINGAESKEY;// 第三方平台组件加密密钥
String appId = getAuthorizerAppidFromXml(xml);// 此时加密的xml数据中ToUserName是非加密的,解析xml获取即可
//LogUtil.info(第三方平台全网发布-------------appid----------getAuthorizerAppidFromXml(xml)-----------appId=+appId);
WXBizMsgCrypt pc = new WXBizMsgCrypt(COMPONENT_TOKEN, encodingAesKey, COMPONENT_APPID);
xml = pc.decryptMsg(msgSignature, timestamp, nonce, xml);
LogUtil.info(第三方平台全网发布-----------------------解密后 Xml=+xml);
processAuthorizationEvent(xml);
* 保存Ticket
* @param xml
void processAuthorizationEvent(String xml){
doc = DocumentHelper.parseText(xml);
Element rootElt = doc.getRootElement();
String ticket = rootElt.elementText(ComponentVerifyTicket);
if(oConvertUtils.isNotEmpty(ticket)){
LogUtil.info(8、推送component_verify_ticket协议-----------ticket = +ticket);
WeixinOpenAccountEntity
entity = getWeixinOpenAccount(APPID);
entity = entity==null?new WeixinOpenAccountEntity():
entity.setTicket(ticket);
entity.setAppid(APPID);
entity.setGetTicketTime(new Date());
systemService.saveOrUpdate(entity);
} catch (DocumentException e) {
e.printStackTrace();
* 获取授权账号信息
* @param appid
WeixinOpenAccountEntity getWeixinOpenAccount(String appid){
WeixinOpenAccountEntity
List ls = systemService.findByProperty(WeixinOpenAccountEntity.class, appid, appid);
if(ls!=null && ls.size()!=0){
entity = ls.get(0);
* 获取授权的Appid
* @param xml
String getAuthorizerAppidFromXml(String xml) {
doc = DocumentHelper.parseText(xml);
Element rootElt = doc.getRootElement();
String toUserName = rootElt.elementText(ToUserName);
return toUserN
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
public void checkWeixinAllNetworkCheck(HttpServletRequest request, HttpServletResponse response,String xml) throws DocumentException, IOException, AesException{
String nonce = request.getParameter(nonce);
String timestamp = request.getParameter(timestamp);
String msgSignature = request.getParameter(msg_signature);
WXBizMsgCrypt pc = new WXBizMsgCrypt(COMPONENT_TOKEN, COMPONENT_ENCODINGAESKEY, COMPONENT_APPID);
xml = pc.decryptMsg(msgSignature, timestamp, nonce, xml);
Document doc = DocumentHelper.parseText(xml);
Element rootElt = doc.getRootElement();
String msgType = rootElt.elementText(MsgType);
String toUserName = rootElt.elementText(ToUserName);
String fromUserName = rootElt.elementText(FromUserName);
LogUtil.info(---全网发布接入检测--step.1-----------msgType=+msgType+-----------------toUserName=+toUserName+-----------------fromUserName=+fromUserName);
LogUtil.info(---全网发布接入检测--step.2-----------xml=+xml);
if(event.equals(msgType)){
LogUtil.info(---全网发布接入检测--step.3-----------事件消息--------);
String event = rootElt.elementText(Event);
replyEventMessage(request,response,event,toUserName,fromUserName);
}else if(text.equals(msgType)){
LogUtil.info(---全网发布接入检测--step.3-----------文本消息--------);
String content = rootElt.elementText(Content);
processTextMessage(request,response,content,toUserName,fromUserName);
public void replyEventMessage(HttpServletRequest request, HttpServletResponse response, String event, String toUserName, String fromUserName) throws DocumentException, IOException {
String content = event + from_
LogUtil.info(---全网发布接入检测------step.4-------事件回复消息
content=+content +
toUserName=+toUserName+
fromUserName=+fromUserName);
replyTextMessage(request,response,content,toUserName,fromUserName);
public void processTextMessage(HttpServletRequest request, HttpServletResponse response,String content,String toUserName, String fromUserName) throws IOException, DocumentException{
if(TESTCOMPONENT_MSG_TYPE_TEXT.equals(content)){
String returnContent = content+_
replyTextMessage(request,response,returnContent,toUserName,fromUserName);
}else if(StringUtils.startsWithIgnoreCase(content, QUERY_AUTH_CODE)){
output(response, );
//接下来客服API再回复一次消息
replyApiTextMessage(request,response,content.split(:)[1],fromUserName);
public void replyApiTextMessage(HttpServletRequest request, HttpServletResponse response, String auth_code, String fromUserName) throws DocumentException, IOException {
String authorization_code = auth_
// 得到微信授权成功的消息后,应该立刻进行处理!!相关信息只会在首次授权的时候推送过来
System.out.println(------step.1----使用客服消息接口回复粉丝----逻辑开始-------------------------);
ApiComponentToken apiComponentToken = new ApiComponentToken();
apiComponentToken.setComponent_appid(COMPONENT_APPID);
apiComponentToken.setComponent_appsecret(COMPONENT_APPSECRET);
WeixinOpenAccountEntity
entity = getWeixinOpenAccount(APPID);
apiComponentToken.setComponent_verify_ticket(entity.getTicket());
String component_access_token = JwThirdAPI.getAccessToken(apiComponentToken);
System.out.println(------step.2----使用客服消息接口回复粉丝------- component_access_token = +component_access_token + ---------authorization_code = +authorization_code);
net.sf.json.JSONObject authorizationInfoJson = JwThirdAPI.getApiQueryAuthInfo(COMPONENT_APPID, authorization_code, component_access_token);
System.out.println(------step.3----使用客服消息接口回复粉丝-------------- 获取authorizationInfoJson = +authorizationInfoJson);
net.sf.json.JSONObject infoJson = authorizationInfoJson.getJSONObject(authorization_info);
String authorizer_access_token = infoJson.getString(authorizer_access_token);
Map obj = new HashMap();
Map msgMap = new HashMap();
String msg = auth_code + _from_
msgMap.put(content, msg);
obj.put(touser, fromUserName);
obj.put(msgtype, text);
obj.put(text, msgMap);
JwThirdAPI.sendMessage(obj, authorizer_access_token);
} catch (WexinReqException e) {
e.printStackTrace();
* 验证是否过期
* @param accessTokenExpires
boolean isExpired(long accessTokenExpires){
* 回复微信服务器文本消息
* @param request
* @param response
* @param content
* @param toUserName
* @param fromUserName
* @throws DocumentException
* @throws IOException
public void replyTextMessage(HttpServletRequest request, HttpServletResponse response, String content, String toUserName, String fromUserName) throws DocumentException, IOException {
Long createTime = Calendar.getInstance().getTimeInMillis() / 1000;
StringBuffer sb = new StringBuffer();
sb.append();
sb.append();
sb.append();
sb.append(+createTime+);
sb.append();
sb.append();
sb.append();
String replyMsg = sb.toString();
String returnvaleue = ;
WXBizMsgCrypt pc = new WXBizMsgCrypt(COMPONENT_TOKEN, COMPONENT_ENCODINGAESKEY, COMPONENT_APPID);
returnvaleue = pc.encryptMsg(replyMsg, createTime.toString(), easemob);
System.out.println(------------------加密后的返回内容 returnvaleue: +returnvaleue);
} catch (AesException e) {
e.printStackTrace();
output(response, returnvaleue);
public static void main(String[] args) {
Long createTime = Calendar.getInstance().getTimeInMillis() / 1000;
String replyMsg = LOCATIONfrom_
String returnvaleue = ;
WXBizMsgCrypt pc = new WXBizMsgCrypt(COMPONENT_TOKEN, COMPONENT_ENCODINGAESKEY, COMPONENT_APPID);
returnvaleue = pc.encryptMsg(replyMsg, createTime.toString(), easemob);
System.out.println(returnvaleue);
} catch (AesException e) {
e.printStackTrace();
* 工具类:回复微信服务器文本消息
* @param response
* @param returnvaleue
public void output(HttpServletResponse response,String returnvaleue){
PrintWriter pw = response.getWriter();
pw.write(returnvaleue);
System.out.println(****************returnvaleue***************=+returnvaleue);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
* 判断是否加密
* @param token
* @param signature
* @param timestamp
* @param nonce
public static boolean checkSignature(String token,String signature,String timestamp,String nonce){
System.out.println(###token:+token+;signature:+signature+;timestamp:+timestamp+nonce:+nonce);
boolean flag =
if(signature!=null && !signature.equals() && timestamp!=null && !timestamp.equals() && nonce!=null && !nonce.equals()){
String sha1 = ;
String[] ss = new String[] { token, timestamp, nonce };
Arrays.sort(ss);
for (String s : ss) {
sha1 = AddSHA1.SHA1(sha1);
if (sha1.equals(signature)){
class AddSHA1 {
public static String SHA1(String inStr) {
MessageDigest md =
String outStr =
md = MessageDigest.getInstance(SHA-1);
//选择SHA-1,也可以选择MD5
byte[] digest = md.digest(inStr.getBytes());
//返回的是byet[],要转化为String存储比较方便
outStr = bytetoString(digest);
catch (NoSuchAlgorithmException nsae) {
nsae.printStackTrace();
return outS
public static String bytetoString(byte[] digest) {
String str = ;
String tempStr = ;
for (int i = 0; i & digest. i++) {
tempStr = (Integer.toHexString(digest[i] & 0xff));
if (tempStr.length() == 1) {
str = str + 0 + tempS
str = str + tempS
return str.toLowerCase();
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&&&&&
Java编程最近更新服务器维护中.......
我们会尽快恢复,请稍后再试,谢谢!代码生成器集合(整理) - AndroMDA - ITeye知识库频道
1:CodeSmith
一款人气很旺国外的基于模板的dotnet代码生成器官方网站:http://www.codesmithtools.com官方论坛:http://forum.codesmithtools.com/default.aspx版权形式:30天试用开源:否需要先注册确认后才能下载
2:MyGenerator
MyGenerator是又一个国外很不错的代码生成工具,有人觉得比CodeSmith简单、好用。所有api可以在帮助菜单中找到。官方网站:http://www.mygenerationsoftware.com/portal/default.aspx官方论坛:版权形式:免费开源:否 下载
3:NHibernate.
NHibernate是Hibernate公司在Java自动生成领域取得巨大成功后推出的一款ORM工具.官方网站:http://www.hibernate.org/官方论坛:版权形式:免费开源:否 下载
4:湛蓝.Net代码生成器
一款基于软件自动生成理念,能直接生成应用的dotnet代码生成器官方网站:http://www.dotnetcoding.net官方论坛:http://dotnetcoding.cnblogs.com/版权形式:免费开源:否 下载
5:动软.NET代码自动生成器
一款人气很旺的免费C#代码生成器官方网站:http://www.maticsoft.com官方论坛:版权形式:免费开源:否 下载
6:CodePlus
专为sql server c#语言设计的代码生成器,功能还是很强大官方网站:http://www.CodePlus.com官方论坛:版权形式:需要少量的注册费用开源:否下载地址很神秘
7:CodeMaker
asp,jsp,php代码生成工具,自动生成维护数据库信息的动态网页的代码生成器。它可以帮助ASP、JSP、PHP开发人员快速的开发简单的数据库维护程序。无需任何编码,只需将数据库结构导入到CodeMaker中并做简单的设置,CodeMaker即可生成完整的数据库操作页面。用CodeMaker可以简单快速的创建网站后台维护程序。提高开发效率数十倍以上。官方网站:http://www.mhua.com官方论坛:版权形式:免费开源:否 下载
8:非非.Net代码生成器
可以使用本工具生成VB.Net和C#语言的代码,以及三层架构与ORM架构代码,并且使用的ORM持久化组件是开源的,您可以在本软件的安装目录下找到它官方网站:官方论坛:版权形式:免费开源:否 下载
9: BMW业务模型及代码生成器
一款人气很旺的免费C#代码生成器官方网站:官方论坛:版权形式:免费开源:否 下载
10:飞鹰CoolCoder
专门为采用nhibernate做关系对象影射架构的系统提供代码的工具,简单易用,虽然不提供源码,我们可以用反编译工具对其反编译看源码。这是个很不错的学习机会。官方网站:官方论坛:版权形式:免费开源:否 下载
11:AutoCoder自动代码生成器
AutoCoder自动代码生成器是一个根据模板自动生成代码的代码生成工具,根据模板的不同,可以生成任何语言(如:ASP、C#、C++BUILDER、DELPHI、JAVA、JSP、PHP、VB、VC.NET……),不同层次结构(B/S、C/S、n-tiger……),基于不同数据库(ORACLE、MSSQL、MYSQL、DB2、ACCESS、ODBC、OLE……)的代码和开发文档。开发人员无需任何编码,只需将数据库结构导入到AutoCoder中,并做简单的设置即可生成所需的代码,可以大幅度地提高开发效率!!!系统同时也提供了一个模板制作工具ModeMaker,用户可以方便的制作或修改模板,使得生成的代码更适合您使用!系统附带了十几个模板,基本上可以满足用户多方位的需求官方网站:官方论坛:版权形式:免费开源:否 下载
12:wawa Code Pro代码生成器
一款开源的用VBScript写的代码生成器官方网站:官方论坛:版权形式:免费开源:是 下载
jay_sam 写道&&&&&&&&&&&&&&&&&&&
不许纯表情回帖。。。。。。。。。。
说我呢???
&&&&&&&&&&&&&&&&&&&
不许纯表情回帖。。。。。。。。。。国内首例,集团化矩阵式微信公众号运营
多触点:微信公众号、微信企业号、支付服务窗、微博、QQ公众号
免费开源,业内唯一JAVA版微信管家
专业H5活动开发,负责联通全国活动开发
JEEWX捷微荣获微信2014年开发商大会第一名
多触点:微信公众号、微信企业号、支付服务窗、微博、QQ公众号
JEEWX荣获,2015年最火开源项目第二名
中国联通战略合作伙伴,负责联通全国微信运营
电信行业专家移动、联通重要合作伙伴
知合作企业:中国联通、移动、神州数码、东软、三峡集团、中科软等
他们都在使用捷微!
5分钟轻松建站打造酷炫微官网
小微信也有大商城电商轻松就能走入微信
累计积分&兑换有礼
方便携带&永不挂失消费积分&一卡配备
整合多种在线支付支付就这么简单
各类营销活动推送与用户互动
三级分销将优惠装入客户口袋
活跃现场气氛让粉丝涨起来
无需人力&电子调研为市场调研加一份有力数据
各行各业照片展现轻松搞定
多公众号管理
一人管理多公众账号;一公众号分配多个管理员,素材共享
无需定制 完全自定义无需触发 完全可视化
建立微信社交平台 社区虽小 见微知著
意见?需求?疑问?一键留言&&一键回复
沟通6亿用户创造无限商机
树状网微信号集群统一权限、统一群发、集团化营销
粉丝过千万轻松支持,高并发支撑能力
可实时修改配置数据更灵活的运营,降低运营成本
大数据能力负责联通全国微信运营,积累丰富经验
对外接口能力方便企业二次开发
多维度报表每日关注情况集中报表分析
支付宝服务窗也能够实时运营
无缝对接微信企业号对接企业内部办公
支持微博有效助力微信营销
支持QQ公众号360度看微信运营
亲爱的用户
欢迎您访问捷微官方网站!您对捷微有任何意见和建议,或在使用过程中遇到问题,请在本页面反馈。我们会实时关注您的反馈不断优化,您的建议将帮助我们改进,为您提供更好的服务!
请留下您的宝贵意见和建议!(请填写)
您常用的电子邮箱是?(请填写)
★请尽量填写,以便我们尽快回复您!
尊敬的捷微用户:
& & 捷微H5微信营销活动平台全新上线啦!活动采用H5页面,可广泛适用于微信和PC、平板、手机的各类浏览器;采用插件式开发框架,活动上线一步到位;平台数据和文本配置化,可自由定义模板和内容,大大提供了活动灵活性,我的活动我做主。平台具备以下优势:
1、 活动支持多个公众号发布多次活动,活动相互之间不受影响;
2、 活动数据和系统文本可配置;
3、 接口签名机制和加密机制完善,活动安全性大大提高;
4、 活动统计代码后台加入,可方便统计活动PV UV数据;
5、 活动页面优化,具备极强抗高并发能力;
欢迎广大用户上线使用。活动地址;19278人阅读
JeeWx, 微信管家平台,简称“捷微”.捷微是一款免费开源的JAVA微信公众账号开发平台. 平台介绍:一、捷微Jeewx简介Jeewx是一个开源、高效、敏捷的微信开发平台,采用JAVA语言基于Jeecg快速开发框架实现,实现了微信平台的基础功能,便于用户二次开发,支持微信第三方平台全网发布、支持微信插件开发机制,可轻松集成微信H5插件。主要特性1、基于快速开发平台jeecg 3.4.4版本,采用SpringMVC+Hibernate4+UI库+代码生成器+Jquery+Ehcache等主流架构技术2、支持企业快速开发,完善的用户组织机构,报表,强大的代码生成器快速有效的提高开发效率3、开源免费,jeewx遵循Apache2开源协议,免费提供使用(jeewx分开源版本和商业版本,开源版可以免费使用,可商业用途,无授权问题)4、支持多用户多公众号管理5、详细的二次开发文档,并不断更新增加相关开发案例提供学习参考6、微信功能插件化开发,更易于定制和二次开发7、支持微信第三方平台全网发布8、支持author2.0机制捷微功能清单1,微信公众号管理2,菜单自定义3,关注欢迎语4,关键字管理5,文本消息6,图文消息7,素材消息8,大转盘9,刮刮乐10,微相册11,微网站(广告位、栏目管理、文章管理)12,微信消息管理13,翻译14,天气15, author2.0支持16, 微信插件机制17,用户管理18,角色管理19,菜单管理20, 定时任务21,系统日志22,系统监控23, 统计报表24,字典管理25,微信公众账号第三方平台全网发布【标准开发环境】myeclipse8.5 + jdk7 + tomcat6 + mysql_5.0.37 (注意: 不支持jdk8;)
【开发入门】第一步:采用Mysql手工创建数据库jeewx-os 采用UTF-8编码
第二步:执行捷微数据初始化SQL脚本
脚本位置:doc\db\jeewx-mysql-2.3.sql
第三步:导入myeclipse8.5,发布项目,启动项目
第四步:默认项目访问入口
http://localhost:8080/jeewx/
输入验证码,默认账号admin/123456进行登录,进入捷微管家后台。
说明:端口号,根据自己的配置,进行修改
第五步: 微网站默认站点地址修改
配置文件:jeewx-os-framework/src/sysConfig.properties
修改说明:domain={http://localhost:8080/jeewx},把domain修改成项目访问的地址,如果服务器端则把localhost修改成域名或者ip
【微信开发经验分享】1. jeewx本地开发无法与微信后台交互,jeewx需有外网IP,才能与微信后台交互
2. 微信 accesstoken会有2个小时的有效期,jeewx超过2个小时会自动获取
【捷微对接微信公众号】[1].Jeewx需要部署有外网访问的 服务器上,例如访问地址:http://www.jeewx.com/jeewx
[2].修改jeewx 系统默认域名domain
配置文件:jeewx-os-framework/src/sysConfig.properties
domain={www.jeewx.com/jeewx} 需要与jeewx部署访问地址一致
[3].捷微后台创建一个微信公众号,配置上对应的参数{公众微信号\公众号Token\原始ID\APPID\APPSECRET}
[4].捷微后台创建公众号成功后,配置微信转发请求地址
登录微信后台:https://mp.weixin.qq.com
点击-&开发-&配置(修改服务器配置)
= {http://www.jeewx.com/jeewx/wechatController.do?wechat}
TOKEN = {需要与捷微后台配置TOKEN保持一致}
EncodingAESKey = {随机生成}
点击提交,微信显示提交成功,表示微信已经于捷微后台联通,提示错误说明配置不正确。
【捷微演示公众号】官方公众号:"JEECG"
"H5互动汇"
捷微技术交流[1].技术论坛 : [2].QQ群 :[3].捷微开发资料 :
、[4].技术博客 :[5].捷微支持 :
、 、[6].其他开源支持 :
、 源码下载地址:
测试账号:ceshi
测试密码:123456 官方公众号:系统演示截图:
文章:82篇
阅读:727291
文章:40篇
阅读:262101
阅读:15393
阅读:19577
阅读:38892
阅读:155972

我要回帖

更多关于 仿百度文库源码商业版 的文章

 

随机推荐