- 浏览: 5160482 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
silence19841230:
先拿走看看
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
masuweng 写道发下源码下载地址吧!三个相关文件打了个包 ...
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
发下源码下载地址吧!
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
水淼火 写道你好,我使用以后,图标不显示,应该怎么引用呢,谢谢 ...
前端框架iviewui使用示例之菜单+多Tab页布局
最近研究了一下微信,感觉不是很难,借鉴了marker(www.yl-blog.com)的开源代码,修改了几处小BUG(在作者的开源网站上留了言,详见其开源网站),很快就实现关键的逻辑:
1、开发者验证
2、通过程序接口自定义菜单
3、用户关注后,发送欢迎消息
4、根据用户输入为其选择感兴趣的话题
5、发送文件消息、发送图文消息
6、使用静态网页模拟了微信网站的简单模板
公众号,daydayup_it,正在紧张的策划开发中,近期上线,计划主要提供一些优质的教育资源,敬请大家关注。
准备有空把关键技术整理一下,贴出来跟大家交流。
一、开发者验证,其实主要是写个Servlet,有点Web开发经验就很容易搞定
二、微信网站的测试主页效果及代码,借助bootstrap,支持媒体查询,当手机水平看时,栏目会变成2*2布局,index.jsp,需要JSTL的支持,也可以自行去掉,不影响效果,注意连接文件的路径即可
三、微信模板美化
发现一个网站,效果不错。http://xiumi.us/,提供大量的模板。
四、使用JQuery Mobile开发心理测评网站
JQuery Mobile用起来还挺方便。体验地址:http://www.day2up.com/post1.htm
1、开发者验证
2、通过程序接口自定义菜单
3、用户关注后,发送欢迎消息
4、根据用户输入为其选择感兴趣的话题
5、发送文件消息、发送图文消息
6、使用静态网页模拟了微信网站的简单模板
公众号,daydayup_it,正在紧张的策划开发中,近期上线,计划主要提供一些优质的教育资源,敬请大家关注。
准备有空把关键技术整理一下,贴出来跟大家交流。
一、开发者验证,其实主要是写个Servlet,有点Web开发经验就很容易搞定
package org.marker.weixin.test; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Writer; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * 处理微信服务器请求的Servlet URL地址:http://xxx/weixin/dealwith.do * * @author marker * @blog www.yl-blog.com * @weibo http://t.qq.com/wuweiit */ public class WinXinServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static Log log = LogFactory.getLog(WinXinServlet.class); // TOKEN 是你在微信平台开发模式中设置的字符串 public static final String TOKEN = "YourToken"; /** * 处理微信服务器验证 * http://wallimn.iteye.com, 2014-09-11 */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String signature = request.getParameter("signature");// 微信加密签名 String timestamp = request.getParameter("timestamp");// 时间戳 String nonce = request.getParameter("nonce");// 随机数 String echostr = request.getParameter("echostr");// 随机字符串 Writer out = response.getWriter(); System.out.println("收到验证请求:"); System.out.println(" signature="+signature); System.out.println(" timestamp="+timestamp); System.out.println(" nonce="+nonce); System.out.println(" echostr="+echostr); if(signature==null || timestamp==null || nonce==null || echostr==null){ //这几个参数为空时,排序会报错。 out.write("parameter is null!"); } else{ // 重写totring方法,得到三个参数的拼接字符串 List<String> list = new ArrayList<String>(3) { private static final long serialVersionUID = 2621444383666420433L; public String toString() { return this.get(0) + this.get(1) + this.get(2); } }; list.add(TOKEN); list.add(timestamp); list.add(nonce); Collections.sort(list);// 排序 String tmpStr = new MySecurity().encode(list.toString(), MySecurity.SHA_1);// SHA-1加密 if (signature.equals(tmpStr)) { out.write(echostr);// 请求验证成功,返回随机码 } else { out.write("check error!"); } } out.flush(); out.close(); } /** * 处理微信服务器发过来的各种消息,包括:文本、图片、地理位置、音乐等等 * http://wallimn.iteye.com, 2014-09-11 */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { log.info("收到POST请求:"+(new Date())); request.setCharacterEncoding("utf-8"); response.setContentType("text/html; charset=utf-8"); InputStream is = request.getInputStream(); OutputStream os = response.getOutputStream(); //TODO:写微信平台推送过来的各种信息的处理逻辑 } }
二、微信网站的测试主页效果及代码,借助bootstrap,支持媒体查询,当手机水平看时,栏目会变成2*2布局,index.jsp,需要JSTL的支持,也可以自行去掉,不影响效果,注意连接文件的路径即可
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <c:set var="ctx" value="${pageContext.request.contextPath}"></c:set> <title>DayDayUp网站</title> <!-- Bootstrap --> <link href="${ctx}/css/bootstrap.min.css" rel="stylesheet"> <style type="text/css"> body,th,td{ font-size:1.5em; font-family:宋体; } body{ margin:1px; } a{ text-decoration:none; } a:link,a:visited,a:hover,a:active{ text-decoration:none; } a:focus{ outline:0; } .wxc a{ display:block; overflow:hidden; text-decoration:none; line-height:1.5em; padding:0 10px; border-bottom:1px dotted #a0a0a0; margin:0 5px; } .wxc a:last-child{ border-width:0 !important; } .topbar,.bottombar{ padding:0 2px; line-height:2em; background-color:#980404; color:white; } .topbar{ font-weight:bold; font-size:150%; } .item img{ margin:0 auto; } #search_panel{ margin:5px 0; } .panel{ margin:5px 2px; } .nopadding{ padding:0; } </style> </head> <body> <div class="topbar">欢迎访问DayDayUp(建设中...)</div> <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> <!-- Indicators --> <ol class="carousel-indicators"> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1"></li> <li data-target="#carousel-example-generic" data-slide-to="2"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner" role="listbox"> <div class="item active"> <img src="./images/p1.jpg" alt="图片1"> <div class="carousel-caption"> <h4>Word办会全解决</h4> <p>您办过会吗?您被各种各样的文件、表格折磨过吗?那请您花几分钟时间来看一下本站提供的解决方案,包您受益匪浅!</p> </div> </div> <div class="item"> <img src="./images/p2.jpg" alt="图片2"> <div class="carousel-caption"> <h4>Excel财务规划</h4> <p>您用Excel做过家庭财务规划吗?这里提供给您一个完整的案例,非常方便,您一学就会,一看就会。</p> </div> </div> <div class="item"> <img src="./images/p3.jpg" alt="图片3"> <div class="carousel-caption"> <h4>PPT秀出别样的精彩</h4> <p>您用Excel做过家庭财务规划吗?这里提供给您一个完整的案例,非常方便,您一学就会,一看就会。</p> </div> </div> </div> <!-- Controls --> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> <span class="sr-only">前一个</span> </a> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> <span class="sr-only">下一个</span> </a> </div> <div id="search_panel"> <div class="input-group"> <input type="text" class="form-control" placeholder="请输入关键字"> <span class="input-group-btn"> <button class="btn btn-default" type="button"><span class="glyphicon glyphicon-search"></span></button> </span> </div><!-- /input-group --> </div> <div class="col-xs-12 col-sm-6 nopadding"> <div class="panel panel-default wxc"> <div class="panel-heading">最近发表</div> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> </div> </div> <div class="col-xs-12 col-sm-6 nopadding"> <div class="panel panel-default wxc"> <div class="panel-heading">热门问题</div> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> </div> </div> <div class="col-xs-12 col-sm-6 nopadding"> <div class="panel panel-default wxc"> <div class="panel-heading">劳模排行</div> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> </div> </div> <div class="col-xs-12 col-sm-6 nopadding"> <div class="panel panel-default wxc"> <div class="panel-heading">赞率最高</div> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> <a href="#">问题1</a> </div> </div> <div class="text-center"> <a href="">首页</a> | <a href="">文章</a> | <a href="">视频</a> | <a href="">留言</a> </div> <div class="bottombar">浙ICP备######号</div> <script src="${ctx}/js/jquery-1.11.1.min.js"></script> <script src="${ctx}/js/bootstrap.min.js"></script> </body> </html>
三、微信模板美化
发现一个网站,效果不错。http://xiumi.us/,提供大量的模板。
四、使用JQuery Mobile开发心理测评网站
JQuery Mobile用起来还挺方便。体验地址:http://www.day2up.com/post1.htm
发表评论
-
gradle编译错误:Could not find method compile() for arguments
2020-09-19 10:50 18500编译(IDEA+Gradle)一个别人的工程,出现一个 ... -
netty心跳检查之UDP篇
2019-09-15 08:50 2393部分UDP通信场景中,需要客户端定期发送心跳信息,以获取终 ... -
解决tomcat部署两个SpringBoot应用提示InstanceAlreadyExistsException
2019-06-30 11:49 3388两个SpringBoot应用部署在一个Tomcat中,单独 ... -
Eclipse配置MyBatis代码自动化功能
2019-06-29 10:16 17701.安装插件 Eclipse中,Help->Ecli ... -
vue.js中使用qrcode生成二维码
2019-05-20 00:00 7654一、安装包 npm install qrcodejs2 --s ... -
MySQL插入数据报错: Incorrect string value: '\xFD\xDE'
2019-03-31 23:19 1251我MySQL数据库用的uft-8字符集,插入数据一直很正常 ... -
vue自定义组件并双向绑定属性
2019-03-08 22:46 3258做了两个子组件,原理基本一样,一个是使用原生的select ... -
vue-router简单示例
2019-03-05 00:32 1152写个基本完整、稍有借鉴意义的示例,防止自己忘记。 &l ... -
“联通充值系统繁忙”轻松应对
2019-02-06 11:03 3973大过年的,联通充个值一直报“充值系统繁忙”。昨天晚上试了几 ... -
electron.js数据库应用---导航菜单(element-ui+mysql)
2019-02-05 21:33 2364一、环境搭建 略, ... -
electron.js数据库应用---入门(mysql+element-ui)
2019-01-27 23:19 7496我的机器:Windows10,64 ... -
SpringMVC 在controller层中注入成员变量request,是否线程安全
2018-12-17 21:17 2748@RestController public class ... -
VueJS 组件参数名命名与组件属性转化
2018-12-03 00:00 2075转自:https://www.cnblogs.com/meiy ... -
vue-resource拦截器实现token发送及检验自动化
2018-11-16 22:38 3077用了很长时间vue-resource,最近思考$http发 ... -
element-ui试用手记
2018-10-29 20:25 1745element-ui、iviewui都以vue.js为基础 ... -
iviewui中表格控件中render的使用示例
2018-07-07 16:46 9786示例了如何在表格中显示按钮,如何将代码转化为文字。 i ... -
Tomcat错误“Alias name tomcat does not identify a key entry”解决
2018-07-05 21:39 6571申请到了阿里云的证书后,下载、按照说明生成jks格式证书、 ... -
阿里云免费证书“fileauth.txt内容配置错误”解决
2018-07-05 20:43 5299最近研究微信小程序开发,上阿里云申请了个证书,使用文件验证 ... -
springboot2.0跨域配置
2018-07-04 22:11 5285springboot2.0跨域配置: 一、代码 ... -
微信小程序使用code换openid的方法(JAVA、SpringBoot)
2018-07-01 21:52 10398微信小程序序的代码中提示,使用code换取openid,但 ...
相关推荐
总结来说,Java微信退款接口涉及到的技术点有Java网络编程、HTTPS安全通信、PKCS12证书管理、数字签名、JSON数据处理以及错误处理。理解并熟练掌握这些知识,将有助于开发者成功实现微信退款功能。
总结,Java微信登录授权涉及到OAuth2.0授权流程、微信API的调用以及数据的处理。通过理解并实践这些步骤,你可以有效地在你的应用中集成这一功能,提供便捷的微信登录体验。同时,对"chapter-06"中的代码进行深入...
微信开发学习总结(四)——自定义菜单——自定义菜单创建接口——项目源码; 博客:微信开发学习总结(四)——自定义菜单——自定义菜单创建接口; https://blog.csdn.net/qq_29914837/article/details/82928890
微信开发学习总结(三)——消息管理—接收普通消息—(1)文本消息——项目源码; 参考博客: https://blog.csdn.net/qq_29914837/article/details/82903594
微信开发需要用的jar包总结和归纳微信开发需要用的jar包总结和归纳微信开发需要用的jar包总结和归纳微信开发需要用的jar包总结和归纳微信开发需要用的jar包总结和归纳微信开发需要用的jar包总结和归纳微信开发需要用...
总结起来,Java微信登录涉及前后端的交互,包括获取用户授权、处理微信API请求以及集成相关SDK。通过理解和实践这些步骤,开发者可以成功地将微信登录功能整合进自己的应用中。提供的"java微信登陆demo"应该是一个...
微信公众号开发Java版-学习总结(csdn)————程序
其中,微信作为一个集社交、支付、生活服务等功能于一体的超级应用,其开发接口为开发者提供了丰富的功能支持。本文将详细介绍如何使用Java SpringMVC框架对接收到的微信运动数据进行解密处理。 #### 一、背景介绍 ...
总结,开发Java版的微信小游戏狼人杀是一项综合性的工程,涵盖了Java编程、游戏逻辑设计、UI制作、网络通信等多个领域。开发者需要具备扎实的编程基础,良好的逻辑思维,以及一定的美术和设计能力。通过不断地学习和...
### Java微信退款功能详解 #### 一、概述 在电商及各类在线交易场景中,退款功能是必不可少的一个环节。微信支付作为国内主流的第三方支付工具之一,提供了丰富的API接口来支持商家实现各种支付与退款需求。本文将...
这是一个基于Java技术的毕业设计或课程设计项目,主要涉及微信平台上的休闲小游戏开发。通过提供的压缩包文件,我们可以深入理解并学习到多个重要的Java编程和软件开发知识点。 首先,从"所需开发环境.txt"文件来看...
本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让初学者...
总结来说,这个Java微信支付DEMO是开发者实现微信支付功能的宝贵资源,它提供了完整的业务流程,可以帮助开发者快速理解和接入微信支付系统,同时也展示了如何使用Maven进行项目管理和构建。对于Java后端开发者,...
总结,Java微信小程序支付涉及前后端的协同工作,从接口开发到支付回调,再到异常处理和安全策略,每个环节都需要细致考虑。理解并掌握这些知识点,对于构建稳定、安全的微信支付系统至关重要。
微信开发学习总结(三)——消息管理(2)-接受普通消息和被动回复用户消息——项目源码; 博客:微信开发学习总结(三)——消息管理(2)-接受普通消息和被动回复用户消息; ...
### Java微信开发之上传下载多媒体文件 #### 一、引言 在微信开发过程中,上传和下载多媒体文件是一项常见的需求。这些多媒体文件包括但不限于图片、音频、视频等。本篇文章将详细介绍如何使用Java来实现这一功能,...
微信公众平台深度开发JAVA版 1.课程研发环境 开发语言:JAVA WEBServer:TOMAT DATABASE:MySQL 开发工具:myeclipse、MySQL-Front等 其他:在手机应用中的CSS3+div布局、DWR、mybatis、gson、quartz、generator等 ...
总结来说,本案例提供了一个实用的起点,通过学习`RemoteServiceUtil.java`、`AccessToken.java`、`DingDingNotify.java`、`WeiXinNotify.java`这四个文件,你可以理解如何利用Java与企业微信和钉钉进行集成,实现向...
总结,这个Java微信OAuth2.0网页授权登录源码提供了从用户授权到获取和使用微信用户信息的完整流程,对于开发微信相关的Web应用非常有价值。通过深入研究和实践,你可以有效地将微信登录功能整合到自己的项目中,...
根据提供的标题、描述和部分上下文内容,我们可以总结出该资源集合主要涵盖了多个IT领域的学习资料与工具,包括但不限于编程语言、软件开发框架、特定技术领域等。下面将逐一介绍这些知识点及其相关内容。 ### 1. ...