diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2d90d8f..cb00418 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -273,6 +273,14 @@
android:theme="@style/AppThemeStart">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
map1 = new HashMap<>();
map1.put("code", 0);
map1.put("error", "金币被封禁");
+ callBackFunction.onCallBack(GsonUtils.beanToJSONString(map1));
+
toRengong();
return;
}
diff --git a/app/src/main/java/com/hbl/lewan/main/mine/BuyAccountActivity.java b/app/src/main/java/com/hbl/lewan/main/mine/BuyAccountActivity.java
new file mode 100644
index 0000000..af9a56f
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/main/mine/BuyAccountActivity.java
@@ -0,0 +1,447 @@
+package com.hbl.lewan.main.mine;
+
+import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.Drawable;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
+import com.codersun.fingerprintcompat.AonFingerChangeCallback;
+import com.codersun.fingerprintcompat.FingerManager;
+import com.codersun.fingerprintcompat.SimpleFingerCheckCallback;
+import com.hbl.lewan.IMApplication;
+import com.hbl.lewan.IMUIKitConfig;
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityBuyAccountBinding;
+import com.hbl.lewan.databinding.ActivityShimingBinding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.dialog.PayCashDialog;
+import com.hbl.lewan.dialog.PayCashFingerDialog;
+import com.hbl.lewan.dialog.PayDialog;
+import com.hbl.lewan.dialog.SelectPayTypeDialog;
+import com.hbl.lewan.game.JsBridgeActivity;
+import com.hbl.lewan.model.BindBean;
+import com.hbl.lewan.model.LoginBean;
+import com.hbl.lewan.model.PayInfoBean;
+import com.hbl.lewan.model.StaffServiceIdBean;
+import com.hbl.lewan.model.TopUpBean;
+import com.hbl.lewan.model.WalletBean;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.pay.CollectionAndPaymentActivity;
+import com.hbl.lewan.utils.DataUtils;
+import com.hbl.lewan.utils.GsonUtils;
+import com.hbl.lewan.utils.LogUtils;
+import com.hbl.lewan.wallet.SetPayPasswordActivity;
+import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
+import com.netease.yunxin.kit.common.ui.utils.ToastX;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class BuyAccountActivity extends BaseActivity implements SelectPayTypeDialog.OnToTypeListener{
+ ActivityBuyAccountBinding viewBinding;
+ WalletBean walletBean;
+ BindBean bindBean;
+ PayCashDialog payDialog;
+ PayCashFingerDialog payCashFingerDialog;
+ private int payType = 0;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ getWindow().setDecorFitsSystemWindows(false);
+ } else {
+ getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+ }
+ getWindow().setStatusBarColor(Color.TRANSPARENT);
+
+ super.onCreate(savedInstanceState);
+ viewBinding = ActivityBuyAccountBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ payType = DataUtils.get(this,"pay_type",0);
+
+
+
+ initView();
+ getWallet();
+ bindInfo();
+ }
+
+
+ private void bindInfo() {
+ Api.getInstance().bindInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ bindBean = feedbackResp.data;
+ LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ LogUtils.i("获取到的错误:" + code + "" + msg);
+ }
+ });
+
+ }
+
+ protected void initView() {
+ viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
+ Drawable drawable = viewBinding.contactListActivityTitleBar.getBackImageView().getDrawable().mutate();//
+ Drawable wrap = DrawableCompat.wrap(drawable);
+ DrawableCompat.setTint(wrap, ContextCompat.getColor(this,R.color.white));
+ viewBinding.contactListActivityTitleBar.getBackImageView().setImageDrawable(wrap);
+
+ viewBinding.sumbitBt.setOnClickListener(v -> {
+
+
+// if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){
+// ToastX.showShortToast("请输入您的真实姓名");
+// return;
+// }
+//
+// if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){
+// ToastX.showShortToast("请输入您本人的身份证号码");
+// return;
+// }
+ LoginBean loginBean = DataUtils.getLocUserInfo();
+ if (loginBean != null && loginBean.getUser() != null) {
+ if (loginBean.getUser().getForbidQCoin() == 1) {
+ Map map1 = new HashMap<>();
+ map1.put("code", 0);
+ map1.put("error", "金币被封禁");
+ toRengong();
+ return;
+ }
+// PayDialog payDialog = new PayDialog(BuyAccountActivity.this, "68", false);
+// payDialog.setOntoAlbumListener(new PayDialog.OnListItemClickListener() {
+// @Override
+// public void onPayPass(String position) {
+//
+// }
+//
+// @Override
+// public void dimess() {
+//
+// }
+// });
+// payDialog.show();
+
+
+ if (DataUtils.get(BuyAccountActivity.this, "hasFinger", false)) {
+ showPayCashFingerDialog();
+ } else {
+ showPayCashDialog();
+ }
+ }
+ });
+
+
+ }
+
+
+
+ private void showPayCashDialog() {
+ payDialog = new PayCashDialog(BuyAccountActivity.this,"68",true,0,walletBean,
+ null,2,"购买副号");
+ //免密支付的 要告诉 为什么 没有免密
+// if(DataUtils.get(BuyAccountActivity.this, "hasMianMi", false)){
+// payDialog = new PayCashDialog(BuyAccountActivity.this,"68",true,0,walletBean,
+// null,2,"购买副号",getString(R.string.zfjecgxz_txt));
+// }
+ payDialog.setOntoAlbumListener(new PayCashDialog.OnListItemClickListener() {
+ @Override
+ public void onPayPass(String position) {
+
+ toChange(position,false);
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.M)
+ @Override
+ public void onChangeFinger() {
+ showPayCashFingerDialog();
+ }
+
+ @Override
+ public void dimess() {
+// ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this,
+// getString(R.string.quxiaozhifu_dialog_txt),true);
+// actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+// @Override
+// public void toSumbit() {
+// cancelPay();
+// }
+//
+// @Override
+// public void toCancel() {
+// actionDialog.dismiss();
+ payDialog.dismiss();
+// }
+// });
+// actionDialog.show();
+
+ }
+ });
+ payDialog.show();
+ }
+
+ private void showPayCashFingerDialog() {
+ //Context context, String data, boolean showNumber, int payType, WalletBean walletBean, SelectPayTypeDialog.OnToTypeListener onToTypeListener, int isShowFinger
+ payCashFingerDialog = new PayCashFingerDialog(this,"68",true,
+ 0,walletBean,null,2,"购买副号");
+
+ payCashFingerDialog.setOntoAlbumListener(new PayCashFingerDialog.OnListItemClickListener() {
+ @Override
+ public void onChangePassword() {
+ showPayCashDialog();
+ }
+
+ @Override
+ public void toFinger() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ checkPayFinger();
+ }
+ }
+
+ @Override
+ public void dimess() {
+// ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this,
+// getString(R.string.quxiaozhifu_dialog_txt),true);
+// actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+// @Override
+// public void toSumbit() {
+// cancelPay();
+// }
+//
+// @Override
+// public void toCancel() {
+// actionDialog.dismiss();
+ payCashFingerDialog.dismiss();
+// }
+// });
+// actionDialog.show();
+ }
+ });
+ payCashFingerDialog.show();
+ }
+
+ private void cancelPay() {
+ }
+
+
+ @RequiresApi(api = Build.VERSION_CODES.M)
+ private void checkPayFinger() {
+
+ FingerManager.build().setApplication(IMApplication.getInstance())
+ .setTitle(" ")
+ .setDes(" ")
+ .setNegativeText(" ")
+ .setFingerCheckCallback(new SimpleFingerCheckCallback()
+ {
+
+ @Override
+ public void onSucceed()
+ {
+ ToastX.showShortToast("验证成功");
+ payCashFingerDialog.dismiss();
+ toChange(null,false);
+ }
+
+ @Override
+ public void onError(String error)
+ {
+ ToastX.showShortToast("验证失败");
+
+ }
+
+ @Override
+ public void onCancel()
+ {
+ ToastX.showShortToast("您取消了识别");
+
+ }
+ })
+ .setFingerChangeCallback(new AonFingerChangeCallback()
+ {
+
+ @Override
+ protected void onFingerDataChange()
+ {
+// ToastX.showShortToast("指纹数据发生了变化");
+ FingerManager.updateFingerData(BuyAccountActivity.this);
+ new Handler().postDelayed(() -> checkPayFinger(), 1000);
+
+ }
+ })
+ .create()
+ .startListener(BuyAccountActivity.this);
+ }
+
+ private void toChange(String password,boolean isMianMi) {
+
+
+ }
+
+ private void toRengong() {
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this, getString(R.string.ndqbbdj_txt), getString(R.string.general_got_it),
+ getString(R.string.lxkh_txt),false);
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ toKefu();
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+
+ }
+
+ public void toKefu() {
+ Api.getInstance().helpCenterStaffServiceId(IMUIKitConfig.SUBSTATIONID, 1)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ toRengongCallTop(feedbackResp.data.getStaffServiceId(), feedbackResp.data.getStaffServiceNickname());
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+// WidgetUtils.showToast(JsBridgeActivity.this, msg, WidgetUtils.ToastType.ERROR);
+// toRengongCall(400227);
+ ToastX.showShortToast(msg);
+
+ }
+ });
+ }
+ public void toRengongCallTop(Integer staffServiceId, String name) {
+// Intent i = IntentFactory.createTempChatIntent(JsBridgeActivity.this, staffServiceId+"", name);
+// startActivity(i);
+ }
+ private void showDialogPay() {
+
+ com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BuyAccountActivity.this,
+ getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
+ actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
+// intent.putExtra("type", 5);
+// startActivity(intent);
+ Intent intent = new Intent(BuyAccountActivity.this, SetPayPasswordActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+
+ private void showDialog() {
+
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(BuyAccountActivity.this,
+ getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ Intent intent = new Intent(BuyAccountActivity.this, ChangeAccoutActionActivity.class);
+ intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+ private void getWallet() {
+ Api.getInstance().walletInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ walletBean = feedbackResp.data;
+ changeInfo();
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+
+ }
+ });
+
+
+ }
+
+
+ private void changeInfo() {
+ if (walletBean != null) {
+// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
+// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
+
+ }
+
+ }
+ @Override
+ protected void onStop() {
+ super.onStop();
+
+ }
+
+
+ @Override
+ public void toType(int type) {
+ DataUtils.set(BuyAccountActivity.this,"pay_type",type);
+ payType = type;
+ changePayType();
+ }
+
+
+
+ private void changePayType() {
+// viewBinding.yueTv.setVisibility(View.INVISIBLE);
+// if(payType == 0){
+// viewBinding.payTypeTv.setText(R.string.species_txt);
+// viewBinding.yueTv.setVisibility(View.VISIBLE);
+// viewBinding.payTypeIv.setImageResource(R.mipmap.wallet_jinbi_img);
+// }else if(payType == 1){
+// viewBinding.payTypeTv.setText("line pay");
+// viewBinding.payTypeIv.setImageResource(R.mipmap.line_pay_img);
+// }else{
+// viewBinding.payTypeTv.setText(R.string.neweb_txt);
+// viewBinding.payTypeIv.setImageResource(R.mipmap.newebpay_img);
+// }
+ }
+}
diff --git a/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java b/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java
index 83a2d99..dc0cc91 100644
--- a/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java
+++ b/app/src/main/java/com/hbl/lewan/main/mine/MineFragment.java
@@ -56,6 +56,7 @@ import com.hbl.lewan.utils.LogUtils;
import com.hbl.lewan.wallet.GiftInfoActivity;
import com.hbl.lewan.wallet.MyWalletActivity;
import com.hbl.lewan.wallet.PaySettingActivity;
+import com.hbl.lewan.wallet.ShiMingActivity;
import com.hbl.lewan.wallet.WalletInfoActivity;
import com.hbl.lewan.welcome.WelcomeActivity;
//import com.king.app.updater.AppUpdater;
@@ -249,6 +250,22 @@ public class MineFragment extends BaseFragment {
actionConfirmDialog.show();
});
+ binding.tvChange.setOnClickListener(v -> {
+ ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(getActivity(), "当前没有副号,是否需要购买", "取消","购买",true);
+ actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ startActivity(new Intent(getActivity(), BuyAccountActivity.class));
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionConfirmDialog.show();
+ });
+
binding.friendTv.setOnClickListener(v -> startActivity(new Intent(getActivity(), FriendPermissionsActivity.class)));
binding.toMerchantTv.setOnClickListener(v -> {
diff --git a/app/src/main/java/com/hbl/lewan/wallet/AddBankActivity.java b/app/src/main/java/com/hbl/lewan/wallet/AddBankActivity.java
new file mode 100644
index 0000000..fb1bcc0
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/wallet/AddBankActivity.java
@@ -0,0 +1,151 @@
+package com.hbl.lewan.wallet;
+
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityAddBankBinding;
+import com.hbl.lewan.databinding.ActivityShimingBinding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
+import com.hbl.lewan.model.BindBean;
+import com.hbl.lewan.model.WalletBean;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.utils.GsonUtils;
+import com.hbl.lewan.utils.LogUtils;
+import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class AddBankActivity extends BaseActivity {
+ ActivityAddBankBinding viewBinding;
+ WalletBean walletBean;
+ BindBean bindBean;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+
+ super.onCreate(savedInstanceState);
+ viewBinding = ActivityAddBankBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ initView();
+ getWallet();
+ bindInfo();
+ }
+
+
+ private void bindInfo() {
+ Api.getInstance().bindInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver<>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ bindBean = feedbackResp.data;
+ LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ LogUtils.i("获取到的错误:" + code + "" + msg);
+ }
+ });
+
+ }
+
+ protected void initView() {
+ viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
+ }
+
+
+ private void showDialogPay() {
+
+ com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(AddBankActivity.this,
+ getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
+ actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
+// intent.putExtra("type", 5);
+// startActivity(intent);
+ Intent intent = new Intent(AddBankActivity.this, SetPayPasswordActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+
+ private void showDialog() {
+
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(AddBankActivity.this,
+ getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ Intent intent = new Intent(AddBankActivity.this, ChangeAccoutActionActivity.class);
+ intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+ private void getWallet() {
+ Api.getInstance().walletInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver<>() {
+
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ walletBean = feedbackResp.data;
+ changeInfo();
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+
+ }
+ });
+
+
+ }
+
+
+ private void changeInfo() {
+ if (walletBean != null) {
+// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
+// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
+
+ }
+
+ }
+ @Override
+ protected void onStop() {
+ super.onStop();
+
+ }
+
+
+
+
+}
diff --git a/app/src/main/java/com/hbl/lewan/wallet/BankListActivity.java b/app/src/main/java/com/hbl/lewan/wallet/BankListActivity.java
new file mode 100644
index 0000000..fa38e52
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/wallet/BankListActivity.java
@@ -0,0 +1,154 @@
+package com.hbl.lewan.wallet;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityBankListBinding;
+import com.hbl.lewan.databinding.ActivityShimingBinding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
+import com.hbl.lewan.model.BindBean;
+import com.hbl.lewan.model.WalletBean;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.utils.GsonUtils;
+import com.hbl.lewan.utils.LogUtils;
+import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class BankListActivity extends BaseActivity {
+ ActivityBankListBinding viewBinding;
+ WalletBean walletBean;
+ BindBean bindBean;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+
+ super.onCreate(savedInstanceState);
+ viewBinding = ActivityBankListBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ initView();
+ getWallet();
+ bindInfo();
+ }
+
+
+ private void bindInfo() {
+ Api.getInstance().bindInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ bindBean = feedbackResp.data;
+ LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ LogUtils.i("获取到的错误:" + code + "" + msg);
+ }
+ });
+
+ }
+
+ protected void initView() {
+ viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
+
+ viewBinding.addBankBt.setOnClickListener(v -> startActivity(new Intent(BankListActivity.this, AddBankActivity.class)));
+ }
+
+
+ private void showDialogPay() {
+
+ com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BankListActivity.this,
+ getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
+ actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
+// intent.putExtra("type", 5);
+// startActivity(intent);
+ Intent intent = new Intent(BankListActivity.this, SetPayPasswordActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+
+ private void showDialog() {
+
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(BankListActivity.this,
+ getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ Intent intent = new Intent(BankListActivity.this, ChangeAccoutActionActivity.class);
+ intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+ private void getWallet() {
+ Api.getInstance().walletInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ walletBean = feedbackResp.data;
+ changeInfo();
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+
+ }
+ });
+
+
+ }
+
+
+ private void changeInfo() {
+ if (walletBean != null) {
+// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
+// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
+
+ }
+
+ }
+ @Override
+ protected void onStop() {
+ super.onStop();
+
+ }
+
+
+
+
+}
diff --git a/app/src/main/java/com/hbl/lewan/wallet/BindWeChatOrAliPayActivity.java b/app/src/main/java/com/hbl/lewan/wallet/BindWeChatOrAliPayActivity.java
new file mode 100644
index 0000000..86a447f
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/wallet/BindWeChatOrAliPayActivity.java
@@ -0,0 +1,479 @@
+package com.hbl.lewan.wallet;
+
+import android.Manifest;
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Build;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+
+import com.bumptech.glide.Glide;
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityBindWechatAlipayBinding;
+import com.hbl.lewan.databinding.ActivityShimingBinding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
+import com.hbl.lewan.model.BindBean;
+import com.hbl.lewan.model.WalletBean;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.utils.GsonUtils;
+import com.hbl.lewan.utils.LogUtils;
+import com.luck.picture.lib.basic.PictureSelector;
+import com.luck.picture.lib.config.SelectMimeType;
+import com.luck.picture.lib.entity.LocalMedia;
+import com.luck.picture.lib.interfaces.OnResultCallbackListener;
+import com.luck.picture.lib.style.BottomNavBarStyle;
+import com.luck.picture.lib.style.PictureSelectorStyle;
+import com.luck.picture.lib.style.SelectMainStyle;
+import com.luck.picture.lib.style.TitleBarStyle;
+import com.netease.yunxin.kit.chatkit.ui.common.GlideEngine;
+import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
+import com.netease.yunxin.kit.common.ui.dialog.LoadingDialog;
+import com.netease.yunxin.kit.common.ui.photo.PhotoPicker;
+import com.netease.yunxin.kit.common.ui.utils.CommonCallback;
+import com.netease.yunxin.kit.common.ui.utils.Permission;
+import com.netease.yunxin.kit.common.ui.utils.ToastX;
+import com.netease.yunxin.kit.common.utils.PermissionUtils;
+import com.netease.yunxin.kit.contactkit.ui.utils.ColorUtils;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+import com.qiniu.android.storage.Configuration;
+import com.qiniu.android.storage.UploadManager;
+import com.qiniu.android.storage.UploadOptions;
+
+import org.json.JSONException;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class BindWeChatOrAliPayActivity extends BaseActivity{
+ ActivityBindWechatAlipayBinding viewBinding;
+ WalletBean walletBean;
+ BindBean bindBean;
+ boolean isWeChat = true;
+ protected ActivityResultLauncher permissionLauncher;
+ File imageFile = null;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+
+ super.onCreate(savedInstanceState);
+ viewBinding = ActivityBindWechatAlipayBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ isWeChat = getIntent().getBooleanExtra("isWeChat", true);
+ permissionLauncher =
+ registerForActivityResult(
+ new ActivityResultContracts.RequestMultiplePermissions(),
+ result -> {
+ if (result != null) {
+ for (Map.Entry entry : result.entrySet()) {
+ String permission = entry.getKey().toString();
+ boolean grant = (Boolean) entry.getValue();
+ if (grant) {
+ if (TextUtils.equals(
+ permission, Manifest.permission.READ_EXTERNAL_STORAGE) || TextUtils.equals(
+ permission, Manifest.permission.READ_MEDIA_IMAGES) || TextUtils.equals(
+ permission, Manifest.permission.READ_MEDIA_VIDEO)) {
+ startPickMedia();
+ }
+ } else {
+ if (shouldShowRequestPermissionRationale(permission)) {
+ ToastX.showShortToast(getString(com.netease.yunxin.kit.chatkit.ui.R.string.permission_deny_tips));
+ } else {
+ ToastX.showShortToast(getString(com.netease.yunxin.kit.chatkit.ui.R.string.permission_storage));
+ }
+ }
+ }
+ }
+ });
+ initView();
+ getWallet();
+ bindInfo();
+ }
+
+ private void startPickMedia() {
+
+ TitleBarStyle whiteTitleBarStyle = new TitleBarStyle();
+ whiteTitleBarStyle.setTitleBackgroundColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white));
+ whiteTitleBarStyle.setTitleDrawableRightResource(com.netease.yunxin.kit.chatkit.ui.R.drawable.ic_orange_arrow_down);
+ whiteTitleBarStyle.setTitleLeftBackResource(com.netease.yunxin.kit.common.ui.R.drawable.ic_back);
+ whiteTitleBarStyle.setTitleTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_black));
+ whiteTitleBarStyle.setTitleCancelTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
+ whiteTitleBarStyle.setDisplayTitleBarLine(true);
+
+ BottomNavBarStyle whiteBottomNavBarStyle = new BottomNavBarStyle();
+ // whiteBottomNavBarStyle.setBottomPreviewSelectText(getResources().getString(R.string.chat_team_ait_all));
+ whiteBottomNavBarStyle.setBottomNarBarBackgroundColor(Color.parseColor("#FFFFFF"));
+ whiteBottomNavBarStyle.setBottomPreviewSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
+
+ whiteBottomNavBarStyle.setBottomPreviewNormalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_9b));
+ whiteBottomNavBarStyle.setBottomPreviewSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.color_222222));
+ whiteBottomNavBarStyle.setCompleteCountTips(false);
+
+ whiteBottomNavBarStyle.setBottomEditorTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
+ whiteBottomNavBarStyle.setBottomOriginalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_53575e));
+
+ SelectMainStyle selectMainStyle = new SelectMainStyle();
+ selectMainStyle.setStatusBarColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white));
+ selectMainStyle.setDarkStatusBarBlack(true);
+ selectMainStyle.setSelectNormalTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_9b));
+ selectMainStyle.setSelectTextColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.color_222222));
+ selectMainStyle.setPreviewSelectBackground(com.netease.yunxin.kit.chatkit.ui.R.drawable.ps_demo_white_preview_selector);
+ selectMainStyle.setSelectBackground(com.netease.yunxin.kit.chatkit.ui.R.drawable.ps_checkbox_selector);
+// selectMainStyle.setSelectText(R.string.ps_done_front_num);
+ selectMainStyle.setMainListBackgroundColor(ContextCompat.getColor(BindWeChatOrAliPayActivity.this, com.netease.yunxin.kit.chatkit.ui.R.color.ps_color_white));
+ PictureSelectorStyle selectorStyle = new PictureSelectorStyle();
+ selectorStyle.setTitleBarStyle(whiteTitleBarStyle);
+ selectorStyle.setBottomBarStyle(whiteBottomNavBarStyle);
+ selectorStyle.setSelectMainStyle(selectMainStyle);
+
+
+ PictureSelector.create(this)
+ .openGallery(SelectMimeType.ofImage())
+ .setImageEngine(GlideEngine.createGlideEngine())
+ .setMaxSelectNum(1)
+// .setMaxVideoSelectNum(9)
+ .setSelectorUIStyle(selectorStyle)
+ .forResult(new OnResultCallbackListener() {
+ @Override
+ public void onResult(ArrayList result) {
+ for (int i = 0; i < result.size(); ++i) {
+ LogUtils.i("地址是啥:" + result.get(i).getRealPath());
+ File file = new File(result.get(i).getRealPath());
+ toUpdateBg(file);
+ }
+ }
+
+ @Override
+ public void onCancel() {
+
+ }
+ });
+
+ }
+
+
+ private void bindInfo() {
+ Api.getInstance().bindInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ bindBean = feedbackResp.data;
+ LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ LogUtils.i("获取到的错误:" + code + "" + msg);
+ }
+ });
+
+ }
+
+ protected void initView() {
+ viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
+ if (!isWeChat) {
+ viewBinding.contactListActivityTitleBar.getTitleTextView().setText("绑定支付宝");
+ viewBinding.typeNameTv.setText("支付宝账号");
+ viewBinding.typeImageTv.setText("上传支付宝收款码");
+ viewBinding.numberEt.setHint("请输入您本人使用的支付宝账号");
+ viewBinding.tipsTv.setText("*请勿上传截图的收款码,请在二维码收款界面,点击保存收款码,上传图片");
+ viewBinding.tips1Tv.setText("请务必绑定本人的支付宝账号");
+ }
+
+ viewBinding.imageIv.setOnClickListener(v -> choicePhoto());
+
+ viewBinding.sumbitBt.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){
+ ToastX.showShortToast("请输入您的真实姓名");
+ return;
+ }
+
+ if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){
+ if(isWeChat){
+ ToastX.showShortToast("请输入您本人使用的微信账号");
+ }else{
+ ToastX.showShortToast("请输入您本人使用的支付宝账号");
+ }
+ return;
+ }
+
+ if(imageFile == null){
+ if(isWeChat){
+ ToastX.showShortToast("请上传微信收款码");
+ }else{
+ ToastX.showShortToast("请上传支付宝收款码");
+ }
+ return;
+ }
+ toShangchuanAli(imageFile);
+ }
+ });
+ }
+
+ private void choicePhoto() {
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ if (PermissionUtils.hasPermissions(
+ BindWeChatOrAliPayActivity.this, Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO)) {
+ startPickMedia();
+ } else {
+ permissionLauncher.launch(new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO});
+
+ }
+ } else {
+ if (PermissionUtils.hasPermissions(
+ BindWeChatOrAliPayActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
+ startPickMedia();
+ } else {
+ permissionLauncher.launch(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE});
+
+ }
+ }
+
+ }
+
+
+ private void showDialogPay() {
+
+ com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(BindWeChatOrAliPayActivity.this,
+ getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
+ actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
+// intent.putExtra("type", 5);
+// startActivity(intent);
+ Intent intent = new Intent(BindWeChatOrAliPayActivity.this, SetPayPasswordActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+
+ private void showDialog() {
+
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(BindWeChatOrAliPayActivity.this,
+ getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ Intent intent = new Intent(BindWeChatOrAliPayActivity.this, ChangeAccoutActionActivity.class);
+ intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+ private void getWallet() {
+ Api.getInstance().walletInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ walletBean = feedbackResp.data;
+ changeInfo();
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+
+ }
+ });
+
+
+ }
+
+
+ private void changeInfo() {
+ if (walletBean != null) {
+// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
+// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
+
+ }
+
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+
+ }
+
+
+ private void toUpdateBg(File file) {
+ imageFile = file;
+ Glide.with(BindWeChatOrAliPayActivity.this)
+ .load(file.getAbsolutePath())
+ .into(viewBinding.imageIv);
+
+// toShangchuanAli(file);
+ }
+
+
+ String stsCredentialsBean;
+
+ private void toShangchuanAli(File file) {
+ showLoadingDialog();
+ Api.getInstance().stsCredentials1()
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver<>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ stsCredentialsBean = feedbackResp.data;
+// toAliYunOss(file, isHead);
+ toQIiNiuYunOss(file);
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ dimessLoadingDialog();
+ ToastX.showShortToast(msg);
+ }
+ });
+ }
+
+ public LoadingDialog loadingDialog;
+
+ public void showLoadingDialog() {
+ if (loadingDialog == null)
+ loadingDialog = new LoadingDialog(this);
+ loadingDialog.show();
+ }
+
+ public void showLoadingDialog(String msg) {
+ if (loadingDialog == null)
+ loadingDialog = new LoadingDialog(this);
+ loadingDialog.setLoadingText(msg);
+ loadingDialog.show();
+ }
+
+
+ public void dimessLoadingDialog() {
+ if (loadingDialog != null) {
+ loadingDialog.dismiss();
+ }
+
+ }
+
+
+ private void toQIiNiuYunOss(File file ) {
+ String updatePathPic = isWeChat?"wechat":"alipay";
+
+// new Handler().post(() -> QiNiuTool.upload(convertFileToBytes(file)));
+ UploadOptions options = new UploadOptions(null, null, true,
+ (key, percent) -> {
+ LogUtils.i("结果是啥进度:" + percent);
+ }, () -> {
+ LogUtils.i("结果是啥进度112222222111:");
+ return false;
+ });
+// Zone zone = FixedZone.zoneAs0;
+ Configuration configuration = new Configuration.Builder()
+// .connectTimeout(10) // 链接超时。默认10秒
+// .responseTimeout(60) // 服务器响应超时。默认60秒
+// .zone(zone) // 设置区域,不指定会自动选择。指定不同区域的上传域名、备用域名、备用IP。
+ .build();
+ UploadManager uploadManager = new UploadManager(configuration);
+
+ String fileName = UUID.randomUUID().toString() + "_" + file.getName();
+ LogUtils.i("结果是啥开始:" + stsCredentialsBean + ";;" + file.getAbsolutePath());
+// Uri uri = FileUtils.getMediaUriFromPath(file.getAbsolutePath(),UserHeadEditActivity.this);
+// GPX2hnRdNpAvovOSZGrhMxtaa6JP2mPvJ96-tdmD
+// immchat
+
+ String files = "media/" + updatePathPic + "/" + fileName;
+ byte[] sss = convertFileToBytes(file);
+ LogUtils.i("结果是啥开始:" + sss);
+
+ uploadManager.put(sss, files, stsCredentialsBean, (key, info, response) -> {
+// LogUtils.i("结果是啥2:" + GsonUtils.beanToJSONString(info));
+ LogUtils.i("结果是啥2:" + GsonUtils.beanToJSONString(response));
+ dimessLoadingDialog();
+ if (info != null && info.isOK()) {
+ // 上传成功
+ try {
+
+ LogUtils.i("地址是啥:" + response.getString("key"));
+ toPush("https://qn.hnsdl.com/" + response.getString("key"));
+
+ } catch (JSONException e) {
+ LogUtils.i("结果是啥失败:" +e);
+
+ }
+
+
+ } else {
+ // 上传失败
+ LogUtils.i("结果是啥失败:" + GsonUtils.beanToJSONString(info));
+ }
+ }, options);
+ }
+
+ private void toPush(String key) {
+
+ }
+
+ //
+
+ public static byte[] convertFileToBytes(File file) {
+ // 使用ByteArrayOutputStream来收集字节数据
+ FileInputStream fis = null;
+ try {
+ fis = new FileInputStream(file);
+ byte[] bytesArray = new byte[(int) file.length()];
+ fis.read(bytesArray);
+ fis.close();
+ return bytesArray;
+
+ } catch (FileNotFoundException e) {
+// throw new RuntimeException(e);
+ return null;
+ } catch (IOException e) {
+// throw new RuntimeException(e);
+ return null;
+
+ }
+
+
+ }
+}
diff --git a/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java b/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java
index b9b2348..4daf1fe 100644
--- a/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java
+++ b/app/src/main/java/com/hbl/lewan/wallet/MyWalletActivity.java
@@ -98,6 +98,18 @@ public class MyWalletActivity extends BaseActivity {
}
}
});
+
+ viewBinding.smrzBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, ShiMingActivity.class)));
+ viewBinding.wdyhkBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, BankListActivity.class)));
+
+ viewBinding.wdwxBt.setOnClickListener(v -> startActivity(new Intent(MyWalletActivity.this, ToBindWeChatOrAliPayActivity.class)));
+ viewBinding.wdzfbBt.setOnClickListener(v ->{
+ Intent i = new Intent(MyWalletActivity.this, ToBindWeChatOrAliPayActivity.class);
+ i.putExtra("isWeChat",false);
+ startActivity(i);
+ });
+
+
}
diff --git a/app/src/main/java/com/hbl/lewan/wallet/ShiMingActivity.java b/app/src/main/java/com/hbl/lewan/wallet/ShiMingActivity.java
new file mode 100644
index 0000000..6818d21
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/wallet/ShiMingActivity.java
@@ -0,0 +1,197 @@
+package com.hbl.lewan.wallet;
+
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.ContextCompat;
+import androidx.core.graphics.drawable.DrawableCompat;
+
+import com.hbl.lewan.IMApplication;
+import com.hbl.lewan.IMUIKitConfig;
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityShimingBinding;
+import com.hbl.lewan.databinding.ActivityWalletInfoNewBinding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
+import com.hbl.lewan.model.BindBean;
+import com.hbl.lewan.model.WalletBean;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.pay.LipinDuiHuanActivity;
+import com.hbl.lewan.utils.AnimUtil;
+import com.hbl.lewan.utils.AppUtils;
+import com.hbl.lewan.utils.DataUtils;
+import com.hbl.lewan.utils.GsonUtils;
+import com.hbl.lewan.utils.LogUtils;
+import com.hbl.lewan.welcome.WelcomeActivity;
+import com.netease.yunxin.kit.chatkit.ui.data.ChatDatabase;
+import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
+import com.netease.yunxin.kit.common.ui.utils.ToastX;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class ShiMingActivity extends BaseActivity {
+ ActivityShimingBinding viewBinding;
+ WalletBean walletBean;
+ BindBean bindBean;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+
+ super.onCreate(savedInstanceState);
+ viewBinding = ActivityShimingBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ initView();
+ getWallet();
+ bindInfo();
+ }
+
+
+ private void bindInfo() {
+ Api.getInstance().bindInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ bindBean = feedbackResp.data;
+ LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ LogUtils.i("获取到的错误:" + code + "" + msg);
+ }
+ });
+
+ }
+
+ protected void initView() {
+ viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
+
+
+ viewBinding.sumbitBt.setOnClickListener(v -> {
+
+
+ if(TextUtils.isEmpty(viewBinding.nameEt.getText().toString().trim())){
+ ToastX.showShortToast("请输入您的真实姓名");
+ return;
+ }
+
+ if(TextUtils.isEmpty(viewBinding.numberEt.getText().toString().trim())){
+ ToastX.showShortToast("请输入您本人的身份证号码");
+ return;
+ }
+
+ //Context context, String content, String cancel, String sure, boolean showCancel
+ ActionConfirmDialog actionConfirmDialog = new ActionConfirmDialog(ShiMingActivity.this, "实名认证一经提交,无法更改,请务必确认填写的是真实资料", "取消","确认提交",true);
+ actionConfirmDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionConfirmDialog.show();
+ });
+ }
+
+
+ private void showDialogPay() {
+
+ com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(ShiMingActivity.this,
+ getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
+ actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
+// intent.putExtra("type", 5);
+// startActivity(intent);
+ Intent intent = new Intent(ShiMingActivity.this, SetPayPasswordActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+
+ private void showDialog() {
+
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(ShiMingActivity.this,
+ getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ Intent intent = new Intent(ShiMingActivity.this, ChangeAccoutActionActivity.class);
+ intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+ private void getWallet() {
+ Api.getInstance().walletInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ walletBean = feedbackResp.data;
+ changeInfo();
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+
+ }
+ });
+
+
+ }
+
+
+ private void changeInfo() {
+ if (walletBean != null) {
+// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
+// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
+
+ }
+
+ }
+ @Override
+ protected void onStop() {
+ super.onStop();
+
+ }
+
+
+
+
+}
diff --git a/app/src/main/java/com/hbl/lewan/wallet/ToBindWeChatOrAliPayActivity.java b/app/src/main/java/com/hbl/lewan/wallet/ToBindWeChatOrAliPayActivity.java
new file mode 100644
index 0000000..cf94458
--- /dev/null
+++ b/app/src/main/java/com/hbl/lewan/wallet/ToBindWeChatOrAliPayActivity.java
@@ -0,0 +1,176 @@
+package com.hbl.lewan.wallet;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+
+import com.hbl.lewan.R;
+import com.hbl.lewan.databinding.ActivityShimingBinding;
+import com.hbl.lewan.databinding.ActivityToBindWechatAlipayBinding;
+import com.hbl.lewan.dialog.ActionConfirmDialog;
+import com.hbl.lewan.main.mine.ChangeAccoutActionActivity;
+import com.hbl.lewan.model.BindBean;
+import com.hbl.lewan.model.WalletBean;
+import com.hbl.lewan.network.Api;
+import com.hbl.lewan.network.BaseObserver;
+import com.hbl.lewan.network.Result;
+import com.hbl.lewan.utils.GsonUtils;
+import com.hbl.lewan.utils.LogUtils;
+import com.netease.yunxin.kit.common.ui.activities.BaseActivity;
+import com.netease.yunxin.kit.corekit.im.IMKitClient;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+public class ToBindWeChatOrAliPayActivity extends BaseActivity {
+ ActivityToBindWechatAlipayBinding viewBinding;
+ WalletBean walletBean;
+ BindBean bindBean;
+ boolean isWeChat = true;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+
+ super.onCreate(savedInstanceState);
+ viewBinding = ActivityToBindWechatAlipayBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ isWeChat =getIntent().getBooleanExtra("isWeChat",true);
+ initView();
+ getWallet();
+ bindInfo();
+
+ }
+
+
+ private void bindInfo() {
+ Api.getInstance().bindInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ bindBean = feedbackResp.data;
+ LogUtils.i("获取到的数据:" + GsonUtils.beanToJSONString(bindBean));
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+ LogUtils.i("获取到的错误:" + code + "" + msg);
+ }
+ });
+
+ }
+
+ protected void initView() {
+ viewBinding.contactListActivityTitleBar.getBackImageView().setOnClickListener(v -> finish());
+ if(!isWeChat){
+ viewBinding.contactListActivityTitleBar.getTitleTextView().setText("我的支付宝");
+ viewBinding.tipsTv.setText("还没有绑定支付宝");
+ viewBinding.tipsTv1.setText("支付宝账号一经绑定,无法修改,若必须修改,如收款码过期等问题,请联系客服进行调整");
+ }
+
+ viewBinding.sumbitBt.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent i = new Intent(ToBindWeChatOrAliPayActivity.this, BindWeChatOrAliPayActivity.class);
+ i.putExtra("isWeChat",isWeChat);
+ startActivityForResult(i,888);
+ }
+ });
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if(requestCode == 888&&resultCode == RESULT_OK){
+
+ }
+ }
+
+ private void showDialogPay() {
+
+ com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog actionDialog = new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog(ToBindWeChatOrAliPayActivity.this,
+ getString(com.netease.yunxin.kit.chatkit.ui.R.string.bind_phone_des_txt1), getString(com.netease.yunxin.kit.chatkit.ui.R.string.cancel_txt), getString(com.netease.yunxin.kit.chatkit.ui.R.string.to_sett_txt));
+ actionDialog.setOnToActionListener(new com.netease.yunxin.kit.chatkit.ui.dialog.ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+// Intent intent = new Intent(getActivity(), ChangeAccoutActionActivity.class);
+// intent.putExtra("type", 5);
+// startActivity(intent);
+ Intent intent = new Intent(ToBindWeChatOrAliPayActivity.this, SetPayPasswordActivity.class);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+
+ private void showDialog() {
+
+ ActionConfirmDialog actionDialog = new ActionConfirmDialog(ToBindWeChatOrAliPayActivity.this,
+ getString(R.string.bind_phone_des_txt), getString(R.string.nobind_txt), getString(R.string.tobind_txt));
+ actionDialog.setOnToActionListener(new ActionConfirmDialog.OnToActionListener() {
+ @Override
+ public void toSumbit() {
+ Intent intent = new Intent(ToBindWeChatOrAliPayActivity.this, ChangeAccoutActionActivity.class);
+ intent.putExtra("type", ChangeAccoutActionActivity.TYPE_BIND_PHONE);
+ startActivity(intent);
+ }
+
+ @Override
+ public void toCancel() {
+
+ }
+ });
+ actionDialog.show();
+ }
+
+ private void getWallet() {
+ Api.getInstance().walletInfo(IMKitClient.account())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new BaseObserver>() {
+
+ @Override
+ public void onSuccess(Result feedbackResp) {
+ walletBean = feedbackResp.data;
+ changeInfo();
+
+ }
+
+ @Override
+ public void onError(int code, String msg) {
+
+ }
+ });
+
+
+ }
+
+
+ private void changeInfo() {
+ if (walletBean != null) {
+// viewBinding.jinbiYueTv.setText(AppUtils.getQian(walletBean.getGoldCoin()));
+// viewBinding.yinbiYueTv.setText(AppUtils.getQian(walletBean.getSilverCoin()));
+
+ }
+
+ }
+ @Override
+ protected void onStop() {
+ super.onStop();
+
+ }
+
+
+
+
+}
diff --git a/app/src/main/res/drawable/button_true_bg1.xml b/app/src/main/res/drawable/button_true_bg1.xml
new file mode 100644
index 0000000..f63884e
--- /dev/null
+++ b/app/src/main/res/drawable/button_true_bg1.xml
@@ -0,0 +1,26 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/button_true_bg11.xml b/app/src/main/res/drawable/button_true_bg11.xml
new file mode 100644
index 0000000..e456217
--- /dev/null
+++ b/app/src/main/res/drawable/button_true_bg11.xml
@@ -0,0 +1,26 @@
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_add_bank.xml b/app/src/main/res/layout/activity_add_bank.xml
new file mode 100644
index 0000000..d51942d
--- /dev/null
+++ b/app/src/main/res/layout/activity_add_bank.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_bank_list.xml b/app/src/main/res/layout/activity_bank_list.xml
new file mode 100644
index 0000000..e275ce8
--- /dev/null
+++ b/app/src/main/res/layout/activity_bank_list.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_bind_wechat_alipay.xml b/app/src/main/res/layout/activity_bind_wechat_alipay.xml
new file mode 100644
index 0000000..20da66f
--- /dev/null
+++ b/app/src/main/res/layout/activity_bind_wechat_alipay.xml
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_buy_account.xml b/app/src/main/res/layout/activity_buy_account.xml
new file mode 100644
index 0000000..ff54d2f
--- /dev/null
+++ b/app/src/main/res/layout/activity_buy_account.xml
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_mywallet.xml b/app/src/main/res/layout/activity_mywallet.xml
index c24d4b9..f592012 100644
--- a/app/src/main/res/layout/activity_mywallet.xml
+++ b/app/src/main/res/layout/activity_mywallet.xml
@@ -262,19 +262,19 @@
app:drawableLeftCompat="@mipmap/zhifubao"
app:drawableRightCompat="@drawable/ic_frame_mine_right_arrow" />
-
+
+
+
+
+
+
+ android:visibility="gone">
@@ -431,8 +431,8 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_57"
android:gravity="center_vertical"
- android:visibility="visible"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:visibility="visible">
@@ -723,24 +725,46 @@
-
+ android:orientation="vertical">
+
+
+
+
+
+
+
+