解析nodejs微信开发-2获取ticket

获取ticket是需要拼接url,url中需要获得的tocken

1、先判断有无tocken;若有则拼接url;

2、请求url;

a、处理回调数据,注意时间戳和签名处理方式,此两项并未存到ticket中,

b、存储回调数据,存储时将时间戳和签名存到ticket中;注意此两项并未存到数据库,而是在存储时动态生成的时间戳和签名,签名还有一个签名函数;

c、返回存储数据。

 1   function refreshTicket(appid, appsecret, page, ticket, res) {
 2     getToken(appid, appsecret, function (token, err) {
 3       if (err === null) {
 4         if (!_.isEmpty(token.access_token)) {
 5           // 获取 jsapi_ticket
 6           var ticket_url = ‘https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=‘ + token.access_token + ‘&type=jsapi‘;
 7
 8           request.get(ticket_url, function (error, response, body) {
 9             var t = ticket === null ? new WeChatTicket() : ticket;
10             var data = JSON.parse(body);
11
12             if(!data.ticket) res.json({error: response});
13             else {
14               t.appid = appid;
15               t.ticket = data.ticket;
16               t.noncestr = sha1(new Date());
17               t.expires_in = data.expires_in;
18               t.at = parseInt(new Date().getTime() / 1000);
19
20               var timestamp = parseInt(new Date().getTime() / 1000);
21               var signature = wechatSignature(t, page, timestamp);
22
23               t.save(function (err) {
24                 var json = t.toJSON();
25                 json.at = timestamp;
26                 json.signature = signature;
27                 res.json({ticket: json, error: err});
28               });
29             }
30           });
31         } else res.json({error: err});
32       } else res.json({error: err});
33     });
34   }
35
36   /* 微信签名实现 */
37   function wechatSignature(t, page, timestamp) {
38     var string = "jsapi_ticket=" + t.ticket + "&noncestr=" + t.noncestr + "&timestamp=" + timestamp + "&url=" + page;
39     return sha1(string);
40   }
时间: 2024-12-12 10:43:30

解析nodejs微信开发-2获取ticket的相关文章

微信开发之 获取用户地址

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Security; using System.Web.Script.Serialization; using sohovan.com.wxapi; namespace WXKF { public class JsApi { JavaScriptSerializer Jss = new Java

nodejs微信开发获取token,ticket-1

1 /* jshint -W079 */ 2 /* jshint -W020 */ 3 4 "use strict"; 5 var _ = require("lodash"); 6 var sha1 = require('sha1'); 7 var urlencode = require('urlencode'); 8 var request = require('request'); 9 var express = require('express'); 10 v

.NET 微信开发之 获取用户数据

通过微信接口获取用户信息主要分为以下几个步骤: a.获取公众号的access_token b.通过查询所有用户OPenid接口获取所有用户. string url = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + access_token; c.通过获取用户openid,然后通过openid获取用户数据 d.把用户信息添加到数据库中. 1.参数化查询以及添加用户信息到数据库方法 public void AddT

c# 微信开发 《获取用户的信息》

public const string WeiXin_User_GetInfoUrl = "https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang=zh_CN"; /// <summary> /// 根据OpenID 获取用户在微信的基本信息(需关注公众号) /// </summary> /// <param name="openId

[微信开发] - weixin4j获取网页授权后的code进而获取用户信息

weixin4j封装好的SnsComponent组件中的方法可以执行该步骤 WeixinUserInfoController : package com.baigehuidi.demo.controller; import com.baigehuidi.demo.loader.WeixinInsLoader; import com.baigehuidi.demo.weixin4j.WeixinException; import com.baigehuidi.demo.weixin4j.model

微信开发一获取用户授权(静默授权方式)

/// <summary> /// 获取用户授权返回json序列化为UserAuthorizeInfo /// </summary> /// <param name="code"></param> /// <returns></returns> public static UserAuthorizeInfo GetDicUserAuthorize(string code) { string url = "

微信开发__入门

0.作者前言 本文针对人群是有一定开发基础的人员,可以比较快的帮助你了解和学习微信开发. 其次是本文作者本次书写,全部采用的是个人的订阅号,假如是正常的开发流程,可能会存在不同,请读者注意. 本文代码部分主要提供的是关键代码,非关键代码因人而异,需要读者自行补充,请注意. 今天文章下面对一些方法进行了封装,虽然在公司里面,这些都是由后台来对这些任务完成,但是身为一个有理想,有抱负的前端,我们会肯定是有必要的,对吧.而且微信开发很多时候,也是直接由前端来开发完成的. 最后,如果喜欢本文,请关注我呦

C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取

一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号密码.作为微信接口开发人员我们知道网页授权可以用作微信网页用作安全登录,带参数二维码的使用用作记录用户来源,模板消息用作购物消费等消息的通知,但是很少看到有综合利用这些高级接口做出体验比较好的公众账号,这里分享一些我开发的用户绑定和验证码的一些心得.所需要的接口有基础的回复.网页授权.带参数二维码.

微信公众平台开发-access_token获取及应用(含源码)

微信公众平台开发-access_token获取及应用(含源码)作者: 孟祥磊-<微信公众平台开发实例教程> 很多系统中都有access_token参数,对于微信公众平台的access_token参数,微信服务器判断该公众平台所拥有的权限,允许或者禁止公众平台进行当前的操作. 一.access_token作用及使用场景 (一)access_token的作用 access_token由公众号的AppID和AppSecret组成,所以具有识别公众号的作用. (二)access_token的使用场景