From 55dee9064e5f6c78ee3028f66a79f033601a0677 Mon Sep 17 00:00:00 2001 From: hwf453 Date: Sat, 13 Jul 2024 11:55:25 +0800 Subject: [PATCH] change passwrod add rsa --- .../main/java/com/rehome/zhdcoa/Contans.java | 1 + .../java/com/rehome/zhdcoa/bean/YzmBean.java | 10 + .../zhdcoa/ui/activity/LoginActivity.kt | 8 +- .../rehome/zhdcoa/ui/activity/WjmmActivity.kt | 154 +++++++++--- .../WjmmGetVerificationCodeActivity.kt | 238 ++++++++++++++---- 5 files changed, 328 insertions(+), 83 deletions(-) diff --git a/app/src/main/java/com/rehome/zhdcoa/Contans.java b/app/src/main/java/com/rehome/zhdcoa/Contans.java index 3270f81..93c3f97 100644 --- a/app/src/main/java/com/rehome/zhdcoa/Contans.java +++ b/app/src/main/java/com/rehome/zhdcoa/Contans.java @@ -194,6 +194,7 @@ public class Contans { public static String GETABOUTMELIST_URL = "PubFile/Data/aboutme/aboutdetail.ashx?manid="; public static String GETATTENDANCECHECK_URL = "PubFile/Data/RGKQ/GetDataZZCX.ashx?manid="; public static String GETCHECKUPDATAAPK_URL = "ApkUpdate/GetData.aspx"; + public static String GETYZMANDCHECKYZMANDMODIFYMIMA = "PubFile/Data/GetVerificationCode.ashx"; diff --git a/app/src/main/java/com/rehome/zhdcoa/bean/YzmBean.java b/app/src/main/java/com/rehome/zhdcoa/bean/YzmBean.java index 1d0b463..5ffc385 100644 --- a/app/src/main/java/com/rehome/zhdcoa/bean/YzmBean.java +++ b/app/src/main/java/com/rehome/zhdcoa/bean/YzmBean.java @@ -39,6 +39,8 @@ public class YzmBean { private String msg; private String UserID; + private String token; + public String getResult() { return result; } @@ -62,5 +64,13 @@ public class YzmBean { public void setUserID(String UserID) { this.UserID = UserID; } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } } } 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 c7f6d9e..29eaf6b 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 @@ -180,8 +180,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { if (BuildConfig.LOG_ERROR) { // 管理员 -// binding.etUsername.setText("ZHPS_Admin") -// binding.etPassword.setText("Rehome.zhps@996") + binding.etUsername.setText("ZHPS_Admin") + binding.etPassword.setText("Rehome.zhps@996") //马 // binding.etUsername.setText("310482") @@ -209,6 +209,10 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { // binding.etUsername.setText("zhengpeizhang") // binding.etPassword.setText("ZHps@2468") +// binding.etUsername.setText("310561") +// binding.etPassword.setText("Yangjing!0561") + + } diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmActivity.kt index 7cb02ef..56d8adc 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmActivity.kt @@ -1,15 +1,26 @@ package com.rehome.zhdcoa.ui.activity import android.app.AlertDialog +import android.content.Intent import android.text.Editable import android.text.TextUtils +import android.util.Log +import com.google.gson.Gson import com.rehome.zhdcoa.AppManager +import com.rehome.zhdcoa.Contans import com.rehome.zhdcoa.R import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding import com.rehome.zhdcoa.base.BaseCallBack import com.rehome.zhdcoa.bean.YzmBean import com.rehome.zhdcoa.databinding.ActivityWjmmBinding +import com.rehome.zhdcoa.utils.GsonUtils +import com.rehome.zhdcoa.utils.HttpListener import com.rehome.zhdcoa.utils.HttpUtils +import com.rehome.zhdcoa.utils.NohttpUtils +import com.rehome.zhdcoa.utils.RSAUtils +import com.rehome.zhdcoa.utils.UiUtlis +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod import okhttp3.FormBody import okhttp3.RequestBody import retrofit2.Call @@ -20,6 +31,9 @@ class WjmmActivity : BaseActivityOaToolbarViewBinding() { private lateinit var gh: String private lateinit var sjh: String + private lateinit var token: String + + override fun getViewBinding() = ActivityWjmmBinding.inflate(layoutInflater) @@ -34,56 +48,126 @@ class WjmmActivity : BaseActivityOaToolbarViewBinding() { postNewPwd() } } + token = "" gh = intent.getStringExtra("gh")!! sjh = intent.getStringExtra("sjh")!! + token = intent.getStringExtra("token")!! } override fun initData() { + // 13600341775 + + } + + fun getNewPwdParam(): String { + + val param= mutableMapOf() + param["userid"] = gh + param["type"] = "4" + param["telphone"] = sjh + param["newpassword"] = Objects.requireNonNull(binding.xmm.text).toString().trim() + param["token"] = token + + val json = Gson().toJson(param) + val jsonEncrypt = RSAUtils.encryptBASE64Str(json) + showLog(json); + return jsonEncrypt } private fun postNewPwd() { - val body: RequestBody = FormBody.Builder() - .add("userid", gh) - .add("telphone", sjh) - .add("type", "4") - .add( - "newpassword", - Objects.requireNonNull(binding.xmm.text).toString().trim() - ) - .build() - HttpUtils.getApi().postNewPassword(body).enqueue(object : BaseCallBack(context) { - - override fun onSuccess(call: Call?, response: Response?) { - val bean = response?.body() - if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "2") { - //密码修改成功 - val builder = AlertDialog.Builder(context) //先得到构造器 - builder.setTitle("提示") //设置标题 - builder.setMessage("密码修改成功") //设置内容 - builder.setIcon(R.mipmap.ic_launcher) //设置图标,图片id即可 - builder.setPositiveButton( - "确定" - ) { dialog, _ -> - //设置确定按钮 - dialog.dismiss() //关闭dialog - AppManager.getAppManager().finishActivity(WjmmGetVerificationCodeActivity::class.java) - finish() - } - //参数都设置完成了,创建并显示出来 - builder.create().show() - //finish(); + val json: String = getNewPwdParam() + val url = Contans.BASE_URL + Contans.GETYZMANDCHECKYZMANDMODIFYMIMA + val request = NoHttp.createStringRequest(url, RequestMethod.POST) + request.setDefineRequestBodyForJson(json) + showLog(url) + + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: com.yolanda.nohttp.rest.Response?) { + val jsonResult = response?.get() + + showLog("-----postNewPwd------") + showLog(jsonResult) + + val jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult) + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(context, R.string.data_error)) } else { - if (bean != null) { - showToast(bean.rows[0].msg) + val bean: YzmBean? = + GsonUtils.GsonToBean(jsonDecode, YzmBean::class.java) + showLog(jsonDecode); + if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "2") { + //密码修改成功 + val builder = AlertDialog.Builder(context) //先得到构造器 + builder.setTitle("提示") //设置标题 + builder.setMessage("密码修改成功") //设置内容 + builder.setIcon(R.mipmap.ic_launcher) //设置图标,图片id即可 + builder.setPositiveButton( + "确定" + ) { dialog, _ -> + //设置确定按钮 + dialog.dismiss() //关闭dialog + AppManager.getAppManager().finishActivity(WjmmGetVerificationCodeActivity::class.java) + finish() + } + //参数都设置完成了,创建并显示出来 + builder.create().show() + //finish(); + } else { + if (bean != null) { + showToast(bean.rows[0].msg) + } } } } - override fun onError(call: Call?, t: Throwable?) { - + override fun onFailed(what: Int, response: com.yolanda.nohttp.rest.Response?) { + Log.i("login", "onError") } - }) + }, true, true, "请稍候...") + + +// val body: RequestBody = FormBody.Builder() +// .add("userid", gh) +// .add("telphone", sjh) +// .add("type", "4") +// .add( +// "newpassword", +// Objects.requireNonNull(binding.xmm.text).toString().trim() +// ) +// .build() +// HttpUtils.getApi().postNewPassword(body).enqueue(object : BaseCallBack(context) { +// +// override fun onSuccess(call: Call?, response: Response?) { +// val bean = response?.body() +// if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "2") { +// //密码修改成功 +// val builder = AlertDialog.Builder(context) //先得到构造器 +// builder.setTitle("提示") //设置标题 +// builder.setMessage("密码修改成功") //设置内容 +// builder.setIcon(R.mipmap.ic_launcher) //设置图标,图片id即可 +// builder.setPositiveButton( +// "确定" +// ) { dialog, _ -> +// //设置确定按钮 +// dialog.dismiss() //关闭dialog +// AppManager.getAppManager().finishActivity(WjmmGetVerificationCodeActivity::class.java) +// finish() +// } +// //参数都设置完成了,创建并显示出来 +// builder.create().show() +// //finish(); +// } else { +// if (bean != null) { +// showToast(bean.rows[0].msg) +// } +// } +// } +// +// override fun onError(call: Call?, t: Throwable?) { +// +// } +// }) } } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmGetVerificationCodeActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmGetVerificationCodeActivity.kt index 1dba7b8..d95a4c5 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmGetVerificationCodeActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/WjmmGetVerificationCodeActivity.kt @@ -1,14 +1,34 @@ package com.rehome.zhdcoa.ui.activity import android.content.Intent +import android.os.Build +import android.provider.Settings import android.text.Editable import android.text.TextUtils +import android.util.Log import android.view.View +import android.widget.Toast +import com.google.gson.Gson +import com.rehome.zhdcoa.App +import com.rehome.zhdcoa.Contans +import com.rehome.zhdcoa.R import com.rehome.zhdcoa.base.BaseActivityOaToolbarViewBinding import com.rehome.zhdcoa.base.BaseCallBack +import com.rehome.zhdcoa.bean.LoginCommitBean +import com.rehome.zhdcoa.bean.UserInfoBean import com.rehome.zhdcoa.bean.YzmBean import com.rehome.zhdcoa.databinding.ActivityWjmmGetVerificationCodeBinding +import com.rehome.zhdcoa.ui.toastview.toastviewbymyself +import com.rehome.zhdcoa.utils.GsonUtils +import com.rehome.zhdcoa.utils.HttpListener import com.rehome.zhdcoa.utils.HttpUtils +import com.rehome.zhdcoa.utils.NohttpUtils +import com.rehome.zhdcoa.utils.RSAUtils +import com.rehome.zhdcoa.utils.SPUtils +import com.rehome.zhdcoa.utils.UiUtlis +import com.xiaomi.mipush.sdk.MiPushClient +import com.yolanda.nohttp.NoHttp +import com.yolanda.nohttp.RequestMethod import okhttp3.FormBody import okhttp3.RequestBody import retrofit2.Call @@ -17,6 +37,9 @@ import java.util.* class WjmmGetVerificationCodeActivity : BaseActivityOaToolbarViewBinding() { + + private var token: String = "" + override fun getViewBinding() = ActivityWjmmGetVerificationCodeBinding.inflate(layoutInflater) override fun getToolbar() = binding.toolbarView.toolbar @@ -61,63 +84,124 @@ class WjmmGetVerificationCodeActivity : checkVerificationCode() } }) + + binding.txGh.setText("ZHPS_Admin") + binding.sjh.setText("13600341775") } private fun getYzm() { - val body: RequestBody = FormBody.Builder() - .add( - "userid", - Objects.requireNonNull(binding.txGh.text).toString().trim() - ) - .add( - "telphone", - Objects.requireNonNull(binding.sjh.text).toString().trim() - ) - .add("type", "1") - .build() - HttpUtils.getApi().postYzm(body).enqueue(object : BaseCallBack(context) { - override fun onSuccess(call: Call?, response: Response?) { - val bean = response?.body() - if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "1") { - showToast(bean.rows[0].msg) - binding.yzm.visibility = View.VISIBLE - binding.verificationCodeLine.visibility = View.VISIBLE - binding.buttonNext.visibility = View.VISIBLE +// val body: RequestBody = FormBody.Builder() +// .add( +// "userid", +// Objects.requireNonNull(binding.txGh.text).toString().trim() +// ) +// .add( +// "telphone", +// Objects.requireNonNull(binding.sjh.text).toString().trim() +// ) +// .add("type", "1") +// .build() + val json: String = getYzmParam() + + val url = Contans.BASE_URL + Contans.GETYZMANDCHECKYZMANDMODIFYMIMA + val request = NoHttp.createStringRequest(url, RequestMethod.POST) + request.setDefineRequestBodyForJson(json) + showLog(url) + + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: com.yolanda.nohttp.rest.Response?) { + val jsonResult = response?.get() + + showLog("-----getYzm------") + showLog(jsonResult) + + val jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult) + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(context, R.string.data_error)) } else { - if (bean != null) { + val bean: YzmBean? = + GsonUtils.GsonToBean(jsonDecode, YzmBean::class.java) + showLog(jsonDecode); + if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "1") { showToast(bean.rows[0].msg) + binding.yzm.visibility = View.VISIBLE + binding.verificationCodeLine.visibility = View.VISIBLE + binding.buttonNext.visibility = View.VISIBLE + if(bean.rows[0].token!=null){ + token = bean.rows[0].token + } + } else { + if (bean != null) { + showToast(bean.rows[0].msg) + } } } } - override fun onError(call: Call?, t: Throwable?) { - + override fun onFailed(what: Int, response: com.yolanda.nohttp.rest.Response?) { + Log.i("login", "onError") } - }) + }, true, true, "请稍候...") + +// HttpUtils.getApi().postYzm(body).enqueue(object : BaseCallBack(context) { +// override fun onSuccess(call: Call?, response: Response?) { +// val bean = response?.body() +// if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "1") { +// showToast(bean.rows[0].msg) +// binding.yzm.visibility = View.VISIBLE +// binding.verificationCodeLine.visibility = View.VISIBLE +// binding.buttonNext.visibility = View.VISIBLE +// } else { +// if (bean != null) { +// showToast(bean.rows[0].msg) +// } +// } +// } +// +// override fun onError(call: Call?, t: Throwable?) { +// +// } +// }) } //调用接口检查输入的验证码是否正确 private fun checkVerificationCode() { - val body: RequestBody = FormBody.Builder() - .add( - "userid", - Objects.requireNonNull(binding.txGh.text).toString().trim() - ) - .add( - "telphone", - Objects.requireNonNull(binding.sjh.text).toString().trim() - ) - .add("type", "3") - .add( - "verificationcode", - Objects.requireNonNull(binding.yzm.text).toString().trim() - ) - .build() - HttpUtils.getApi().postCheckVerificationCode(body) - .enqueue(object : BaseCallBack(context) { - - override fun onSuccess(call: Call?, response: Response?) { - val bean = response?.body() +// val body: RequestBody = FormBody.Builder() +// .add( +// "userid", +// Objects.requireNonNull(binding.txGh.text).toString().trim() +// ) +// .add( +// "telphone", +// Objects.requireNonNull(binding.sjh.text).toString().trim() +// ) +// .add("type", "3") +// .add( +// "verificationcode", +// Objects.requireNonNull(binding.yzm.text).toString().trim() +// ) +// .build() + + val json: String = getCheckYzmParam() + val url = Contans.BASE_URL + Contans.GETYZMANDCHECKYZMANDMODIFYMIMA + val request = NoHttp.createStringRequest(url, RequestMethod.POST) + request.setDefineRequestBodyForJson(json) + showLog(url) + + NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { + override fun onSucceed(what: Int, response: com.yolanda.nohttp.rest.Response?) { + val jsonResult = response?.get() + + showLog("-----CheckYzm------") + showLog(jsonResult) + + val jsonDecode = RSAUtils.decryptBASE64StrClient(jsonResult) + if (TextUtils.isEmpty(jsonDecode)) { + showToast(UiUtlis.getString(context, R.string.data_error)) + } else { + val bean: YzmBean? = + GsonUtils.GsonToBean(jsonDecode, YzmBean::class.java) + showLog(jsonDecode); if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "2") { //验证码正确 val intent = Intent( @@ -126,6 +210,11 @@ class WjmmGetVerificationCodeActivity : ) intent.putExtra("gh", binding.txGh.text.toString().trim()) intent.putExtra("sjh", binding.sjh.text.toString().trim()) + if(TextUtils.isEmpty(token)){ + intent.putExtra("token", "") + }else{ + intent.putExtra("token", token) + } startActivity(intent) } else { if (bean != null) { @@ -133,10 +222,67 @@ class WjmmGetVerificationCodeActivity : } } } + } - override fun onError(call: Call?, t: Throwable?) { + override fun onFailed(what: Int, response: com.yolanda.nohttp.rest.Response?) { + Log.i("login", "onError") + } + }, true, true, "请稍候...") - } - }) +// HttpUtils.getApi().postCheckVerificationCode(body) +// .enqueue(object : BaseCallBack(context) { +// +// override fun onSuccess(call: Call?, response: Response?) { +// val bean = response?.body() +// if (bean != null && bean.rows != null && bean.rows.size > 0 && bean.rows[0].result == "2") { +// //验证码正确 +// val intent = Intent( +// context, +// WjmmActivity::class.java +// ) +// intent.putExtra("gh", binding.txGh.text.toString().trim()) +// intent.putExtra("sjh", binding.sjh.text.toString().trim()) +// startActivity(intent) +// } else { +// if (bean != null) { +// showToast(bean.rows[0].msg) +// } +// } +// } +// +// override fun onError(call: Call?, t: Throwable?) { +// +// } +// }) + } + + fun getYzmParam(): String { + + val param= mutableMapOf() + param["userid"] = Objects.requireNonNull(binding.txGh.text).toString().trim() + param["type"] = "1" + param["telphone"] = Objects.requireNonNull(binding.sjh.text).toString().trim() + + val json = Gson().toJson(param) + val jsonEncrypt = RSAUtils.encryptBASE64Str(json) + showLog(json); + showLog(jsonEncrypt) + return jsonEncrypt + } + + fun getCheckYzmParam(): String { + + val param= mutableMapOf() + param["userid"] = Objects.requireNonNull(binding.txGh.text).toString().trim() + param["type"] = "3" + param["telphone"] = Objects.requireNonNull(binding.sjh.text).toString().trim() + param["verificationcode"] = Objects.requireNonNull(binding.yzm.text).toString().trim() + param["token"] = token + + val json = Gson().toJson(param) + val jsonEncrypt = RSAUtils.encryptBASE64Str(json) + showLog(json); + return jsonEncrypt } + } \ No newline at end of file