18034727885
2026-07-09 f35664f0ad753df3dc4ca3b47c2f91263973af34
app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt
@@ -1,29 +1,26 @@
package com.igo.user.ui.logistics
import android.app.Activity
import android.graphics.Typeface
import android.annotation.SuppressLint
import android.util.Log
import android.util.TypedValue
import android.view.View
import android.webkit.WebSettings
import android.webkit.WebView
import android.widget.CheckBox
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.hide
import cn.sinata.xldutils.invisible
import cn.sinata.xldutils.toBrowser
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optDouble
import cn.sinata.xldutils.utils.optInt
import cn.sinata.xldutils.utils.optString
import cn.sinata.xldutils.utils.toTime
import cn.sinata.xldutils.visible
import com.igo.user.IGoApplication
import com.igo.user.R
import com.igo.user.dialog.ChooseCardDialog
import com.igo.user.dialog.PayDialog
import com.igo.user.extension.safeLoadDataWithBaseURL
import com.igo.user.extension.setSafeSetting
import com.igo.user.interfaces.StringCallback
import com.igo.user.network.HttpManager
import com.igo.user.network.entity.Order
@@ -31,19 +28,17 @@
import com.igo.user.ui.H5Activity
import com.igo.user.ui.TransparentStatusBarActivity
import com.igo.user.ui.crosscity.PayCrossActivity
import com.igo.user.ui.trip.OrderDetailActivity
import com.igo.user.ui.trip.TripActivity
import com.igo.user.utils.Const
import com.igo.user.utils.pay.PayListener
import com.igo.user.utils.pay.PayUtil
import com.igo.user.utils.showMoney
import org.jetbrains.anko.find
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.support.v4.startActivity
class LogisticsGuideActivity : TransparentStatusBarActivity(), PayListener {
    override fun setContentView() = R.layout.activity_logistics_guide
    private val webView by lazy { find<WebView>(R.id.webView) }
    private val tv_rule by lazy { find<TextView>(R.id.tv_rule) }
    private val tv_action by lazy { find<TextView>(R.id.tv_action) }
    private val cb_rule by lazy { find<CheckBox>(R.id.cb_rule) }
@@ -98,10 +93,60 @@
    override fun initView() {
        title = getString(R.string.邮寄快件指南)
        if (SPUtils.instance().getString("language", "en") == "fr") { //解决法文标题过长问题
        if (LanguageUtil.getLanguage() == Const.Language.FRENCH) { //解决法文标题过长问题
            titleBar.titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12f)
        }
        PayUtil.addPayListener(this)
        initWeb(webView)
        initRule()
    }
    //初始化规格
    private fun initRule() {
        HttpManager.getH5(15, Const.Language.CHINESE).request(this, showDialog = true) { _, data ->
            data?.optString("content")?.also {
                setContent(webView, it)
            }
        }
    }
    @SuppressLint("SetJavaScriptEnabled")
    private fun initWeb(webView: WebView) {
        webView.isHorizontalScrollBarEnabled = false
        //声明WebSettings子类
        val webSettings = webView.settings
        webSettings.domStorageEnabled = true //设置适应Html5
        //如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
        webSettings.javaScriptEnabled = true //允许js调用
        webSettings.allowContentAccess = true //是否允许在WebView中访问内容URL(Content Url),默认允许
        //缩放操作
        webSettings.setSupportZoom(false) //支持缩放,默认为true。是下面那个的前提。
        webSettings.builtInZoomControls = false //设置内置的缩放控件。若为false,则该WebView不可缩放
        webSettings.displayZoomControls = false //不显示缩放按钮
        //其他细节操作
        webSettings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK //关闭webview中缓存
        webSettings.javaScriptCanOpenWindowsAutomatically = true //支持通过JS打开新窗口
        webSettings.loadsImagesAutomatically = true //支持自动加载图片
        webSettings.defaultTextEncodingName = "utf-8" //设置编码格式
        webView.setSafeSetting()//安全设置
    }
    @SuppressLint("SetJavaScriptEnabled")
    private fun setContent(webView: WebView, content: String?) {
        content?.let {
            // 加载并显示HTML代码
            webView.safeLoadDataWithBaseURL(
                null,
                content,
                "text/html",
                "utf-8",
                null
            )
        }
    }
    private fun createOrder() {