{"forkee":{"id":41342288,"name":"WeixinMultiPlatform","full_name":"fenfeizhiyuO/WeixinMultiPlatform","owner":{"login":"fenfeizhiyuO","id":12474516,"avatar_url":"https://avatars.githubusercontent.com/u/12474516?v=3","gravatar_id":"","url":"https://api.github.com/users/fenfeizhiyuO","html_url":"https://github.com/fenfeizhiyuO","followers_url":"https://api.github.com/users/fenfeizhiyuO/followers","following_url":"https://api.github.com/users/fenfeizhiyuO/following{/other_user}","gists_url":"https://api.github.com/users/fenfeizhiyuO/gists{/gist_id}","starred_url":"https://api.github.com/users/fenfeizhiyuO/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fenfeizhiyuO/subscriptions","organizations_url":"https://api.github.com/users/fenfeizhiyuO/orgs","repos_url":"https://api.github.com/users/fenfeizhiyuO/repos","events_url":"https://api.github.com/users/fenfeizhiyuO/events{/privacy}","received_events_url":"https://api.github.com/users/fenfeizhiyuO/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fenfeizhiyuO/WeixinMultiPlatform","description":"weixin-mp-java 基于Java，Spring，Maven实现的微信公众平台一整套代码，从前端Controller到后端的Dao的实现<br /> ==============  1.0.1 2013-1月更新: 支持上传下载多媒体文件 支持接收消息(语音似乎总有问题,同时收到来自微信两个服务器的空的POST的请求,论坛上也有很多人反映此情况) 支持用户管理 支持自定义菜单CRD 支持推广支持接口  强化测试代码 优化代码结构,增加WxMessageHandlerIfc, 只要实现该接口的所有spring bean在收到消息后都会被自动调用.  ==============  实现功能：消息接口,通用接口和菜单接口（没有内测号无法测试）<br />  ==============  由于涉及的框架比较杂乱，在此一一解释：<br />  1. 简便实用的前置条件：<br />    你的项目是基于Spring，Maven，Hibernate架构；<br />    你的项目至少有一个已经存在的配置文件；<br />    需要在配置文件(例子：application.properties)中添加<br />      wx_token=your_token<br />      wx_appid=asdf<br />      wx_appsecret=secret<br />    没有在线的Maven仓库，强烈建议clone代码到本地作为子工程使用；<br />  2. 如果你是通过spring-annotation配置bean的话，那么只要在你的Spring xml配置文件里加入以下两句便可：<br />    &lt;context:component-scan base-package=\"com.hamster.weixinmp\" /&gt;<br /> &lt;util:properties id=\"wxProperties\" location=\"classpath:/application.properties\"/&gt;<br />    如果没有util的话，在beans xml声明中加入：<br />       xmlns:util=\"http://www.springframework.org/schema/util\"<br />       xsi:schemaLocation=\"…..<br /> http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd\"<br />    在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean的packageToScan中添加org.hamster.weixinmp.dao  3. 如果不想用数据库，那么只扫描com.hamster.weixinmp.service和com.hamster.weixinmp.controller即可，所有的dao在wxService中配置模式均为可选，如果没有注入，则不会执行存储操作；<br />  4. 项目使用了lombok生成Getter/Setter, toString, hashCode, equals方法，lombok有eclipse插件，具体怎么安装请看这里：http://projectlombok.org/download.html，如果不想用lombok的话那么就手动删掉那些注解并用eclipse等工具重新生成一下这些方法便可。<br />  5. 如果你的项目是通过xml的方式配置的话，你需要将所有的dao，service和controller配置到xml中（浩大的工程= =）<br />  6. 数据库的前缀为wx_，一般来说不会有冲突，真冲突了那就自己手动改改吧，反正也不麻烦<br />  7. 数据库有些额外的字段，比如自增长的id，created_date等，用不到就无视吧<br />  8. 如果你不用maven的话……那就把java代码都拷贝到自己的工程里面去吧……<br />","fork":true,"url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform","forks_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/forks","keys_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/teams","hooks_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/hooks","issue_events_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/issues/events{/number}","events_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/events","assignees_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/assignees{/user}","branches_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/branches{/branch}","tags_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/tags","blobs_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/git/refs{/sha}","trees_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/statuses/{sha}","languages_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/languages","stargazers_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/stargazers","contributors_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/contributors","subscribers_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/subscribers","subscription_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/subscription","commits_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/commits{/sha}","git_commits_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/git/commits{/sha}","comments_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/comments{/number}","issue_comment_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/issues/comments{/number}","contents_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/contents/{+path}","compare_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/merges","archive_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/downloads","issues_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/issues{/number}","pulls_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/pulls{/number}","milestones_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/milestones{/number}","notifications_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/labels{/name}","releases_url":"https://api.github.com/repos/fenfeizhiyuO/WeixinMultiPlatform/releases{/id}","created_at":"2015-08-25T04:06:42Z","updated_at":"2015-07-25T01:38:03Z","pushed_at":"2015-06-05T12:25:08Z","git_url":"git://github.com/fenfeizhiyuO/WeixinMultiPlatform.git","ssh_url":"git@github.com:fenfeizhiyuO/WeixinMultiPlatform.git","clone_url":"https://github.com/fenfeizhiyuO/WeixinMultiPlatform.git","svn_url":"https://github.com/fenfeizhiyuO/WeixinMultiPlatform","homepage":null,"size":336,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","public":true}}