From d3c725ac57daeb17722ad432b3cab82d56bd43c2 Mon Sep 17 00:00:00 2001 From: md Date: Wed, 30 Jun 2021 18:28:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E8=83=BD=E5=8A=9B=E6=B5=8B=E8=AF=84?= =?UTF-8?q?=E7=9A=84=E5=B8=83=E5=B1=80=E4=B8=8A=E4=BC=98=E5=8C=96=E5=92=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=9E=E5=90=8D=E8=AE=A4=E8=AF=81=E7=9A=84?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E8=B5=8B=E5=80=BC=E7=BB=91=E5=AE=9A=E9=93=B6?= =?UTF-8?q?=E8=A1=8C=E5=8D=A1=E5=92=8C=E7=94=A8=E6=88=B7=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../outdoor/activity/UserActivity.java | 70 +++++++++---------- .../adapter/CapacityMeasureAdapter.java | 4 +- .../com/navinfo/outdoor/api/Constant.java | 3 + .../outdoor/fragment/GatheringFragment.java | 25 +++++-- .../fragment/UserAttestationFragment.java | 29 ++++++-- app/src/main/res/layout/activity_user.xml | 5 +- .../res/layout/capacity_measure_option.xml | 2 + app/src/main/res/layout/measure_item.xml | 1 + 9 files changed, 93 insertions(+), 48 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ddad9ff..e1e1655 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion '29.0.2' - // ndkVersion '23.0.7123448' + ndkVersion '23.0.7123448' defaultConfig { applicationId "com.navinfo.outdoor" diff --git a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java index 8354ee2..2ce630f 100644 --- a/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java +++ b/app/src/main/java/com/navinfo/outdoor/activity/UserActivity.java @@ -33,7 +33,9 @@ import com.navinfo.outdoor.http.DialogCallback; import com.navinfo.outdoor.http.HttpInterface; import com.navinfo.outdoor.util.GetJsonDataUtil; import com.navinfo.outdoor.util.RegexUtil; + import org.json.JSONArray; + import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; @@ -51,10 +53,14 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { private ImageView ivUser; private TextView region; private EditText etPhone, etQq, etMailbox; - public static Pattern compile = Pattern.compile("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$/"); + // public static Pattern compile = Pattern.compile("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$/"); private Button userSave; private LinearLayout llRegion; private String userqq; + private String userphone; + private String usermailbox; + + @Override protected int getLayout() { @@ -111,29 +117,32 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { showPickerView(); break; case R.id.edit_qq: - qq(); + // qq(); break; case R.id.edit_mailbox: - if (isEmail(etMailbox.getText().toString().trim()) && etMailbox.getText().toString().trim().length() > 31) { - Toast.makeText(this, "邮箱验证成功", Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(this, "邮箱格式错误", Toast.LENGTH_SHORT).show(); - } + break; case R.id.btn_save: - final String userphone = etPhone.getText().toString().trim(); + userphone = etPhone.getText().toString().trim(); userqq = etQq.getText().toString().trim(); - final String usermailbox = etMailbox.getText().toString().trim(); - if (!RegexUtil.isPhone(userphone)) { - Toast.makeText(this, "手机号输入错误", Toast.LENGTH_SHORT).show(); - return; - } - if (userqq.length() > 11) { - Toast.makeText(this, "QQ号输入错误", Toast.LENGTH_SHORT).show(); - return; - } - if (usermailbox.length() > 31) { - Toast.makeText(this, "邮箱输入错误", Toast.LENGTH_SHORT).show(); + usermailbox = etMailbox.getText().toString().trim(); + boolean isQQNum_matcher = userqq.matches("[1-9]\\d{4,10}"); + // 邮箱匹配结果 + boolean isEmail_matcher = usermailbox.matches("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); +// + if (TextUtils.isEmpty(userphone) || TextUtils.isEmpty(userqq) || TextUtils.isEmpty(usermailbox)) { + if (!RegexUtil.isPhone(userphone)) { + Toast.makeText(this, "手机号输入错误", Toast.LENGTH_SHORT).show(); + return; + } + if (isQQNum_matcher && userqq.length() < 11 && userqq.length() > 5) { + Toast.makeText(this, "QQ号输入错误", Toast.LENGTH_SHORT).show(); + return; + } + if (isEmail_matcher) { + Toast.makeText(this, "邮箱格式错误", Toast.LENGTH_SHORT).show(); + return; + } } netWork(); break; @@ -184,24 +193,12 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { }); } - private static String qq() { - String qq = "23412312"; - String regex = "[1-9][0-9]{4,11}"; - boolean flag = qq.matches(regex); - if (flag) { - System.out.println("输入正确!!"); - } else { - System.out.println("输入正确!!"); - } - return qq(); - } - - public static boolean isEmail(String email) { - if (null == email || "".equals(email)) return false; - Matcher m = compile.matcher(email); - return m.matches(); - } +// public static boolean isEmail(String email) { +// if (null == email || "".equals(email)) return false; +// Matcher m = compile.matcher(email); +// return m.matches(); +// } private void showPickerView() {// 弹出选择器(省市区三级联动) OptionsPickerView pvOptions = new OptionsPickerBuilder(UserActivity.this, new OnOptionsSelectListener() { @@ -320,4 +317,5 @@ public class UserActivity extends BaseActivity implements View.OnClickListener { return detail; } + } diff --git a/app/src/main/java/com/navinfo/outdoor/adapter/CapacityMeasureAdapter.java b/app/src/main/java/com/navinfo/outdoor/adapter/CapacityMeasureAdapter.java index a3288cb..af5a01b 100644 --- a/app/src/main/java/com/navinfo/outdoor/adapter/CapacityMeasureAdapter.java +++ b/app/src/main/java/com/navinfo/outdoor/adapter/CapacityMeasureAdapter.java @@ -54,8 +54,9 @@ public class CapacityMeasureAdapter extends RecyclerView.Adapter optionList = measureList.get(position).getOption(); if (optionList != null && !optionList.isEmpty()) { for (int i = 0; i < optionList.size(); i++) { diff --git a/app/src/main/java/com/navinfo/outdoor/api/Constant.java b/app/src/main/java/com/navinfo/outdoor/api/Constant.java index 017d11a..dfe4ba9 100644 --- a/app/src/main/java/com/navinfo/outdoor/api/Constant.java +++ b/app/src/main/java/com/navinfo/outdoor/api/Constant.java @@ -56,6 +56,9 @@ public class Constant { public static final int MAIN_OTHER = 23;//其他的Fragment 对地图页面marker 的一个展示 public static final int OTHER_WORD = 25;//地图页面marker 的经纬都回传 public static final int CHARGING_STATION_PILE = 26;//跳转到充电桩 传给数据 + + + public static String USER_ATTESTATION_NAME; //实名认证姓名 银行卡 /** * 用户当前位置 */ diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java index 312a305..2e19c3d 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/GatheringFragment.java @@ -3,6 +3,7 @@ package com.navinfo.outdoor.fragment; import android.app.Dialog; import android.content.Intent; import android.os.Bundle; +import android.os.Message; import android.util.Log; import android.view.Gravity; import android.view.View; @@ -13,11 +14,13 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; + import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; + import com.google.gson.Gson; import com.kongzue.dialog.interfaces.OnDialogButtonClickListener; import com.kongzue.dialog.util.BaseDialog; @@ -26,6 +29,7 @@ import com.lzy.okgo.OkGo; import com.lzy.okgo.model.Response; import com.navinfo.outdoor.R; import com.navinfo.outdoor.adapter.BankAdapter; +import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.base.BaseFragment; import com.navinfo.outdoor.bean.BankPathBean; import com.navinfo.outdoor.bean.BankPhoneBean; @@ -33,9 +37,14 @@ import com.navinfo.outdoor.http.DialogCallback; import com.navinfo.outdoor.http.HttpInterface; import com.navinfo.outdoor.util.GetJsonDataUtil; import com.navinfo.outdoor.util.PhotoPathUtil; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; import org.json.JSONArray; + import java.io.File; import java.util.ArrayList; + import static android.app.Activity.RESULT_OK; /** @@ -51,6 +60,8 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe private ImageView gatheringCamera; private String gatheringPath; private ArrayList gatheringList; + private ArrayList jsonBean; + private String value; public static GatheringFragment newInstance(Bundle bundle) { @@ -77,9 +88,13 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe btnBank = findViewById(R.id.btn_bank); btnBank.setOnClickListener(this::onClick); tvName = (TextView) findViewById(R.id.tv_name); + if (Constant.USER_ATTESTATION_NAME!=null){ + tvName.setText(Constant.USER_ATTESTATION_NAME); + } etBankNum = (EditText) findViewById(R.id.et_bank_num); gatheringCamera = (ImageView) findViewById(R.id.gathering_camera); gatheringCamera.setOnClickListener(this::onClick); + } @Override @@ -98,7 +113,8 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe break; case R.id.iv_bank: String bankJson = new GetJsonDataUtil().getJson(getContext(), "bank.json");//获取assets目录下的json文件数据 - ArrayList jsonBean = parseData(bankJson);//用Gson 转成实体 + //用Gson 转成实体 + jsonBean = parseData(bankJson); Dialog dialog = new Dialog(getContext()); //弹窗点击周围空白处弹出层自动消失弹窗消失(false时为点击周围空白处弹出层不自动消失) dialog.setCanceledOnTouchOutside(true); @@ -114,7 +130,7 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe public void onClick(int pos) { tvBank.setText(jsonBean.get(pos).getLabel()); - + value = jsonBean.get(pos).getValue(); bankAdapter.notifyDataSetChanged(); dialog.dismiss(); } @@ -144,6 +160,7 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe Toast.makeText(getContext(), "身份证照片不能为空", Toast.LENGTH_SHORT).show(); return; } + gatheringList.add(gatheringFile); String etBankAccount = etBankNum.getText().toString().trim(); if (etBankAccount == null || etBankAccount.equals("")) { @@ -151,13 +168,12 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe return; } - OkGo // 请求方式和请求url .post(HttpInterface.USER_BANKCARD_UP_DATA) // 请求的 tag, 主要用于取消对应的请求 .params("userid", "1") - .params("bankAccount", "123456")//银行id + .params("bankAccount", value)//银行id .params("idNumber", etBankAccount)//银行卡号 .addFileParams("file", gatheringList)//银行卡拍照 .tag(this) @@ -219,4 +235,5 @@ public class GatheringFragment extends BaseFragment implements View.OnClickListe } return detail; } + } diff --git a/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java b/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java index fbc68a6..04f0516 100644 --- a/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java +++ b/app/src/main/java/com/navinfo/outdoor/fragment/UserAttestationFragment.java @@ -3,6 +3,7 @@ package com.navinfo.outdoor.fragment; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; +import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; @@ -19,11 +20,16 @@ import com.kongzue.dialog.v3.MessageDialog; import com.lzy.okgo.OkGo; import com.lzy.okgo.model.Response; import com.navinfo.outdoor.R; +import com.navinfo.outdoor.activity.FragmentManagement; +import com.navinfo.outdoor.api.Constant; import com.navinfo.outdoor.base.BaseFragment; import com.navinfo.outdoor.bean.NameAuthenticationBean; import com.navinfo.outdoor.http.DialogCallback; import com.navinfo.outdoor.http.HttpInterface; import com.navinfo.outdoor.util.PhotoPathUtil; +import com.umeng.commonsdk.debug.I; + +import org.greenrobot.eventbus.EventBus; import java.io.File; import java.util.ArrayList; @@ -47,6 +53,7 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic private ImageView ivAttestation3; private String takePhotoPath3; private ArrayList takePhoneList; + private String attestationName; public static UserAttestationFragment newInstance(Bundle bundle) { @@ -60,6 +67,8 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic return R.layout.user_attestation_fragment; } + + @Override protected void initData() { super.initData(); @@ -135,26 +144,37 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic takePhoneList.add(takePhotoFile1); takePhoneList.add(takePhotoFile2); takePhoneList.add(takePhotoFile3); + attestationName = etAttestationName.getText().toString().trim(); + String namePhone = etNamePhone.getText().toString().trim(); + +// Message obtain = Message.obtain(); +// obtain.what = Constant.USER_ATTESTATION_NAME; +// obtain.obj = attestationName; +// EventBus.getDefault().post(obtain); OkGo // 请求方式和请求url .post(HttpInterface.USER_AUTH_ADD) // 请求的 tag, 主要用于取消对应的请求 .params("userid", "1") - .params("name", etAttestationName.getFreezesText()) - .params("idnum", etNamePhone.getFreezesText()) + .params("name", attestationName) + .params("idnum", namePhone) .addFileParams("file", takePhoneList) .tag(this) .execute(new DialogCallback(NameAuthenticationBean.class) { @Override public void onSuccess(Response response) { dismissLoadingDialog(); + + + Log.d("TAG", "onSuccess: " + response.toString() + "sssssssssssss"); if (response.body().equals("0")) { MessageDialog.show((AppCompatActivity) getActivity(), "提示", "不通过", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show(); + Constant.USER_ATTESTATION_NAME=attestationName; return false; } }); @@ -162,7 +182,7 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic MessageDialog.show((AppCompatActivity) getActivity(), "提示", "通过", "确定", "取消").setOkButton(new OnDialogButtonClickListener() { @Override public boolean onClick(BaseDialog baseDialog, View v) { - // Toast.makeText(getContext(), "点击了确定", Toast.LENGTH_SHORT).show(); + Constant.USER_ATTESTATION_NAME=attestationName; return false; } }); @@ -199,7 +219,8 @@ public class UserAttestationFragment extends BaseFragment implements View.OnClic Bundle extras = data.getExtras();//从Intent中获取附加值 //从附加值中获取返回的图像 Bitmap bitmap = (Bitmap) extras.get("data"); - ivAttestation2.setImageBitmap(bitmap);//显示图像 + ivAttestation3.setImageBitmap(bitmap);//显示图像 } } + } diff --git a/app/src/main/res/layout/activity_user.xml b/app/src/main/res/layout/activity_user.xml index 8254347..657e471 100644 --- a/app/src/main/res/layout/activity_user.xml +++ b/app/src/main/res/layout/activity_user.xml @@ -191,7 +191,7 @@ android:id="@+id/tv_qq" android:layout_width="80dp" android:layout_height="wrap_content" - android:text="QQ号码*" + android:text="QQ号码" android:layout_centerVertical="true" android:layout_marginLeft="20dp" style="@style/user_text_style" @@ -203,6 +203,7 @@ android:layout_centerVertical="true" android:hint="请输入QQ号码 " style="@style/user_hint_style" + android:digits="0123456789" android:layout_height="wrap_content" /> @@ -222,7 +223,7 @@ android:id="@+id/tv_mailbox" android:layout_width="80dp" android:layout_height="wrap_content" - android:text="电子邮箱*" + android:text="电子邮箱" android:layout_centerVertical="true" android:layout_marginLeft="20dp" style="@style/user_text_style" diff --git a/app/src/main/res/layout/capacity_measure_option.xml b/app/src/main/res/layout/capacity_measure_option.xml index a5a758a..811e9b3 100644 --- a/app/src/main/res/layout/capacity_measure_option.xml +++ b/app/src/main/res/layout/capacity_measure_option.xml @@ -2,10 +2,12 @@