Commit 365418c0 authored by mengcuiguang's avatar mengcuiguang

Merge branch 'dev_vedio_quwuxian_241122_wxsign' of...

Merge branch 'dev_vedio_quwuxian_241122_wxsign' of http://gitlab.mints-id.com/android/android_vedio into dev_vedio_quwuxian_241122_wxsign
parents 06f25a75 31df150b
...@@ -57,8 +57,8 @@ import java.net.URLEncoder ...@@ -57,8 +57,8 @@ import java.net.URLEncoder
* 时间:2022/12/22 14:48 * 时间:2022/12/22 14:48
*/ */
class VipActivity : BaseActivity(), VipView, View.OnClickListener, class VipActivity : BaseActivity(), VipView, View.OnClickListener,
VipAdapter.OnItemClickListener, VipAdapter.OnItemClickListener,
CompoundButton.OnCheckedChangeListener { CompoundButton.OnCheckedChangeListener {
companion object { companion object {
const val IS_DETAIL = "IS_DETAIL"//是否从剧集详情页进入 const val IS_DETAIL = "IS_DETAIL"//是否从剧集详情页进入
...@@ -202,6 +202,8 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -202,6 +202,8 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
if (!TextUtils.isEmpty(bean.remarks)) { if (!TextUtils.isEmpty(bean.remarks)) {
tv_vip_hint.text = bean.remarks tv_vip_hint.text = bean.remarks
tv_vip_hint.visibility = View.VISIBLE tv_vip_hint.visibility = View.VISIBLE
tv_vip_back.visibility = View.VISIBLE
if (bean.isShowCycTips) { if (bean.isShowCycTips) {
tv_vip_hint.setTextColor(Color.parseColor("#FFAC5E")) tv_vip_hint.setTextColor(Color.parseColor("#FFAC5E"))
tv_vip_hint.textSize = 12f tv_vip_hint.textSize = 12f
...@@ -211,17 +213,18 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -211,17 +213,18 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
} }
} else { } else {
tv_vip_hint.visibility = View.INVISIBLE tv_vip_hint.visibility = View.INVISIBLE
tv_vip_back.visibility = View.INVISIBLE
} }
if (!TextUtils.isEmpty(bean.buttonText)) { if (!TextUtils.isEmpty(bean.buttonText)) {
if (bean.isShowCycTips) { if (bean.isShowCycTips) {
tvVipPay.text = SpanUtils() tvVipPay.text = SpanUtils()
.append(bean.buttonText + "\n") .append(bean.buttonText + "\n")
.setFontSize(20, true) .setFontSize(20, true)
.append(bean.remarks) .append(bean.remarks)
.setFontSize(10, true) .setFontSize(10, true)
.setForegroundColor(Color.parseColor("#A24240")) .setForegroundColor(Color.parseColor("#A24240"))
.create() .create()
} else { } else {
tvVipPay.text = bean.buttonText tvVipPay.text = bean.buttonText
} }
...@@ -252,7 +255,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -252,7 +255,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
1 -> { 1 -> {
wxPay(paramsBean, payToModel) wxPay(paramsBean, payToModel)
} }
else ->{ else -> {
wxPay(paramsBean, payToModel) wxPay(paramsBean, payToModel)
} }
} }
...@@ -285,7 +288,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -285,7 +288,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
4 -> { 4 -> {
goAlipaySignExecute(paramsBean.params.params) goAlipaySignExecute(paramsBean.params.params)
} }
else ->{ else -> {
alipay(paramsBean) alipay(paramsBean)
} }
} }
...@@ -314,7 +317,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -314,7 +317,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
if (data.expireTime > 0) { if (data.expireTime > 0) {
readyGo(MainActivity::class.java) readyGo(MainActivity::class.java)
val activity = val activity =
ActivityPageManager.getInstance().getActivity(MainActivity::class.java) ActivityPageManager.getInstance().getActivity(MainActivity::class.java)
if (activity != null && activity is MainActivity) { if (activity != null && activity is MainActivity) {
activity.clickTab4Layout() activity.clickTab4Layout()
} }
...@@ -331,7 +334,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -331,7 +334,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
when (keyCode) { when (keyCode) {
KeyEvent.KEYCODE_BACK -> { KeyEvent.KEYCODE_BACK -> {
if (UserManager.getInstance().newFlag if (UserManager.getInstance().newFlag
&& vipList != null && vipList!!.size > 0 && vipList != null && vipList!!.size > 0
) { ) {
vipAdapter.setPosition(0) vipAdapter.setPosition(0)
vipAdapter.notifyDataSetChanged() vipAdapter.notifyDataSetChanged()
...@@ -353,7 +356,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -353,7 +356,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
when (v?.id) { when (v?.id) {
R.id.ic_vip_quit -> { R.id.ic_vip_quit -> {
if (UserManager.getInstance().newFlag && if (UserManager.getInstance().newFlag &&
vipList != null && vipList!!.size > 0 vipList != null && vipList!!.size > 0
) { ) {
vipAdapter.setPosition(0) vipAdapter.setPosition(0)
vipAdapter.notifyDataSetChanged() vipAdapter.notifyDataSetChanged()
...@@ -376,9 +379,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -376,9 +379,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
agreementPayDialog() agreementPayDialog()
} else { } else {
vipPresenter.getVipPayParams( vipPresenter.getVipPayParams(
payType, payType,
vipBean.pid, isAliPayInstalled(), vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY ENTER_TYPE_ACTIVITY
) )
} }
} else { } else {
...@@ -401,6 +404,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -401,6 +404,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
iv_vip_wx.setImageResource(R.mipmap.ic_vip_enable_blue) iv_vip_wx.setImageResource(R.mipmap.ic_vip_enable_blue)
iv_vip_alipay.setImageResource(R.mipmap.ic_vip_none) iv_vip_alipay.setImageResource(R.mipmap.ic_vip_none)
} }
R.id.tv_vip_back -> {
VipBackDialog(this).show()
}
} }
} }
...@@ -418,16 +424,16 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -418,16 +424,16 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
shimmer_text?.postDelayed({ shimmer_text?.postDelayed({
shimmer_text?.startShimmerAnimation() shimmer_text?.startShimmerAnimation()
breathAnim = breathAnim =
YoYo.with(Techniques.Pulse).duration(700).repeat(-1).playOn(shimmer_text) YoYo.with(Techniques.Pulse).duration(700).repeat(-1).playOn(shimmer_text)
}, 200) }, 200)
ic_vip_quit.setOnClickListener(this) ic_vip_quit.setOnClickListener(this)
tvVipPay.setOnClickListener(this) tvVipPay.setOnClickListener(this)
tvVipAgreement.setOnClickListener(this) tvVipAgreement.setOnClickListener(this)
tv_vip_back.setOnClickListener(this)
ll_vip_alipay.setOnClickListener(this) ll_vip_alipay.setOnClickListener(this)
ll_vip_wx.setOnClickListener(this) ll_vip_wx.setOnClickListener(this)
cbVipAgreement.setOnCheckedChangeListener(this) cbVipAgreement.setOnCheckedChangeListener(this)
} }
override fun onItemClick(position: Int) { override fun onItemClick(position: Int) {
...@@ -441,6 +447,10 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -441,6 +447,10 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
} }
fun wxPay(wxParanBean: WxPayParamBean, payToModel: Int) { fun wxPay(wxParanBean: WxPayParamBean, payToModel: Int) {
if (payToModel == 1) {
// 纯签约
AppConfig.enterAlipay = true
}
val data = wxParanBean.params val data = wxParanBean.params
//实例化微信支付策略 //实例化微信支付策略
val wxPay: WXPay = WXPay.getInstance() val wxPay: WXPay = WXPay.getInstance()
...@@ -554,9 +564,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -554,9 +564,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
if (vipList != null && vipList!!.size > 0) { if (vipList != null && vipList!!.size > 0) {
val vipBean = vipList!![vipAdapter.getPosition()] val vipBean = vipList!![vipAdapter.getPosition()]
vipPresenter.getVipPayParams( vipPresenter.getVipPayParams(
payType, payType,
vipBean.pid, isAliPayInstalled(), vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_DIALOG ENTER_TYPE_DIALOG
) )
} else { } else {
...@@ -602,19 +612,19 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -602,19 +612,19 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
when (v.id) { when (v.id) {
R.id.tv_agreement_next -> { R.id.tv_agreement_next -> {
vipPresenter.getVipPayParams( vipPresenter.getVipPayParams(
payType, payType,
vipBean.pid, isAliPayInstalled(), vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY ENTER_TYPE_ACTIVITY
) )
} }
} }
} }
}) })
ruleAgreementDialog!!.setText( ruleAgreementDialog!!.setText(
vipBean.remarks, vipBean.remarks,
vipBean.trialFirstDay, vipBean.trialFirstDay,
vipBean.price, vipBean.price,
vipBean.title vipBean.title
) )
ruleAgreementDialog!!.show() ruleAgreementDialog!!.show()
} else { } else {
...@@ -644,9 +654,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -644,9 +654,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
agreementPayDialog() agreementPayDialog()
} else { } else {
vipPresenter.getVipPayParams( vipPresenter.getVipPayParams(
payType, payType,
vipBean.pid, isAliPayInstalled(), vipBean.pid, isAliPayInstalled(),
ENTER_TYPE_ACTIVITY ENTER_TYPE_ACTIVITY
) )
} }
} else { } else {
...@@ -668,7 +678,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -668,7 +678,7 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
private fun setBanner(data: List<VedioBean>) { private fun setBanner(data: List<VedioBean>) {
mainHandler.postDelayed({ mainHandler.postDelayed({
val scrollToBottomAnimator = val scrollToBottomAnimator =
ValueAnimator.ofInt(0, nsv.getChildAt(0).height - nsv.height) ValueAnimator.ofInt(0, nsv.getChildAt(0).height - nsv.height)
scrollToBottomAnimator.addUpdateListener { animator -> scrollToBottomAnimator.addUpdateListener { animator ->
val value = animator.animatedValue as Int val value = animator.animatedValue as Int
nsv.scrollTo(0, value) nsv.scrollTo(0, value)
...@@ -690,23 +700,23 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -690,23 +700,23 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
val adapter = VipBannerAdapter(data) val adapter = VipBannerAdapter(data)
// 绑定生命周期 // 绑定生命周期
vip_banner.addBannerLifecycleObserver(this) vip_banner.addBannerLifecycleObserver(this)
.setBannerGalleryEffect(80, 15, 0.8f) .setBannerGalleryEffect(80, 15, 0.8f)
.setAdapter(adapter) .setAdapter(adapter)
.addOnPageChangeListener(object : OnPageChangeListener { .addOnPageChangeListener(object : OnPageChangeListener {
override fun onPageScrolled( override fun onPageScrolled(
position: Int, position: Int,
positionOffset: Float, positionOffset: Float,
positionOffsetPixels: Int positionOffsetPixels: Int
) { ) {
} }
override fun onPageSelected(position: Int) { override fun onPageSelected(position: Int) {
GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur) GlideUtils.loadBlurImageView(mContext, data[position].coverImage, iv_blur)
tv_banner_title.text = String.format("《%1s》", data[position].title) tv_banner_title.text = String.format("《%1s》", data[position].title)
} }
override fun onPageScrollStateChanged(state: Int) {} override fun onPageScrollStateChanged(state: Int) {}
}) })
GlideUtils.loadBlurImageView(mContext, data[0].coverImage, iv_blur) GlideUtils.loadBlurImageView(mContext, data[0].coverImage, iv_blur)
tv_banner_title.text = String.format("《%1s》", data[0].title) tv_banner_title.text = String.format("《%1s》", data[0].title)
} }
...@@ -744,11 +754,11 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -744,11 +754,11 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
try { try {
// val alipayAppId = "2021004157617228" // val alipayAppId = "2021004157617228"
val path = val path =
"app_uid=" + UserManager.getInstance().userID + "&package_app=" + Constant.MINTS_PKG_NAME//这里是传的参数 "app_uid=" + UserManager.getInstance().userID + "&package_app=" + Constant.MINTS_PKG_NAME//这里是传的参数
val link = URLEncoder.encode(path, "UTF-8")//这里是encode传的参数 val link = URLEncoder.encode(path, "UTF-8")//这里是encode传的参数
val url = val url =
// "alipays://platformapi/startapp?appId=2021004129666486&page=pages/loading&query=" + link // "alipays://platformapi/startapp?appId=2021004129666486&page=pages/loading&query=" + link
"alipays://platformapi/startapp?appId=" + alipayAppId + "&page=pages/loading&query=" + link "alipays://platformapi/startapp?appId=" + alipayAppId + "&page=pages/loading&query=" + link
val uri = Uri.parse(url) // url为你要链接的地址 val uri = Uri.parse(url) // url为你要链接的地址
val intent = Intent(Intent.ACTION_VIEW, uri) val intent = Intent(Intent.ACTION_VIEW, uri)
startActivity(intent) startActivity(intent)
...@@ -765,9 +775,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -765,9 +775,9 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
val req = WXLaunchMiniProgram.Req() val req = WXLaunchMiniProgram.Req()
req.userName = "gh_439c32026e1b" // 填小程序原始id req.userName = "gh_439c32026e1b" // 填小程序原始id
req.path = req.path =
"/pages/loading?testApp1=mcg1&testApp2=mcg2" ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 "/pages/loading?testApp1=mcg1&testApp2=mcg2" ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = req.miniprogramType =
WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版 WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
api.sendReq(req) api.sendReq(req)
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
...@@ -786,19 +796,19 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener, ...@@ -786,19 +796,19 @@ class VipActivity : BaseActivity(), VipView, View.OnClickListener,
val map: MutableMap<String, String> = HashMap() val map: MutableMap<String, String> = HashMap()
map["sign_params"] = signParams map["sign_params"] = signParams
openAuthTask.execute( openAuthTask.execute(
"com.duben.infinitefunjia.ui.activitys.VipActivity", "com.duben.infinitefunjia.ui.activitys.VipActivity",
OpenAuthTask.BizType.Deduct, OpenAuthTask.BizType.Deduct,
map, map,
{ resultCode: Int, memo: String?, bundle: Bundle -> { resultCode: Int, memo: String?, bundle: Bundle ->
if (resultCode == OpenAuthTask.OK) { if (resultCode == OpenAuthTask.OK) {
// 对业务完成的结果做后续处理 // 对业务完成的结果做后续处理
} else { } else {
// 对业务失败的结果做后续处理 // 对业务失败的结果做后续处理
showToast("支付失败") showToast("支付失败")
} }
}, },
true true
) )
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
......
package com.duben.infinitefunjia.ui.widgets
import android.app.Dialog
import android.content.Context
import android.graphics.Color
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import android.widget.TextView
import androidx.core.content.ContextCompat
import com.duben.infinitefunjia.R
import com.duben.infinitefunjia.utils.SpanUtils
class VipBackDialog(private val context: Context) : Dialog(context, R.style.dialog) {
private val lp: WindowManager.LayoutParams
private val tv_text1: TextView
private val tv_text2: TextView
private val tv_ok: TextView
init {
setContentView(R.layout.dialog_vip_back)
// 设置window属性
lp = window!!.attributes
lp.gravity = Gravity.CENTER
lp.width = WindowManager.LayoutParams.MATCH_PARENT
lp.windowAnimations = R.style.DialogAnimBottom
window!!.attributes = lp
tv_text1 = findViewById<View>(R.id.tv_text1) as TextView
tv_text2 = findViewById<View>(R.id.tv_text2) as TextView
tv_ok = findViewById<View>(R.id.tv_ok) as TextView
tv_text1.text = SpanUtils()
.append("参与条件:")
.setBold()
.setForegroundColor(Color.BLACK)
.append(" 全额返活动仅限带有“下单立返标签的会员套餐参与,购买套餐且开通自动续费持续30分钟以上的用户可获得全额返资格;")
.setForegroundColor(ContextCompat.getColor(context,R.color.gray))
.create()
tv_text2.text = SpanUtils()
.append("返还时间:")
.setBold()
.setForegroundColor(Color.BLACK)
.append(" 获得资格的用户在购买套餐并开通自动续费后的30分钟内返还。")
.setForegroundColor(ContextCompat.getColor(context,R.color.gray))
.create()
tv_ok.setOnClickListener { dismiss() }
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#FBF3DE"
android:startColor="#ffffff" />
<corners android:radius="15dip" />
</shape>
\ No newline at end of file
...@@ -106,7 +106,6 @@ ...@@ -106,7 +106,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:src="@mipmap/bg_vip_2" /> android:src="@mipmap/bg_vip_2" />
<ImageView <ImageView
...@@ -250,7 +249,7 @@ ...@@ -250,7 +249,7 @@
android:layout_marginLeft="40dp" android:layout_marginLeft="40dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="40dp" android:layout_marginRight="40dp"
android:layout_marginBottom="10dp" android:layout_marginBottom="5dp"
app:shimmer_animation_duration="1200" app:shimmer_animation_duration="1200"
app:shimmer_color="#50ffffff"> app:shimmer_color="#50ffffff">
...@@ -265,5 +264,14 @@ ...@@ -265,5 +264,14 @@
android:textSize="20sp" /> android:textSize="20sp" />
</io.supercharge.shimmerlayout.ShimmerLayout> </io.supercharge.shimmerlayout.ShimmerLayout>
<TextView
android:id="@+id/tv_vip_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="全额返规则"
android:textColor="#97ffffff"
android:textSize="12sp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginStart="40dp"
android:layout_marginEnd="40dp"
android:background="@drawable/shape_vip_back"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="20dp"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="客服联系方式"
android:textColor="@color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:lineSpacingExtra="4dp"
android:text="点击拨打"
android:textColor="#828383"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_4"
android:lineSpacingExtra="4dp"
android:text="点击拨打"
android:textColor="#828383"
android:textSize="14sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_ok"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_gravity="center"
android:layout_marginStart="20dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:background="@drawable/shape_red"
android:gravity="center"
android:text="我知道了"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment