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