一、微信开发介绍

1.微信分为个人号,订阅号、服务号,需要去理解三个号的区别,对于开发来说也需要了解不同的账号所提供的功能

2.微信号需要审批,审批之后有一些功能才能使用

3.微信提供的功能及使用情况登陆http://mp.weixin.qq.com,通过左侧菜单“/开发/接口权限”查看

4.更多关于微信开发的信息,不是本文介绍的内容,此处指提出使用netsharp.weixin的要求

二、netsharp微信开发配置

netsharp平台可以支持多个微信公众号,具体配置如下列表和明细图,一些字段的意思保持和微信开发者一直便于理解

1.列表

2.表单

3.微信开发和netsharp的绑定

mp.weixin.qq.com下面当启用二次开发的时候,需要配置开发者的微信接收的地址,形如

http://host/wx?oid=gh_befcc6d4c40d

其中oid参数是微信的originalId

4.netsharp微信开发服务器接收代码

 package org.netsharp.servlet;

 import java.io.IOException;
import java.io.InputStream; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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;
import org.netsharp.wx.mp.message.WeixinMessageDispatcher;
import org.netsharp.wx.mp.sdk.WeixinRequestParameters; @WebServlet(name = "weixin", urlPatterns = "/wx")
public class WeixinServlet extends HttpServlet { private static final long serialVersionUID = 1L;
private static Log logger = LogFactory.getLog("weixin." + WeixinServlet.class.getSimpleName()); public WeixinServlet() {
super();
} // http://121.40.86.55/wx?oid=gh_befcc6d4c40d
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); logger.error("微信开发者配置验证开始"); response.getWriter().write(""); WeixinRequestParameters par = this.getWeixinParameter(request); try {
WeixinMessageDispatcher mc = new WeixinMessageDispatcher();
mc.validate(par);
response.getWriter().write(par.Echostr);
} catch (Exception ex) {
logger.error("servlet 微信get异常", ex);
} logger.error("微信开发者配置验证结束");
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.getWriter().write(""); WeixinRequestParameters par = this.getWeixinParameter(request);
InputStream stream = request.getInputStream();
// String xml = FileManager.read(stream);
// logger.error("[收到微信消息]:" + xml); try {
WeixinMessageDispatcher mc = new WeixinMessageDispatcher();
String content = mc.processRequest(par, stream); logger.error("[回复消息]:" + content); response.getWriter().write(content);
} catch (Exception ex) {
logger.error("servlet 微信post异常", ex);
}
} private WeixinRequestParameters getWeixinParameter(HttpServletRequest request) { WeixinRequestParameters par = new WeixinRequestParameters();
{
par.Signature = request.getParameter("signature");
par.Timestamp = request.getParameter("timestamp");
par.Nonce = request.getParameter("nonce");
par.Echostr = request.getParameter("echostr");
par.Oid = request.getParameter("oid");
} logger.error(par.toString()); return par;
}
}

三、Netsharp微信其他配置

1.菜单配置

微信启动二次开发了之后,菜单则需要通过接口创建,netsharp进行了封装并且提供了工具,菜单设置好以后在列表上点击“同步"按钮即可

重新生成菜单之后,开发者要及时看到菜单的最新设置,需要取消重新关注

现在netsharp的菜单还不能处理父子关系的菜单,但是数据库可以修改parent_id来修改其关系,界面会自动显示树状关系

2.文字及图文关注

3.微信回复和关注处理配置

文字和图文的回复是一种特殊的回复,微信的二次开发有大量的消息、关注的处理,这些处理除了js端,服务端都是可以配置的

netsharp提供了一些默认配置,

四、Netsharp微信框架介绍

本文之前主要介绍的是netsharp下的配置和管理功能,下面主要介绍Netsharp微信框架的技术部分

NETSHARP微信开发说明的更多相关文章

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

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

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

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

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

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

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

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

  5. 续关于C#的微信开发的入门记录一

    前几天写了一篇博客<关于C#的微信开发的入门记录一>,原文地址:http://www.cnblogs.com/zhankui/p/4515905.html,现在继续完善: 目前很多小伙伴都 ...

  6. 关于C#的微信开发的入门记录一

    在之前老是看到一些微信开发的例子,但是作为初学者会有很多问题,之前我也找了很多帖子,但是最终也没能解决,现在刚好手里有一个项目,总结一下分享给准备做却动不了手的朋友们,本文只是以我个人的经验作为浅谈( ...

  7. 《C#微信开发系列(4)-接收 / 返回文本消息》

    4.0接收 / 返回文本消息 ①接收/返回文本消息原理说明 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上,着手开发之前先行阅读微信公众平台接收普通消息 ...

  8. 《C#微信开发系列(3)-获取接口调用凭据》

    3.0获取接口调用凭据 ①接口说明 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留 ...

  9. 《C#微信开发系列(2)-自定义菜单管理》

    2.0自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定 ...

随机推荐

  1. js 创建对象的几种方法

    1. 使用object创建 var person = new Object(); person.name = "Tom"; person.age = "29"; ...

  2. 学习笔记001之[Android开发视频教学].01_06_Android当中的常见控件

    文本框,按钮 菜单按钮(需复写两个方法) 后续需完成联系代码.

  3. Python 继承与多继承

    相关知识点: __class__.__name__的用法. >>> class ABC: def func(self): print('打印类名:',__class__.__name ...

  4. mac通过命令行获取证书和配置文件过期时间

      背景:ios打包证书的profile配置文件过期了,导致以前已经打完的测试包不能安装.所以需要加上检测机制,在打包时提示证书是否将要过期,如果要过期了给出提示   方案: 1.查找profile配 ...

  5. spket插件安装并设置JQuery自动提示(转)

    spket是一个开发JavaScript.jQuery.Ext_js等的开发工具,它可以 是独立的IDE,也可以作为Eclipse的插件使用,下面介绍如何在Eclipse中安装spket插件: 1.首 ...

  6. C# winform 支持html5的 控件

    OpenWebKitSharp WebKit.net c#winform中使用WebKit传递js对象实现与网页交互 分类: .NET开发2013-08-18 23:55 2496人阅读 评论(1)  ...

  7. 批量执行命令(SSH)

    for a in {1..6} ; do scp /etc/hosts enc-bigdata0$a:/etc/hosts ; done

  8. centos 6.5 DNS服务器 搭建

    一.DNS 介绍 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,DNS协议运行在UDP协议之上,使用端口号53(Domain), 95 ...

  9. stm32初做项目心得

    在导师的带领下,基本了解了嵌入式的开发的基本流程: 1.首先从厂家拿到样板之后,首先进行检测,检测什么呢,先检测电源系统,看你的电源系统是否能够正常工作,就是各个管脚是否短路,断路. 2.检测完之后, ...

  10. TZOJ 3665 方格取数(2)(最大点权独立集)

    描述 给你一个m*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取数所在的2个格子不能相邻,并且取出的数的和最大. 输入 包括多个测试实例 ...