diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 95e0b63..e6b4490 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,12 +82,7 @@ tools:replace="android:allowBackup" tools:targetApi="s"> - - + + + + @@ -1214,6 +1218,7 @@ android:name=".ui.activity.WeatherHistoryActivity" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize|stateHidden" /> + diff --git a/app/src/main/java/com/rehome/zhdcoa/Contans.java b/app/src/main/java/com/rehome/zhdcoa/Contans.java index 9015f1a..61ed65d 100644 --- a/app/src/main/java/com/rehome/zhdcoa/Contans.java +++ b/app/src/main/java/com/rehome/zhdcoa/Contans.java @@ -197,6 +197,8 @@ public class Contans { //登录接口用户名和密码字段加密 public static final String LOGIN_USERNAME_AND_PWD_PUBLICKEY_ENCODE = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkJxhKMH+nwCSpqW+T67HnYblA3/ZvFslbwUB8YE+uojGouMCaeEnlyANebvIB+r6kpc2r6xSq1wEbV7MCk2cE2CK4/IK1OvR9aMSxnQHK9eekc7X2kueLjfuScXTy/QJpFPuTDDtMnwmqsXKBizAXcldSRJ9BdEyKklXAN3PH/7tym4tne26SuK/5Mjtw6AE8oNZFYrVknKYau4y2oEQbMo4kBuYokv4qrNmxbSM22Pu/Mw4M65S8sLKgHd+DwTVAYjilzXSoruG1gyqnY61YJuBPvvevEsp6TZ6fb5NKsVeRfprQ5TuoAtF+gIoEy0m0sKes4h+OoFsF7Wp0C1ESwIDAQAB"; + public static final String DeviceAlermInfoAccount = "admin_07"; + public static final String DeviceAlermInfoPwd = "oDyNHQnrq2l0IXEMtJFceUwRMx8p7s9ddK//iGjzVUVpgT8LKx7tCSRiOILDJ5yFFytmkHpAUg4S0Mv1urg7ELoDuOn8y+Ked8oo0BZY3c6T7/JPwlL+83lD8R76Q6xtJetM409AiBafF15oe3C54diJsIgbtPov2CvHV/34d8TvvzZY63vb+lAWcYBiK9O/q2lzEPmOw+3RGzbhsTLsAOS84Og45Jyutph6yOjs09PkmP1MnZ8iRse01iTmXY3DETwdkO7IbgO2QfpO2Lt9uAknKTf0fNNN7GPDSW8v+ajQRS29YdNWHYM/zB73UXCSienlO7cZXqCkfmuW+iJtnA=="; } /* @@ -525,6 +527,8 @@ public class Contans { public static String PRINTIP_YIHAOCHANGKU = "10.19.110.220";//1号仓库是打印机的IP public static String PRINTIP_BIANXIE = "10.19.110.24";//便携打印机的IP + //设备状态智能监测及分析平台 登录 + public final static String DeviceAlermInfoLoginUrl = "dserver/user/loginRsa"; //人员组织结构模块 用户验证接口token public final static String AUTHENTICATIONLOGINTOKEN = "AUTHENTICATIONLOGINTOKEN"; //人员组织结构模块 下次登录时间 diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceAlarmInfofoActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceAlarmInfofoActivity.kt new file mode 100644 index 0000000..8647660 --- /dev/null +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceAlarmInfofoActivity.kt @@ -0,0 +1,252 @@ +package com.rehome.zhdcoa.ui.activity + + + +import android.content.Intent +import android.text.TextUtils +import android.view.View +import android.widget.TextView +import androidx.activity.result.ActivityResultLauncher +import androidx.activity.result.contract.ActivityResultContracts +import com.rehome.zhdcoa.Contans +import com.rehome.zhdcoa.R +import com.rehome.zhdcoa.adapter.WorkRiskLevelListAdapter +import com.rehome.zhdcoa.base.BaseActivityOaToolbarTwoViewBinding +import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding +import com.rehome.zhdcoa.bean.WorkRiskLevelListBean +import com.rehome.zhdcoa.completionUtil.ReplaceSpan +import com.rehome.zhdcoa.completionUtil.ReplaceSpan.OnClickListener +import com.rehome.zhdcoa.databinding.ActivityDeviceAlarmInfofoBinding +import com.rehome.zhdcoa.databinding.ActivityWorkRiskListBinding +import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils +import com.rehome.zhdcoa.utils.GsonUtils +import com.rehome.zhdcoa.utils.HttpListener +import com.rehome.zhdcoa.utils.NohttpUtils +import com.rehome.zhdcoa.utils.RSAAndroid +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod +import com.yolanda.nohttp.rest.Response +import java.text.SimpleDateFormat +import java.util.Calendar +import javax.net.ssl.HostnameVerifier + +/** + * Create By HuangWenFei + * 创建日期:2024-04-02 14:34 + * 描述:每日作业风险清单 + */ +class DeviceAlarmInfofoActivity : BaseActivityOaToolbarViewBinding() { + + private lateinit var headView: View + + private var datas: MutableList = mutableListOf() + private lateinit var mAdapter: WorkRiskLevelListAdapter + + private var selectList: MutableList = mutableListOf() + private var jobNoList: MutableList = mutableListOf() + + private var selectListAssistant: MutableList = mutableListOf() + private var jobNoListAssistant: MutableList = mutableListOf() + + private var selectListCustom: MutableList = mutableListOf() + private var jobNoListCustom: MutableList = mutableListOf() + + private var dataA: MutableList = mutableListOf() + private var dataB: MutableList = mutableListOf() + private var dataC1: MutableList = mutableListOf() + private var dataC2: MutableList = mutableListOf() + private var dataC3: MutableList = mutableListOf() + private var dataLowRisk: MutableList = mutableListOf() + private var isNetworkNormal = false + + private lateinit var launcherResultQRCode: ActivityResultLauncher + + override fun getViewBinding() = ActivityDeviceAlarmInfofoBinding.inflate(layoutInflater) + + override fun getToolbar() = binding.toolbarView.toolbar + + override fun initView() { + + initToolbar("设备预警信息", "",{ + + }) + + launcherResultQRCode = createQRCodeActivityResultLauncher() + + binding.lv.emptyView = binding.tvNodata + headView = View.inflate(this, R.layout.item_work_risk_list, null) + + mAdapter = WorkRiskLevelListAdapter(this,datas, + { position -> + val item = datas[position] + if(item.hazardList!=null&&item.hazardList.size>0){ + //进入风险提示页面 + val intent = Intent(context, WorkRiskListTipActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("hazardList", GsonUtils.GsonString(item.hazardList)) + startActivity(intent) + } + }, + { position -> + val item = datas[position] + if(item.hazardList!=null&&item.hazardList.size>0){ + //进入修改风险等级 + val intent = Intent(context, CustomDialogChangeLevelActivity::class.java) + intent.putExtra("id",item.id) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("level", item.level) + intent.putExtra("type", item.type) + launcherResultQRCode.launch(intent) + } + }, + { position -> + val item = datas[position] + showLog("---------") + showLog(GsonUtils.GsonString(item)) + //工作情况汇报 + val intent = Intent(context, WorkRiskListHuiBaoActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("level",item.level) + intent.putExtra("type",item.type) + intent.putExtra("id",item.id) + startActivity(intent) + } + ) + //binding.lv.addHeaderView(headView, null, false) + binding.lv.adapter = mAdapter + + //格式化日期的对象(转化成习惯的时间格式) + val sdFormat = SimpleDateFormat("yyyy.MM.dd") + //静态方法getInstance()使用默认时区和语言环境获得一个日历。 + val calendar = Calendar.getInstance() + } + + override fun initData() { + authenticationLoginDeviceAlermInfo() + } + + override fun onRestart() { + super.onRestart() + authenticationLoginDeviceAlermInfo() + } + + //创建一个ActivityResultLauncher + private fun createQRCodeActivityResultLauncher(): ActivityResultLauncher { + //kotlin写法 + return registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + val data = it.data + val resultCode = it.resultCode + if (resultCode == RESULT_OK) { + if (data != null) { + val qrCodeStr = data.getStringExtra("code") ?: "" + showLog(qrCodeStr) + if(!TextUtils.isEmpty(qrCodeStr)){ + //刷新列表数据 + authenticationLoginDeviceAlermInfo() + } + } + } + } + } + + private fun authenticationLoginDeviceAlermInfo() { + try { + //AI三维登录接口 + val userName = Contans.SP.DeviceAlermInfoAccount + val strPrivateEncode = RSAAndroid.encryptByPrivateKeyForSpiltStr(Contans.SP.DeviceAlermInfoPwd,RSAAndroid.privateRsaKeyLocal) + val strPublicDecode = RSAAndroid.decryptByPublicKeyForSpiltStr( + Contans.SP.DeviceAlermInfoPwd, + RSAAndroid.publicRsaKeyLocal + ) + showLog(userName) + showLog(strPublicDecode) + AuthenticationLoginAIUtils.authenticationDeviceAlermInfoShowProgress( + this, userName, strPublicDecode + ) { _, token -> + if (token != null && token == "") { + showToast("设备状态智能监测及分析平台登录失败") + isNetworkNormal = false + } else { + //getWorkRiskListData() + //登录成功 + } + } + } catch (e: Exception) { + e.printStackTrace() + } + } + + private fun getWorkRiskListData() { + val request = NoHttp.createStringRequest( + Contans.BASE_URL_AI_3D_SERVER + Contans.DAYLY_RISK_LIST_NEW, + RequestMethod.GET + ) + + request.add("filter",true); + + if (Contans.BASE_URL_AI_3D_SERVER == Contans.BASE_URL_AI_3D_SERVER_EXTRANET) { + val socketFactory = NohttpUtils.getSSLSocketFactory(context) + if (socketFactory != null) { + request.sslSocketFactory = socketFactory + request.hostnameVerifier = HostnameVerifier { _, _ -> true } + } + } + + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + + override fun onSucceed(what: Int, response: Response?) { + val result = response?.get() + showLog("----------------") + showLog(result) + val bean = GsonUtils.GsonToBean( + result, + WorkRiskLevelListBean::class.java + ) + if (bean != null && bean.data != null) { + isNetworkNormal = true + val workRiskLevelLists = bean.data + if (workRiskLevelLists != null && workRiskLevelLists.size > 0) { + binding.tvNodata.visibility = View.GONE + headView.visibility = View.VISIBLE + datas.clear() + datas.addAll(workRiskLevelLists) + mAdapter.notifyDataSetChanged() + + dataA.clear() + dataB.clear() + dataC1.clear() + dataC2.clear() + dataC3.clear() + dataLowRisk.clear() + + + selectList.clear() + jobNoList.clear() + + selectListAssistant.clear() + jobNoListAssistant.clear() + + selectListCustom.clear() + jobNoListCustom.clear() + } else { + binding.tvNodata.visibility = View.VISIBLE + } + }else{ + isNetworkNormal = false + } + } + + override fun onFailed(what: Int, response: Response?) { + isNetworkNormal = false + } + }) + } + + private fun toWorkRiskListHuiBaoActivity(type:String){ + //工作情况汇报 + val intent = Intent(context, WorkRiskListHuiBaoActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + intent.putExtra("type",type) + startActivity(intent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt index 0fd11dc..8f4cbce 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt @@ -228,8 +228,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { if (isApkInDebug(context)) { // 管理员 -// binding.etUsername.setText("ZHPS_Admin") -// binding.etPassword.setText("Rehome.zhps@996") + binding.etUsername.setText("ZHPS_Admin") + binding.etPassword.setText("Rehome.zhps@996") //公司内网215管理员 diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpScActivity.java b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpScActivity.java index 589d1e8..2544238 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpScActivity.java +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpScActivity.java @@ -119,6 +119,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -769,6 +771,7 @@ public class WztpScActivity extends BaseActivity2 { private void uploadWZTP(String stEndName) { Wztpscinfo.Wztp wztp = wztps.get(0); File wztpuploadfile = new File(path + "/" + stEndName); + showLog(wztpuploadfile.getPath()); //showToast("filesize:" + String.valueOf(wztpuploadfile.length())); RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), wztpuploadfile); MultipartBody.Part body = MultipartBody.Part.createFormData("fileps", wztpuploadfile.getName(), requestFile); @@ -808,6 +811,7 @@ public class WztpScActivity extends BaseActivity2 { private void uploadWZTPFJT(String fjtEndName) { Wztpscinfo.Wztp wztp = wztps.get(0); File wztpuploadfile = new File(path + "/" + fjtEndName); + showLog(wztpuploadfile.getPath()); //showToast("filesize:" + String.valueOf(wztpuploadfile.length())); RequestBody requestFile = RequestBody.create(MediaType.parse("image/*"), wztpuploadfile); MultipartBody.Part body = MultipartBody.Part.createFormData("fileps", wztpuploadfile.getName(), requestFile); @@ -856,14 +860,21 @@ public class WztpScActivity extends BaseActivity2 { Log.i("app", wztp.getItemnum() + "." + extensionName); Log.i("app", String.valueOf(duration)); + String itemNumTemp = wztp.getItemnum(); + if(!TextUtils.isEmpty(itemNumTemp) && itemNumTemp.contains("/")){ + itemNumTemp.replace("/","-"); + } + showLog("---------itemNumTemp-------"); + showLog(itemNumTemp); + HttpUtils.getYXApi(this).uploadwztpBody( wztp.getItemnum(), wztp.getItemid(), username, "3", - wztp.getItemnum() + "." + extensionName, + itemNumTemp + "." + extensionName, duration, - wztp.getItemnum() + ".jpg", + itemNumTemp + ".jpg", body).enqueue(new BaseCallBack(context) { @Override public void onSuccess(Call call, retrofit2.Response response) { @@ -893,7 +904,11 @@ public class WztpScActivity extends BaseActivity2 { private void compressVideo() { Wztpscinfo.Wztp wztp = wztps.get(0); String extensionName = FileUtils.getFileType(videoFileName); - videoCompressFilePath = context.getExternalFilesDir(null).getPath() + "/Movies/" + wztp.getItemnum() + "_compress_video." + extensionName; + String itemNumTemp = wztp.getItemnum(); + if(!TextUtils.isEmpty(itemNumTemp) && itemNumTemp.contains("/")){ + itemNumTemp = itemNumTemp.replace("/","_"); + } + videoCompressFilePath = context.getExternalFilesDir(null).getPath() + "/Movies/" + itemNumTemp + "_compress_video." + extensionName; VideoCompress.compressVideoLow(videoFilePath, videoCompressFilePath, new VideoCompress.CompressListener() { @Override public void onStart() { @@ -931,14 +946,32 @@ public class WztpScActivity extends BaseActivity2 { Log.i("app", wztp.getItemnum() + "." + extensionName); Log.i("app", String.valueOf(duration)); - String url = Contans.IP + Contans.YDCK_WZ_UPLOAD_VIDEO_URL + "?itemnum=" + wztp.getItemnum() + "&itemid=" + wztp.getItemid() + "&operid=" + username - + "&type=3" + "&fname=" + wztp.getItemnum() + "." + extensionName + "&videoleng=" + duration + "&videosltname=" + wztp.getItemnum() + "_video.jpg"; + String itemNumTemp = wztp.getItemnum(); + if(!TextUtils.isEmpty(itemNumTemp) && itemNumTemp.contains("/")){ + itemNumTemp = itemNumTemp.replace("/","_"); + } + + showLog(itemNumTemp); + showLog(wztp.getItemnum()); + + String itemNumEncode = wztp.getItemnum(); + try { + if(!TextUtils.isEmpty(itemNumEncode) && itemNumEncode.contains("/")){ + itemNumEncode = URLEncoder.encode(itemNumEncode, "UTF-8");; + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + String url = Contans.IP + Contans.YDCK_WZ_UPLOAD_VIDEO_URL + "?itemnum=" + itemNumEncode + "&itemid=" + wztp.getItemid() + "&operid=" + username + + "&type=3" + "&fname=" + itemNumTemp + "." + extensionName + "&videoleng=" + duration + "&videosltname=" + itemNumTemp + "_video.jpg"; + Log.i("app", url); try { Bitmap bitmapVideo = VideoImageUtil.createVideoThumbnail(videoFilePath, MediaStore.Images.Thumbnails.MINI_KIND); - videoStFilePath = context.getExternalFilesDir(null).getPath() + "/Movies/" + wztp.getItemnum() + "_video.jpg"; + videoStFilePath = context.getExternalFilesDir(null).getPath() + "/Movies/" + itemNumTemp + "_video.jpg"; VideoImageUtil.saveImage(videoStFilePath, bitmapVideo); } catch (Exception e) { e.printStackTrace(); @@ -1334,6 +1367,13 @@ public class WztpScActivity extends BaseActivity2 { private void cropFromTake(String name, int flag) throws IOException { String applicationId = App.getApplicationId(context); stFileName = name + ".jpg"; + showLog("-------before------"); + showLog(stFileName); + if(!TextUtils.isEmpty(name) && name.contains("/")){ + stFileName = stFileName.replace("/","_"); + } + showLog("-------after------"); + showLog(stFileName); this.deleteFileIfNeed(path, stFileName); File fos = this.createFileIfNeed(path, stFileName); Uri uri = FileProvider.getUriForFile(context, applicationId + ".fileprovider", fos); @@ -1355,6 +1395,9 @@ public class WztpScActivity extends BaseActivity2 { String applicationId = App.getApplicationId(context); fjtFileName = name + ".jpg"; + if(!TextUtils.isEmpty(name) && name.contains("/")){ + fjtFileName = fjtFileName.replace("/","_"); + } this.deleteFileIfNeed(path, fjtFileName); File fos = this.createFileIfNeed(path, fjtFileName); Uri uri = FileProvider.getUriForFile(context, applicationId + ".fileprovider", fos); @@ -1412,6 +1455,9 @@ public class WztpScActivity extends BaseActivity2 { private void choosePhoto(int flag) { stFileName = UiUtlis.getText(etHgtm) + ".jpg"; + if(!TextUtils.isEmpty(stFileName) && stFileName.contains("/")){ + stFileName = stFileName.replace("/","_"); + } this.deleteFileIfNeed(path, stFileName); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { Intent fjtxc = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); @@ -1434,6 +1480,9 @@ public class WztpScActivity extends BaseActivity2 { private void choosePhotoFjt(int flag) { fjtFileName = UiUtlis.getText(etHgtm) + "FJT" + ".jpg"; + if(!TextUtils.isEmpty(fjtFileName) && fjtFileName.contains("/")){ + fjtFileName = fjtFileName.replace("/","_"); + } this.deleteFileIfNeed(path, fjtFileName); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) { Intent fjtxc = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpblScDetailActivity.java b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpblScDetailActivity.java index 0fb4126..ad96f2b 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpblScDetailActivity.java +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WztpblScDetailActivity.java @@ -131,6 +131,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -862,7 +864,12 @@ public class WztpblScDetailActivity extends BaseActivityOaToolbarViewBinding() startActivity(intent) } + 9 -> { + intent = Intent(activity, DeviceAlarmInfofoActivity::class.java) + startActivity(intent) + } + else -> {} } } @@ -278,6 +284,7 @@ class YunXingFragment : BaseViewBindingKotlinFragment() item_yx.add(0) item_yx.add(5) item_yx.add(8) + item_yx.add(9) } "AppMobileHouse" -> item_yx.add(1) @@ -292,7 +299,10 @@ class YunXingFragment : BaseViewBindingKotlinFragment() "AppMeterReading" -> item_yx.add(6) "AppXSCB" -> item_yx.add(6) "AppDQGZ" -> item_yx.add(7) - else -> item_yx.add(8) + else -> { + item_yx.add(8) + item_yx.add(9) + } } } } diff --git a/app/src/main/java/com/rehome/zhdcoa/utils/AuthenticationLoginAIUtils.java b/app/src/main/java/com/rehome/zhdcoa/utils/AuthenticationLoginAIUtils.java index 69672b2..969cf69 100644 --- a/app/src/main/java/com/rehome/zhdcoa/utils/AuthenticationLoginAIUtils.java +++ b/app/src/main/java/com/rehome/zhdcoa/utils/AuthenticationLoginAIUtils.java @@ -254,6 +254,86 @@ public class AuthenticationLoginAIUtils { }); } + public static void authenticationDeviceAlermInfoShowProgress(Activity mActivity, String account, String password, OnAuthenticationLoginListener listener) { + + Request request = NoHttp.createStringRequest(Contans.IP + Contans.DeviceAlermInfoLoginUrl, RequestMethod.POST); + + Map params = new HashMap<>(); + params.put("username", account); + params.put("password", password); + + String json = GsonUtils.GsonString(params); + //showLog(json); + String jsonEncrypt = RSAUtils.encryptBASE64Str(json); + //showLog(jsonEncrypt); + request.setDefineRequestBodyForJson(jsonEncrypt); + + if (Contans.IP.equals(Contans.IP_EXTRANET)) { + SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(mActivity); + if (socketFactory != null) { + request.setSSLSocketFactory(socketFactory); + request.setHostnameVerifier(new HostnameVerifier() { + @Override + public boolean verify(String s, SSLSession sslSession) { + return true; + } + }); + } + } + + NohttpUtils.getInstance().add(mActivity, 0, request, new HttpListener() { + + @Override + public void onSucceed(int what, Response response) { + + showLog("----------------",mActivity); + String result = response.get(); + showLog(result,mActivity); + + if(!TextUtils.isEmpty(result)){ + UserAuthenticationAIBean bean = GsonToBean(result, UserAuthenticationAIBean.class); + if (bean != null) { + if (bean.isSuccess()&&bean.getCode()==20000) {//登录成功 + SPUtils.put(mActivity, Contans.AUTHENTICATIONLOGINTOKENAI, bean.getData().getToken()); + listener.onAuthenticationSuccess(true, bean.getData().getToken()); + } else { + if (bean.getFlag() == -1) { + if (bean.getMsg() != null && bean.getMsg().equals("用户未注销")) { + String token = (String) SPUtils.get(mActivity, Contans.AUTHENTICATIONLOGINTOKENAI, String.valueOf("")); + listener.onAuthenticationSuccess(true, token); + } + } else { + listener.onAuthenticationSuccess(false, ""); + if (bean.getFlag() == -2) { + showLog("没有传参",mActivity); + } + if (bean.getFlag() == -3) { + showLog("服务器解密失败",mActivity); + } + if (bean.getFlag() == -4) { + showLog("Json 格式不正确",mActivity); + } + if (bean.getFlag() == -5) { + showLog("账号密码不能为空",mActivity); + } + if (bean.getFlag() == -6) { + showLog("账号或密码错误",mActivity); + } + } + } + } + } + } + + @Override + public void onFailed(int what, Response response) { + showLog("onFailed",mActivity); + listener.onAuthenticationSuccess(false, ""); + } + }); + } + + public static void showLog(String logText,Context context) { if (isApkInDebug(context)) { if (TextUtils.isEmpty(logText)) { diff --git a/app/src/main/res/layout/activity_device_alarm_infofo.xml b/app/src/main/res/layout/activity_device_alarm_infofo.xml new file mode 100644 index 0000000..c4ea359 --- /dev/null +++ b/app/src/main/res/layout/activity_device_alarm_infofo.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + \ No newline at end of file