- 浏览: 5099544 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 18182编译(IDEA+Gradle)一个别人的工程,出现一个 ... -
netty心跳检查之UDP篇
2019-09-15 08:50 2116部分UDP通信场景中,需要客户端定期发送心跳信息,以获取终 ... -
解决tomcat部署两个SpringBoot应用提示InstanceAlreadyExistsException
2019-06-30 11:49 3166两个SpringBoot应用部署在一个Tomcat中,单独 ... -
Eclipse配置MyBatis代码自动化功能
2019-06-29 10:16 16401.安装插件 Eclipse中,Help->Ecli ... -
vue.js中使用qrcode生成二维码
2019-05-20 00:00 7559一、安装包 npm install qrcodejs2 --s ... -
MySQL插入数据报错: Incorrect string value: '\xFD\xDE'
2019-03-31 23:19 1171我MySQL数据库用的uft-8字符集,插入数据一直很正常 ... -
vue自定义组件并双向绑定属性
2019-03-08 22:46 3206做了两个子组件,原理基本一样,一个是使用原生的select ... -
vue-router简单示例
2019-03-05 00:32 1086写个基本完整、稍有借鉴意义的示例,防止自己忘记。 &l ... -
“联通充值系统繁忙”轻松应对
2019-02-06 11:03 3903大过年的,联通充个值一直报“充值系统繁忙”。昨天晚上试了几 ... -
electron.js数据库应用---导航菜单(element-ui+mysql)
2019-02-05 21:33 2294一、环境搭建 略, ... -
electron.js数据库应用---入门(mysql+element-ui)
2019-01-27 23:19 7302我的机器:Windows10,64 ... -
SpringMVC 在controller层中注入成员变量request,是否线程安全
2018-12-17 21:17 2690@RestController public class ... -
VueJS 组件参数名命名与组件属性转化
2018-12-03 00:00 2003转自:https://www.cnblogs.com/meiy ... -
vue-resource拦截器实现token发送及检验自动化
2018-11-16 22:38 3039用了很长时间vue-resource,最近思考$http发 ... -
element-ui试用手记
2018-10-29 20:25 1682element-ui、iviewui都以vue.js为基础 ... -
iviewui中表格控件中render的使用示例
2018-07-07 16:46 9711示例了如何在表格中显示按钮,如何将代码转化为文字。 i ... -
Tomcat错误“Alias name tomcat does not identify a key entry”解决
2018-07-05 21:39 6173申请到了阿里云的证书后,下载、按照说明生成jks格式证书、 ... -
阿里云免费证书“fileauth.txt内容配置错误”解决
2018-07-05 20:43 5193最近研究微信小程序开发,上阿里云申请了个证书,使用文件验证 ... -
springboot2.0跨域配置
2018-07-04 22:11 5234springboot2.0跨域配置: 一、代码 ... -
微信小程序使用code换openid的方法(JAVA、SpringBoot)
2018-07-01 21:52 10293微信小程序序的代码中提示,使用code换取openid,但 ...
相关推荐
微信开发学习总结(四)——自定义菜单——自定义菜单创建接口——项目源码; 博客:微信开发学习总结(四)——自定义菜单——自定义菜单创建接口; https://blog.csdn.net/qq_29914837/article/details/82928890
微信开发学习总结(三)——消息管理—接收普通消息—(1)文本消息——项目源码; 参考博客: https://blog.csdn.net/qq_29914837/article/details/82903594
微信公众号开发Java版-学习总结(csdn)————程序
本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让初学者...
微信开发学习总结(三)——消息管理(2)-接受普通消息和被动回复用户消息——项目源码; 博客:微信开发学习总结(三)——消息管理(2)-接受普通消息和被动回复用户消息; ...
微信公众平台深度开发JAVA版 1.课程研发环境 开发语言:JAVA WEBServer:TOMAT DATABASE:MySQL 开发工具:myeclipse、MySQL-Front等 其他:在手机应用中的CSS3+div布局、DWR、mybatis、gson、quartz、generator等 ...
微信公众号开发,微信公众号、订阅号各接口使用方法,个人开发总结的开发包
06-微信支付介绍和接入指引总结.mp4 08-支付安全-身份认证.mp4 10-支付安全-数字证书.mp4 11-支付安全-https中的数字证书.mp4 14-创建案例项目-介绍.mp4 19-创建案例项目-集成MyBatis-Plus.mp4 20-创建案例项目-集成...
06-微信支付介绍和接入指引总结.mp4 07-支付安全-对称加密和非对称加密.mp4 08-支付安全-身份认证.mp4 09-支付安全-数字签名.mp4 10-支付安全-数字证书.mp4 11-支付安全-https中的数字证书.mp4 12-支付安全-总结.mp4...
1、涵盖微信认证服务接口的全部实现 2、开发注意进行了总结 3、所有DEMO作者经严格测试通过。 4、即可学习也可以在开发中应用。 5、demo完整,复制即可运行。节约初学者的大量时间。
分享并整理JAVA,python,web,C,运维,大数据,云计算,人工智能,移动开发,微信开发视频,电子书,源码 人工智能学习总结成果,希望可以帮到大家,有疑问欢迎随时沟通~ 人工智能学习总结成果,希望可以帮到...
本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和微信小程序来完成对系统的设计。整个开发过程首先对作业管理系统进行需求分析,得出作业管理系统主要功能。接着对作业管理系统...
本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让初学者...
开发-->基本配置里面查看,商户的微信支付审核通过邮件中也会包含该字段值。 mch_id:微信支付商户号。商户申请微信支付后,由微信支付分配的商户收款账号。 API密钥:key交易过程生成签名的密钥, 微信商户...
总结来说,【小程序名称】凭借其小巧便携、快捷高效的特性,不仅节省了用户的手机存储空间,更为用户提供了无缝衔接的便利服务,是现代生活中不可或缺的一部分,真正实现了“触手可及”的智能生活新体验。...
微信小程序毕业设计,微信小程序课程设计,基于微信小程序开发的,含有代码注释,新手也可看懂,可作为毕业设计,课程设计。 包含:项目源码、数据库脚本、部署说明等,该项目可以作为课程设计使用,前后端代码都在...
最近总结的微信公共平台开发,介绍了token 验证和数据的获取和回复
最后对物业管理微信小程序进行了功能测试,并对测试结果进行了分析总结,得出物业管理微信小程序存在的不足及需要改进的地方,为以后的物业管理微信小程序维护提供了方便,同时也为今后开发类似小程序提供了借鉴和...
最近小程序出来了,公司也要求我们开发一款小程序。于是,就开始着手做了,做了差不多一周吧,也遇到了很多...js中 方法中可以传递一个方法作为形参,在java中是不可以的。比如start项目中的 getUserInfo:function(cb
包括摘要,背景意义,论文结构安排,开发技术介绍,需求分析,可行性分析,功能分析,业务流程分析,数据库设计,er图,数据字典,数据流图,详细设计,系统截图,测试,总结,致谢,参考文献。