| | |
| | | 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 |
| | |
| | | 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) } |
| | |
| | | |
| | | 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() { |