diff --git a/app/build.gradle b/app/build.gradle
index 57a57af..63834ed 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,8 +10,8 @@ android {
applicationId "com.rehome.dywoa"
minSdk 24
targetSdk 34
- versionCode 14
- versionName "1.1.3"
+ versionCode 15
+ versionName "1.1.4"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7a73dc0..1fa527c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -200,6 +200,10 @@
android:name=".ui.activity.WaitForToDoActivity"
android:exported="false"
android:screenOrientation="portrait" />
+
BiShowActivity.this.finish());
+
+
+ //支持缩放
+ mAgentWeb.getWebCreator().getWebView().getSettings().setBuiltInZoomControls(true);
+ mAgentWeb.getWebCreator().getWebView().getSettings().setDisplayZoomControls(false);
+ mAgentWeb.getWebCreator().getWebView().getSettings().setSupportZoom(true);
+ mAgentWeb.getWebCreator().getWebView().getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
+
+ checkServerConnectStatus();
+
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ }
+
+
+ //检查服务器连接状态
+ private void checkServerConnectStatus() {
+ Map param = new HashMap<>();
+ param.put("login","dywoa");
+ String json = GsonUtils.GsonString(param);
+ String url = Contans.IP + Contans.check_server_connect;
+ showLog(url);
+ showLog(json);
+ Request request = NoHttp.createStringRequest(
+ url,
+ RequestMethod.POST
+ );
+ request.setDefineRequestBodyForJson(json);
+ NoProgresshttpUtils.getInstance().add(this, 0, request, new HttpListener() {
+
+ @Override
+ public void onSucceed(int what, Response response) {
+ String result = response.get();
+ showLog("-----onSucceed----");
+ showLog(result);
+ if(result.equals("1")){
+ showLog("connect server success");
+ //可以连接到服务器,请求数据
+ getSingleLoginToken();
+ }else{
+ showToast("无法连接到服务器,请检查网络环境");
+ }
+ }
+
+ @Override
+ public void onFailed(int what, Response response) {
+ showLog("connect server onFailed");
+ showToast("无法连接到服务器,请检查网络环境");
+ }
+ });
+ }
+
+
+ private void getSingleLoginToken() {
+ //1724740210123
+ //1640832102097
+ long nowTime = System.currentTimeMillis();
+ showLog(String.valueOf(nowTime));
+ HashMap param = new HashMap<>();
+ param.put("username",App.getInstance().getUserInfo().getManid());
+ param.put("issueTime",String.valueOf(nowTime));
+ String jsonParam = GsonUtils.GsonString(param);
+ String usernameEncrypt = RSAUtils.encryptBASE64BIStr(jsonParam);
+ String usernameEncode = "";
+ try {
+ usernameEncode = URLEncoder.encode(usernameEncrypt, "UTF-8");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ String url = Contans.BI_TOKEN_IP + urlToken + "?ssoToken=" + usernameEncode;
+ loadSisPage(url);
+ }
+
+ private void loadSisPage(String biUrl) {
+ showLog(biUrl);
+ this.mAgentWeb.getUrlLoader().loadUrl(biUrl);
+ }
+
+
+ @NonNull
+ @Override
+ protected ViewGroup getAgentWebParent() {
+ return (ViewGroup) this.findViewById(R.id.container);
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if (mAgentWeb != null && mAgentWeb.handleKeyEvent(keyCode, event)) {
+ return true;
+ }
+
+ return super.onKeyDown(keyCode, event);
+ }
+
+ @Override
+ protected int getIndicatorColor() {
+ return Color.parseColor("#ff0000");
+ }
+
+ @Override
+ protected void setTitle(WebView view, String title) {
+ super.setTitle(view, title);
+ if (!TextUtils.isEmpty(title)) {
+ if (mTitleTextView != null) {
+ mTitleTextView.setText(type);
+ }
+ }
+ }
+
+ @Override
+ protected int getIndicatorHeight() {
+ return 3;
+ }
+
+ @Nullable
+ @Override
+ protected String getUrl() {
+ return null;
+ //return "https://www.baidu.com/";
+ }
+
+
+ private void showLog(String logText) {
+ if (BuildConfig.LOG_ERROR) {
+ if (TextUtils.isEmpty(logText)) {
+ Log.i("app", "logText is null");
+ } else {
+ Log.i("app", logText);
+ }
+ }
+ }
+
+ public void showToast(String msg) {
+ Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
+ }
+
+ public void showToast(int strId) {
+ Toast.makeText(this, strId, Toast.LENGTH_SHORT).show();
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/HomeActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/HomeActivity.kt
index 4fee441..29fc758 100644
--- a/app/src/main/java/com/rehome/dywoa/ui/activity/HomeActivity.kt
+++ b/app/src/main/java/com/rehome/dywoa/ui/activity/HomeActivity.kt
@@ -88,6 +88,9 @@ class HomeActivity : BaseActivityOaToolbarViewBinding() {
private lateinit var badgeView_me: BadgeView
private var isInitTbs: Boolean = false
+ private lateinit var homeFragment:HomeFragment
+ private lateinit var mineFragment:MineFragment
+
private lateinit var username: String
private lateinit var queueNoHttp: RequestQueue
@@ -124,8 +127,10 @@ class HomeActivity : BaseActivityOaToolbarViewBinding() {
badgeView_me.setBadgeMargin(0, 2, 10, 0) //设置边距
badgeView_me.textSize = 16f
- fragments.add(HomeFragment.getInstance())
- fragments.add(MineFragment.getInstance())
+ homeFragment = HomeFragment.getInstance()
+ mineFragment = MineFragment.getInstance()
+ fragments.add(homeFragment)
+ fragments.add(mineFragment)
adapter = object : FragmentPagerAdapter(supportFragmentManager) {
override fun getItem(position: Int): Fragment {
@@ -158,6 +163,7 @@ class HomeActivity : BaseActivityOaToolbarViewBinding() {
binding.rbHome.setTextColor(Color.parseColor("#0099ff"))
binding.rbHome.isChecked = true
binding.toolbarView.topLl.visibility = View.GONE
+ homeFragment.updateWaitForToDo()
}
1 -> {
@@ -166,6 +172,7 @@ class HomeActivity : BaseActivityOaToolbarViewBinding() {
binding.toolbarView.topLl.visibility = View.GONE
binding.rbMine.setTextColor(Color.parseColor("#0099ff"))
binding.rbMine.isChecked = true
+ mineFragment.updateWaitForToDo()
}
}
}
diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt b/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt
index 0379a21..ace8d1b 100644
--- a/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt
+++ b/app/src/main/java/com/rehome/dywoa/ui/activity/LoginActivity.kt
@@ -192,6 +192,10 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() {
// binding.etUsername.setText("371522")
// binding.etPassword.setText("A000000a")
+// binding.etUsername.setText("CY00011")
+// binding.etPassword.setText("A000000a")
+
+
// binding.etUsername.setText("371543")
// binding.etPassword.setText("Dyw@2024")
@@ -729,7 +733,7 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() {
// showLog(json.length.toString());
showLog(json);
-// showLog(jsonEncrypt);
+ showLog(jsonEncrypt);
return jsonEncrypt
}
diff --git a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java
index f233bf3..a49f477 100644
--- a/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java
+++ b/app/src/main/java/com/rehome/dywoa/ui/activity/sbxdjgl/SdjgzActivity.java
@@ -417,7 +417,7 @@ public class SdjgzActivity extends BaseActivity {
@Override
public void handleNfc(String result) {
//super.handleNfc(result);
-// tvNodata.setText(result);
+ //tvNodata.setText(result);
//result = "04351EEA211991";
if (list.size() != 0) {
showLog("--------");
diff --git a/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java b/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java
index 764c097..a8fa3e0 100644
--- a/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java
+++ b/app/src/main/java/com/rehome/dywoa/ui/fragment/HomeFragment.java
@@ -1,8 +1,6 @@
package com.rehome.dywoa.ui.fragment;
-import static com.rehome.dywoa.utils.GsonUtils.GsonToBean;
-
import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
@@ -10,51 +8,41 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-
import com.rehome.dywoa.App;
import com.rehome.dywoa.Contans;
-import com.rehome.dywoa.DBModel.Xjjh;
-import com.rehome.dywoa.DBModel.XjjhList;
import com.rehome.dywoa.MainActivity;
import com.rehome.dywoa.R;
import com.rehome.dywoa.adapter.GridViewAdapter;
import com.rehome.dywoa.base.BaseFragment;
import com.rehome.dywoa.bean.GridItem;
import com.rehome.dywoa.bean.WaitForBean;
+import com.rehome.dywoa.ui.activity.BiShowActivity;
import com.rehome.dywoa.ui.activity.JiZhuActivity;
import com.rehome.dywoa.ui.activity.KksSearchActivity;
-import com.rehome.dywoa.ui.activity.RunLogActivity;
-import com.rehome.dywoa.ui.activity.RunLogBaseActivity;
import com.rehome.dywoa.ui.activity.RunLogListActivity;
import com.rehome.dywoa.ui.activity.SisBaseActivity;
import com.rehome.dywoa.ui.activity.UseCarActivity;
import com.rehome.dywoa.ui.activity.UseSealActivity;
import com.rehome.dywoa.ui.activity.WaitForToDoActivity;
-import com.rehome.dywoa.ui.activity.WaitForToDoBaseActivity;
import com.rehome.dywoa.ui.activity.YjyaActivity;
import com.rehome.dywoa.ui.activity.sbxdjgl.SbxdjglActivity;
import com.rehome.dywoa.ui.activity.sbxj.XscbglActivity;
import com.rehome.dywoa.utils.GsonUtils;
import com.rehome.dywoa.utils.HttpListener;
import com.rehome.dywoa.utils.NoProgresshttpUtils;
-import com.rehome.dywoa.utils.NohttpUtils;
import com.rehome.dywoa.weiget.AutoGridView;
import com.yolanda.nohttp.NoHttp;
import com.yolanda.nohttp.RequestMethod;
import com.yolanda.nohttp.rest.Request;
import com.yolanda.nohttp.rest.Response;
-import org.litepal.crud.DataSupport;
-
-import java.text.ParseException;
+import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
public class HomeFragment extends BaseFragment {
@@ -220,12 +208,12 @@ public class HomeFragment extends BaseFragment {
startActivity(intentJiZhu);
break;
case 3:
- if((firstDeparment!=null&&firstDeparment.equals("运行部"))||(username!=null&&username.equals("371522"))){
+ if((firstDeparment!=null&&firstDeparment.equals("运行部"))||(firstDeparment!=null&&firstDeparment.equals("承包商"))||(username!=null&&username.equals("371522"))){
Intent intentXj= new Intent(mActivity, XscbglActivity.class);
intentXj.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentXj);
}else{
- showToast("巡检功能只对运行部开放,当前用户不是运行部,无权限");
+ showToast("巡检功能只对运行部和承包商开放,当前用户无权限");
}
break;
case 4:
@@ -298,16 +286,23 @@ public class HomeFragment extends BaseFragment {
intentUseSeal.putExtra("urlLog",urlSeal);
startActivity(intentUseSeal);
break;
-// case 9:
-// Intent intentWaitFor = new Intent(mActivity, WaitForToDoActivity.class);
-// intentWaitFor.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
-//
-// String typeWaitFor = "待办";
-// String urlWaitFor = "https://mis.dywzhny.com.cn/mobile/workflow/list/todo?cusMenuId=5116426542447237804&urlPageTitle=5b6F5Yqe5rWB56iL";
-// intentWaitFor.putExtra("type",typeWaitFor);
-// intentWaitFor.putExtra("urlLog",urlWaitFor);
-// startActivity(intentWaitFor);
-// break;
+ case 10:
+ try {
+ //
+ Intent intentWaitFor = new Intent(mActivity, BiShowActivity.class);
+ intentWaitFor.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ String typeBI = "BI";
+ String urlBI = "https://bi.dywzhny.com.cn/webroot/decision/url/mobile#/directory";
+ String encodedUrlBI = URLEncoder.encode(urlBI, "UTF-8");
+
+ //urlBI = "https://bi.dywzhny.com.cn/webroot/decision#/";
+ intentWaitFor.putExtra("type",typeBI);
+ intentWaitFor.putExtra("urlLog",urlBI);
+ startActivity(intentWaitFor);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ break;
// case 8:
// TAG = GridViewDialog.TAG_PEIXUN;
// break;
@@ -336,8 +331,8 @@ public class HomeFragment extends BaseFragment {
// String[] titles = {"两票系统", "会议管理", "用餐管理", "车辆管理", "办公领用", "工作任务", "日程查看", "考勤", "来访管理", "培训", "党建", "安防"};
// int[] imgIds = {R.drawable.icon_liangpiao, R.drawable.icon_meetting, R.drawable.icon_dinner_new, R.drawable.icon_vehicle_new, R.drawable.icon_office, R.drawable.icon_task, R.drawable.icon_date, R.drawable.icon_check, R.drawable.icon_px, R.drawable.icon_dj,R.drawable.icon_visit, R.drawable.icon1};
//
- String[] titles = {"两票系统", "SIS系统", "机组参数","巡检","点检","运行日志","kks码查询","应急预案","用车","用印"};
- int[] imgIds = {R.drawable.icon_liangpiao, R.drawable.icon_sis_new, R.drawable.icon_gcjd_new,R.drawable.xjgz,R.drawable.icon_dianjian,R.drawable.icon_runlog_home,R.drawable.icon_kks,R.drawable.icon_yjya,R.drawable.icon_use_car,R.drawable.icon_use_seal};
+ String[] titles = {"两票系统", "SIS系统", "机组参数","巡检","点检","运行日志","kks码查询","应急预案","用车","用印","BI"};
+ int[] imgIds = {R.drawable.icon_liangpiao, R.drawable.icon_sis_new, R.drawable.icon_gcjd_new,R.drawable.xjgz,R.drawable.icon_dianjian,R.drawable.icon_runlog_home,R.drawable.icon_kks,R.drawable.icon_yjya,R.drawable.icon_use_car,R.drawable.icon_use_seal,R.drawable.icon_bi};
@@ -375,6 +370,7 @@ public class HomeFragment extends BaseFragment {
HashMap param = new HashMap<>();
param.put("YHID",username);
+ //param.put("YHID","sysadmin");
String url = Contans.IP + Contans.GET_WAIT_FOR_TO_DO;
showLog(url);
@@ -395,9 +391,15 @@ public class HomeFragment extends BaseFragment {
if(waitForBean!=null){
if(!TextUtils.isEmpty(waitForBean.getTotal())){
tv_todo_count.setText(waitForBean.getTotal());
+ if(Integer.valueOf(waitForBean.getTotal()).intValue()==0){
+ tv_todo_count.setVisibility(View.GONE);
+ }else{
+ tv_todo_count.setVisibility(View.VISIBLE);
+ }
}
}else{
tv_todo_count.setText("0");
+ tv_todo_count.setVisibility(View.GONE);
}
}
@@ -407,5 +409,8 @@ public class HomeFragment extends BaseFragment {
}
});
}
-
+ //更新待办
+ public void updateWaitForToDo() {
+ getWaitForToDo();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java b/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java
index cb97621..ed153c1 100644
--- a/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java
+++ b/app/src/main/java/com/rehome/dywoa/ui/fragment/MineFragment.java
@@ -47,6 +47,7 @@ import com.luck.picture.lib.interfaces.OnResultCallbackListener;
import com.rehome.dywoa.App;
import com.rehome.dywoa.BuildConfig;
import com.rehome.dywoa.Contans;
+import com.rehome.dywoa.DBModel.DjjhRwQy;
import com.rehome.dywoa.Listener.GlideEngine;
import com.rehome.dywoa.R;
import com.rehome.dywoa.base.BaseLazyFragment;
@@ -72,6 +73,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Objects;
import cn.hutool.core.io.IoUtil;
@@ -227,7 +229,6 @@ public class MineFragment extends BaseLazyFragment {
clearImageDiskCache(getActivity());
loadImage();
- getWaitForToDo();
}
@Override
@@ -501,6 +502,7 @@ public class MineFragment extends BaseLazyFragment {
@Override
public void onResume() {
super.onResume();
+ getWaitForToDo();
}
@@ -797,6 +799,7 @@ public class MineFragment extends BaseLazyFragment {
HashMap param = new HashMap<>();
param.put("YHID",username);
+ //param.put("YHID","sysadmin");
String url = Contans.IP + Contans.GET_WAIT_FOR_TO_DO;
showLog(url);
@@ -820,7 +823,7 @@ public class MineFragment extends BaseLazyFragment {
if(Integer.valueOf(waitForBean.getTotal()).intValue()==0){
tv_count_to_do.setVisibility(View.GONE);
}else{
- tv_count_to_do.setVisibility(View.GONE);
+ tv_count_to_do.setVisibility(View.VISIBLE);
}
}else{
tv_count_to_do.setVisibility(View.GONE);
@@ -837,4 +840,8 @@ public class MineFragment extends BaseLazyFragment {
}
});
}
+ //更新待办
+ public void updateWaitForToDo() {
+ getWaitForToDo();
+ }
}
diff --git a/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java b/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java
index 71f1feb..c96604a 100644
--- a/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java
+++ b/app/src/main/java/com/rehome/dywoa/utils/DataPassUtils.java
@@ -10,7 +10,7 @@ public class DataPassUtils {
try {
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日");
- Date date = sdFormat.parse("2024年08月31日");
+ Date date = sdFormat.parse("2024年10月20日");
Calendar calendarOne = Calendar.getInstance();
calendarOne.setTime(date);
if (!Calendar.getInstance().after(calendarOne)) {
@@ -27,7 +27,7 @@ public class DataPassUtils {
try {
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日");
- Date date = sdFormat.parse("2024年08月31日");
+ Date date = sdFormat.parse("2024年10月20日");
Calendar calendarOne = Calendar.getInstance();
calendarOne.setTime(date);
if (!Calendar.getInstance().after(calendarOne)) {
@@ -43,7 +43,7 @@ public class DataPassUtils {
try {
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日");
- Date date = sdFormat.parse("2024年08月31日");
+ Date date = sdFormat.parse("2024年10月20日");
Calendar calendarOne = Calendar.getInstance();
calendarOne.setTime(date);
if (!Calendar.getInstance().after(calendarOne)) {
@@ -58,7 +58,7 @@ public class DataPassUtils {
try {
//格式化日期的对象(转化成习惯的时间格式)
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy年MM月dd日");
- Date date = sdFormat.parse("2024年08月31日");
+ Date date = sdFormat.parse("2024年10月20日");
Calendar calendarOne = Calendar.getInstance();
calendarOne.setTime(date);
if (!Calendar.getInstance().after(calendarOne)) {
diff --git a/app/src/main/java/com/rehome/dywoa/utils/RSAUtils.java b/app/src/main/java/com/rehome/dywoa/utils/RSAUtils.java
index 0d1cb48..c8afbc2 100644
--- a/app/src/main/java/com/rehome/dywoa/utils/RSAUtils.java
+++ b/app/src/main/java/com/rehome/dywoa/utils/RSAUtils.java
@@ -51,6 +51,7 @@ public class RSAUtils {
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";
public static final String private_key_mqtt = "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";
+ private static final String public_key_bi = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn/JBD57/oaucGUt8+hXwtIOfFWqYlHvPd1c4MFvTfp3M3ZZWTfc2MtyijKZn111/4wRVlHqvHhf4gjswDlzPKXOIsF4a9a0i6YyatYlaRa4c667UQSBJjR57xk9ExT1cMpmO1oMr3p1Pqbh1BPUdPYe6+QCraZ4hUnzE5NMPnzltdpN9MPsCjHOlhn6CAETCys6Kr1vtaxSfZQy2DfYVg8TJWr8wwIl/5HGiVWxETEfs5EFS5Qdb2dgplnoDw1mHrEr2RgJ1A8j2v2u5LMNglCyQFT4lEgMx1OiMaKNmdFj5/NP7c6XJwzoV6md7JI276FR/1F/xua0UneFKz/fRtwIDAQAB";
public static byte[] decryptBASE64(String key) throws Exception {
return Base64.decode(key, Base64.NO_WRAP);
@@ -149,6 +150,15 @@ public class RSAUtils {
return "";
}
+ public static String encryptBASE64BIStr(String text) {
+ try {
+ return encryptBASE64(encryptByPublicKey(text.getBytes( java.nio.charset.StandardCharsets.UTF_8), public_key_bi));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+
/**
* 解密
* 用私钥解密
diff --git a/app/src/main/res/drawable-xhdpi/icon_bi.png b/app/src/main/res/drawable-xhdpi/icon_bi.png
new file mode 100644
index 0000000..65464b7
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/icon_bi.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_bi.png b/app/src/main/res/drawable-xxhdpi/icon_bi.png
new file mode 100644
index 0000000..2da79b8
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_bi.png differ
diff --git a/app/src/main/res/drawable-xxxhdpi/icon_bi.png b/app/src/main/res/drawable-xxxhdpi/icon_bi.png
new file mode 100644
index 0000000..d8b57c0
Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/icon_bi.png differ
diff --git a/app/src/main/res/layout/activity_bi_show.xml b/app/src/main/res/layout/activity_bi_show.xml
new file mode 100644
index 0000000..1f076a9
--- /dev/null
+++ b/app/src/main/res/layout/activity_bi_show.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 40cd238..c058ac8 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -57,7 +57,7 @@
android:text="0"
android:layout_marginEnd="16dp"
android:textColor="#267AE4"
- android:visibility="gone"
+ android:visibility="visible"
android:textSize="20sp" />
diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml
index ba8833d..8d12ef4 100644
--- a/app/src/main/res/layout/fragment_mine.xml
+++ b/app/src/main/res/layout/fragment_mine.xml
@@ -118,7 +118,7 @@
android:gravity="center_vertical"
android:padding="2dp"
android:text=""
- android:visibility="gone"
+ android:visibility="visible"
android:textColor="#267AE4"
android:textSize="20sp" />