Browse Source

1.云钱包提现。

shihuiyun 2 years ago
parent
commit
321ffee675
31 changed files with 774 additions and 200 deletions
  1. 3 2
      app/build.gradle
  2. BIN
      app/libs/passguard.jar
  3. 191 187
      app/map.txt
  4. 1 0
      app/src/main/AndroidManifest.xml
  5. 99 0
      app/src/main/java/com/hdl/xl/activity/CloudWithActivity.kt
  6. 7 1
      app/src/main/java/com/hdl/xl/activity/CloundActivity.kt
  7. 17 2
      app/src/main/java/com/hdl/xl/activity/WebActivity.kt
  8. 6 0
      app/src/main/java/com/hdl/xl/fragment/HomeMineFragment.kt
  9. 3 1
      app/src/main/java/com/hdl/xl/model/AcctInfo.kt
  10. 11 0
      app/src/main/java/com/hdl/xl/model/RandomKeys.kt
  11. 11 0
      app/src/main/java/com/hdl/xl/model/WithdrawBean.kt
  12. 47 0
      app/src/main/java/com/hdl/xl/utils/ParamUtils.java
  13. 5 2
      app/src/main/java/com/hdl/xl/utils/PopuSurePasswordUtils.kt
  14. 39 0
      app/src/main/java/com/hdl/xl/utils/net/ApiService.kt
  15. 23 0
      app/src/main/java/com/hdl/xl/vmodel/CloudVModel.kt
  16. 116 0
      app/src/main/java/com/hdl/xl/vmodel/CloudWithVModel.kt
  17. 2 1
      app/src/main/java/com/hdl/xl/vmodel/HomeMineVModel.kt
  18. BIN
      app/src/main/jniLibs/arm64-v8a/libPassGuard.so
  19. BIN
      app/src/main/jniLibs/armeabi-v7a/libPassGuard.so
  20. BIN
      app/src/main/jniLibs/armeabi/libPassGuard.so
  21. BIN
      app/src/main/jniLibs/mips/libPassGuard.so
  22. BIN
      app/src/main/jniLibs/mips64/libPassGuard.so
  23. BIN
      app/src/main/jniLibs/x86/libPassGuard.so
  24. BIN
      app/src/main/jniLibs/x86_64/libPassGuard.so
  25. 184 0
      app/src/main/res/layout/activity_cloud_with.xml
  26. 2 0
      app/src/main/res/layout/activity_tibetan_details.xml
  27. 1 0
      app/src/main/res/layout/activity_web.xml
  28. 2 1
      app/src/main/res/layout/activity_withdraw.xml
  29. 2 2
      app/src/main/res/layout/item_cloud.xml
  30. 1 0
      app/src/main/res/layout/popu_sure_password.xml
  31. 1 1
      base/src/main/java/com/ysnows/base/net/BOkhttpClient.kt

+ 3 - 2
app/build.gradle

@@ -19,8 +19,8 @@ android {
         ]
         ndk {
             //选择要添加的对应 cpu 类型的 .so 库。
-//            abiFilters 'armeabi-v7a'
-            abiFilters 'arm64-v8a'
+            abiFilters "armeabi","armeabi-v7a","arm64-v8a","x86"
+
             // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
         }
     }
