Commit cae3f207 by zhengnw@sobot.com

common 1.4.0 添加sdk 登录

parent 057b0bfd
...@@ -8,6 +8,9 @@ import android.content.Intent; ...@@ -8,6 +8,9 @@ import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.widget.ImageView; import android.widget.ImageView;
import com.sobot.common.login.SobotLoginTools;
import com.sobot.common.login.callback.SobotResultBlock;
import com.sobot.common.login.callback.SobotResultCode;
import com.sobot.common.utils.SobotImageUtils; import com.sobot.common.utils.SobotImageUtils;
import com.sobot.pictureframe.SobotBitmapUtil; import com.sobot.pictureframe.SobotBitmapUtil;
import com.sobot.utils.SobotLogUtils; import com.sobot.utils.SobotLogUtils;
...@@ -220,6 +223,16 @@ public class MainActivity extends SobotBaseActivity { ...@@ -220,6 +223,16 @@ public class MainActivity extends SobotBaseActivity {
// SobotLoginTools.getInstance().setLoginUser(sa); // SobotLoginTools.getInstance().setLoginUser(sa);
// SobotServiceInfoModel ccc=new SobotServiceInfoModel(); // SobotServiceInfoModel ccc=new SobotServiceInfoModel();
// SobotLoginTools.getInstance().setServiceInfo(ccc); // SobotLoginTools.getInstance().setServiceInfo(ccc);
// SobotLoginTools.getInstance().doLogin(MainActivity.this, MainActivity.this, "https://api-c.soboten.com/text", "zhengnawei@sobot.com", "znw123456","", new SobotResultBlock() {
// @Override
// public void resultBolok(SobotResultCode code, String msg, Object obj) {
// SobotLoginTools.getInstance().checkExpiresToken();
// SobotLogUtils.i(SobotLoginTools.getInstance().getAccessToken()+"");
// SobotLogUtils.i(SobotLoginTools.getInstance().getTempId());
// SobotLogUtils.i(SobotLoginTools.getInstance().getToken()+"");
// }
// });
} }
@Override @Override
......
...@@ -13,7 +13,7 @@ ext { ...@@ -13,7 +13,7 @@ ext {
PUBLISH_GROUP_ID = "com.sobot.library" //项目包名 PUBLISH_GROUP_ID = "com.sobot.library" //项目包名
PUBLISH_ARTIFACT_ID = 'sobotcommon' //项目名 PUBLISH_ARTIFACT_ID = 'sobotcommon' //项目名
// PUBLISH_ARTIFACT_ID = 'sobotcommon_x' //项目名 // PUBLISH_ARTIFACT_ID = 'sobotcommon_x' //项目名
PUBLISH_VERSION = '1.3.9.5' //版本号 PUBLISH_VERSION = '1.3.9.6' //版本号
} }
......
...@@ -11,6 +11,7 @@ import com.sobot.common.login.db.ServiceInfoManager; ...@@ -11,6 +11,7 @@ import com.sobot.common.login.db.ServiceInfoManager;
import com.sobot.common.login.model.HostModel; import com.sobot.common.login.model.HostModel;
import com.sobot.common.login.model.LoginUserEntity; import com.sobot.common.login.model.LoginUserEntity;
import com.sobot.common.login.model.ServiceFunctionVoModel; import com.sobot.common.login.model.ServiceFunctionVoModel;
import com.sobot.common.login.model.SobotCallBaseCode;
import com.sobot.common.login.model.SobotServiceInfoModel; import com.sobot.common.login.model.SobotServiceInfoModel;
import com.sobot.gson.SobotGsonUtil; import com.sobot.gson.SobotGsonUtil;
import com.sobot.network.apiUtils.SobotBaseCode; import com.sobot.network.apiUtils.SobotBaseCode;
...@@ -151,7 +152,7 @@ public class SobotLoginTools { ...@@ -151,7 +152,7 @@ public class SobotLoginTools {
//登录接口和获取坐席信息权限接口都成功才算真正登录成功 //登录接口和获取坐席信息权限接口都成功才算真正登录成功
if ("1".equals(baseModel.getCode()) && baseModel.getData() != null) { if ("1".equals(baseModel.getCode()) && baseModel.getData() != null) {
final LoginUserEntity userEntity = baseModel.getData(); final LoginUserEntity userEntity = baseModel.getData();
getLoginUserInfo(cancelTag, mContext, baseModel.getData(), host, baseModel.getData().getToken(), baseModel.getData().getLanguage(), new SobotResultBlock() { getLoginUserInfo(cancelTag, mContext, host, baseModel.getData().getToken(), baseModel.getData().getLanguage(), new SobotResultBlock() {
@Override @Override
public void resultBolok(SobotResultCode code, String msg, Object obj) { public void resultBolok(SobotResultCode code, String msg, Object obj) {
if (code == SobotResultCode.CODE_SUCCEEDED) { if (code == SobotResultCode.CODE_SUCCEEDED) {
...@@ -184,11 +185,10 @@ public class SobotLoginTools { ...@@ -184,11 +185,10 @@ public class SobotLoginTools {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null); resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
} }
} else { } else {
userEntity.setLogin_time(System.currentTimeMillis());
setLoginUser(userEntity); setLoginUser(userEntity);
resultBlock.resultBolok(SobotResultCode.CODE_SUCCEEDED, "登录成功", userEntity); resultBlock.resultBolok(SobotResultCode.CODE_SUCCEEDED, "登录成功", userEntity);
} }
}else{ } else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null); resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
} }
...@@ -216,17 +216,127 @@ public class SobotLoginTools { ...@@ -216,17 +216,127 @@ public class SobotLoginTools {
}); });
} }
/** // sdk 执行登录接口
* 调用座席接口 public void doLogin(final Object cancelTag, final Context mContext, final String host, String loginAcount, String loginPwd, String logintoken, final SobotResultBlock resultBlock) {
* if (SobotStringUtils.isEmpty(logintoken)) {
* @param cancelTag Map<String, Object> params = new HashMap<>();
* @param mContext params.put("loginUser", loginAcount);
* @param host params.put("loginPwd", loginPwd);
* @param token SobotHttpUtils.doPost(cancelTag, host + "/basic-login/serviceAppLogin/4", 8000, params, null, new HttpBaseUtils.StringCallBack() {
* @param resultBlock 返回坐席信息 @Override
*/ public void onResponse(String response) {
public void getLoginUserInfo(Object cancelTag, Context mContext, String host, String token, String language, SobotResultBlock resultBlock) { SobotCallBaseCode result = SobotGsonUtil.jsonToBean(response, SobotCallBaseCode.class);
getLoginUserInfo(cancelTag, mContext, null, host, token, language, resultBlock); if (result != null && !TextUtils.isEmpty(result.getRetCode()) && "000000".equals(result.getRetCode()) && !SobotStringUtils.isEmpty(result.getItem())) {
final LoginUserEntity userEntity = new LoginUserEntity();
userEntity.setLogin_time(System.currentTimeMillis());
userEntity.setToken((String) result.getItem());
getLoginUserInfo(cancelTag, mContext, host, userEntity.getToken(), userEntity.getLanguage(), new SobotResultBlock() {
@Override
public void resultBolok(SobotResultCode code, String msg, Object obj) {
if (code == SobotResultCode.CODE_SUCCEEDED) {
SobotServiceInfoModel serviceInfoModel = (SobotServiceInfoModel) obj;
if (serviceInfoModel != null) {
if (serviceInfoModel.getCallV6Flag() == 1) {
if (userEntity != null && !SobotStringUtils.isEmpty(userEntity.getToken())) {
//如果是v6呼叫
String tempHost = host;
if (tempHost.contains("/text")) {
tempHost = tempHost.replace("/text", "");
}
doAccessToken(cancelTag, tempHost, userEntity.getToken(), new SobotResultBlock() {
@Override
public void resultBolok(SobotResultCode code, String msg, Object obj) {
if (code == SobotResultCode.CODE_SUCCEEDED) {
LoginUserEntity tempUserEntity = userEntity;
String accessToken = (String) obj;
tempUserEntity.setLogin_time(System.currentTimeMillis());
tempUserEntity.setAccess_token(accessToken);
tempUserEntity.setLogin_time(System.currentTimeMillis());
setLoginUser(tempUserEntity);
resultBlock.resultBolok(SobotResultCode.CODE_SUCCEEDED, "登录成功", tempUserEntity);
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
}
});
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
} else {
setLoginUser(userEntity);
resultBlock.resultBolok(SobotResultCode.CODE_SUCCEEDED, "登录成功", userEntity);
}
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
}
}
});
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
}
@Override
public void onError(Exception e, String msg, int responseCode) {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, msg, null);
}
@Override
public void inProgress(int progress) {
}
});
} else {
final LoginUserEntity userEntity = new LoginUserEntity();
userEntity.setLogin_time(System.currentTimeMillis());
userEntity.setToken(logintoken);
getLoginUserInfo(cancelTag, mContext, host, userEntity.getToken(), userEntity.getLanguage(), new SobotResultBlock() {
@Override
public void resultBolok(SobotResultCode code, String msg, Object obj) {
if (code == SobotResultCode.CODE_SUCCEEDED) {
SobotServiceInfoModel serviceInfoModel = (SobotServiceInfoModel) obj;
if (serviceInfoModel != null) {
if (serviceInfoModel.getCallV6Flag() == 1) {
if (userEntity != null && !SobotStringUtils.isEmpty(userEntity.getToken())) {
//如果是v6呼叫
String tempHost = host;
if (tempHost.contains("/text")) {
tempHost = tempHost.replace("/text", "");
}
doAccessToken(cancelTag, tempHost, userEntity.getToken(), new SobotResultBlock() {
@Override
public void resultBolok(SobotResultCode code, String msg, Object obj) {
if (code == SobotResultCode.CODE_SUCCEEDED) {
LoginUserEntity tempUserEntity = userEntity;
String accessToken = (String) obj;
tempUserEntity.setLogin_time(System.currentTimeMillis());
tempUserEntity.setAccess_token(accessToken);
tempUserEntity.setLogin_time(System.currentTimeMillis());
setLoginUser(tempUserEntity);
resultBlock.resultBolok(SobotResultCode.CODE_SUCCEEDED, "登录成功", tempUserEntity);
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
}
});
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
} else {
setLoginUser(userEntity);
resultBlock.resultBolok(SobotResultCode.CODE_SUCCEEDED, "登录成功", userEntity);
}
} else {
resultBlock.resultBolok(SobotResultCode.CODE_FAILED, "登录失败", null);
}
}
}
});
}
} }
/** /**
...@@ -234,12 +344,11 @@ public class SobotLoginTools { ...@@ -234,12 +344,11 @@ public class SobotLoginTools {
* *
* @param cancelTag * @param cancelTag
* @param mContext * @param mContext
* @param loginUser 如果不为空 resultBlock返回就是这个;如果为空,返回坐席信息
* @param host * @param host
* @param token * @param token
* @param resultBlock * @param resultBlock
*/ */
public void getLoginUserInfo(final Object cancelTag, final Context mContext, final LoginUserEntity loginUser, final String host, String token, String language, final SobotResultBlock resultBlock) { public void getLoginUserInfo(final Object cancelTag, final Context mContext, final String host, String token, String language, final SobotResultBlock resultBlock) {
final String url = host + "/basic-config-service/consoleAuth/queryAppAgentMenus"; final String url = host + "/basic-config-service/consoleAuth/queryAppAgentMenus";
Map<String, String> headerMap = new HashMap<>(); Map<String, String> headerMap = new HashMap<>();
if (!TextUtils.isEmpty(token)) { if (!TextUtils.isEmpty(token)) {
......
...@@ -55,9 +55,10 @@ public class LoginUserManager extends SobotCommonDao<LoginUserEntity> { ...@@ -55,9 +55,10 @@ public class LoginUserManager extends SobotCommonDao<LoginUserEntity> {
model.setStaffName(cursor.getString(cursor.getColumnIndex("staffName"))); model.setStaffName(cursor.getString(cursor.getColumnIndex("staffName")));
model.setMaxServiceCount(cursor.getInt(cursor.getColumnIndex("maxServiceCount"))); model.setMaxServiceCount(cursor.getInt(cursor.getColumnIndex("maxServiceCount")));
model.setBlackFunction(cursor.getInt(cursor.getColumnIndex("blackFunction"))); model.setBlackFunction(cursor.getInt(cursor.getColumnIndex("blackFunction")));
String transferFunction = cursor.getString(cursor.getColumnIndex("transferFunction")); model.setTransferFunction(cursor.getInt(cursor.getColumnIndex("transferFunction")));
if (!SobotStringUtils.isEmpty(transferFunction)){ String ticketFunction = cursor.getString(cursor.getColumnIndex("ticketFunction"));
Map<String, Boolean> map = SobotGsonUtil.jsonToMaps(transferFunction); if (!SobotStringUtils.isEmpty(ticketFunction)){
Map<String, Boolean> map = SobotGsonUtil.jsonToMaps(ticketFunction);
model.setTicketFunction(map); model.setTicketFunction(map);
} }
model.setFace(cursor.getString(cursor.getColumnIndex("face"))); model.setFace(cursor.getString(cursor.getColumnIndex("face")));
......
...@@ -2,11 +2,13 @@ package com.sobot.common.login.model; ...@@ -2,11 +2,13 @@ package com.sobot.common.login.model;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
public class SobotBaseCodeThird<T> implements Serializable { public class SobotCallBaseCode<T> implements Serializable {
public T item; public T item;
public List<T> items;
public String retMsg; public String retMsg;
public String retCode; public String retCode;
public int totalCount; public int totalCount;
...@@ -15,6 +17,14 @@ public class SobotBaseCodeThird<T> implements Serializable { ...@@ -15,6 +17,14 @@ public class SobotBaseCodeThird<T> implements Serializable {
return item; return item;
} }
public List<T> getItems() {
return items;
}
public void setItems(List<T> items) {
this.items = items;
}
public void setItem(T item) { public void setItem(T item) {
this.item = item; this.item = item;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment