honghengqiang 2 år sedan
förälder
incheckning
81a27d9a75

+ 1 - 0
.idea/gradle.xml

@@ -7,6 +7,7 @@
         <option name="testRunner" value="GRADLE" />
         <option name="testRunner" value="GRADLE" />
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleJvm" value="Embedded JDK" />
         <option name="modules">
         <option name="modules">
           <set>
           <set>
             <option value="$PROJECT_DIR$" />
             <option value="$PROJECT_DIR$" />

+ 1 - 1
.idea/misc.xml

@@ -305,7 +305,7 @@
     <option name="priority" value="Medium" />
     <option name="priority" value="Medium" />
     <option name="excludeFilter" value="" />
     <option name="excludeFilter" value="" />
   </component>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   </component>
   <component name="ProjectType">
   <component name="ProjectType">

+ 89 - 15
baseswago/src/main/java/com/swago/baseswago/activity/WebViewActivity.kt

@@ -1,22 +1,33 @@
 package com.swago.baseswago.activity
 package com.swago.baseswago.activity
 
 
 import android.annotation.SuppressLint
 import android.annotation.SuppressLint
+import android.net.Uri
 import android.os.Build
 import android.os.Build
 import android.view.KeyEvent
 import android.view.KeyEvent
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.webkit.*
 import android.webkit.*
 import android.widget.FrameLayout
 import android.widget.FrameLayout
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.fragment.app.FragmentActivity
+import androidx.lifecycle.lifecycleScope
 import com.alibaba.android.arouter.facade.annotation.Autowired
 import com.alibaba.android.arouter.facade.annotation.Autowired
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.launcher.ARouter
 import com.alibaba.android.arouter.launcher.ARouter
+import com.huantansheng.easyphotos.EasyPhotos
+import com.huantansheng.easyphotos.callback.SelectCallback
+import com.huantansheng.easyphotos.models.album.entity.Photo
 import com.swago.baseswago.R
 import com.swago.baseswago.R
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.constant.ARouteConstant
+import com.swago.baseswago.constant.UrlConstant
 import com.swago.baseswago.databinding.ActivityWebBinding
 import com.swago.baseswago.databinding.ActivityWebBinding
-import com.swago.baseswago.util.DpPxUtil
-import com.swago.baseswago.util.SwagoInfo
-import com.swago.baseswago.util.UserInfo
+import com.swago.baseswago.util.*
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
 import org.json.JSONObject
 import org.json.JSONObject
+import top.zibin.luban.Luban
+import top.zibin.luban.OnCompressListener
+import java.io.File
 
 
 /**
 /**
  *@date 2021/8/30 10:19
  *@date 2021/8/30 10:19
@@ -90,6 +101,61 @@ class WebViewActivity : BaseXActivity<ActivityWebBinding>() {
                 }
                 }
             }
             }
 
 
+            webChromeClient = object:WebChromeClient(){
+                override fun onShowFileChooser(
+                    webView: WebView?,
+                    filePathCallback: ValueCallback<Array<Uri>>?,
+                    fileChooserParams: FileChooserParams?
+                ): Boolean {
+                    var compressPicPath = ""
+                    EasyPhotos.createAlbum(
+                        this@WebViewActivity,
+                        true,
+                        false,
+                        GlideEngine.getInstance()
+                    )
+                        .setFileProviderAuthority(AppContext.getContext().packageName + "/fileprovider")
+                        .setCount(1)//参数说明:最大可选数,默认1
+                        .start(object : SelectCallback() {
+                            override fun onResult(
+                                p0: java.util.ArrayList<Photo>?,
+                                isOriginal: Boolean
+                            ) {
+                                if (p0 != null && p0.size > 0) {
+                                    //上传前压缩
+                                    Luban.with(this@WebViewActivity)
+                                        .load(p0[0].path)
+                                        .ignoreBy(100)
+                                        .setCompressListener(object : OnCompressListener {
+                                            override fun onStart() {
+                                            }
+
+                                            override fun onSuccess(file: File?) {
+                                               if (file == null){
+                                                   filePathCallback?.onReceiveValue(null)
+                                               }else{
+                                                   compressPicPath = file.toString()
+                                                   val array = Array<Uri>(1) {Uri.fromFile(File(compressPicPath))}
+                                                   filePathCallback?.onReceiveValue(array)
+                                               }
+                                            }
+
+                                            override fun onError(e: Throwable?) {
+                                                filePathCallback?.onReceiveValue(null)
+                                            }
+
+                                        }).launch()
+                                }
+                            }
+
+                            override fun onCancel() {
+                                filePathCallback?.onReceiveValue(null)
+                            }
+                        })
+                    return true
+                }
+            }
+
             //设置大小
             //设置大小
             val params = ConstraintLayout.LayoutParams(
             val params = ConstraintLayout.LayoutParams(
                 ViewGroup.LayoutParams.MATCH_PARENT,
                 ViewGroup.LayoutParams.MATCH_PARENT,
@@ -114,24 +180,32 @@ class WebViewActivity : BaseXActivity<ActivityWebBinding>() {
 
 
     override fun initLiveData() {}
     override fun initLiveData() {}
 
 
+
+    override fun onBackPressed() {
+        goBack()
+    }
     override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
     override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
         if (keyCode == KeyEvent.KEYCODE_BACK) {
         if (keyCode == KeyEvent.KEYCODE_BACK) {
-            webView?.let { webView->
-                if (webView.canGoBack()) {
-                    webView.url?.let {
-                        if (it.contains(url)) {
-                            webView.goBack()
-                        } else {
-                           finish()
-                        }
+            goBack()
+            return true
+        }
+        return false
+    }
+
+    private fun goBack() {
+        webView?.let { webView->
+            if (webView.canGoBack()) {
+                webView.url?.let {
+                    if (it.contains(url)  || it.contains("withdrawal")) {
+                        webView.goBack()
+                    } else {
+                        finish()
                     }
                     }
-                } else {
-                    finish()
                 }
                 }
+            } else {
+                finish()
             }
             }
-            return true
         }
         }
-        return false
     }
     }
 
 
     override fun onDestroy() {
     override fun onDestroy() {

+ 2 - 3
baseswago/src/main/java/com/swago/baseswago/constant/UrlConstant.kt

@@ -79,11 +79,10 @@ object UrlConstant {
     const val USER_PRIVACY = "http://agreement.swago.cn/html/privacyPolicy.html"
     const val USER_PRIVACY = "http://agreement.swago.cn/html/privacyPolicy.html"
 
 
     val TOP_UP = "${BASE_WEB_URL}/recharge/detail"
     val TOP_UP = "${BASE_WEB_URL}/recharge/detail"
-    val WITHDRAW = "${BASE_WEB_URL}/withdrawal"
     //家族长后台
     //家族长后台
     val FAMILY_MANAGEMENT = "${BASE_WEB_URL}/agent/guildIncome"
     val FAMILY_MANAGEMENT = "${BASE_WEB_URL}/agent/guildIncome"
-
-
+    val WITHDRAW = "${BASE_WEB_URL}/withdrawal" //主播家族长跳这个
+    val WITHDRAW_CUSTOMER = "${BASE_WEB_URL}/withdrawal/customer"//普通用户跳这个
 
 
     var appGameRootPath =
     var appGameRootPath =
         AppContext.getContext().getExternalFilesDir("")?.absolutePath + File.separator + "gameFile"
         AppContext.getContext().getExternalFilesDir("")?.absolutePath + File.separator + "gameFile"

+ 11 - 3
home/src/main/java/com/swago/home/MineFragment.kt

@@ -128,9 +128,17 @@ class MineFragment : BaseXFragment<FragmentMineBinding>() {
 
 
         binding.tvXWithdrawal.setOnClickListener(object:NoDoubleClickListener(){
         binding.tvXWithdrawal.setOnClickListener(object:NoDoubleClickListener(){
             override fun onClick() {
             override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.Base.webView)
-                    .withString("url", UrlConstant.WITHDRAW)
-                    .navigation()
+                UserInfo.getUserInfo()?.let {
+                    if (it.user_type == 0){
+                        ARouter.getInstance().build(ARouteConstant.Base.webView)
+                            .withString("url", UrlConstant.WITHDRAW_CUSTOMER)
+                            .navigation()
+                    }else{
+                        ARouter.getInstance().build(ARouteConstant.Base.webView)
+                            .withString("url", UrlConstant.WITHDRAW)
+                            .navigation()
+                    }
+                }
             }
             }
         })
         })