您好,欢迎光临本网站![请登录][注册会员]  
文件名称: C#开发微信门户及应用 pdf
  所属分类: 其它
  开发工具:
  文件大小: 221kb
  下载次数: 0
  上传时间: 2019-08-10
  提 供 者: weixin_********
 详细说明:NULL 博文链接:https://zzc1684.iteye.com/blog/2210478我对各科微信公众号进行了解,发现多数账号采用的都是普通的view类型的菜单链接方式,通过它们链接到自己的微网站上,但也有 些做的好的,如省立中山图书馆,就能通过重定间的方式,提供一个绑定图书馆用户和微信 Openid的入口,绑定后,用户就可以 查看借阅的书籍,然后可以通过一键续借功能实现图书的快速续借功能 对于这种重定向类型的Ur1菜单事件,微信的说明如下 如果用户在微信中(web微信除外)访问公众号的第三方网页,公众号开父者可以通过此接口获取当前用户基木信息(包括昵称、性 别、城市、国家)。利用用户信息,可以实现体验优化、用户来源统讣、帐号绑定、用户身份鉴杖等功能。请注意,“获取用户基本 信息接口是在用户和公众号产生消息交互时,才能根据用户 OpenID获取用户基本信息,而网页授权的方式获取用户基本信息,则无 需消息交互,只是用户进入到公众号的网页,就可弹出请求用户授权的界面,用户授权后,就可获得其基本信息、(此过程甚至不需 要用户已经关注公众号。)” 50的1方仅传递用opnl 重定向类型菜单 Scope为 nsapi_ userinfo的链接方式 用户授权后可以获取昵称,位置,图像等信息 2、重定向类型菜单的URL 上面说了,重定向类型的菜单分为了两科,其实他们也仅仅是参数 Scope类型的不同,其他部分也还是一样的。 为了展示,我们在假设用户单击菜单的时候,切换到http://www.iqidi.com/testwx.ashx这个页面,并带过来当前用户的Openid等 参数信息 对于 scope= nsapi base方式的链接如下: https://open.weixin.gg.com/connect/oauth2/authorize?appid=vx3d81fc2886d86526&redirecturi=http%3a%2f%2fwww.iqidi.com %2Ftestwx. ashx&response type=code&scope=snsapi base&state=123*wechat redirect 而对于 scope- nsapi userinfo方式的链接如下 https open.weixin.qg.com/connect/oauth2/authorize?appid=wx3d81fc2886d86526&redirecturi=http%3a%2f%2fwww.iqidi.com %2Ftestwx. ashx&response type=code&scopesnsapi userinfo&state=123#wechat redirect 不过他们给手机客户端的体验是不同的,第一种可以平滑切换,但是第二种会弹岀一个对话框供用户确认才能继续。 命0中国联通学 22:30 常74% 返回 应用登录 广州爱奇迪 该帐号服务由广州爱奇迪软件 科技有限公司提供 广州雯磅迪件 该应用公众号将获取以下授权: 回同意使用基本资料登录此应用 取消 允许 为了演示上面两种获取数据的不同,我把他们传过来的code的值,用户换取 Openid后进行用户信息的解析,他们两者的结果都是 样了。具休测试界面如下所示 0中国联通 22:31 874%■ 返回 code:022b62fb586e3b8c836c5647e7fc2224 openid:oSiLnt6t39223qvUtB9ddmgiE2cs nickname:伍华聪sex:1 Lacation:中国广东广州zhcN Headurl:http://wx.qlogo.cn/mmopen/bx4o eUAFGHKuds0832x006ohYWMyaWFLGILibLbibo fIibSekaXR5LSaEFltofRxiaYmNZzK7W2WuL 8 fYBVicia7GYD3k4oRz6zhf/0 subscribe:已订開,2014-5-1623:37:23 其中 TestWX.ashx的页面后台代码如下所小: /// /// TestWX的摘要说明 summarv public class testwx: IhtTphandler string appid="";//换成你的信息 string appsecret=";//换成你的信息 publicvoidProcessrequest(httpcontExtcontext context Response. ContentType ="Lext/ plain string content=〃〃 if (context Request -null & context Request Url!=null) NameValue Collection list=HiLpUtility ParseQueryString(context Request Url Query foreach (string key in list. AllKeys) content +- string. Format(10): 1 \r\n, key, list [key ]) string code context Request Query String[ code?? if (!string Is NullOrEmpty(code)) I BasicApi api new BasicApi( try AppConfig config- new AppConfig( appId= config. AppConfigget(" Appl");//从配置中获取微信程序ID appsecret= config. AppConfigget(" Appsecret");//从配置中获取微信程序秘钥 Access TokenResult result= api. GetAccessToken (appid, appsecret, code) if (result content + string Format("openid: O\\n", result. openid) string token api GetAccess Token(appId, appSecret) IUserApi userApi new UserApi o User Json userDetail= userApi GetUserDetail(token, result. openid) if (user Detail != null content + string Format(nickname: 10 sex: 1r\n", userDetail nickname userDetail, sex content + string Format( Location: 0))2)3\r\n", userDetail country userDetail. province, userDetail. city, userDetail language content + string Format(HeadUrl: 10) r\n", userDetail headimgurl) content + string Format("subscribe: 10, 1\r\n",(userDetail subscribe ==1)?EiLa 未订阅", userDetail. subscribe time. GetDateTime()) catchi j context Response. Write(content) 在上面的代码中,我主要分为几步,一个是打印当前用户重定向过来的链接的参数信息,代码如下。 Namevalue Collection list Httputility. Parsequery striNG(context. Request Url. Query) foreach (string key in list. AllKeys content+= string. Format( 01: 1 \r\n, key, list [key]) 然后获取到Code参数后,通过APⅠ接口,获取 AccessTokenresult的数据,这里面有用户的 Openid AccessTokenResult result api GetAccess Token (appId, appSecret, code 当正常调用后,我们把用户标识的ω pen ID进一步进行解析,调用API获取用户的详细信息,具体代码如下所示 User Json userDetail= userApi GetlserDetail(token, result. openid) 当我们把用户的相关信息获取到了,就可以做各种用户信息的展示了,如下代码所示。 if (userDetail ! null) content + string Format(nickname: 10) sex: 1\r\n", userDetail nickname userDetail. sex) content + string Format("Location:0[\r\n", userDetail country userDetail.province, userDetail. city, userDetail. language) content + string Format("HeadUrl: 0 r\n, userDetail headimgur1 content + string Format(" subscribe: 101, 1\r\n",(userDetail subscribe ==1)?dil 宋订阅", userDetail. subscribe time. GetDatetime(); 3、重定向链接菜单的用途 这种菜单就是需要指定域名,在微信后台中进行设置,重定向的链接必须属于这个域名之中,否则不会转到你希望的链接。 这个方式,让我们的微信应用程序后台可以获得用户的标识、用户详细信息等,我们就可以用来绑定和用户相关的业务信息了,如上 面提到的图书馆借阅信息,送水客户的信息,客户的积分信息,或者可以和后台账号进行关联实现更加复杂的应用等。用户的身份信 息如此重要,如果结合到我们的CRM系统、业务管理系统,就可以发挥用户信息应用的作用了。 以上就是我对这个类型菜单链接的应用了解,具休还需要进一步深化其应用,希望和大家共同探讨这方面的应用场景。
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: