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. 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_7 响应json数据之发送ajax的请求

    编写conroller的方法 @RequestBody获取请求体的内容.当前请求体传递的是json字符串. 拿到了请求的内容

  2. 动态初始化swiper时,轮播图划不动得各种bug解决方法

    var mybanner = new Swiper('.i-gd-banner', { speed: 500, loop: true, observer:true,//修改swiper自己或子元素时, ...

  3. axios的中文使用文档

    axios 基于promise用于浏览器和node.js的http客户端 原文链接 lewis1990@amoy 特点 支持浏览器和node.js 支持promise 能拦截请求和响应 能转换请求和响 ...

  4. Django路由系统-URLconf配置、正则表达式简述

    Django路由系统 1.11版本官方文档 ​ URL配置就像是Django项目的目录,它的本质是URL与URL调用的函数之间的映射表,Django会根据URL配置,在遇到一个URL时,就去执行相应的 ...

  5. Spring MVC 源码 分析

    spring web 源码 @HandlesTypes(WebApplicationInitializer.class) public class SpringServletContainerInit ...

  6. Linux常用目录名称

    目录 用途 / 虚拟目录的根文件,通常不会在这里存储文件 /bin 二进制目录,存放许多用户的GNU工具 /boot 启动目录,存放启动文件 /dev 设备目录,Linux在这里创建设备节点 /etc ...

  7. 论文阅读 | Trojaning Attack on Neural Networks

    对神经网络的木马攻击 Q: 1. 模型蒸馏可以做防御吗? 2. 强化学习可以帮助生成木马触发器吗? 3. 怎么挑选建立强连接的units? 本文提出了一种针对神经元网络的木马攻击.模型不直观,不易被人 ...

  8. Oracle 即时客户点下载以及简单连接数据库的方法

    1. 下载方法 百度 oracle client 第一个即可 2. 下载地址为: https://www.oracle.com/database/technologies/instant-client ...

  9. 设计模式:模板方法(Template method)

    首先我们先来看两个例子:冲咖啡和泡茶.冲咖啡和泡茶的基本流程如下: 所以用代码来创建如下: 咖啡:Caffee.java public class Coffee { void prepareRecip ...

  10. C++练习 | 最长公共字符串(DP)

    HDU 1159.Common Subsequence #include<iostream> #include<stdio.h> #include<string> ...