master
hwf453 2 years ago
parent 088b7e3f37
commit bb195866c8

@ -11,8 +11,8 @@ android {
applicationId "com.rehome.zhdcoa"
minSdk 24
targetSdk 34
versionCode 8
versionName "2.2.4"
versionCode 9
versionName "2.2.5"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//authorities

@ -13,7 +13,7 @@ public class Contans {
//智慧安防平台登录 电厂外网
public static String BASE_URL_COMPANY_SERVER= "http://219.131.195.3:8011/";
//AI三维可视化安防平台登录
public static String BASE_URL_AI_3D_SERVER= "http://219.131.195.3:8100/";
public static String BASE_URL_AI_3D_SERVER= "https://219.131.195.3:8100/";
//APP登录接口url
@ -43,7 +43,7 @@ public class Contans {
//AI三维可视化安防平台登录 电厂内网
public static String BASE_URL_AI_3D_SERVER_INTRANET= "http://10.19.0.114:8100/";
//AI三维可视化安防平台登录 电厂外网
public static String BASE_URL_AI_3D_SERVER_EXTRANET= "http://219.131.195.3:8100/";
public static String BASE_URL_AI_3D_SERVER_EXTRANET= "https://219.131.195.3:8100/";
//腾讯浏览服务key
public static String TBS_LICENSE_KEY= "4ktUk0LXU2iC2Dx/oesZcwiKAOZ4YXvjSQ4OFCcx+5e1csWD0cYNfCdXe2LpY+mB";
//考试列表页面刷新数据
@ -181,6 +181,7 @@ public class Contans {
public static String LOGIN = "AppLogin/GetData.aspx";
public static String APPLOGIN = "PubFile/Data/AppLogin/GetData.aspx";
public static String APPLOGINRSA = "PubFile/Data/AppLogin/GetDataRsa.aspx";
public static String PRINT = "AppTXM/GetData.aspx";

@ -2,7 +2,11 @@ package com.rehome.zhdcoa.base;
import android.content.Context;
import android.widget.Toast;
import com.rehome.zhdcoa.ui.activity.DJPXinfoMoreActivity;
import com.rehome.zhdcoa.ui.toastview.toastviewbymyself;
import com.rehome.zhdcoa.weiget.LoadDialog;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
@ -26,15 +30,21 @@ public abstract class BaseCallBack<T> implements Callback<T> {
@Override
public void onResponse(Call<T> call, Response<T> response) {
dialog.dismiss();
if (dialog != null) {
dialog.dismiss();
}
onSuccess(call, response);
}
@Override
public void onFailure(Call<T> call, Throwable t) {
dialog.dismiss();
Toast.makeText(context, "网络连接失败", Toast.LENGTH_SHORT).show();
if (dialog != null) {
dialog.dismiss();
}
if (context != null) {
Toast.makeText(context, "网络连接失败", Toast.LENGTH_SHORT).show();
}
onError(call, t);
}

@ -3,6 +3,7 @@ package com.rehome.zhdcoa.base;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
@ -59,11 +60,15 @@ public abstract class BaseFragment extends Fragment {
}
public void showToast(String msg) {
Toast.makeText(getContext(), msg, Toast.LENGTH_SHORT).show();
if (context != null) {
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
public void showToast(int strId) {
Toast.makeText(getContext(), strId, Toast.LENGTH_SHORT).show();
if (context != null) {
Toast.makeText(context, strId, Toast.LENGTH_SHORT).show();
}
}
@Override
@ -75,14 +80,14 @@ public abstract class BaseFragment extends Fragment {
public void onDetach() {
super.onDetach();
this.context = null;
mActivity =null;
mActivity = null;
}
public void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if(TextUtils.isEmpty(logText)){
if (TextUtils.isEmpty(logText)) {
Log.i("app", "logText is null");
}else{
} else {
Log.i("app", logText);
}
}

@ -33,6 +33,10 @@ import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
/**
*
*/
@ -141,6 +145,18 @@ public class ActivityFactoryMemberStatistics extends BaseActivity {
Request<String> request = NoHttp.createStringRequest(Contans.BASE_URL_AI_3D_SERVER + Contans.PLANT_PERSONNEL_LIST, RequestMethod.GET);
request.add("type_name", "在厂员工");
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().add(ActivityFactoryMemberStatistics.this,0, request, new HttpListener<String>() {
@Override

@ -15,12 +15,16 @@ import android.widget.TextView;
import com.rehome.zhdcoa.bean.MemberTrackBean;
import com.rehome.zhdcoa.bean.WorkerInfoStatisticsBean;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
/**
*
*/
@ -81,7 +85,6 @@ public class ActivityFactoryMemberTrack extends BaseActivity {
@Override
public void initData() {
getFactoryWorkerInfo();
getMemberTrack();
}
public void getFactoryWorkerInfo() {
@ -89,7 +92,20 @@ public class ActivityFactoryMemberTrack extends BaseActivity {
Request<String> request = NoHttp.createStringRequest(Contans.BASE_URL_AI_3D_SERVER + Contans.CONTRACTOR_PERSONNEL_INFORMATION, RequestMethod.GET);
request.add("card_no", card_no);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().add(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {
@ -133,6 +149,7 @@ public class ActivityFactoryMemberTrack extends BaseActivity {
}
}
getMemberTrack();
}
@Override
@ -147,7 +164,20 @@ public class ActivityFactoryMemberTrack extends BaseActivity {
Request<String> request = NoHttp.createStringRequest(Contans.BASE_URL_AI_3D_SERVER + Contans.MEMBER_TRACK_URL, RequestMethod.GET);
request.add("identification_number", card_no);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().add(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -1,7 +1,6 @@
package com.rehome.zhdcoa.ui.activity;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
@ -12,7 +11,7 @@ import com.rehome.zhdcoa.base.BaseActivity;
import com.rehome.zhdcoa.bean.MemberInfoStatisticsV1Bean;
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener;
import com.rehome.zhdcoa.utils.RSAAndroid;
import com.yolanda.nohttp.NoHttp;
@ -20,10 +19,12 @@ import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.Response;
import java.util.List;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
/**
*
*/
@ -149,6 +150,9 @@ public class ActivityFactoryWorkerInfo extends BaseActivity {
String account = Contans.SP.AI_ACCOUNT;
//String strPrivateEncode=RSAAndroid.encryptByPrivateKeyForSpiltStr(Contans.SP.AI_PWD,RSAAndroid.privateRsaKeyLocal);
String strPublicDecode = RSAAndroid.decryptByPublicKeyForSpiltStr(Contans.SP.AI_PWD_ENCODE, RSAAndroid.publicRsaKeyLocal);
showLog("-----------");
showLog(account);
showLog(strPublicDecode);
AuthenticationLoginAIUtils.authenticationAILogin(ActivityFactoryWorkerInfo.this, account, strPublicDecode, new OnAuthenticationLoginListener() {
@Override
@ -171,7 +175,7 @@ public class ActivityFactoryWorkerInfo extends BaseActivity {
// Request<String> request = NoHttp.createStringRequest(Contans.BASE_URL_AI_3D_SERVER + Contans.INFO_STATISTICS, RequestMethod.GET);
// request.add("keys", "plantPersonnel");
//
// NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
// NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
//
// @Override
// public void onSucceed(int what, Response<String> response) {
@ -227,8 +231,20 @@ public class ActivityFactoryWorkerInfo extends BaseActivity {
public void getFactoryMemberInfoV1() {
Request<String> request = NoHttp.createStringRequest(Contans.BASE_URL_AI_3D_SERVER + Contans.INFO_STATISTICS_V1, RequestMethod.GET);
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {

@ -2,7 +2,6 @@ package com.rehome.zhdcoa.ui.activity;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.View;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.R;
@ -18,7 +17,7 @@ import android.widget.LinearLayout;
import com.rehome.zhdcoa.bean.WorkerInfoGroupBean;
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener;
import com.rehome.zhdcoa.utils.RSAAndroid;
import com.rehome.zhdcoa.weiget.ClearEditText;
@ -33,6 +32,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
/**
* Create By HuangWenFei
* 2022-10-21 13:41
@ -155,7 +158,20 @@ public class ActivityFactoryWorkerInfoGroup extends BaseActivity {
showLog(type_name);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -2,7 +2,6 @@ package com.rehome.zhdcoa.ui.activity;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.View;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.R;
@ -18,7 +17,7 @@ import android.widget.LinearLayout;
import com.rehome.zhdcoa.bean.WorkerInfoGroupMemberBean;
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener;
import com.rehome.zhdcoa.utils.RSAAndroid;
import com.rehome.zhdcoa.weiget.ClearEditText;
@ -33,6 +32,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
/**
* Create By HuangWenFei
* 2022-10-21 15:23
@ -154,7 +157,21 @@ public class ActivityFactoryWorkerInfoGroupMember extends BaseActivity {
// Log.i("app", company);
// Log.i("app", Contans.BASE_URL_AI_3D_SERVER + Contans.REGULAR_MAINTENANCE_STAFF);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -2,14 +2,11 @@ package com.rehome.zhdcoa.ui.activity;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.View;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.adapter.FactoryMemberStatisticsAdapter;
import com.rehome.zhdcoa.adapter.FactoryWorkerInfoStatisticsAdapter;
import com.rehome.zhdcoa.base.BaseActivity;
import java.util.ArrayList;
@ -22,7 +19,7 @@ import android.widget.LinearLayout;
import com.rehome.zhdcoa.bean.WorkerInfoStatisticsListBean;
import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener;
import com.rehome.zhdcoa.utils.RSAAndroid;
import com.rehome.zhdcoa.weiget.ClearEditText;
@ -37,6 +34,10 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
/**
*
*/
@ -148,7 +149,19 @@ public class ActivityFactoryWorkerInfoStatistics extends BaseActivity {
Request<String> request = NoHttp.createStringRequest(Contans.BASE_URL_AI_3D_SERVER + Contans.PLANT_PERSONNEL_LIST, RequestMethod.GET);
request.add("type_name", type_name);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -14,8 +14,7 @@ import com.rehome.zhdcoa.base.BaseActivity;
import com.rehome.zhdcoa.bean.PracticeHistoryBean;
import com.rehome.zhdcoa.bean.PracticeScoreBean;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.SPUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
@ -92,7 +91,7 @@ public class ActivityPracticeScoreDetail extends BaseActivity {
String url = Contans.BASE_URL + Contans.GETEXERCISESCORE_URL + item.getId() + "&sjid=" +item.getSjid() + "&exercisemanageno=" + item.getExercisemanageno();
Log.i("app", url);
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -16,8 +16,7 @@ import com.rehome.zhdcoa.adapter.PracticeHistoryAdapter;
import com.rehome.zhdcoa.base.BaseActivity;
import com.rehome.zhdcoa.bean.PracticeHistoryBean;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.SPUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.weiget.DateTimePickDialog;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
@ -123,7 +122,7 @@ public class Activity_PracticeHistory extends BaseActivity {
String url = Contans.BASE_URL + Contans.GETEXERCISERECORD_URL + username+"&times="+tvSt.getText().toString().trim()+"&timee="+tvEt.getText().toString().trim();
Log.i("app",url);
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -23,7 +23,6 @@ import com.rehome.zhdcoa.bean.SendanswerBean;
import com.rehome.zhdcoa.ui.fragment.Fragment_PracticeInfo;
import com.rehome.zhdcoa.utils.GsonUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.weiget.AuditDialog;
import com.rehome.zhdcoa.weiget.AutoRadioGroup;
@ -430,7 +429,7 @@ public class Activity_PracticeOnline extends BaseActivity {
String json = GsonUtils.GsonString(map);
request.setDefineRequestBodyForJson(json);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -12,8 +12,7 @@ import com.rehome.zhdcoa.adapter.ProduceStudyAdapter;
import com.rehome.zhdcoa.base.BaseActivity;
import com.rehome.zhdcoa.bean.ProduceStudyBean;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.SPUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.weiget.DateTimePickDialog;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
@ -112,7 +111,7 @@ public class Activity_ProduceStudyHistory extends BaseActivity {
String url = Contans.BASE_URL + Contans.GETPRODUCESTUDYDATA_URL + username+"&times="+tvSt.getText().toString().trim()+"&timee="+tvEt.getText().toString().trim();
Log.i("app",url);
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(this,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {

@ -23,7 +23,6 @@ import com.rehome.zhdcoa.databinding.ActivityAddDagerEnterApplyBinding
import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.HttpUtils
import com.rehome.zhdcoa.utils.NoProgresshttpUtils
import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.weiget.AuditDialog
import com.rehome.zhdcoa.weiget.DateTimeMinutePickDialog
@ -344,7 +343,7 @@ class AddDagerEnterApplyActivity :
val url: String = Contans.BASE_URL + Contans.DAGER_ENTER_APPLY_DELETE_ITEM_LIST_URL
val request = NoHttp.createStringRequest(url, RequestMethod.POST)
request.setDefineRequestBodyForJson(Gson().toJson(map))
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val result = response?.get()
showLog(result)
@ -369,7 +368,7 @@ class AddDagerEnterApplyActivity :
val url: String = Contans.BASE_URL + Contans.DAGER_ENTER_APPLY_CHANGE_ITEM_LIST_URL
val request = NoHttp.createStringRequest(url, RequestMethod.POST)
request.setDefineRequestBodyForJson(Gson().toJson(item))
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val result = response?.get()
showLog(result)
@ -395,7 +394,7 @@ class AddDagerEnterApplyActivity :
val request = NoHttp.createStringRequest(url, RequestMethod.POST)
item.mainid = id
request.setDefineRequestBodyForJson(Gson().toJson(item))
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val result = response?.get()
showLog(result)

@ -385,6 +385,15 @@ public class DjdscFragment extends BaseFragment {
//计划
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHSC, RequestMethod.POST);
request.setDefineRequestBodyForJson(UiUtlis.encoder(json));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(0, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, ""));
//NohttpUtils.getInstance().add(getActivity(), 0, request, callback, true, false, "上传中...");
@ -399,6 +408,14 @@ public class DjdscFragment extends BaseFragment {
System.out.println(qxgdjson);
qxgdjson = new String(qxgdjson.getBytes(), StandardCharsets.UTF_8);
request1.setDefineRequestBodyForJson(UiUtlis.encoder(qxgdjson));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request1.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(1, request1, new HttpResponseListener<>(getActivity(), request1, callback, false, false, ""));
//NohttpUtils.getInstance().add(getActivity(), 1, request1, callback, true, false, "上传中...");
}
@ -411,6 +428,14 @@ public class DjdscFragment extends BaseFragment {
"&jhid=" + UiUtlis.encoder(info.getJhid()) + "&pointnum=" + UiUtlis.encoder(info.getPointnum()) +
"&djr=" + UiUtlis.encoder(info.getDjr()), RequestMethod.POST);
xcjs.add(Contans.FILEPS, new FileBinary(new File(info.getFilename())));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
xcjs.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(2, xcjs, new HttpResponseListener<>(getActivity(), xcjs, callback, false, false, ""));
//NohttpUtils.getInstance().add(getActivity(), 2, xcjs, callback, true, false, "上传中...");

@ -282,7 +282,7 @@ class ExamInfoDetailActivity : BaseActivityOaToolbarViewBinding<ActivityExamInfo
Contans.BASE_URL + Contans.GET_PRODUCE_EXAM_URL + username + "&exercisemanageid=" + exercisemanageid + "&id=" + id
Log.i("app", url)
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
NohttpUtils.getInstance().add(this, 0, "正在生成题库...", request,
NohttpUtils.getInstance().add(this, 0, request,
object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
Log.i("app", "----------------")
@ -308,7 +308,7 @@ class ExamInfoDetailActivity : BaseActivityOaToolbarViewBinding<ActivityExamInfo
override fun onFailed(what: Int, response: Response<String?>?) {
}
})
},false,true,"正在生成题库...")
}
//修改试卷为已开卷状态
@ -319,7 +319,7 @@ class ExamInfoDetailActivity : BaseActivityOaToolbarViewBinding<ActivityExamInfo
map["id"] = ks_id
val json = GsonUtils.GsonString(map)
request.setDefineRequestBodyForJson(json)
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
Log.i("app", "----------------")
@ -346,7 +346,7 @@ class ExamInfoDetailActivity : BaseActivityOaToolbarViewBinding<ActivityExamInfo
map["id"] = ks_id
val json = GsonUtils.GsonString(map)
request.setDefineRequestBodyForJson(json)
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
Log.i("app", "----------------")

@ -41,6 +41,7 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
override fun getToolbar() = binding.toolbarView.toolbar
override fun initView() {
StatusBarUtil.transparencyBar(this)
val wifi = SPUtils.get(context, Contans.YX_WIFI_IP, "") as String
val mob = SPUtils.get(context, Contans.YX_4G_IP, "") as String
@ -51,9 +52,9 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
SPUtils.put(this, Contans.XZ_WIFI_IP, Contans.BASE_URL_INTRANET) //行政IP内网
}
val saveUserAndPassword = SPUtils.get(
context,
Contans.SP.SAVE_USER_AND_PASSWORD,
java.lang.Boolean.TRUE
context,
Contans.SP.SAVE_USER_AND_PASSWORD,
java.lang.Boolean.TRUE
) as Boolean
binding.swRememberPwd.isChecked = saveUserAndPassword
@ -73,18 +74,18 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
Contans.IP = Contans.IP_INTRANET //运行IP内网
Contans.BASE_URL = Contans.BASE_URL_INTRANET //行政IP内网
Contans.BASE_URL_COMPANY_SERVER =
Contans.BASE_URL_COMPANY_SERVER_INTRANET //智慧安防平台登录 电厂内网
Contans.BASE_URL_COMPANY_SERVER_INTRANET //智慧安防平台登录 电厂内网
Contans.BASE_URL_AI_3D_SERVER =
Contans.BASE_URL_AI_3D_SERVER_INTRANET //AI三维可视化安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER_INTRANET //AI三维可视化安防平台登录 电厂外网
}
if (networkCheckType == "外网") {
binding.rg.check(R.id.rb2)
Contans.IP = Contans.IP_EXTRANET //运行IP外网
Contans.BASE_URL = Contans.BASE_URL_EXTRANET //行政IP外网
Contans.BASE_URL_COMPANY_SERVER =
Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网
Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER =
Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网
}
} else {
binding.rg.check(R.id.rb2)
@ -92,9 +93,9 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
Contans.IP = Contans.IP_EXTRANET //运行IP外网
Contans.BASE_URL = Contans.BASE_URL_EXTRANET //行政IP外网
Contans.BASE_URL_COMPANY_SERVER =
Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网
Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER =
Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网
}
binding.rg.setOnCheckedChangeListener(RadioGroup.OnCheckedChangeListener { _, checkedId ->
@ -104,9 +105,9 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
Contans.IP = Contans.IP_INTRANET //运行IP内网
Contans.BASE_URL = Contans.BASE_URL_INTRANET //行政IP内网
Contans.BASE_URL_COMPANY_SERVER =
Contans.BASE_URL_COMPANY_SERVER_INTRANET //智慧安防平台登录 电厂内网
Contans.BASE_URL_COMPANY_SERVER_INTRANET //智慧安防平台登录 电厂内网
Contans.BASE_URL_AI_3D_SERVER =
Contans.BASE_URL_AI_3D_SERVER_INTRANET //AI三维可视化安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER_INTRANET //AI三维可视化安防平台登录 电厂外网
}
R.id.rb2 -> {
@ -114,9 +115,9 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
Contans.IP = Contans.IP_EXTRANET //运行IP外网
Contans.BASE_URL = Contans.BASE_URL_EXTRANET //行政IP外网
Contans.BASE_URL_COMPANY_SERVER =
Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网
Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER =
Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网
Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网
}
}
})
@ -127,12 +128,12 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
override fun initData() {
binding.tvVersionCode.text = getString(R.string.version_code) + getVersionName()
AndPermission.with(this).runtime().permission(
Permission.READ_PHONE_STATE,
Permission.READ_EXTERNAL_STORAGE,
Permission.WRITE_EXTERNAL_STORAGE,
Permission.CAMERA
Permission.READ_PHONE_STATE,
Permission.READ_EXTERNAL_STORAGE,
Permission.WRITE_EXTERNAL_STORAGE,
Permission.CAMERA
).onGranted { }.onDenied { }
.start()
.start()
val UserIDTemp = SPUtils.get(context, Contans.SP.USER_NAME, "") as String
val UserPwdTemp = SPUtils.get(context, Contans.SP.PASS_WORD, "") as String
@ -150,27 +151,28 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
if (BuildConfig.LOG_ERROR) {
// 管理员
binding.etUsername.setText("ZHPS_Admin")
binding.etPassword.setText("Rehome.zhps@2020")
// binding.etUsername.setText("ZHPS_Admin")
// binding.etPassword.setText("Rehome.zhps@2020")
//
// binding.etUsername.setText("310665")
// binding.etPassword.setText("ABcd.123")
//
// //生产岗位测试帐号
// binding.etUsername.setText("00467309")
// binding.etPassword.setText("Abc*00467309")
//
// //马
// binding.etUsername.setText("310482")
// binding.etPassword.setText("Maying0509?")
// binding.etUsername.setText("310482")
// binding.etPassword.setText("Maying0509?")
//
// //程宇翔
// binding.etUsername.setText("310673")
// binding.etPassword.setText("Abcd@1234")
//李耿
binding.etUsername.setText("310261")
binding.etPassword.setText("#LIgeng770731")
// binding.etUsername.setText("310261")
// binding.etPassword.setText("#LIgeng770731")
//古舒敏
// binding.etUsername.setText("310585")
// binding.etPassword.setText("Lama520+_*")
@ -196,8 +198,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
binding.textWjmm.setOnClickListener(View.OnClickListener {
val intent = Intent(
this,
WjmmGetVerificationCodeActivity::class.java
this,
WjmmGetVerificationCodeActivity::class.java
)
startActivity(intent)
})
@ -227,78 +229,102 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
}
private fun PackageManager.getPackageInfoCompat(
packageName: String,
flags: Int = 0
packageName: String,
flags: Int = 0
): PackageInfo =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(flags.toLong()))
} else {
@Suppress("DEPRECATION") getPackageInfo(packageName, flags)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
getPackageInfo(packageName, PackageManager.PackageInfoFlags.of(flags.toLong()))
} else {
@Suppress("DEPRECATION") getPackageInfo(packageName, flags)
}
private fun appLogin() {
val json: String = getPhoneInfo()
val url = Contans.BASE_URL + Contans.APPLOGIN
//val json: String = "Ms97MbjVaypr+CF04BTQ+Y7hbYp+orLZbXM2u+I+PZKSPSSaqR1dcuM3tsig3UpJ7s2qEw5DsJcVd0t4eJM79ABUFWW/0Nplhx37+6jR2YVaSJgA30L0O2FbuyG7SOjP0qfISNaN1L8eC3a7W5oFPpHxkZdxUf5sxJIQHA2c6lCI+Mo/BUgU1MgTIjM3puiWx99mvxOyl9k2oLZUjcjMOygzNUYYD21SQYQ6dtvdVz3iAtqeJ+0EVCtScPXePG/CH/s0Ti/VS54/KSrlRVfdn5s2pHqw5fd2BZX+ZGtIWTGpWb+Wt1ZtrPXPdv/r1Zx84Zcw0EqKicieeuYpfUH+eg==";
val url = Contans.BASE_URL + Contans.APPLOGINRSA
val request = NoHttp.createStringRequest(url, RequestMethod.POST)
request.setDefineRequestBodyForJson(json)
NohttpUtils.getInstance().add(this, 0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val jsonResult = response?.get()
//Log.i("app", jsonResult ?: "null");
val bean: UserInfoBean? = GsonUtils.GsonToBean(jsonResult, UserInfoBean::class.java)
if (bean != null) {
val userInfo = bean.rows[0]
if (userInfo.statusMsg == "success") { //登录成功
MiPushClient.setAlias(context, binding.etUsername.text.toString(), null)
SPUtils.put(
context,
Contans.SP.OLD_PWD,
RSAUtils.encryptBASE64StrLocal(binding.etPassword.text.toString())
)
if (binding.swRememberPwd.isChecked) {
SPUtils.put(
//val jsonResult = "DkILG4j4BV1qx0wCwhxCgNvjs3Yob6hXsnfKN75UHAcL3sWRm7hOxWzonSLO74c8FMo+DeaIkSD8w+rNFD6Wg1pU3YqbvKhTYOFc73JPsKxO6YF44M6GWQVABb6mYhxYqZDms6cKdvnYdt7P4CT2p4EncXWXfP5f87M2SF9ZFIirr7S3++OrFSSa04x/C5POuCQNyn28HDHZzDaQ7w1kN4Y2EWPok48i09aKcgSic/1ZLTOvAPo0IoF6ahfNh/lRxtnp5HWcpR6+SdxHPnrKkw26t416RKDAxtQB3EHFHJwzA9ZYXFCg9ADrDSDukMudRpFHquf7JbC1vaMSQWxBzg=="
// showLog("-----login------")
// showLog(jsonResult)
val jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult)
if (TextUtils.isEmpty(jsonDecode)) {
showToast(UiUtlis.getString(context, R.string.data_error))
} else {
val bean: UserInfoBean? =
GsonUtils.GsonToBean(jsonDecode, UserInfoBean::class.java)
//showLog(jsonDecode);
if (bean != null) {
val userInfo = bean.rows[0]
if (userInfo.statusMsg == "success") { //登录成功
val usernameLogin: String = binding.etUsername.text.toString().trim()
if (userInfo.manid != null && usernameLogin != null && userInfo.manid.equals(
usernameLogin
)
) {
MiPushClient.setAlias(
context,
Contans.SP.USER_NAME,
RSAUtils.encryptBASE64StrLocal(binding.etUsername.text.toString())
)
SPUtils.put(
binding.etUsername.text.toString(),
null
)
SPUtils.put(
context,
Contans.SP.PASS_WORD,
Contans.SP.OLD_PWD,
RSAUtils.encryptBASE64StrLocal(binding.etPassword.text.toString())
)
val strEncryptMqtt = RSAUtils.encryptBASE64StrMqtt(getPhoneInfoMqtt());
SPUtils.put(context, Contans.SP.PHONE_INFO, strEncryptMqtt)
SPUtils.put(
)
if (binding.swRememberPwd.isChecked) {
SPUtils.put(
context,
Contans.SP.USER_NAME,
RSAUtils.encryptBASE64StrLocal(binding.etUsername.text.toString())
)
SPUtils.put(
context,
Contans.SP.PASS_WORD,
RSAUtils.encryptBASE64StrLocal(binding.etPassword.text.toString())
)
val strEncryptMqtt =
RSAUtils.encryptBASE64StrMqtt(getPhoneInfoMqtt());
SPUtils.put(context, Contans.SP.PHONE_INFO, strEncryptMqtt)
SPUtils.put(
context,
Contans.SP.AF_PASS_WORD,
RSAUtils.encryptBASE64StrLocal(binding.etPassword.text.toString())
)
} else {
SPUtils.put(context, Contans.SP.USER_NAME, "")
SPUtils.put(context, Contans.SP.PASS_WORD, "")
}
SPUtils.put(
context,
Contans.SP.AF_PASS_WORD,
RSAUtils.encryptBASE64StrLocal(binding.etPassword.text.toString())
)
} else {
SPUtils.put(context, Contans.SP.USER_NAME, "")
SPUtils.put(context, Contans.SP.PASS_WORD, "")
}
SPUtils.put(
context,
Contans.BZBH,
if (userInfo.bzbh == null) "" else userInfo.bzbh
)
SPUtils.put(
context,
Contans.BZMC,
if (userInfo.bzmc == null) "" else userInfo.bzmc
)
SPUtils.put(
context,
Contans.SCBZBH,
if (userInfo.scbzbh == null) "" else userInfo.scbzbh
)
SPUtils.put(
context,
Contans.ISSCBM,
if (userInfo.isScBm == null) "" else userInfo.isScBm
)
Contans.BZBH,
if (userInfo.bzbh == null) "" else userInfo.bzbh
)
SPUtils.put(
context,
Contans.BZMC,
if (userInfo.bzmc == null) "" else userInfo.bzmc
)
SPUtils.put(
context,
Contans.SCBZBH,
if (userInfo.scbzbh == null) "" else userInfo.scbzbh
)
SPUtils.put(
context,
Contans.ISSCBM,
if (userInfo.isScBm == null) "" else userInfo.isScBm
)
// if (userInfo.isScBm == null) {
// Log.i("app", "userInfo.isScBm is null")
// } else {
@ -308,26 +334,32 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
// Log.i("app", "当前登录用户不是生产部门")
// }
// }
Contans.PERMISSIONSRESULT = userInfo.permissionsResult
SPUtils.put(
Contans.PERMISSIONSRESULT = userInfo.permissionsResult
SPUtils.put(
context,
Contans.PERMISSIONSRESULT,
if (userInfo.permissionsResult == null) "" else userInfo.permissionsResult
)
App.getInstance().userInfo = userInfo
val intent = Intent(context, MainActivity::class.java)
//Intent intent = new Intent(LoginActivityJava.this, UploadVideoTestActiviy.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
startActivity(intent)
finish()
}
} else {
Log.i("login", userInfo.statusMsg)
toastviewbymyself.makeText(
context,
Contans.PERMISSIONSRESULT,
if (userInfo.permissionsResult == null) "" else userInfo.permissionsResult
)
App.getInstance().userInfo = userInfo
val intent = Intent(context, MainActivity::class.java)
//Intent intent = new Intent(LoginActivityJava.this, UploadVideoTestActiviy.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP)
startActivity(intent)
finish()
} else {
Log.i("login", userInfo.statusMsg)
toastviewbymyself.makeText(context, userInfo.statusMsg, Toast.LENGTH_LONG)
userInfo.statusMsg,
Toast.LENGTH_LONG
)
.show()
}
} else {
showToast("服务器请求失败")
Log.i("app", "to gson is null")
}
} else {
showToast("服务器请求失败")
Log.i("app", "to gson is null")
}
}
@ -350,28 +382,33 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
userInfo.phonemodel = model
userInfo.phonenum = ""
//不加密
// userInfo.username = binding.etUsername.text.toString().trim()
// userInfo.password = binding.etPassword.text.toString().trim()
var usernameStr = binding.etUsername.text.toString();
var pwdStr = binding.etPassword.text.toString()
var usernameEncryp = RSAUtils.encryptBASE64Str(usernameStr)
var pwdEncryp = RSAUtils.encryptBASE64Str(pwdStr)
userInfo.username = binding.etUsername.text.toString().trim()
userInfo.password = binding.etPassword.text.toString().trim()
userInfo.type = "1"
userInfo.username = usernameEncryp
userInfo.password = pwdEncryp
// var usernameStr = binding.etUsername.text.toString();
// var pwdStr = binding.etPassword.text.toString()
// var usernameEncryp = RSAUtils.encryptBASE64Str(usernameStr)
// var pwdEncryp = RSAUtils.encryptBASE64Str(pwdStr)
//
// userInfo.type = "1"
// userInfo.username = usernameEncryp
// userInfo.password = pwdEncryp
list.add(userInfo)
info.rows = list
val json = Gson().toJson(info)
// Log.i("app", json)
val jsonEncrypt = RSAUtils.encryptBASE64Str(json)
// Log.i("app", usernameEncryp)
// Log.i("app", pwdEncryp)
// Log.i("app", usernameStr)
// Log.i("app", pwdStr)
return json
// return json
// showLog(json.length.toString());
// showLog(json);
// showLog(jsonEncrypt);
return jsonEncrypt
}
fun getPhoneInfoMqtt(): String {
@ -404,4 +441,7 @@ class LoginActivity : BaseActivityOaToolbarViewBinding<ActivityLoginBinding>() {
// 退出JVM(java虚拟机),释放所占内存资源,0表示正常退出(非0的都为异常退出)
System.exit(0)
}
}
}

@ -203,7 +203,7 @@ class MainActivity : BaseActivityOaToolbarViewBinding<ActivityMainBinding>() {
//获取我的条数显示
val url = Contans.BASE_URL + Contans.GETABOUTME_URL + App.getInstance().userInfo.manid
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
Log.i("app", "----------------")
val jsonResult = response?.get()
@ -361,9 +361,11 @@ class MainActivity : BaseActivityOaToolbarViewBinding<ActivityMainBinding>() {
private fun checkUpdateApk() {
val url = Contans.BASE_URL + Contans.GETCHECKUPDATAAPK_URL
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(this,0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
val jsonResult = response?.get()
showLog("----------------->")
showLog(jsonResult)
if (jsonResult != null) {
val apkUpdateBean = GsonUtils.GsonToBean(
jsonResult,

@ -9,6 +9,8 @@ import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import com.rehome.zhdcoa.App;
import com.rehome.zhdcoa.Contans;
import com.rehome.zhdcoa.DBModel.Ajhjh;
import com.rehome.zhdcoa.DBModel.AjhjhxzrwList;
@ -222,8 +224,28 @@ public class XzjhFragment extends BaseFragment {
dialog.show();
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHLIST);
request.add("BZMC", UiUtlis.encoder((String) SPUtils.get(context, Contans.BZBH, "12108080101")));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(0, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, ""));
Request<String> request1 = NoHttp.createStringRequest(Contans.IP + Contans.QXGDZY);
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request1.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(9, request1, new HttpResponseListener<>(getActivity(), request1, callback, false, false, ""));
}
@ -232,6 +254,16 @@ public class XzjhFragment extends BaseFragment {
selectCount++;
Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.DJJHDLB);
request.add("jhid", UiUtlis.encoder(jhid));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(1, request, new HttpResponseListener<>(getActivity(), request, callback, false, false, ""));
List<Ajhjh> ajhjhs = DataSupport.where("djjhid = ? and download = ?", jhid, "0").find(Ajhjh.class);
@ -239,6 +271,14 @@ public class XzjhFragment extends BaseFragment {
selectCount++;
Request<String> request1 = NoHttp.createStringRequest(Contans.IP + Contans.AJHXZRW);
request1.add("jhid", UiUtlis.encoder(ajhjhs.get(0).getJHID()));
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request1.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
queue.add(2, request1, new HttpResponseListener<>(getActivity(), request1, callback, false, false, ""));
}
}

@ -15,6 +15,7 @@ import com.google.gson.Gson;
import com.rehome.zhdcoa.R;
import com.rehome.zhdcoa.adapter.ContactAdapter;
import com.rehome.zhdcoa.base.BaseCallBack;
import com.rehome.zhdcoa.base.BaseCallBackNoProgress;
import com.rehome.zhdcoa.base.BaseFragment;
import com.rehome.zhdcoa.bean.ContactListBean;
import com.rehome.zhdcoa.ui.toastview.toastviewbymyself;
@ -113,12 +114,12 @@ public class ContactFragment extends BaseFragment {
public void getData() {
HttpUtils.getApi().getContactList().enqueue(new BaseCallBack<ContactListBean>(getContext()) {
HttpUtils.getApi().getContactList().enqueue(new BaseCallBackNoProgress<ContactListBean>(getContext()) {
@Override
public void onSuccess(Call<ContactListBean> call, Response<ContactListBean> response) {
ContactListBean bean = response.body();
showLog(new Gson().toJson(bean));
//showLog(new Gson().toJson(bean));
if (bean != null) {
datas.clear();
initDatas.clear();

@ -71,7 +71,7 @@ import com.rehome.zhdcoa.utils.GsonUtils;
import com.rehome.zhdcoa.utils.HttpListener;
import com.rehome.zhdcoa.utils.HttpUtils;
import com.rehome.zhdcoa.utils.ModuleDatas;
import com.rehome.zhdcoa.utils.NoProgresshttpUtils;
import com.rehome.zhdcoa.utils.NohttpUtils;
import com.rehome.zhdcoa.weiget.AutoGridView;
import com.rehome.zhdcoa.weiget.GridViewDialog;
import com.xuexiang.xui.widget.layout.XUILinearLayout;
@ -192,7 +192,7 @@ public class HomeFragment extends BaseFragment {
//获取我的条数显示
String url = Contans.BASE_URL + Contans.GETABOUTMELIST_URL + App.getInstance().getUserInfo().getManid() + "&aboutme=3";
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(requireActivity(),0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {
Log.i("app", "----------------");
@ -237,7 +237,7 @@ public class HomeFragment extends BaseFragment {
}
String url = Contans.BASE_URL + Contans.GETATTENDANCECHECK_URL + App.getInstance().getUserInfo().getManid() + "&times=" + times + "&timee=" + timee;
Request<String> request = NoHttp.createStringRequest(url, RequestMethod.GET);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
NohttpUtils.getInstance().addNoProgress(requireActivity(),0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, com.yolanda.nohttp.rest.Response<String> response) {
Log.i("app", "----------------");
@ -271,7 +271,7 @@ public class HomeFragment extends BaseFragment {
@Override
public void onStart() {
super.onStart();
Log.i("app", "onStart()");
//Log.i("app", "onStart()");
initData();
}

@ -16,7 +16,7 @@ import com.rehome.zhdcoa.ui.activity.Activity_PracticeHistory
import com.rehome.zhdcoa.ui.activity.Activity_PracticeOnline
import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.NoProgresshttpUtils
import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.utils.SPUtils
import com.rehome.zhdcoa.weiget.CommitDialog
import com.rehome.zhdcoa.weiget.CommitDialog.CommitDialogListener
@ -84,7 +84,7 @@ class PracticeFragment: BaseViewBindingFragment<FragmentPracticeBinding>() {
val username = App.getInstance().userInfo.manid
val url = Contans.BASE_URL + Contans.GETEXERCISELIST_URL + username
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(requireActivity(),0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
Log.i("app", "----------------")

@ -19,7 +19,7 @@ import com.rehome.zhdcoa.ui.activity.Activity_ProduceStudyHistory
import com.rehome.zhdcoa.ui.activity.ProduceStudyInfoMoreActivity
import com.rehome.zhdcoa.utils.GsonUtils
import com.rehome.zhdcoa.utils.HttpListener
import com.rehome.zhdcoa.utils.NoProgresshttpUtils
import com.rehome.zhdcoa.utils.NohttpUtils
import com.rehome.zhdcoa.utils.SPUtils
import com.yolanda.nohttp.NoHttp
import com.yolanda.nohttp.RequestMethod
@ -103,7 +103,7 @@ class ProduceFragment : BaseViewBindingFragment<FragmentProduceBinding>() {
val username = App.getInstance().userInfo.manid
val url = Contans.BASE_URL + Contans.PRODUCE_STUDY_DATA_URL + username
val request = NoHttp.createStringRequest(url, RequestMethod.GET)
NoProgresshttpUtils.getInstance().add(0, request, object : HttpListener<String?> {
NohttpUtils.getInstance().addNoProgress(requireActivity(),0, request, object : HttpListener<String?> {
override fun onSucceed(what: Int, response: Response<String?>?) {
Log.i("app", "----------------")

@ -26,10 +26,12 @@ import com.rehome.zhdcoa.utils.HttpUtils;
import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener;
import com.rehome.zhdcoa.utils.RSAUtils;
import com.rehome.zhdcoa.utils.SPUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import retrofit2.Call;
import retrofit2.Response;
@ -64,6 +66,8 @@ public class YjyaCFragment extends BaseFragment {
String passwordTemp = (String) SPUtils.get(context, Contans.SP.AF_PASS_WORD, String.valueOf(""));
if (!TextUtils.isEmpty(passwordTemp)) {
password = RSAUtils.decryptBASE64StrLocal(passwordTemp);
showLog("Contans.SP.AF_PASS_WORD");
showLog(password);
}
}
@ -76,24 +80,25 @@ public class YjyaCFragment extends BaseFragment {
long expires = (Long) SPUtils.get(getActivity(), Contans.AUTHENTICATIONLOGINNEXTDATE, Long.valueOf(0));
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(expires);
Log.i("expires", format.format(calendar.getTime()));
showLog("expires" + format.format(calendar.getTime()));
if (expires != 0) {
String time = format.format(calendar.getTime());
Log.i("完整的时间和日期: ", time);
showLog("完整的时间和日期: " + time);
Calendar calendarNow = Calendar.getInstance();
String timeNow = format.format(calendarNow.getTime());
Log.i("完整的时间和日期now ", timeNow);
showLog("完整的时间和日期now " + timeNow);
//a比c早,返回-1,
//a与c相同,返回0
//a比c晚,返回1
if (calendar.compareTo(calendarNow) > 0) {
//token有效
Log.i("完整的时间和日期: ", "token有效");
showLog("完整的时间和日期: " + "token有效");
String token = (String) SPUtils.get(context, Contans.AUTHENTICATIONLOGINTOKEN, "");
getListDatas(token);
} else {
//token已过期
Log.i("完整的时间和日期: ", "token已过期");
showLog("完整的时间和日期: " + "token已过期");
if (userName.equals("") == false && password.equals("") == false) {
AuthenticationLoginUtils.authenticationLogin(context, userName, password, new OnAuthenticationLoginListener() {
@Override
@ -132,15 +137,19 @@ public class YjyaCFragment extends BaseFragment {
public void onSuccess(Call<YjyaBaseBean> call, Response<YjyaBaseBean> response) {
YjyaBaseBean bean = response.body();
if (bean.getTotal().equals("0")) {
//showToast("暂无数据");
if (bean != null) {
if (bean.getTotal().equals("0")) {
//showToast("暂无数据");
rowsBeanList = new ArrayList<YjyaItemBean>();
setAdapter();
} else {
rowsBeanList = bean.getData();
setAdapter();
}
}else{
rowsBeanList = new ArrayList<YjyaItemBean>();
setAdapter();
} else {
rowsBeanList = bean.getData();
setAdapter();
}
}
@Override

@ -81,7 +81,8 @@ public class YjyaDFragment extends BaseFragment {
long expires = (Long) SPUtils.get(getActivity(), Contans.AUTHENTICATIONLOGINNEXTDATE, Long.valueOf(0));
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(expires);
Log.i("expires", format.format(calendar.getTime()));
showLog("expires:"+format.format(calendar.getTime()));
if (expires != 0) {
String time = format.format(calendar.getTime());
Log.i("完整的时间和日期: ", time);
@ -93,12 +94,13 @@ public class YjyaDFragment extends BaseFragment {
//a比c晚,返回1
if (calendar.compareTo(calendarNow) > 0) {
//token有效
Log.i("完整的时间和日期: ", "token有效");
String token = (String) SPUtils.get(context, Contans.AUTHENTICATIONLOGINTOKEN, "");
showLog("完整的时间和日期: "+"token有效");
showLog(token);
getListDatas(token);
} else {
//token已过期
Log.i("完整的时间和日期: ", "token已过期");
showLog("完整的时间和日期: "+"token已过期");
if (userName.equals("") == false && password.equals("") == false) {
AuthenticationLoginUtils.authenticationLogin(context, userName, password, new OnAuthenticationLoginListener() {
@Override
@ -132,20 +134,26 @@ public class YjyaDFragment extends BaseFragment {
private void getListDatas(String token) {
showLog("getListDatas");
showLog("YJYAJX/GetList");
HttpUtils.getCompanyServerApi(token).GetyjyaListData(this.stime, this.etime,"1","2").enqueue(new BaseCallBack<YjyaBaseBean>(context) {
@Override
public void onSuccess(Call<YjyaBaseBean> call, Response<YjyaBaseBean> response) {
YjyaBaseBean bean = response.body();
if (bean.getTotal().equals("0")){
//showToast("暂无数据");
if (bean != null) {
if (bean.getTotal().equals("0")){
//showToast("暂无数据");
rowsBeanList= new ArrayList<YjyaItemBean>();
setAdapter();
}else {
rowsBeanList = bean.getData();
setAdapter();
}
}else{
rowsBeanList= new ArrayList<YjyaItemBean>();
setAdapter();
}else {
rowsBeanList = bean.getData();
setAdapter();
}
}
@Override

@ -326,8 +326,8 @@ public class YunXingFragment extends BaseFragment {
final Request<String> request = NoHttp.createStringRequest(Contans.IP + Contans.XS_JCSJ, RequestMethod.POST);
request.setDefineRequestBodyForJson(createZyJson());
showLog(Contans.IP + Contans.XS_JCSJ);
showLog(createZyJson());
// showLog(Contans.IP + Contans.XS_JCSJ);
// showLog(createZyJson());
NohttpUtils.getInstance().add(getActivity(), 0, request, new HttpListener<String>() {
@ -336,8 +336,8 @@ public class YunXingFragment extends BaseFragment {
try {
String result = response.get();
showLog(Contans.IP + Contans.XS_JCSJ);
showLog(result);
// showLog(Contans.IP + Contans.XS_JCSJ);
// showLog(result);
BasicDataBean bean = GsonUtils.GsonToBean(result, BasicDataBean.class);
if (bean != null) {
if (bean.getState() == 1) {

@ -14,6 +14,10 @@ import com.yolanda.nohttp.rest.Response;
import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
public class AuthenticationLoginAIUtils {
/**
* @param context Context
@ -28,7 +32,20 @@ public class AuthenticationLoginAIUtils {
request.add("password", password);
request.addHeader("Content-Type", Headers.HEAD_VALUE_ACCEPT_APPLICATION_X_WWW_FORM_URLENCODED);
NoProgresshttpUtils.getInstance().add(0, request, new HttpListener<String>() {
if(Contans.BASE_URL_AI_3D_SERVER.equals(Contans.BASE_URL_AI_3D_SERVER_EXTRANET)){
SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context);
if (socketFactory != null) {
request.setSSLSocketFactory(socketFactory);
request.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String s, SSLSession sslSession) {
return true;
}
});
}
}
NohttpUtils.getInstance().addNoProgress(context,0, request, new HttpListener<String>() {
@Override
public void onSucceed(int what, Response<String> response) {

@ -25,16 +25,16 @@ public class AuthenticationLoginUtils {
String base64Password = Base64.encodeToString(password.getBytes(), Base64.DEFAULT);
params.put("userid",username);
params.put("password",base64Password);
String json = GsonUtils.GsonString(params);
Log.i("完整的时间和日期: " , json);
Log.i("完整的时间和日期: " , base64Password);
// String json = GsonUtils.GsonString(params);
// Log.i("完整的时间和日期: " , json);
// Log.i("完整的时间和日期: " , base64Password);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HHmmss");
HttpUtils.getCompanyServerApi().userAuthenticationLogin(username,base64Password).enqueue(new BaseCallBack<UserAuthenticationBean>(context) {
@Override
public void onSuccess(retrofit2.Call<UserAuthenticationBean> call, retrofit2.Response<UserAuthenticationBean> response) {
UserAuthenticationBean bean = response.body();
Log.i("bean:",GsonUtils.GsonString(bean));
//Log.i("bean:",GsonUtils.GsonString(bean));
if (bean != null) {
if (bean.isResult()) {//登录成功
Calendar calendar = Calendar.getInstance();

@ -128,7 +128,7 @@ public class HttpResponseListener<T> implements OnResponseListener {
*/
@Override
public void onFinish(int what) {
if (mDialog != null && mDialog.isShowing()) {
if (mActivity != null && mDialog != null && mDialog.isShowing()) {
mDialog.dismiss();
}
}

@ -8,6 +8,7 @@ import androidx.annotation.NonNull;
import com.rehome.zhdcoa.Api;
import com.rehome.zhdcoa.App;
import com.rehome.zhdcoa.BuildConfig;
import com.rehome.zhdcoa.Contans;
import java.io.IOException;
@ -74,8 +75,7 @@ public class HttpUtils {
public static Api getYXApi() {
return getApi(Contans.IP);
}
public static Api getApi(String url) {
Retrofit mRetrofit = new Retrofit.Builder().baseUrl(url).client(getOkHttpClient()).addConverterFactory(GsonConverterFactory.create()).build();
@ -129,6 +129,24 @@ public class HttpUtils {
}
}
public static class TokenHeaderInterceptorAuthenticator implements Interceptor {
private static String token = "";
public TokenHeaderInterceptorAuthenticator(String tokenBase) {
TokenHeaderInterceptorAuthenticator.token = tokenBase;
}
@NonNull
@Override
public Response intercept(@NonNull Chain chain) throws IOException {
String token = TokenHeaderInterceptorAuthenticator.token;
String credential = "Bearer " + token;
Request originalRequest = chain.request();
Request updateRequest = originalRequest.newBuilder().header("Authorization", credential).build();
return chain.proceed(updateRequest);
}
}
private static OkHttpClient getGzipOkHttpClient() {
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addNetworkInterceptor(new TokenHeaderInterceptor());
@ -141,26 +159,26 @@ public class HttpUtils {
private static OkHttpClient getAuthenticatorOkHttpClient(String token) {
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addNetworkInterceptor(new TokenHeaderInterceptor());
httpClientBuilder.addNetworkInterceptor(new TokenHeaderInterceptorAuthenticator(token));
httpClientBuilder.addInterceptor(new LoggingInterceptor());
httpClientBuilder.connectTimeout(6, TimeUnit.SECONDS);
httpClientBuilder.writeTimeout(60, TimeUnit.SECONDS);
httpClientBuilder.readTimeout(60, TimeUnit.SECONDS);
final String credential = "Bearer " + token;
httpClientBuilder.authenticator(new Authenticator() {
@Override
public Request authenticate(Route route, Response response) throws IOException {
//Log.i("OkHttpClient","Authenticating for response: " + response);
//Log.i("OkHttpClient","Challenges: " + response.challenges());
String authorization = response.request().header("Authorization");
//Log.i("OkHttpClient","authorization"+ authorization);
if (credential.equals(response.request().header("Authorization"))) {
Log.i("OkHttpClient", "验证失败返回null");
return null;
}
return response.request().newBuilder().header("Authorization", credential).build();
}
});
// final String credential = "Bearer " + token;
// httpClientBuilder.authenticator(new Authenticator() {
// @Override
// public Request authenticate(Route route, Response response) throws IOException {
// //Log.i("OkHttpClient","Authenticating for response: " + response);
// //Log.i("OkHttpClient","Challenges: " + response.challenges());
// String authorization = response.request().header("Authorization");
// //Log.i("OkHttpClient","authorization"+ authorization);
// if (credential.equals(response.request().header("Authorization"))) {
// showLog("验证失败返回null");
// return null;
// }
// return response.request().newBuilder().header("Authorization", credential).build();
// }
// });
return httpClientBuilder.build();
}
@ -170,16 +188,26 @@ public class HttpUtils {
Request request = chain.request();
long t1 = System.nanoTime();//请求发起的时间
//Log.v("okhttpmsg", String.format("发送请求 %s on %s%n%s", request.url(), chain.connection(), request.headers()));
Log.i("app", String.format("发送请求 %s on %s%n%s", request.url(), chain.connection(), request.headers()));
showLog(String.format("发送请求 %s on %s%n%s", request.url(), chain.connection(), request.headers()));
Response response = chain.proceed(request);
long t2 = System.nanoTime();//收到响应的时间
ResponseBody responseBody = response.peekBody(1024 * 1024);
//Log.v("okhttpmsg", String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s", response.request().url(), responseBody.string(), (t2 - t1) / 1e6d, response.headers()));
Log.i("app", String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s", response.request().url(), responseBody.string(), (t2 - t1) / 1e6d, response.headers()));
showLog(String.format("接收响应: [%s] %n返回json:【%s】 %.1fms%n%s", response.request().url(), responseBody.string(), (t2 - t1) / 1e6d, response.headers()));
return response;
}
}
public static void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if (TextUtils.isEmpty(logText)) {
Log.i("app", "logText is null");
} else {
Log.i("app", logText);
}
}
}
public static class GzipRequestInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {

@ -1,17 +1,27 @@
package com.rehome.zhdcoa.utils;
import android.app.Activity;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.google.gson.Gson;
import com.rehome.zhdcoa.App;
import com.rehome.zhdcoa.BuildConfig;
import com.rehome.zhdcoa.R;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.download.DownloadQueue;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.RequestQueue;
import java.security.KeyStore;
import java.security.SecureRandom;
import java.security.cert.CertificateFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManagerFactory;
/**
* Created by ruihong on 2017/10/25.
*/
@ -103,6 +113,18 @@ public class NohttpUtils {
mQueue.add(what, request, new HttpResponseListener<T>(mActivity, request, callback, true, true, progressTitle));
}
public <T> void addNoProgress(Context context, int what, Request<T> request, HttpListener<T> callback) {
if(App.getInstance().getUserInfo()!=null&&App.getInstance().getUserInfo().getToken()!=null){
String token = App.getInstance().getUserInfo().getToken();
String credential = "Bearer " + token;
request.addHeader("Authorization", credential);
showLog(request.url());
// showLog(credential);
// showLog(new Gson().toJson(request.headers()));
}
mQueue.add(what, request, new HttpResponseListenerNoProgress<T>(request, callback));
}
public void showLog(String logText) {
if (BuildConfig.LOG_ERROR) {
if(TextUtils.isEmpty(logText)){
@ -135,4 +157,29 @@ public class NohttpUtils {
public void stopAll() {
mQueue.stop();
}
public static SSLSocketFactory getSSLSocketFactory(Context context) {
try {
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(null);
String certificateAlias = Integer.toString(0);
keyStore.setCertificateEntry(certificateAlias, certificateFactory.
generateCertificate(context.getResources().openRawResource(R.raw.domain)));
SSLContext sslContext = SSLContext.getInstance("TLS");
final TrustManagerFactory trustManagerFactory =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init(keyStore);
sslContext.init
(
null,
trustManagerFactory.getTrustManagers(),
new SecureRandom()
);
return sslContext.getSocketFactory();
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}

@ -4,6 +4,7 @@ package com.rehome.zhdcoa.utils;
import android.util.Base64;
import android.util.Log;
import java.io.ByteArrayOutputStream;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
@ -24,15 +25,26 @@ public class RSAUtils {
* RSA
*/
public static final String RSA = "RSA";
public static final String ECB_None_PKCS1_PADDING = "RSA/None/PKCS1Padding";//java默认加密填充方式 RSA/None/PKCS1Padding
private static final String PUBLIC_KEY = "RSAPublicKey";
private static final String PRIVATE_KEY = "RSAPrivateKey";
public static final int DEFAULT_KEY_SIZE = 2048;//秘钥默认长度
//RSA最大加密明文大小 1024位是117 算法 最大加密明文大小 = 1024(bit) / 8 - 11(byte) = 117 byte 最大加密明文大小 = 2048(bit) / 8 - 11(byte) = 245 byte
//private static final int MAX_ENCRYPT_BLOCK = 245;
private static final int MAX_ENCRYPT_BLOCK = (DEFAULT_KEY_SIZE / 8) - 11;
//RSA最大解密密文大小 1024位是128 2048位是 256 依此类推
//private static final int MAX_DECRYPT_BLOCK = 256;
private static final int MAX_DECRYPT_BLOCK = DEFAULT_KEY_SIZE / 8;
//java默认加密填充方式 RSA 对应安卓 RSA/None/PKCS1Padding
//public static final String ECB_None_PKCS1_PADDING = "RSA";
//安卓手机加密填充方式用 RSA/None/PKCS1Padding
public static final String ECB_None_PKCS1_PADDING = "RSA/None/PKCS1Padding";
public static final String public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnRh8MAqfpBZffouPsU3hToRZl3soo2ntYU4psQtc72QOvnprQ6Ua6UBY0WqemCJF/KxQ8p+vY7/r5eZ97Fw7Sq40PQTNKvyxFQuMGRAO8xTahSn2/79KViq7mVVLm2UAH8QaFmq7rJJbkCif3I1yiFMqzOF41ak231GF8eD62gr9+DFLiR1UKjv+/qXG4UjFQM6pa0cD1kAOsoYz0dSQlHFMbOaVf+VEWxSqFjKPiep6bYoViTlMRkdLqbUbHr/xk67C8lGqWO7wnB32T0+fYwnFWF952OJ9kov9oSnvOFXa+NwlAe7m2hZtFnW/NoBX1WxkQ6zTTTxJb8sRNft7qQIDAQAB";
public static final String private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCdGHwwCp+kFl9+i4+xTeFOhFmXeyijae1hTimxC1zvZA6+emtDpRrpQFjRap6YIkX8rFDyn69jv+vl5n3sXDtKrjQ9BM0q/LEVC4wZEA7zFNqFKfb/v0pWKruZVUubZQAfxBoWaruskluQKJ/cjXKIUyrM4XjVqTbfUYXx4PraCv34MUuJHVQqO/7+pcbhSMVAzqlrRwPWQA6yhjPR1JCUcUxs5pV/5URbFKoWMo+J6nptihWJOUxGR0uptRsev/GTrsLyUapY7vCcHfZPT59jCcVYX3nY4n2Si/2hKe84Vdr43CUB7ubaFm0Wdb82gFfVbGRDrNNNPElvyxE1+3upAgMBAAECggEAOcphHRc7ZRSp6paStMoOoWDEyJoQ+BSms84aPjwM4y/u0JmeThM11CrMwbU0RIkPMAV//dFKpypaMIfbOREw6qctJmlWxIKS7kgCMNIcfcXlIWmvqKOJSCuOObkMCE1ef1EXu7ll8vUgY+bd8DfEs2vM6fPkDM2kFwEZgkKeZYlkFcLLy8V701seLtNzbPaqAUa44S6m0DVH7gojad8+Ni/XsdNzSrd8Y2930M8LVZoOTLrwskJaF2v/WvjM3blOtHxLqDfXfD4uRm12b1SNzPx2djlL6vNptwbpYAtPOYol8W0LxJH2AHbTrUFv/KJdyuD4NVGSnGpYtWzD7QQetQKBgQDLqfaiq0uHQerAc3M30pOZSDF8PtiBd1jdqFoOVhuADkp4LPXm54s5evEi2r3tl4x8cAvUo6WaxDlG3IFO0POLcZY+Xf2sMhwMAxiwWqLVRGirjr6QAfnmWAToqqyh8brxNti4MC3X/yudrd6x/VJ1lQ3Pooiihf4Ir74QuY7wqwKBgQDFdwbFou07bQmxCElgC5MF78Aevn5JzsniGU2RhpxG7ajf2T9n6AjtVfvYLy6iYsfLm6RGC2uofBjMgL920ePXBSDv0fk1UEVoR/vCtspyCLBVXELdSS5DCnux1F15vKAJZQyODGyEv0d8h97qKRaq14EW75e9vPx4ahxXgaiM+wKBgGE0AonK9aZdmJw3veMDtvxuj2e8WvsXqitIwYqcIE3zBCntU4PcOP+7JMG84u816JAvrgXUASMnyip+7ZxfcA26rbmghIUd+XLmO29YIuVk3AwdeegjeVEt61Hcu74jMFUWF0N5gzfXCsscA/Cxdhy2gjv6V/oxt3gP4Mf8uDM3AoGAJMVhcXRBkQtg/qJ4Z3ZATp6yvAblJYFofr4Pf8X9XAftpqGh+QtwfiHA4CUJHhwe8H9vO8vspFdXlt1yygGT1/qQg5gqPA9SnXSqITxAvrN3gq3HlcWG490T462UKpNBif5TNDCEFMQ536q9jAVSv0WaOFctfpuuuA2qcXEnnfkCgYEAuFWzis7ICtcZTr8CZOC7FeVL6URzI1akwRlHDHRUrNRCTf47HGUG9bCC6N+v6ex7TD2XlaB0g3U9XXjYRyk9T2AWfgzPvgvw7H+tI9r+9yyDlUbb2pvaKdVQIgCnJ6Hg7Qw7MuwzjEiXLF7HMy5CFnrVnHAjYrNe1Gqgo0v3rsY=";
public static final String public_key_client = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu0jZXvlRCBOX5R2wW7a+A6dciQD2F2DQqOOaVyPGH1fQxBdVn/HfgiBYXPDIodaSSTDcl1rjlepUiAZjyTpzieZgDo6txy5ncB1ts85frc0DF08zn+zztj4g9zIU7Q8pzxYJ+2wI1XcNzt0eaWBCU7DZKjjp5iRTuKNcLJ5VLe0w8PfvG+AwqGDN+j+523V79o81pdhBJ5hzWhdkzO62X2Va7EjcQ9kpDNDsafqXzhXEyf7LiEsyQkDWzWCZuZN7DQhKriJepfrFqCqlkUHtjd6LSwloEqxYdrfTHuKxxLEUJF+051vrEafwAVM2Sg65nqWbPI11E2DBbr3wSNVYKQIDAQAB";
public static final String private_key_client= "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC7SNle+VEIE5flHbBbtr4Dp1yJAPYXYNCo45pXI8YfV9DEF1Wf8d+CIFhc8Mih1pJJMNyXWuOV6lSIBmPJOnOJ5mAOjq3HLmdwHW2zzl+tzQMXTzOf7PO2PiD3MhTtDynPFgn7bAjVdw3O3R5pYEJTsNkqOOnmJFO4o1wsnlUt7TDw9+8b4DCoYM36P7nbdXv2jzWl2EEnmHNaF2TM7rZfZVrsSNxD2SkM0Oxp+pfOFcTJ/suISzJCQNbNYJm5k3sNCEquIl6l+sWoKqWRQe2N3otLCWgSrFh2t9Me4rHEsRQkX7TnW+sRp/ABUzZKDrmepZs8jXUTYMFuvfBI1VgpAgMBAAECggEAL7KfAcw3cfojfkuwZbtF64JNU+s1wcB7g/frj/PheowP9FEJEqI0TVzVhF4iiu0t9owGMloIil7Sxo3yDgbf9CgDINH/ujG8UFZ+YQPXZFlJRz95o2piq3BpTuunXrS07jPruOfL3CnlD2FLZIUKf2wT8ufp0h5AYE7io85zXS2SvzlWuchA1bzGCGZc88zr5VWcbDGHXWG7PDd8VgEEb69UUP6H0IWWEAeHwOeqZ9sJHcvhwx93ecQ+evXHztRYouJ0WzQOOEKKHgID+ImcpYpyAbSeWfacyOHx6UVu+2fL88jyhhz20OQLVCBp2MzIHPPez0l/LJ/OveeKC3lLvQKBgQDNl+Kj7DfhcjvzLBML6tAE73tiGt6QbMf9frVq4J+oAM9tW862WsZgAAOSkkG+fUuIF0FmvQ4mRPs8R2s4etC5n5G3wEbLPJruF2yEngONI8bI9i+yzx/xVl3Pru85QOBvpxpxCPx2uxK/LzE5PfnWPqRwQ7+BiLMVLigM/bn+nwKBgQDpM8+9CQ2S/RA6qao6Sr3LiLATA0y0ShjEiii2ZkCxgTyl004xhSxj45ijkFmJRqUix7yt/CGZQq3JxnrWAEH1Y0r/AM8F7sTtKu37fLyCoVpQ4HlyyCCVVLvTExOZYsf8lGLJB2DOJGKK5V69uvOLqc8zmsPSSbVlvAC+6ZHcNwKBgDWXIMmv2kUW3M+fLnvNwll2/0dsT5V/9YV7UNjCInvNckRESRa5hLojZsr++sonqNeZkD+yigypsH9e8nDvepbYJEisgweZDZ2AV5YeBjj1GWzq1zYZzW7AH4XySIM5CQexnC/Yss5UJyfUqlUMdaJGA+ELl9CxDFU6CdCRFrlrAoGAR2tVuNgX7ydPnBewCZAwVjAzdG8zQ5fZw/9n/oyMTZB96W8waFwXvzPJ4HXp5e/bzS4Mq+AmzhAstznxDq8fhC53nmc5/+AjMVtPbRDDjuIpjdFhgHSn/fPoXflerEAjbUhohJac4CUmhNFAVaz2v5Qu3+gLBtEKG/Ea7V0NDbsCgYAocw/DFV5hAyQHyVwPNtsSd/vF+iGSyJJxqBPXW36fLNzdkoZL8TNGWeuyTloZbsXBorYESTX+1522xAFr7FcQpoQRjEOAuloqc5+C03D0fSrdczbxyHQMVTvsdFbfKWaQO4EjDrZqFA50h3rhY3ZosT8IS5npZQ7ifR3B1DCfdQ==";
public static final String public_key_local = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/lhQRyFMV5LLJz9jFjY+ZW/79wEuujDJjy8YxlxqfST+FUUOytH46fLRd5m4s4Nj7L03hssz0H0M1pKiUzUzp6ulSC8GH2/uZzBq47agre9bW0A+Uu0IiCwfOc0J1L1UlLm/wWRGW0Sw51OHYAs99irjhxdGFOVv/mS9FzzxmBRFOwUXFD8iXyEKI8xkteyHGniKRwBYoWR32kQw7H/Mnpamo1fCrHA6Dg55CBeIEkg2oyPGKzvhkPVopJzj9zukW8w2F0iR5ll0QBl7XzGyy3EHmIsYsod3LSIh1g5A2zsscJ0ouorKGLwY1LK06a34JTkYz5p7lx6Nn6589Re8GwIDAQAB";
public static final String private_key_local = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQD+WFBHIUxXkssnP2MWNj5lb/v3AS66MMmPLxjGXGp9JP4VRQ7K0fjp8tF3mbizg2PsvTeGyzPQfQzWkqJTNTOnq6VILwYfb+5nMGrjtqCt71tbQD5S7QiILB85zQnUvVSUub/BZEZbRLDnU4dgCz32KuOHF0YU5W/+ZL0XPPGYFEU7BRcUPyJfIQojzGS17IcaeIpHAFihZHfaRDDsf8yelqajV8KscDoODnkIF4gSSDajI8YrO+GQ9WiknOP3O6RbzDYXSJHmWXRAGXtfMbLLcQeYixiyh3ctIiHWDkDbOyxwnSi6isoYvBjUsrTprfglORjPmnuXHo2frnz1F7wbAgMBAAECggEAakyCkJfMDjWdjjOht+DHxyE8TwlBfDNzqdHnKs/o+ZCCWGVaP03uF+iRvsiSNwRMuN6D3GQErbf1q5/xE5GCmyrTkw2EI5NmMd48bhsfoFIO/l4lLgc+r5qxGjklSLIwLVBMYgkElpRo0uVICM3qAX3/RbBma8lQOyPjG1kvJ31L/xYN4DbfOfumqs3Eb06ZNvPEP0BnbbVFp6NiOcBvLipQxrhnMob5MDyPWEjcBeV/IssK3ZvrzjsqF1Ckz8KNUKGfDq4DHM7YzkLBySDIiOZHSBfimzc8fxtDFZpMOOBbEZJ0sGlTeftv5Zd0KHWD0OBWBeSHeVFRBc5RCPO38QKBgQD/rPC5Jr2Sgp3tKrRyEztYZrce0ecYvsxYZRgQpSxLF+rd8Z8ftH/MHPEdnYZjLWFPDrd+R3eEEr5B2t2sfKUWE/PA97RvSp/Uqv0xKoetX8JopeZ6X/3PRb9bQFWRe2dPBSA5mKx8MIOIhfr2qjdepDF+Lejn4pCFDSs8BLpPbQKBgQD+qvDlusQ1IvBi19DnKqx3iLvgHFHYb/GcrFzqfQZewGZLH7yoBo4zXZLT2Np+DW7K8IC3JOLNhLrvD1V8+bmOwW84Foo62Gvm1GPm8nxbgTCqg+ns5bV0xoHXdN1v4dAgeOBqYrIFkmSfxpB4usij8yFMZkN7PNZ3KwQYqZYcpwKBgQDS+qKqJo3ImIA5dUPx3mzaRehWRl+sy8VULBfvpF0omlP1Ua09PHU4uak+Bv8eWBQ0aLCCQ/cbxVu6fCDwdOrFjTFXyw/Zxnqdw3urVq0fJCYItN27nfqTT7rYUf5KTsqxKkmtPY8X6/Ced/DgGxYVwugUd036C7u2D2fd3wjfAQKBgQCfHkduAofde3sfByFrjmo8NZ7NpGQvC6K29asIiB2Wzjgb8DR797yZs3muC+xYniP/gM2roMxlBO2XuMj9UTrzS0Emlk6//cFNdJ8HCbNRqSKzJ8DdV5lM4Ur3R/mjkj/sShpN3mTEvndIrVRPWsVKSvsfNTYsphKKWsIwdqVoOQKBgQD5ibg09UHs0dHiaOn0lKsUFb25q+ylu4NLIU6gh/xi7sJ2huRA2gElPwkUsCIzH+/TTiIdvs1WuoBCvvCWL6a7xchN1+nve2fw4ohNHWupcTNWX1k1pNFHXjhtaUMes7zTTy6wBDbkbM7yTQLtB8/VMzMpuzg6UZPw3Hv8sIOz+w==";
public static final String public_key_mqtt = "MIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKCBAEAujmJWv1QTJU1uS/t0Tj0ms9dPuYtZeuxCCAvc93/6JvxAON6UyfniL4hScOzwDqR74GsOtYC5O1JNi4VGn4XU6XKt30o+/cCJeSaynmcVRBnkbjpo4pvE/97//GEwHbhPSsHRv2GmURx/wEZKGhlAceMu3xMs1slhD2gmGlfoZTdMULUN7xIbN5wgwZbcGs+XD+eaGEkE6xOyJdthKnsoYq+7lsfl0668231374zIDMSYCkcES5v86jr0HG4TVYymBbD33/WAJ0ISyBP+LMboasw62QoVrwPYXkWIqfiFFHwpi/TqyjJef8bM4bUuW2vqfFCMRZb23NKIseSvjgJu62FlQAPFgw8U5/i1yRGyFJPryJP0dJS07uv5k+J5iSKabvjp0RWkVLwgUzctQKjJhx+cE9bOPXgAGp7dczumjMPlOVm7AGEsAAlDNHNcDksKssy91kl3tkkj987/0P534TehtKvZ43W2XoOSyA0nPxfb/hxb6cLo3D1OD9Favc5WkSUgnYS8Kc+wwOPpUl8eveGLWjbdd8tFGpq8jW2Nrrk584zqu6OqgE9BqHC4NwnMkd1ZmwVBC7aUB+BuVgKxb+lRXRzoYOeCYYdn4Rg0yEdSJcCTwEEwJqouAD/eCkj2KVpz2lTr1zut8w4oDwk9BYe/9R5fz9/yE+M06MAG60ys4Ac0IpfERQP8VP3a+JuTZGPvan/CSq4nGdvd/+R+aZHcQUJDXk1YzSPZFezrLIVZQe0u0HbIIfPhLHmEwCAXzhM1Ise4xC8XHOytlJw3drkNAsJN9sZ9UePLZMEkggLYgzsgSZ11tRgObA/OXPW4/fd71RO/MZmH9DLv7blCkLomTKinKDiO7MsQvjIQaDKgOVX8Db8UvVcolZLHy48c6vUbJFVXRo2ds/1MK5sgDBNGzNTX/QkPuQS+IDnh4g4edbU0tfwTzkcawHShMza+QQfcHRu5hgpurGv4CApcVWIZn49T/ElJMbSSQczbF6f08piXs8hlyUYBhFjdQJNp3Imuii2c1M10rOGn1PHR0yIay6+L1toDn6ASJksY1FCNSkzpv5utykEKf0Hq2+HX0Wi1Umdl/tndqBVXygSgi4SSu/j5iZtSnjwb1DxQKvO5LLNxxdtEJLsEpQii5LlWr7MjkcsR7zHhzzkqWIAsIbaiwuasMcRkYbAjYFcIH4mSZCTACvsTDxm+hB0GxVmGEfEgknphVm0Yqa7/NXcz9bL856ez5IemmiavfntBS8uhet3m4FYa0FolJF0YdlJa0LCXW/QQYa/PltBFx9xY9nveEp08f+DXUPzJ+0puX3qxLIMyazTfM4mWgxxPmMQOFTNwGwtNGMP6Ncbd6V4oQIDAQAB";
@ -49,15 +61,40 @@ public class RSAUtils {
//return Base64.encode(key);
}
public static String decryptBASE64Str(String encryptString) throws Exception {
byte[] decodeByte = decryptBASE64(encryptString);
return new String(decryptByPrivateKey(decodeByte, private_key));
public static String decryptBASE64Str(String encryptString) {
try {
byte[] decodeByte = decryptBASE64(encryptString);
return new String(decryptByPrivateKeyLongText(decodeByte, private_key),java.nio.charset.StandardCharsets.UTF_8);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static String decryptBASE64StrClient(String encryptString) {
try {
byte[] decodeByte = decryptBASE64(encryptString);
return new String(decryptByPrivateKeyLongText(decodeByte, private_key_client),java.nio.charset.StandardCharsets.UTF_8);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static String decryptBASE64StrByPublic(String encryptString) {
try {
byte[] decodeByte = decryptBASE64(encryptString);
return new String(decryptByPublicKeyLongText(decodeByte, public_key),java.nio.charset.StandardCharsets.UTF_8);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static String decryptBASE64StrLocal(String encryptString) {
try {
byte[] decodeByte = decryptBASE64(encryptString);
return new String(decryptByPrivateKey(decodeByte, private_key_local));
return new String(decryptByPrivateKeyLongText(decodeByte, private_key_local),java.nio.charset.StandardCharsets.UTF_8);
} catch (Exception e) {
e.printStackTrace();
}
@ -67,7 +104,7 @@ public class RSAUtils {
public static String decryptBASE64StrMqtt(String encryptString) {
try {
byte[] decodeByte = decryptBASE64(encryptString);
return new String(decryptByPrivateKey(decodeByte, private_key_mqtt));
return new String(decryptByPrivateKey(decodeByte, private_key_mqtt),java.nio.charset.StandardCharsets.UTF_8);
} catch (Exception e) {
e.printStackTrace();
}
@ -76,7 +113,16 @@ public class RSAUtils {
public static String encryptBASE64Str(String text) {
try {
return encryptBASE64(encryptByPublicKey(text.getBytes(), public_key));
return encryptBASE64(encryptByPublicKeyLongText(text.getBytes( java.nio.charset.StandardCharsets.UTF_8), public_key));
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static String encryptBASE64StrClient(String text) {
try {
return encryptBASE64(encryptByPublicKeyLongText(text.getBytes( java.nio.charset.StandardCharsets.UTF_8), public_key_client));
} catch (Exception e) {
e.printStackTrace();
}
@ -85,7 +131,7 @@ public class RSAUtils {
public static String encryptBASE64StrLocal(String text) {
try {
return encryptBASE64(encryptByPublicKey(text.getBytes(), public_key_local));
return encryptBASE64(encryptByPublicKeyLongText(text.getBytes( java.nio.charset.StandardCharsets.UTF_8), public_key_local));
} catch (Exception e) {
e.printStackTrace();
}
@ -94,7 +140,7 @@ public class RSAUtils {
public static String encryptBASE64StrMqtt(String text) {
try {
return encryptBASE64(encryptByPublicKey(text.getBytes(), public_key_mqtt));
return encryptBASE64(encryptByPublicKey(text.getBytes( java.nio.charset.StandardCharsets.UTF_8), public_key_mqtt));
} catch (Exception e) {
e.printStackTrace();
}
@ -125,6 +171,44 @@ public class RSAUtils {
return cipher.doFinal(data);
}
/**
*
* @param encryptedData
* @param privateKey
* @return
* @throws Exception
*/
public static byte[] decryptByPrivateKeyLongText(byte[] encryptedData, String privateKey) throws Exception {
byte[] keyBytes = decryptBASE64(privateKey);
PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(RSA);
Key privateK = keyFactory.generatePrivate(pkcs8KeySpec);
Cipher cipher = Cipher.getInstance(ECB_None_PKCS1_PADDING);
cipher.init(Cipher.DECRYPT_MODE, privateK);
int inputLen = encryptedData.length;
ByteArrayOutputStream out = new ByteArrayOutputStream();
int offSet = 0;
byte[] cache;
int i = 0;
// 对数据分段解密
while (inputLen - offSet > 0) {
if (inputLen - offSet > MAX_DECRYPT_BLOCK) {
cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK);
} else {
cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet);
}
out.write(cache, 0, cache.length);
i++;
offSet = i * MAX_DECRYPT_BLOCK;
}
byte[] decryptedData = out.toByteArray();
out.close();
return decryptedData;
}
/**
* <br>
*
@ -148,6 +232,67 @@ public class RSAUtils {
return cipher.doFinal(data);
}
/**
*
* @param encryptedData
* @param publicKey
* @return
* @throws Exception
*/
public static byte[] decryptByPublicKeyLongText(byte[] encryptedData, String publicKey) throws Exception {
byte[] keyBytes = decryptBASE64(publicKey);
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(RSA);
Key publicK = keyFactory.generatePublic(x509KeySpec);
Cipher cipher = Cipher.getInstance(ECB_None_PKCS1_PADDING);
cipher.init(Cipher.DECRYPT_MODE, publicK);
int inputLen = encryptedData.length;
ByteArrayOutputStream out = new ByteArrayOutputStream();
int offSet = 0;
byte[] cache;
int i = 0;
// 对数据分段解密
while (inputLen - offSet > 0) {
if (inputLen - offSet > MAX_DECRYPT_BLOCK) {
cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK);
} else {
cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet);
}
out.write(cache, 0, cache.length);
i++;
offSet = i * MAX_DECRYPT_BLOCK;
}
byte[] decryptedData = out.toByteArray();
out.close();
return decryptedData;
}
/**
* <br>
*
@ -171,6 +316,69 @@ public class RSAUtils {
return cipher.doFinal(data);
}
/**
*
* @param data
* @param publicKey
* @return
* @throws Exception
*/
public static byte[] encryptByPublicKeyLongText(byte[] data, String publicKey) throws Exception {
byte[] keyBytes = decryptBASE64(publicKey);
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(RSA);
Key publicK = keyFactory.generatePublic(x509KeySpec);
// 对数据加密
Cipher cipher = Cipher.getInstance(ECB_None_PKCS1_PADDING);
cipher.init(Cipher.ENCRYPT_MODE, publicK);
int inputLen = data.length;
ByteArrayOutputStream out = new ByteArrayOutputStream();
int offSet = 0;
byte[] cache;
int i = 0;
// 对数据分段加密
while (inputLen - offSet > 0) {
if (inputLen - offSet > MAX_ENCRYPT_BLOCK) {
cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK);
} else {
cache = cipher.doFinal(data, offSet, inputLen - offSet);
}
out.write(cache, 0, cache.length);
i++;
offSet = i * MAX_ENCRYPT_BLOCK;
}
byte[] encryptedData = out.toByteArray();
out.close();
return encryptedData;
}
/**
* <br>
*
@ -194,6 +402,67 @@ public class RSAUtils {
return cipher.doFinal(data);
}
/**
*
* @param data
* @param privateKey
* @return
* @throws Exception
*/
public static byte[] encryptByPrivateKeyLongText(byte[] data, String privateKey) throws Exception {
byte[] keyBytes = decryptBASE64(privateKey);
PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance(RSA);
Key privateK = keyFactory.generatePrivate(pkcs8KeySpec);
Cipher cipher = Cipher.getInstance(ECB_None_PKCS1_PADDING);
cipher.init(Cipher.ENCRYPT_MODE, privateK);
int inputLen = data.length;
ByteArrayOutputStream out = new ByteArrayOutputStream();
int offSet = 0;
byte[] cache;
int i = 0;
// 对数据分段加密
while (inputLen - offSet > 0) {
if (inputLen - offSet > MAX_ENCRYPT_BLOCK) {
cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK);
} else {
cache = cipher.doFinal(data, offSet, inputLen - offSet);
}
out.write(cache, 0, cache.length);
i++;
offSet = i * MAX_ENCRYPT_BLOCK;
}
byte[] encryptedData = out.toByteArray();
out.close();
return encryptedData;
}
/**
*
*

@ -43,7 +43,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:must="true"
app:tv_title="工作开始时间"/>
app:tv_title="许可时间"/>
<com.rehome.zhdcoa.weiget.InputLayout
android:id="@+id/il_xmfrz"

Loading…
Cancel
Save