lmw
2024-10-25 314b67e56f24f7bce040ae2b5d57c7eac7b197a9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package com.sinata.xqmuse.ui.mine
 
import android.webkit.WebChromeClient
import android.webkit.WebSettings
import android.webkit.WebViewClient
import androidx.recyclerview.widget.GridLayoutManager
import cn.sinata.xldutils.gone
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.H5Activity
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.ui.mine.adapter.VipPriceAdapter
import kotlinx.android.synthetic.main.activity_vip.*
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.startActivityForResult
import org.jetbrains.anko.toast
 
class VipActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_vip
 
    private val price = arrayListOf<Double>()
    private val adapter = VipPriceAdapter(price)
 
    override fun initClick() {
        iv_back.setOnClickListener { finish() }
        adapter.setOnItemClickListener { view, position ->
            adapter.checked = position
            adapter.notifyDataSetChanged()
        }
        tv_rule.setOnClickListener {
            HttpManager.getVipContent(2).request(this){ _, data->
                data?.let {
                    startActivityForResult<H5Activity>(1,"title" to "会员用户协议","url" to "","showClose" to true)
                }
            }
        }
 
        tv_action.setOnClickListener {
            if (cb_rule.isChecked){
 
            }else
                toast("请阅读并同意《》")
        }
    }
 
    override fun initView() {
        titleBar.gone()
        rv_price.layoutManager = GridLayoutManager(this,3)
        rv_price.adapter = adapter
        val settings = webView.settings
        settings.javaScriptEnabled = true
        settings.javaScriptCanOpenWindowsAutomatically = true
        settings.defaultTextEncodingName = "utf-8"
        settings.domStorageEnabled = true
        settings.setSupportZoom(true)
//        settings.textZoom = 200
        settings.useWideViewPort = true
        settings.loadWithOverviewMode = true
        settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING
        webView.webChromeClient = object : WebChromeClient() {}
        webView.webViewClient = object : WebViewClient() {}
        showVipInfo()
        getPrice()
        getH5()
    }
 
    private fun showVipInfo() {
        HttpManager.getUserInfo().request(this){_,data->
            data?.apply {
                tv_vip.text = if (isVip == 2){
                    bg_vip.backgroundResource = R.mipmap.no_vip
                    "你还未开通会员服务"
                } else{
                    bg_vip.backgroundResource = R.mipmap.bg_vip
                    "${vipExpireTime.substring(0,10)}到期"
                }
            }
        }
    }
 
    private fun getPrice() {
        HttpManager.getVipPrice().request(this){_,data->
            data?.apply {
                price.clear()
                price.add(monthlyVip)
                price.add(quarterlyVip)
                price.add(annualVip)
                adapter.notifyDataSetChanged()
            }
        }
    }
 
    private fun getH5(){
        HttpManager.getVipContent(1).request(this){_,data->
            val sHead =
                "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>"
            webView!!.loadDataWithBaseURL(
                null,
                sHead + data,
                "text/html",
                "utf-8",
                null
            )
        }
    }
 
}