From 2f204867ad034d3a95ba9acc112d6507f296447b Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 23 十月 2024 18:20:43 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt |  136 +++++++++++++--------------------------------
 1 files changed, 39 insertions(+), 97 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt
index beb54e1..d6eaf04 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/ShareActivity.kt
@@ -1,126 +1,68 @@
 package com.sinata.xqmuse.ui.mine
 
-import android.Manifest
-import android.content.Intent
 import android.os.Bundle
+import android.webkit.WebChromeClient
+import android.webkit.WebSettings
+import android.webkit.WebViewClient
 import cn.sinata.xldutils.activity.BaseActivity
-import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SPUtils
-import cn.sinata.xldutils.utils.myToast
-import cn.sinata.xldutils.visible
 import com.github.zackratos.ultimatebar.UltimateBar
 import com.sinata.xqmuse.R
-import com.sinata.xqmuse.dialog.TipDialog
-import com.sinata.xqmuse.network.Apis
+import com.sinata.xqmuse.dialog.ShareDialog
 import com.sinata.xqmuse.network.HttpManager
 import com.sinata.xqmuse.network.request
-import com.sinata.xqmuse.ui.home.ScannerActivity
-import com.sinata.xqmuse.utils.extention.clickDelay
-import com.sinata.xqmuse.utils.getQRcodeImg
-import com.tbruyelle.rxpermissions2.RxPermissions
+import com.sinata.xqmuse.utils.interfaces.StringCallback
 import kotlinx.android.synthetic.main.activity_share.*
-import org.jetbrains.anko.bundleOf
-import org.jetbrains.anko.startActivityForResult
-import org.jetbrains.anko.toast
+import org.jetbrains.anko.backgroundColor
 
 class ShareActivity:BaseActivity() {
-    private val code by lazy {  //不为空则需要直接绑定
-        intent.getStringExtra("code")
-    }
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_share)
-        titleBar.leftClick { finish() }
         UltimateBar.with(this)
             .statusDark(true)
             .create().immersionBar() //沉浸状态栏
-        titleBar.titleView.text = "好友推广"
+        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() {}
+        webView.backgroundColor = 0
+        webView.background.alpha = 0
         getShareInfo()
-        iv_scan.clickDelay {
-            val rxPermissions = RxPermissions(this)
-            if (rxPermissions.isGranted(Manifest.permission.CAMERA))
-                startActivityForResult<ScannerActivity>(1)
-            else if ((SPUtils.instance().getBoolean("CAMERA_REFUSE")))
-                myToast("没有相机权限")
-            else{
-                val tipDialog = cn.sinata.xldutils.widget.TipDialog()
-                tipDialog.arguments =
-                    bundleOf("msg" to "为了扫描好友二维码,我们需要获取相机访问权限", "ok" to "去授权", "cancel" to "不需要")
-                tipDialog.setCallback(object : cn.sinata.xldutils.widget.TipDialog.OnClickCallback {
-                    override fun onOk() {
-                        rxPermissions.request(Manifest.permission.CAMERA)
-                            .subscribe {
-                                if (it) {
-                                    startActivityForResult<ScannerActivity>(1)
-                                } else{
-                                    SPUtils.instance().put("CAMERA_REFUSE", true).apply()
-                                    myToast("没有相机权限")
-                                }
-                            }
-                    }
+        iv_back.setOnClickListener { finish() }
+        tv_action.setOnClickListener {
+            val shareDialog = ShareDialog()
+            shareDialog.callback = object :StringCallback{
+                override fun onResult(rst: String) {
 
-                    override fun onCancel() {
-                        SPUtils.instance().put("CAMERA_REFUSE", true).apply()
-                    }
-                })
-                tipDialog.show(supportFragmentManager, "camera")
-            }
-        }
-        tv_bind.clickDelay {
-            val code = et_code.text.toString()
-            if (code.length!=6)
-                myToast("请填写6位邀请码")
-            else
-                HttpManager.getBindingUserName(code).request(this){_,data->
-                    TipDialog.show(supportFragmentManager,"确认绑定用户“${data}”吗?",object : TipDialog.OnClickCallback{
-                        override fun onOk() {
-                            HttpManager.binding(code).request(this@ShareActivity){_,_->
-                                myToast("绑定成功")
-                                getShareInfo()
-                            }
-                        }
-
-                        override fun onCancel() {
-                        }
-                    })
                 }
+            }
+            shareDialog.show(supportFragmentManager,"share")
         }
     }
 
     private fun getShareInfo(){
-        HttpManager.peopleList().request(this){_,data->
-            tv_rule.text = data?.content
-            tv_my_friend.text = "我邀请的好友:${if (data?.people.isNullOrEmpty()) "暂未绑定" else data!!.people}"
-            tv_my_invitor.text = data?.invite
-            iv_code.setImageBitmap(getQRcodeImg(this, Apis.SHARE_URL+data?.code))
-
-            if (data?.invite?.isNullOrEmpty() == true){
-                iv_scan.visible()
-                tv_bind.visible()
-                et_code.visible()
-                if (!code.isNullOrEmpty()){
-                    et_code.setText(code)
-                    tv_bind.callOnClick()
-                }
-            }else{
-                iv_scan.gone()
-                tv_bind.gone()
-                et_code.gone()
-                if (!code.isNullOrEmpty()){
-                    myToast("你已经绑定过邀请人")
-                }
+        HttpManager.shareInfo().request(this){_,data->
+            data?.apply {
+                iv_code.setImageURI(qrCode)
+                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 + rules,
+                    "text/html",
+                    "utf-8",
+                    null
+                )
             }
         }
     }
 
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        if (resultCode == RESULT_OK&&data!=null){
-            val rst = data.getStringExtra("result")?:""
-            if (rst.startsWith(Apis.SHARE_URL))
-                et_code.setText(rst.substring(rst.length-6))
-            else
-                myToast("二维码错误")
-        }
-    }
 }
\ No newline at end of file

--
Gitblit v1.7.1