Netsharp下微信菜单以及OAuth

用户点击一个微信菜单的时候,可以发送一个消息,也可以打开一个页面链接,下面说页面链接的情况

如果微信菜单打开这个url的话:http://www.netsharp.org/nav/weixin/index?originalId=gh_cd4d099926d5

微信要求url必须配置成这样的:https://open.weixin.qq.com/connect/oauth2/authorize?from=weixin&appid=wx19a3e7936ff4ec13&redirect_uri=http%3A%2F%2Fwww.netsharp.org%2Fnav%2Faddins%2Fweixin%2Findex%3ForiginalId%3Dgh_cd4d099926d5&response_type=code&scope=snsapi_base&state=#wechat_redirect

其中:redirect_uri部分是开发人员真正想让客户看到的链接,而且需要编码

微信打开菜单以后,页面先跳转到微信的oauth认证页,然后再跳转到业务页面,首先netsharp会自动把"originalId"参数传递过去,在业务页面如果想获取openId则通过oauth认证页给业务页面追加的一个参数“code”获取,netsharp把根据code获取粉丝信息给封装了,参见业务页面的代码:

<%@page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
<%@page import="org.netsharp.wx.pa.base.IFansService" %>
<%@page import="org.netsharp.communication.ServiceFactory" %>
<%@page import="org.netsharp.wx.pa.entity.Fans" %>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <meta name="format-detection" content="telephone=no" />
    <title>oauth测试页面</title>

  </head>
  <body > 

    <%
        String originalId = (String)request.getParameter("originalId");
        response.getWriter().write("originalId:"+originalId+"<br/>");

        String code = (String)request.getParameter("code");
        response.getWriter().write("code:"+code+"<br/>");

        //oauth中必须根据code才能得到粉丝信息
        IFansService fansService = ServiceFactory.create(IFansService.class);

        Fans fans = fansService.attachByOpenId(code, originalId);

        response.getWriter().write("openId:"+fans.getOpenId()+"<br/>");
        response.getWriter().write("nickname:"+fans.getNickname()+"<br/>");
        response.getWriter().write("img:<img src=‘"+fans.getHeadImgUrl()+"‘ style=‘width:60px;height:60px‘ /><br/>");

    %>
  </body>
</html>

测试页的效果如下:

时间: 2024-10-11 16:43:43

Netsharp下微信菜单以及OAuth的相关文章

安卓微信中bootstrap下拉菜单无法正常工作的解决方案

bootstrap下拉菜单组件描述:http://v3.bootcss.com/components/#dropdowns 问题环境:安卓4.4.2,微信6.2内置浏览器,bootstrap 3.1.1.1 问题描述:bootstrapV3的下拉菜单组件,在ios的微信浏览器中表现正常,但安卓微信浏览器中无法正常触发,安卓非微信浏览器可以触发 问题触发条件:未知 解决方案:去除button元素的属性data-toggle="dropdown",自己另外写一小段事件监听代码来切换div.

C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据

我曾经在系列文章中的<C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍>中介绍了微信菜单里面的重定向操作,通过这个重定向操作,我们可以获取一个code值,然后获取用户的openID,进而就能获取到更多的用户信息,这个在会员信息的场景里面用的很多,本篇介绍在网站中迅速配置这样的菜单链接,并介绍如何在后台获取相关的用户信息,实现页面数据个性化的展现操作. 我们知道,微信的自定义菜单分为两大类,分别对应Click类型和View类型的,而重定向属于View类型的一种,如下所示. 1.微信重

Android popwindow和fragment结合 左侧弹出下拉菜单 切换界面

延续上一篇文章Android 实现对话框圆角功能 ,在项目推进的过程当中,之前是已经用popwindow实现了点击按钮,在按钮下方弹出下拉菜单,实现了类似微信右上角加好友的功能,有兴趣的朋友,可以下载这个资源.回归主题,之前popwindow的使用,是固定在了登陆刚进去的界面,假设现在点击了左侧菜单的其他按钮,这就要求标题下方的内容必须更新所要显示的内容,一开始想都没想,就用了如下代码进行跳转: Intent intent = new Intent(Intent.ACTION_EDIT, nul

C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍

原文:C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍 在前面一系列文章中,我们可以看到微信自定义菜单的重要性,可以说微信公众号账号中,菜单是用户的第一印象,我们要规划好这些菜单的内容,布局等信息.根据微信菜单的定义,我们可以看到,一般菜单主要分为两种,一种是普通的Url菜单(类型为View的菜单),一种是事件菜单(类型为Click的菜单),一般情况下,微信的Url菜单,是无法获得用户的任何信息的,但微信用户信息非常重要,因此也提供了另外一种方式(类似重定向的方式)来给我们使用,本篇

微信公众平台 OAuth Access_Token获得

微信官网wiki:http://mp.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96access_token 以下摘自官网: access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效(self:微信端应该是运用了Memcached或者Redis处理access_token的timeout)

下拉菜单的制作无js

下拉菜单有许多种制作方法: 今天我们就做最简单的一种: 话不多说先看html <body> <div class="menubox"> <ul> <li class="list1"><a href="">首页</a></li> <li class="list1"><a href="">公司简介<

jQuery宽屏下拉菜单导航 子菜单可自定义

jQuery是一款流行已久的Javascript框架,确实很好用.今天我们要介绍一款用jQuery实现的下拉菜单导航插件,下拉菜单的外观是仿腾讯云官网菜单的.鼠标滑过主菜单时,即可展开二级下拉子菜单.值得注意的是,这款jQuery下拉菜单的子菜单内容可以自定义,因此也非常灵活. 访问地址:http://www.xuecss3.com/jquery-10-757-1.html 另外分享一个FQ软件:下载地址  http://www.xuecss3.com/qianduan-9-374-1.html

C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能

前面介绍了很多篇关于使用C#开发微信门户及应用的文章,基本上把当时微信能做的接口都封装差不多了,微信框架也积累了不少模块和用户,最近发现微信公众平台增加了不少内容,特别是在自定义菜单里面增加了扫一扫.发图片.发地理位置功能,这几个功能模块很重要,想想以前想在微信公众号里面增加一个扫描二维码的功能,都做不了,现在可以了,还可以拍照上传等功能,本文主要介绍基于我前面的框架系列文章,进一步介绍如何集成和使用这些新增功能. 1.微信几个功能的官方介绍 1). 扫码推送事件 用户点击按钮后,微信客户端将调

DIV置底层或置最高层的方法下拉菜单被挡住

网站常会用到一些 下拉菜单,,幻灯片,,,飘浮广告等. 但经常会发现.幻灯片会挡住下拉菜单或者飘浮广告微信开店等. 解决办法有下 第一,可将幻灯片所在DIV 置于最底层.添加CSS如下 style="z-index:-100;position: relative;" 第二,可将被挡住的DIV/ul/li 置于最高层.添加CSS如下 style="z-index:9999;position: relative;" 在使用FLASH幻灯的时候,有时还是不行.那便在FLA