All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.foxinmy.weixin4j.model.Token Maven / Gradle / Ivy

There is a newer version: 1.10.2
Show newest version
package com.foxinmy.weixin4j.model;

import java.util.HashMap;
import java.util.Map;

import com.foxinmy.weixin4j.cache.Cacheable;

/**
 * access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token,正常情况下access_token有效期为7200秒,
 * 重复获取将导致上次获取的access_token失效
 *
 * @className Token
 * @author jinyu([email protected])
 * @date 2014年4月5日
 * @since JDK 1.6
 * @see 微信公众平台获取token
 * @see 微信企业号的主动模式
 */
public class Token implements Cacheable {

	private static final long serialVersionUID = -7564855472419104084L;

	/**
	 * 获取到的凭证
	 */
	private String accessToken;
	/**
	 * 凭证有效时间,单位:毫秒
	 */
	private long expires;
	/**
	 * token创建的时间,单位:毫秒
	 */
	private long createTime;
	/**
	 * 扩展信息
	 */
	private Map extra;

	/**
	 * 永不过期、创建时间为当前时间戳的token对象
	 *
	 * @param accessToken
	 *            凭证字符串
	 */
	public Token(String accessToken) {
		this(accessToken, -1);
	}

	/**
	 * 有过期时间、创建时间为当前时间戳的token对象
	 *
	 * @param accessToken
	 *            凭证字符串
	 * @param expires
	 *            过期时间 单位毫秒
	 */
	public Token(String accessToken, long expires) {
		this(accessToken, expires, System.currentTimeMillis());
	}

	/**
	 *
	 * @param accessToken
	 *            凭证字符串
	 * @param expires
	 *            过期时间 单位毫秒
	 * @param createTime
	 *            创建时间戳 单位毫秒
	 */
	public Token(String accessToken, long expires, long createTime) {
		this.accessToken = accessToken;
		this.expires = expires;
		this.createTime = createTime;
		this.extra = new HashMap();
	}

	public String getAccessToken() {
		return accessToken;
	}

	@Override
	public long getExpires() {
		return expires;
	}

	@Override
	public long getCreateTime() {
		return createTime;
	}

	public Map getExtra() {
		return extra;
	}

	public Token pushExtra(String name, String value) {
		this.extra.put(name, value);
		return this;
	}

	@Override
	public String toString() {
		return "Token [accessToken=" + accessToken + ", expires=" + expires
				+ ", createTime=" + createTime + ", extra=" + extra + "]";
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy