Dubbo 02 微信开发

Dubbo Admin

https://github.com/apache/dubbo-admin

原系统微服务改造

mvc层排除数据源检查

Application 入口程序添加

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

新增微信接口微服务

功能:微信登录

前置条件:微信开放平台

https://open.weixin.qq.com/

可以获取snsapi_login

开发测试环境:公众号

公众号(公众平台)获取的scope只包括两种:snsapi_base 和snsapi_userinfo

环境搭建

获取测试账号

https://mp.weixin.qq.com

注册登录后使用测试账号开发

反向代理服务器

主要用于开发中内网穿透

http://www.ngrok.cc/

http://www.natapp.cc/

API

微信公众平台开发者文档

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

微信开放平台(公众号第三方平台开发)

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN

微信小程序开发文档

https://developers.weixin.qq.com/miniprogram/dev/framework/

微信商户服务中心

https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/faq_tmpl&lang=zh_CN

微信支付商户平台开发者文档

https://pay.weixin.qq.com/wiki/doc/api/index.html

微信支付H5

https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1

微信支付代扣费

https://pay.weixin.qq.com/wiki/doc/api/pap.php?chapter=17_1

微信支付单品优惠

https://pay.weixin.qq.com/wiki/doc/api/danpin.php?chapter=9_201&index=3

开发框架

https://github.com/liyiorg/weixin-popular

  • TokenAPI access_token 获取
  • MediaAPI 多媒体上传下载(临时素材)
  • MaterialAPI 永久素材
  • MenuAPI 菜单、个性化菜单
  • MessageAPI 信息发送(客服消息、群发消息、模板消息)
  • PayMchAPI 支付订单、红包、企业付款、委托代扣、代扣费(商户平台版)、分账
  • QrcodeAPI 二维码
  • SnsAPI 网签授权
  • UserAPI 用户管理、分组、标签、黑名单
  • ShorturlAPI 长链接转短链接
  • TicketAPI JSAPI ticket
  • ComponentAPI 第三方平台开发
  • CallbackipAPI 获取微信服务器IP地址
  • ClearQuotaAPI 接口调用频次清零
  • PoiAPI 微信门店 @Moyq5 (贡献)
  • CardAPI 微信卡券 @Moyq5 (贡献)Shak
  • earoundAPI 微信摇一摇周边 @Moyq5 (贡献)
  • DatacubeAPI 数据统计 @Moyq5 (贡献)
  • CustomserviceAPI 客服功能 @ConciseA (贡献)
  • WxaAPI 微信小程序
  • WxopenAPI 微信小程序
  • CommentAPI 文章评论留言
  • OpenAPI 微信开放平台帐号管理
  • BizwifiAPI 微信连WiFi
  • ScanAPI 微信扫一扫
  • SemanticAPI 微信智能
<dependency>
<groupId>com.github.liyiorg</groupId>
<artifactId>weixin-popular</artifactId>
<version>2.8.28</version>
</dependency>

入口层 -> 域名与高并发

在入口层 加入CDN技术可以提高用户响应时间 让系统能够承受更高并发,分发请求

尤其对 全网加速(海外用户)效果明显

域名

DNS

domain name system

DNS是应用层协议,事实上他是为其他应用层协议工作的,包括不限于HTTP和SMTP以及FTP,用于将用户提供的主机名解析为ip地址。

dns集群

CDN

微信开发

私服验证


菜单管理

创建菜单

{
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC"
},
{
"name": "菜单",
"sub_button": [
{
"type": "view",
"name": "搜索",
"url": "http://www.soso.com/"
},
{
"type": "miniprogram",
"name": "wxa",
"url": "http://mp.weixin.qq.com",
"appid": "wx286b93c14bbf93aa",
"pagepath": "pages/lunar/index"
},
{
"type": "click",
"name": "赞一下我们",
"key": "V1001_GOOD"
}
]
}
]
}

消息回复

文本

XMLTextMessage xmlTextMessage = new XMLTextMessage(eventMessage.getFromUserName(), eventMessage.getToUserName(), "hi");

xmlTextMessage.outputStreamWrite(outputStream);

String mediaId= "YiHQtRD_fDKEG3-yTOwiGWlqv56-SUW5vfEDeEuAKx9a78337LKlSUmI4T-Cj8ij";
XMLImageMessage xmlImageMessage = new XMLImageMessage(eventMessage.getFromUserName(),eventMessage.getToUserName(),mediaId);
xmlImageMessage.outputStreamWrite(outputStream);

连接

XMLTextMessage xmlTextMessage2 = new XMLTextMessage(eventMessage.getFromUserName(), eventMessage.getToUserName(), "请先<a href='"+wxConf.getAppDomain()+"/h5/account/register'>完善一下信息</a>");

	TemplateMessage msg = new TemplateMessage();

		msg.setTouser("oStlBwHto08mKRIVUod5IHyevJyE");
msg.setUrl("http://baidu.com");
msg.setTemplate_id("gj4jA7HoS-1bmGyBK8VedBBQAXAboRJfWxUpbA8HlvM"); LinkedHashMap<String, TemplateMessageItem> items = new LinkedHashMap<>(); // 填充模板内容
items.put("content", new TemplateMessageItem(" 宝宝,你好。", "#000000"));
msg.setData(items); // 发送提醒
MessageAPI.messageTemplateSend(TokenManager.getToken(wxConf.getAppID()), msg);

