资源简介
环信官方demo有点繁琐,自己封装了一下,与大家共享
代码片段和文件信息
package com.easemob.lmc.model;
import java.util.HashMap;
import java.util.Map;
import org.apache.http.client.methods.HttpEntityEnclosingRequestbase;
import org.apache.http.client.methods.HttpRequestbase;
import com.easemob.lmc.service.TalkHttpService;
import com.easemob.lmc.tool._Global;
public class Authentic {
private static Token token = new Token();
private TalkHttpService service;
public Authentic(TalkHttpService service) {
this.service = service;
}
public Authentic(TalkHttpService service Token token) {
this.service = service;
if(token!=null){
Authentic.token = token;
}
}
public Token getToken() {
this.flush();
return token;
}
public void task() {
//TODO 定时刷新服务端TOKEN
this.flush();
}
public void applyAuthentication(HttpEntityEnclosingRequestbase request) {
this.flush();
request.addHeader(“Authorization““Bearer “+token.toString());
}
public void applyAuthentication(HttpRequestbase request) {
this.flush();
request.addHeader(“Authorization““Bearer “+token.toString());
}
private void flush() {
synchronized(Authentic.class){
try{
if(token.isExpire()){
if(_Global.APP_CLIENT_ID!=null&&_Global.APP_CLIENT_SECRET!=null){
Mapject>param = new HashMapject>();
param.put(“grant_type““client_credentials“);
param.put(“client_id“_Global.APP_CLIENT_ID);
param.put(“client_secret“_Global.APP_CLIENT_SECRET);
TalkNode res = service.request(_Global.URR_TOKEN_Global.HTTP_METHOD_POSTparamnullnull);
if(res!=null&&res.getAccess_token()!=null&&res.getExpires_in()!=null&&res.getExpires_in()>0){
token = new Token(res.getAccess_token()res.getExpires_in()*1000+System.currentTimeMillis());
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
public static class Token {
private String token;
private Long expire;
public Token() {}
public Token(String token long expire) {
this.token = token;
this.expire = expire;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public Long getExpire() {
return expire;
}
public void setExpire(Long expire) {
this.expire = expire;
}
public boolean isExpire() {
return expire==null||System.currentTimeMillis()>expire;
}
@Override
public String toString() {
return token;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 558 2015-12-09 19:06 chat.liaozi.net\.classpath
文件 1198 2015-12-08 19:11 chat.liaozi.net\.project
文件 522 2015-12-08 19:11 chat.liaozi.net\.settings\.jsdtscope
文件 164 2015-12-08 19:11 chat.liaozi.net\.settings\com.genuitec.runtime.libraries.xm
文件 364 2015-12-08 19:11 chat.liaozi.net\.settings\org.eclipse.jdt.core.prefs
文件 504 2015-12-08 19:11 chat.liaozi.net\.settings\org.eclipse.wst.common.component
文件 398 2015-12-08 19:11 chat.liaozi.net\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2015-12-08 19:11 chat.liaozi.net\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2015-12-08 19:11 chat.liaozi.net\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 2482 2016-04-07 17:16 chat.liaozi.net\src\com\easemob\lmc\model\Authentic.java
文件 3528 2016-04-07 16:23 chat.liaozi.net\src\com\easemob\lmc\model\TalkMsg.java
文件 20803 2016-04-07 16:23 chat.liaozi.net\src\com\easemob\lmc\model\TalkNode.java
文件 16187 2016-04-07 16:59 chat.liaozi.net\src\com\easemob\lmc\service\impl\TalkDataServiceImpl.java
文件 5461 2016-04-07 17:22 chat.liaozi.net\src\com\easemob\lmc\service\impl\TalkHttpServiceImplApache.java
文件 771 2016-04-07 17:22 chat.liaozi.net\src\com\easemob\lmc\service\impl\TalkHttpServiceImplJersey.java
文件 9618 2016-04-07 16:53 chat.liaozi.net\src\com\easemob\lmc\service\TalkDataService.java
文件 955 2016-04-07 17:22 chat.liaozi.net\src\com\easemob\lmc\service\TalkHttpService.java
文件 1356 2016-04-07 16:29 chat.liaozi.net\src\com\easemob\lmc\tool\JsonTool.java
文件 1056 2016-04-07 17:02 chat.liaozi.net\src\com\easemob\lmc\tool\_Global.java
文件 383 2015-12-08 20:13 chat.liaozi.net\src\log4j.properties
文件 1524 2016-04-07 17:19 chat.liaozi.net\src\test\TalkTest.java
文件 834 2015-12-08 19:11 chat.liaozi.net\WebRoot\index.jsp
文件 39 2015-12-08 19:11 chat.liaozi.net\WebRoot\me
文件 1359 2016-04-07 17:16 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\Authentic$Token.class
文件 3435 2016-04-07 17:16 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\Authentic.class
文件 2625 2016-04-07 17:01 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\TalkChat.class
文件 1729 2016-04-07 17:01 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\TalkChatBody.class
文件 812 2016-04-07 17:01 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\TalkChatPayload.class
文件 2048 2016-04-07 17:01 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\TalkGroup.class
文件 1465 2016-04-07 17:01 chat.liaozi.net\WebRoot\WEB-INF\classes\com\easemob\lmc\model\TalkGroupFriend.class
............此处省略51个文件信息
- 上一篇:汇编开发工具 MASM 5.0
- 下一篇:stm8s触摸按键库2.5版本
评论
共有 条评论