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. spring Ioc/DI的理解

    学习spring的童鞋都知道,spring中有两个非常重要的点,Ioc(控制反转)与DI(依赖注入),对于初级玩家来说,这两个概念可能有点模棱两可的感觉,今天就谈下自己的一点理解,不足请多多指教!!! ...

  2. Access access中,查询字段是否存

    '===========================================================' 过程及函数名:  ListAllTableAndAllField' 版本号  ...

  3. jQuery选择:子代元素与后代元素的区别

    (1)后代元素:html代码如下,那么在jquery选择时,$(".test img"),中间为空格,则是选取后代元素,img对于ul来说是孙子辈元素,中间隔了li元素,所以后代元 ...

  4. 安卓渗透测试工具——Drozer(安装和使用)

    移动端渗透测试工具相比丰富的web端真的是少之又少,最近在做app的安全测试,用到了drozer,drozer的安装过程真的是太心酸了,中间报错了有6次才成功安装.. 一.环境准备 首先准备以下环境: ...

  5. API接口设计的五大公共参数

    1.平台参数 2.操作系统参数 iOS.Android.PC等等 3.软件版本参数 4.udid号(设备唯一ID) 每个设备都会有一个唯一udid 5.渠道号 app软件从那个渠道下载

  6. /etc/passwd字段信息

    root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nol ...

  7. 【JulyEdu-Python基础】第 2 课:关键字和循环控制

    大纲 变量和类型常见字符串处理条件判断循环控制函数 变量和类型 基本变量类型 对于python所有对象都是继承自object的类 容器: 整数 print(type(1234)) <class ...

  8. .net 读取xml文件

    xml 文件 <?xml version="1.0" encoding="utf-8" ?><root><name value=& ...

  9. 最大两队竞争值(暴力dfs)--牛客多校第二场

    题意: 给你2n个人,两两有对立竞争值,问你分成两队最大的竞争值是多少. 思路: 直接暴力dfs,稍微有点卡,3800ms. #include<iostream> #include< ...

  10. CSP 字符串匹配(201409-3)

    问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符:当选项关闭时,表示同一个字母的大写和小写 ...