nodejs开发微信1——微信access-token和tickets的数据模型

 1 /* jshint -W079 */
 2 /* jshint -W020 */
 3
 4 "use strict";
 5 //var _ = require("lodash");
 6
 7 module.exports = function(utils, db) {
 8
 9     // Model WeChatAccessTokenSchema
10     var WeChatAccessTokenSchema = new db.Schema({
11         appid:  {type: String, trim:true, required: true },
12         access_token: {type: String, trim:true},
13         expires_in: Number,
14         at: {type: Number, default: parseInt(new Date().getTime() / 1000)},
15         create_at: {type: Date, default: Date.now}
16     }, db.schema_options);
17
18     WeChatAccessTokenSchema.index({ appid: 1 });
19     WeChatAccessTokenSchema.index({ access_token: 1 });
20
21     global.WeChatAccessToken = db.mongoose.model(‘WeChatAccessToken‘, WeChatAccessTokenSchema);
22
23     // Model WeChatTicketSchema
24     var WeChatTicketSchema = new db.Schema({
25         appid: {type: String, trim:true, required: true},
26         ticket: {type: String, trim:true},
27         noncestr: {type: String, trim:true},
28         expires_in: Number,
29         at: {type: Number, default: parseInt(new Date().getTime() / 1000)},
30         create_at: {type: Date, default: Date.now}
31     }, db.schema_options);
32
33     WeChatTicketSchema.index({ appid: 1 });
34     WeChatTicketSchema.index({ ticket: 1 });
35
36     global.WeChatTicket = db.mongoose.model(‘WeChatTicket‘, WeChatTicketSchema);
37 };

数据库中只保存这两条数据,每次请求都是更新,不会增加;

这是mvc模式中的m,数据模型,

时间: 2024-10-15 04:16:02

nodejs开发微信1——微信access-token和tickets的数据模型的相关文章

atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制

atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制 1. token机制and  session保持状态机制 1 2. access token是什么?? 1 3. 为什么需要access token 2 4. 需不需要保存access_token,如何保存??? 2 5. access_token在何时被创建 2 6. 为什么不直接使用appid保持状态 2 7. access_token的过期问题 3 8.

微信公众号开发Access Token

Access Token 在微信公众平台接口开发中,Access Token占据了一个很重要的地位,相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限. access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效. 公众号可以使用AppID和AppSecret调用本接口来获取access_token.AppID和AppSecret可

微信开发-ACCESS TOKEN 过期失效解决方案

起因:因为access_token的重要性,开发过微信的都知道,但是他有自己的生命周期,官方解释为:"有效期为7200秒",一天调用2000次.流量一高,就over了,没办法,龙哥不帮我们解决问题,我们就要自己解决,不能等死. 解决思路很简单:建立公共access token数据,有效期内不重新创建access_token. 解决方案:1.微信类库:有效期内直接读取access token数据文件中的json数据,过期失效,重新获取并创建新的access token数据文件2.数据文件

Force.com微信开发系列(四)申请Access Token及自定义菜单之创建菜单

在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒内失效,重复获取将导致上次获取的Token失效,本文将首先介绍如何获取Access Token,再介绍如何通过Access Token来在微信内添加自定义菜单(注意,开发者需要申请测试账号来测试自定义菜单,如何申请请参照前文). 申请Access Token 获取Access Token接口的网址如下: https://api.weixin.qq.com/c

微信公众平台开发学习笔记2--获取access token

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.获取的access_token过期时间为2小时.获取access token具体说明请参考官方文档. 我们不能因为每个业务要用到access_token的时候,都去微信服务器去请求获取新的access_token,所以我们要把获取到的access_token进行保存. 解决问题的大体思路如下: 我们将获取到的access_token码,和调用微信接口时的时间保存到数据库,或者记录到xml中,每次要

微信公众平台开发 获取access token (续)

直接上代码: 关键代码 第一步 /** * @author  lizhe * */public class WxAccessToken {    private String token;    private int expiresIn;    public String getToken() {        return token;    }    public void setToken(String token) {        this.token = token;    }  

使用缓存Memcache存储更新微信access token

关键字:Memcache access_token 更新 存储 7200 本文介绍如何使用缓存Memcache存储及更新 access token的方法. 一.Access Token access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效. 公众号可以使用AppID和AppSecret调用本接口来获取access_token.AppID和App

NodeJs 开发微信公众号(四)微信网页授权

微信的网页授权指的是在微信公众号中访问第三方网页时获取用户地理.个人等信息的权限.对于开发了自己的网页app应用时,获取个人的信息非常重要.上篇博客讲到了注册时可以获取用户的信息,很多人会问为什么还需要网页授权这种方式去获取呢,直接从数据库中读取不就可以了吗?这样的做的原因是服务器会话时间终究是有限的,关注后我们设置的会话一般在半个月左右,半个月后就需要重新生成会话,而这时就需要网页授权的openid帮忙了.况且,用户的信息也是会刷新的,虽然这种情况很少发生,但是我们至少应该确保信息是有一定的更

PHP CURL获取微信公众平台的ACCESS TOKEN以及创建菜单的方法

//使用curl模块,必须在php.in 里面将curl模块开启.<?php header("Content-type: text/html; charset=utf-8"); define("app_id","xxx");//APP_ID define("app_secret","xxxx");//APP_SECRET //获取access token 的方法 function get_access

NodeJs 开发微信公众号(三)微信事件交互

微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成.比如说自定义菜单功能,必须通过发送post请求的方式生成.本章就通过关注到取消关注的整个过程来谈一谈nodejs是怎么样与微信交互的.这些功能的入口就是你在测试公众号里面填写的URL(以下用/login/wechat代替). 事件交互 扫码关注微信公众号后,微信会调用你的接口/login/wechat,并且附带一段xml信息,首先你需要获取一些签名,通过加密.排序比对是否与你填写的TOKEN一致,如果一致则进行xm