Dubbo 02 微信开发的更多相关文章

  1. 微信开发系列----02:实现POST请求响应

    继续昨天的,现在我们的微信测试成功了,可以开发实现微信的各种功能,今天主要实现微信的简单交互,比如发送语音,图片,文本等请求,网站服务器发送对应的响应. 项目GitHub地址:  https://gi ...

  2. PHP实现日志处理类库 - 【微信开发之微电商网站】技术笔记之二

    继上篇文章[微信开发之微电商网站]技术笔记之一,昨日做了日志处理的功能. 对于现在的应用程序来说,日志的重要性是不言而喻的.很难想象没有任何日志记录功能的应用程序运行在生产环境中.日志所能提供的功能是 ...

  3. Java企业微信开发_05_消息推送之被动回复消息

    一.本节要点 1.消息的加解密 微信加解密包 下载地址:http://qydev.weixin.qq.com/java.zip      ,此包中封装好了AES加解密方法,直接调用方法即可. 其中,解 ...

  4. Java微信开发以及对各种云的评价

    目前一个人用Java开发一个微信的会员系统,开发已经结束,现在进入测试阶段. 有一些时间看看市面上的一些Java的微信开发视频,看了一下北风网的<微信公众平台开发Java版第一季>中的1, ...

  5. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  6. 【微信开发】公众号后台设置错误导致的微信redirect_uri参数错误【图】

    在微信开发中,如微信网页授权登录,分享到朋友圈自定义内容,微信h5支付时 可能会遇到微信redirect_uri参数错误的情况. 此时除了检查自己代码正确性外,还要检查一下是否正确地设置了公众号后台的 ...

  7. 《C#微信开发系列(Top)-微信开发完整学习路线》

    年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...

  8. 基于fastweixin的微信开发环境搭建(一)

    由于公司业务需要,开发微信版本,才开始接触微信公众平台.在github折腾了几天,试过好几个微信sdk,最终选择fastweixin.个人觉得这个框架还是值得使用的,使用也简单.那么问题来了,很多人想 ...

  9. 微信开发笔记:获取用户openid,以及用户头像昵称等信息

    微信开发的时候有一个很便利的途径来进行一个用户的一步注册登录,就是使用用户的微信信息来直接进行登陆,可以省去很多不必要的麻烦.那具体这些信息是如何来获取的呢? 首先呢,我们需要对微信进行一个授权,让微 ...

随机推荐

  1. fastjson反序列化LocalDateTime失败的问题java.time.format.DateTimeParseException: Text '2019-05-24 13:52:11' could not be parsed at index 10

    本地java类 import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; ...

  2. document.documentElement 和 document.body

    MDN : The Document.documentElement read-only property returns the Element that is the root element o ...

  3. 《Visual Studio程序员箴言》笔记

    还记得刚工作时看到某前辈用快捷键操作Visual Studio,赞叹不已,才发觉原来快捷键熟练了效率可以如此之高.后来,我在为一个经常使用的命令添加快捷键的时候又发现Visual Studio的快捷键 ...

  4. PJzhang:从csdn到pipal密码分析工具

    猫宁!!! 偶然看到一篇短文,是对2011年csdn泄露的约643万数据的数据汇总分析,这里做个简要总结 .   一.单一密码使用5000人以上的,14个,当时密码中有两个命名方式很有趣,dearbo ...

  5. umask的一般用法

    常常会遇到我的Linux系统默认的八进制的umask值是0022,而我创建的文件的八进制权限却是644,这个是怎么一回事? umask值只是一个掩码,它会屏蔽掉掉不想授予该安全级别的权限. 用法是要把 ...

  6. 【VS开发】【DSP开发】浅谈Linux PCI设备驱动(二)

    我们在 浅谈Linux PCI设备驱动(一)中(以下简称 浅谈(一) )介绍了PCI的配置寄存器组,而Linux PCI初始化就是使用了这些寄存器来进行的.后面我们会举个例子来说明Linux PCI设 ...

  7. [ZJOI2007]捉迷藏(动态点分治/(括号序列)(线段树))

    题目描述 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条双向走廊组成,这N-1条 ...

  8. python smtplib server not connect

    最近发现用smtplib发邮件一直发送不成功,使用debug发现前面都正常,但是DATA发送直接被smtp服务器直接断开.smtp服务器显示body丢失. 后来发现是我加了附件,有指定文件类型: at ...

  9. 跨 PostgreSQL 大版本复制怎么做?| 逻辑复制

    当需要升级PostgreSQL时,可以使用多种方法.为了避免应用程序停机,不是所有升级postgres的方法都适合,如果避免停机是必须的,那么可以考虑使用复制作为升级方法,并且根据方案,可以选择使用逻 ...

  10. 多表表与表关系 增删改查 admin

    今日内容 多表表与表关系 增删改查表数据 admin 多表操作 表与表关系 默认指向主键 可能是隐藏主键 djamgo1.1默认级联(models. SET NULL解除级联) 一对一 先建立少的一方 ...