@@ -125,6 +125,7 @@ dependencies {
     implementation project(path: ':update')
 //    implementation project(path: ':alipay')
 
+    implementation files('libs/passguard.jar')
 
 
 

BIN
app/libs/passguard.jar


File diff suppressed because it is too large
+ 191 - 187
app/map.txt


+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -124,6 +124,7 @@
         <activity android:name="com.hdl.xl.activity.BindBankActivity" />
         <activity android:name="com.hdl.xl.activity.BoundBankActivity" />
         <activity android:name="com.hdl.xl.activity.MyWalletActivity" />
+        <activity android:name=".activity.CloudWithActivity"/>
         <activity android:name="com.hdl.xl.activity.WithdrawActivity" />
         <activity android:name="com.hdl.xl.activity.PaySuessActivity" />
         <activity android:name="com.hdl.xl.activity.ConvetSuessActivity" />

+ 99 - 0
app/src/main/java/com/hdl/xl/activity/CloudWithActivity.kt

@@ -0,0 +1,99 @@
+package com.hdl.xl.activity
+
+import android.os.Bundle
+import android.text.TextUtils
+import cn.passguard.PassGuardEdit
+import com.hdl.xl.base.MBActivity
+import com.hdl.xl.databinding.ActivityCloudWithBinding
+import com.hdl.xl.model.User
+import com.hdl.xl.vmodel.CloudWithVModel
+import com.qmuiteam.qmui.kotlin.onClick
+import com.tencent.mmkv.MMKV
+
+/**
+ * 提现-新
+ *Created by shihuiyun
+ */
+class CloudWithActivity : MBActivity<CloudWithVModel, ActivityCloudWithBinding>() {
+
+
+    override fun init(savedInstanceState: Bundle?) {
+        super.init(savedInstanceState)
+
+
+        System.loadLibrary("PassGuard");
+
+
+        vm.ll = binding.ll
+
+        if (null == User.get()?.money) {
+            vm.accountMoney.value = "0"
+        } else {
+            vm.accountMoney.value = User.get()?.money
+
+        }
+        //获取随机因子
+        vm.getKeysInfo()
+        vm.bean.observe(this) {
+            if (it.ret_code == "0000") {
+                //设置参数
+                PassGuardEdit.setLicense(it.license)
+                PassGuardEdit.setNO_OFF(false)
+
+                var gurdEdit = binding.gurdEdit
+                gurdEdit.setMaxLength(6)
+                gurdEdit.setWatchOutside(true)
+                gurdEdit.setInputRegex("[a-zA-Z0-9]{1,6}")
+                gurdEdit.setCipherKey(it.random_value)
+                gurdEdit.setPublicKey(it.rsa_public_content)
+                gurdEdit.initPassGuardKeyBoard()
+
+            }
+        }
+
+
+    }
+
+    override fun listeners() {
+        super.listeners()
+        binding.llSubmit.onClick {
+            val ss = MMKV.defaultMMKV().decodeString("withdraw", "")
+            if (!TextUtils.isEmpty(ss) && ss.equals("0")) {
+                toast("提现功能关闭")
+                return@onClick
+            }
+
+            if (vm.money.isNullOrEmpty()) {
+                toast("请输入提现金额")
+                return@onClick
+            }
+            var password = binding.gurdEdit.rsaaesCiphertext
+            if (password.isNullOrEmpty()) {
+                toast("请输入云钱包支付密码")
+                return@onClick
+            }
+            vm.toSuessTips(password)
+
+
+        }
+    }
+
+
+    override fun binding(): ActivityCloudWithBinding {
+        return ActivityCloudWithBinding.inflate(layoutInflater)
+    }
+
+    override fun vmClass(): Class<CloudWithVModel> {
+        return CloudWithVModel::class.java
+    }
+
+
+    override fun title(): String? {
+        return "提现"
+    }
+
+    override val isRxbus: Boolean
+        get() = true
+
+
+}

+ 7 - 1
app/src/main/java/com/hdl/xl/activity/CloundActivity.kt

@@ -51,7 +51,7 @@ class CloundActivity : MBActivity<CloudVModel, ActivityCloudBinding>() {
 
         adapter = CloudAdapter()
         binding.recyclerView.adapter = adapter
-        vm.getAcctInfo()
+        vm.getAcctUser()
 
         vm.gatewayUrl.observe(this){
 
@@ -132,6 +132,12 @@ class CloundActivity : MBActivity<CloudVModel, ActivityCloudBinding>() {
     override val isRxbus: Boolean
         get() = true
 
+    @Subscribe(tags = [Tag(ConfigRx.PAY_COMPLETE)])
+    fun setPayComplete(money: String) {//充值了保证金后刷新
+        //刷新
+        vm.getAcctInfo()
+    }
+
 
 
 }

+ 17 - 2
app/src/main/java/com/hdl/xl/activity/WebActivity.kt

@@ -9,6 +9,7 @@ import android.os.Bundle
 import android.util.Log
 import android.view.KeyEvent
 import android.view.MotionEvent
+import android.view.View
 import android.webkit.*
 import androidx.core.net.toUri
 import androidx.lifecycle.lifecycleScope
@@ -25,6 +26,7 @@ import com.hdl.xl.utils.FileUtils
 import com.hdl.xl.utils.PopuchoseImgUtils
 import com.hwangjr.rxbus.RxBus
 import com.luck.picture.lib.PictureSelector
+import com.qmuiteam.qmui.kotlin.onClick
 import com.ysnows.base.base.BApp
 import com.ysnows.base.base.BRepository
 import com.ysnows.base.base.BViewModel
@@ -49,14 +51,27 @@ class WebActivity : MBActivity<BViewModel<BRepository>, ActivityWebBinding>() {
     var uploadMessageAboveL: ValueCallback<Array<Uri>>? = null
     var uploadMessage: ValueCallback<Uri>? = null
 
-    var type:String?=null  // 1:一级市场支付 2二级市场支付 0认证
+    var type:String?=null  // 1:一级市场支付、充值 2二级市场支付 0认证
     override fun init(savedInstanceState: Bundle?) {
         super.init(savedInstanceState)
+//        titleBar()?.tvRight?.text="关闭"
+//        titleBar()?.tvRight?.visibility=View.VISIBLE
          type = intent.extras?.getString("type", "1")
 
         initWeb()
     }
 
+    override fun listeners() {
+        super.listeners()
+        titleBar()?.imgLeft?.onClick {
+            finish()
+        }
+//        titleBar()?.tvRight?.onClick {
+//            finish()
+//        }
+
+    }
+
     private fun initWeb() {
         val webSettings: WebSettings = binding.webView.settings
         webSettings.javaScriptEnabled = true
@@ -374,6 +389,6 @@ class WebActivity : MBActivity<BViewModel<BRepository>, ActivityWebBinding>() {
     }
 
     override fun title(): String? {
-        return null
+        return ""
     }
 }

+ 6 - 0
app/src/main/java/com/hdl/xl/fragment/HomeMineFragment.kt

@@ -53,6 +53,12 @@ class HomeMineFragment: MBFragment<HomeMineVModel, FragmentHomeMineBinding>() {
         vm.getUserInfo()
     }
 
+    @Subscribe(tags = [Tag(ConfigRx.PAY_COMPLETE)])
+    fun setPayComplete(money: String) {//充值后刷新
+        //刷新
+        vm.getUserInfo()
+    }
+
 
 
 

+ 3 - 1
app/src/main/java/com/hdl/xl/model/AcctInfo.kt

@@ -5,7 +5,9 @@ import com.ysnows.base.inter.IModel
 /**
  *on 2022/9/29
  */
-data class AcctInfo(var id:String,var ret_code:String,var acctinfo_list:List<AcctinfoList>):IModel{
+data class AcctInfo(
+    var bank_open_flag:String,var user_status:String,
+    var id:String,var ret_code:String,var acctinfo_list:List<AcctinfoList>):IModel{
 
     data class AcctinfoList(var acct_state:String,var acct_type:String,var amt_balaval:String,
 

+ 11 - 0
app/src/main/java/com/hdl/xl/model/RandomKeys.kt

@@ -0,0 +1,11 @@
+package com.hdl.xl.model
+
+import com.ysnows.base.inter.IModel
+
+/**
+ *on 2022/10/11
+ */
+data class RandomKeys(var ret_code:String,var ret_msg:String,var random_key:String,var random_value:String,
+var license:String,var rsa_public_content:String,
+):IModel {
+}

+ 11 - 0
app/src/main/java/com/hdl/xl/model/WithdrawBean.kt

@@ -0,0 +1,11 @@
+package com.hdl.xl.model
+
+import com.ysnows.base.inter.IModel
+
+/**
+ *on 2022/10/11
+ */
+data class WithdrawBean(var ret_code:String,var ret_msg:String,var accp_txno:String,var  txn_seqno:String,
+
+                        var user_id:String,var total_amount:String,var token:String):IModel {
+}

+ 47 - 0
app/src/main/java/com/hdl/xl/utils/ParamUtils.java

@@ -0,0 +1,47 @@
+package com.hdl.xl.utils;
+
+import android.util.Log;
+
+import java.util.Random;
+
+/**
+ * on 2022/9/24
+ */
+public class ParamUtils {
+
+    /**
+     * 获取一条随机字符串
+     * @param length
+     * @return
+     */
+    public static String getRandomString(int length) { //length表示生成字符串的长度
+//        String base = "abcdefghijklmnopqrstuvwxyz0123456789";
+        String base = "0123456789";
+        Random random = new Random();
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < length; i++) {
+            int number = random.nextInt(base.length());
+            sb.append(base.charAt(number));
+        }
+        Log.e("--shy", "getRandomString: " + sb.toString());
+        return sb.toString();
+    }
+
+    private void randomTest() {
+        Random random = new Random();
+        Log.e("--shy", "randomTest1: " + random.nextLong());
+        Log.e("--shy", "randomTest2: " + random.nextBoolean());
+        Log.e("--shy", "randomTest3: " + random.nextDouble());
+        Log.e("--shy", "randomTest4: " + random.nextFloat());
+        Log.e("--shy", "randomTest5: " + random.nextGaussian());//可以产生服从高斯分布的随机数
+        Log.e("--shy", "randomTest6: " + random.nextInt());
+        //范围内的随机数
+        int min = 10;
+        int max = 99;
+        int num = random.nextInt(max - min + 1) + min;
+        Log.e("--shy", "randomTest7: " + num);
+    }
+
+
+
+}

+ 5 - 2
app/src/main/java/com/hdl/xl/utils/PopuSurePasswordUtils.kt

@@ -34,9 +34,12 @@ object  PopuSurePasswordUtils {
 
         val etNum: DelEditText =layout.findViewById(R.id.et_num)
         val tvSure: TextView =layout.findViewById(R.id.tv_sure)
-        tvSure.text=tips
+        val tvTitle: TextView =layout.findViewById(R.id.tv_title)
 
 
+        tvSure.text=tips
+        etNum.hint = "请输入验证码"
+        tvTitle.text="提现验证码"
 
         imgClose.onClick {
             mNormalPopup.dismiss()
@@ -46,7 +49,7 @@ object  PopuSurePasswordUtils {
 
             var ss=etNum.text.toString().trim()
             if(TextUtils.isEmpty(ss)){
-                Toast.makeText(context,"请输入二级密码",Toast.LENGTH_SHORT).show()
+                Toast.makeText(context,"请输入云钱包支付密码",Toast.LENGTH_SHORT).show()
                 return@onClick
             }
 

+ 39 - 0
app/src/main/java/com/hdl/xl/utils/net/ApiService.kt

@@ -658,6 +658,14 @@ interface ApiService {
     suspend fun getWithdrawConfig(): Resp<WithdFee>
 
 
+    /**
+     * 获取云钱包用户信息
+     * @return
+     */
+    @GET("Cloud_wallet/getUserInfo")
+    suspend fun getCloudUserInfo(@Query("user_id") user_id: String?): Resp<AcctInfo>
+
+
 
     /**
      * 获取云钱包账户信息
@@ -676,6 +684,26 @@ interface ApiService {
     suspend fun openAcctApply(@Field("user_id") user_id: String?): Resp<AcctApply>
 
 
+    /**
+     * 获取随机因子
+     * @return
+     */
+    @GET("Cloud_wallet/getRandomKeys")
+    suspend fun getRandomKeys(@Query("user_id") user_id: String?,@Query("pkg_name") pkg_name: String?,@Query("app_name") app_name: String?,@Query("flag_chnl") flag_chnl: String?): Resp<RandomKeys>
+
+
+
+    /**
+     * 交易二次短信验证
+     * @return
+     */
+    @GET("Cloud_wallet/validationSms")
+    suspend fun validationSms(@Query("user_id") user_id: String?,
+                              @Query("txn_seqno") txn_seqno: String?,
+                              @Query("total_amount") total_amount: String?,
+                              @Query("token") token: String?,
+                              @Query("verify_code") verify_code: String?
+                              ): Resp<RandomKeys>
 
 
 
@@ -728,6 +756,17 @@ interface ApiService {
 
 
 
+    /**
+     *提现
+     * @return
+     */
+    @FormUrlEncoded
+    @POST("User_center/withdraw")
+    suspend fun withdraw(
+        @Field("money") money: String?, @Field("cloud_password") cloud_password: String?,
+        @Field("source") source: String?
+    ): Resp<WithdrawBean>
+
 
 
 

+ 23 - 0
app/src/main/java/com/hdl/xl/vmodel/CloudVModel.kt

@@ -22,6 +22,29 @@ class CloudVModel(application: Application) : BViewModel<BRepository>(applicatio
 
     var list=MutableLiveData<List<AcctInfo.AcctinfoList>>()
 
+    fun getAcctUser(){
+
+        viewModelScope.launch {
+            var it=repository().lreq { NetEngine.service.getCloudUserInfo(User.get()?.id) }
+            if(it.ok()){
+                if(it.data?.ret_code!="0000"){
+                    //去开户
+                    getAcctApply()
+                }else{
+
+                    if(it.data?.bank_open_flag=="1"&&it.data?.user_status=="NORMAL"){
+
+                        getAcctInfo()
+                    }else{
+                        //去开户
+                        getAcctApply()
+                    }
+
+                }
+
+            }
+        }
+    }
 
     fun getAcctInfo(){
         viewModelScope.launch {

+ 116 - 0
app/src/main/java/com/hdl/xl/vmodel/CloudWithVModel.kt

@@ -0,0 +1,116 @@
+package com.hdl.xl.vmodel
+
+import android.app.Activity
+import android.app.Application
+import android.text.Editable
+import android.text.TextUtils
+import android.widget.LinearLayout
+import androidx.databinding.Bindable
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.viewModelScope
+import com.hdl.xl.BR
+import com.hdl.xl.config.ConfigRx
+import com.hdl.xl.inte.ChoiceData
+import com.hdl.xl.model.RandomKeys
+import com.hdl.xl.model.User
+import com.hdl.xl.model.WithdFee
+import com.hdl.xl.model.WithdrawBean
+import com.hdl.xl.utils.DecimalUtils
+import com.hdl.xl.utils.PopuSurePasswordUtils
+import com.hdl.xl.utils.net.NetEngine
+import com.hdl.xl.view.SimpleTextWatcher
+import com.hwangjr.rxbus.RxBus
+import com.tencent.mmkv.MMKV
+import com.ysnows.base.base.BRepository
+import com.ysnows.base.base.BViewModel
+import kotlinx.coroutines.launch
+
+class CloudWithVModel(application: Application) : BViewModel<BRepository>(application) {
+
+    var accountMoney = MutableLiveData<String>()
+
+
+    var ll: LinearLayout? = null
+
+    var bean=MutableLiveData<RandomKeys>()
+
+
+    @Bindable
+    open var money: String? = null
+        set(value) {
+            field = value
+            notifyPropertyChanged(BR.money)
+        }
+
+
+    fun toAll() {
+        //全部提现
+        money = accountMoney.value
+
+    }
+
+
+    fun toSuessTips(password: String) {
+
+        //弹框确认
+        viewModelScope.launch {
+
+            var it = repository().lreq { NetEngine.service.withdraw(money, password, "10") }
+            if (it.ok()) {
+
+                if (it.data?.ret_code == "8889"||it.data?.ret_code == "0000") {
+
+                    //弹框
+                    PopuSurePasswordUtils.show(repository().context,ll!!, "确定",object : ChoiceData {
+                        override fun onRestuse(password: String?) {
+                            setSendSms(it.data,password)
+                        }
+
+                    })
+
+                } else {
+
+                    toast(it.data?.ret_msg)
+                }
+            }
+
+
+
+
+
+        }
+
+}
+
+
+    fun setSendSms(bean: WithdrawBean?,code:String?){
+
+        viewModelScope.launch {
+            var it=repository().lreq { NetEngine.service.validationSms(bean?.user_id,bean?.txn_seqno,bean?.total_amount,bean?.token,code) }
+            if(it.ok()){
+               if(it.data?.ret_code=="0000") {
+                   toast("提现成功")
+                   RxBus.get().post(ConfigRx.REFRESH_USER, "")
+                   (repository().context as Activity).finish()
+               }else{
+                   toast(it.data?.ret_msg)
+               }
+            }
+        }
+
+    }
+
+
+    fun getKeysInfo(){
+        viewModelScope.launch {
+//            var it=repository().lreq { NetEngine.service.getRandomKeys(User.get()?.id,"com.hdl.xl","象链","ANDROID") }
+            var it=repository().lreq { NetEngine.service.getRandomKeys(User.get()?.id,"test","test","ANDROID") }
+
+            if(it.ok()){
+                bean.value=it.data
+            }
+        }
+    }
+
+
+}

+ 2 - 1
app/src/main/java/com/hdl/xl/vmodel/HomeMineVModel.kt

@@ -108,7 +108,8 @@ open class HomeMineVModel(application: Application) : BViewModel<BRepository>(ap
 
     fun toWithdrawal(){
         //提现
-         UiSwitch.single(repository().context, WithdrawActivity::class.java)
+        // UiSwitch.single(repository().context, WithdrawActivity::class.java)
+        UiSwitch.single(repository().context, CloudWithActivity::class.java)
 
     }
 

BIN
app/src/main/jniLibs/arm64-v8a/libPassGuard.so


BIN
app/src/main/jniLibs/armeabi-v7a/libPassGuard.so


BIN
app/src/main/jniLibs/armeabi/libPassGuard.so


BIN
app/src/main/jniLibs/mips/libPassGuard.so


BIN
app/src/main/jniLibs/mips64/libPassGuard.so


BIN
app/src/main/jniLibs/x86/libPassGuard.so


BIN
app/src/main/jniLibs/x86_64/libPassGuard.so


+ 184 - 0
app/src/main/res/layout/activity_cloud_with.xml

@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <data>
+
+        <variable
+            name="vm"
+            type="com.hdl.xl.vmodel.CloudWithVModel" />
+
+        <import type="android.view.View"/>
+
+    </data>
+
+    <LinearLayout
+        android:id="@+id/ll"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/c_bg"
+        android:orientation="vertical">
+
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="15dp"
+            android:layout_marginTop="30dp"
+            android:visibility="invisible"
+            android:text="可以提现金额"
+            tools:visibility="visible"
+            android:textColor="#888888"
+            android:textSize="15sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="18dp"
+            android:layout_marginTop="10dp"
+            android:visibility="invisible"
+            tools:visibility="visible"
+            android:orientation="horizontal">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="¥"
+                android:textColor="@color/white"
+                android:textSize="30sp" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@{vm.accountMoney}"
+                android:textColor="@color/white"
+                android:textSize="30sp" />
+
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginTop="10sp"
+            android:background="@drawable/bg_money_top"
+            android:orientation="vertical"
+            android:paddingStart="15dp"
+            android:paddingEnd="15dp">
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="12dp"
+                android:text="提现金额"
+                android:textColor="#222222"
+                android:textSize="14sp" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="52dp"
+                android:layout_marginTop="12dp"
+                android:orientation="horizontal"
+                >
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="15dp"
+                    android:text="¥"
+                    android:textColor="#222222"
+                    android:textSize="26sp" />
+
+                <com.ysnows.base.widget.DelEditText
+                    android:id="@+id/et_password"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:background="@null"
+                    android:hint="请输入提现金额"
+                    android:inputType="numberDecimal|number"
+                    android:paddingStart="9dp"
+                    android:text="@={vm.money}"
+                    android:paddingEnd="12dp"
+                    android:textColor="@color/text_title"
+                    android:textColorHint="#999999"
+                    android:textSize="20sp" />
+
+                 <TextView
+                     android:textColor="#2EABFE"
+                     android:textSize="13sp"
+                     android:onClick="@{v->vm.toAll()}"
+                     android:visibility="gone"
+                     android:text="全部提现"
+                     android:layout_width="wrap_content"
+                     android:layout_height="wrap_content"/>
+
+
+            </LinearLayout>
+            <View
+                android:layout_width="match_parent"
+                android:background="#F3F3F3"
+                android:layout_height="@dimen/dp_1"/>
+
+
+            <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
+                android:layout_width="match_parent"
+                app:qmui_backgroundColor="#F3F3F3"
+                app:qmui_borderColor="#F3F3F3"
+                android:layout_marginTop="20dp"
+                android:orientation="horizontal"
+                android:paddingEnd="10dp"
+                android:paddingStart="10dp"
+                android:gravity="center_vertical"
+                app:qmui_radius="12dp"
+                android:layout_height="52dp">
+
+                <TextView
+                    android:text="云钱包支付密码:"
+                    android:textSize="15sp"
+                    android:textColor="#222222"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"/>
+
+
+                <cn.passguard.PassGuardEdit
+                    android:id="@+id/gurd_edit"
+                    android:background="@null"
+                    android:hint="请输入"
+                    android:tag="请输入"
+                    android:textSize="15sp"
+                    android:textColor="#222222"
+                    android:gravity="center_vertical"
+                    android:layout_width="match_parent"
+                    android:paddingStart="12dp"
+                    android:paddingEnd="10dp"
+                    android:layout_height="match_parent"/>
+
+
+
+            </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
+
+
+
+
+
+            <TextView
+                android:id="@+id/ll_submit"
+                android:layout_width="match_parent"
+                android:layout_height="48dp"
+                android:layout_marginStart="15dp"
+                android:layout_marginTop="47dp"
+                android:layout_marginEnd="15dp"
+                android:background="@drawable/bg_logo_but"
+                android:gravity="center"
+                android:text="立即提现"
+                android:textColor="@color/text_title"
+                android:textSize="20sp" />
+
+
+        </LinearLayout>
+
+
+    </LinearLayout>
+</layout>

+ 2 - 0
app/src/main/res/layout/activity_tibetan_details.xml

@@ -135,6 +135,8 @@
                         <LinearLayout
                             android:id="@+id/ll_circulation"
                             android:layout_width="wrap_content"
+                            android:visibility="gone"
+                            tools:visibility="visible"
                             android:layout_height="wrap_content"
                             android:orientation="horizontal">
 

+ 1 - 0
app/src/main/res/layout/activity_web.xml

@@ -11,6 +11,7 @@
         android:orientation="vertical"
         android:layout_height="match_parent" >
 
+
         <WebView
             android:id="@+id/web_view"
             android:layout_width="match_parent"

+ 2 - 1
app/src/main/res/layout/activity_withdraw.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <data>
@@ -248,6 +249,7 @@
                 android:background="#F3F3F3"
                 android:layout_height="@dimen/dp_1"/>
 
+
             <com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout
                 android:id="@+id/ll_add_card"
                 android:layout_width="match_parent"
@@ -319,7 +321,6 @@
 
             </com.qmuiteam.qmui.widget.roundwidget.QMUIRoundLinearLayout>
 
-
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_marginTop="20dp"

+ 2 - 2
app/src/main/res/layout/item_cloud.xml

@@ -93,7 +93,7 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:text="@{`冻结金额`+item.amt_balfrz}"
+                    android:text="@{`冻结金额`+item.amt_balfrz}"
                     android:textColor="#222222"
                     android:textSize="14sp" />
 
@@ -135,7 +135,7 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    android:text="@{`昨日冻结金额`+item.amt_lastfrz}"
+                    android:text="@{`昨日冻结金额`+item.amt_lastfrz}"
                     android:textColor="#222222"
                     android:textSize="14sp" />
 

+ 1 - 0
app/src/main/res/layout/popu_sure_password.xml

@@ -32,6 +32,7 @@
             android:orientation="horizontal">
 
             <TextView
+                android:id="@+id/tv_title"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"

+ 1 - 1
base/src/main/java/com/ysnows/base/net/BOkhttpClient.kt

@@ -17,7 +17,7 @@ object BOkhttpClient {
                     .connectTimeout(15676, TimeUnit.MILLISECONDS)
                     .retryOnConnectionFailure(true)
                     .addInterceptor(CommonInterceptor())//设置公共参数
-                    .addInterceptor(ChuckInterceptor(BApp.instance()?.applicationContext))
+                   .addInterceptor(ChuckInterceptor(BApp.instance()?.applicationContext))
                     .cookieJar(BCookieJar())
                     .addInterceptor(BHeaderInterceptor())
 

Some files were not shown because too many files changed in this diff