Commit 11b2ef80 by konghaorui

补充红包页面

parent fc9aaf35
ext {
kotlin_version = "1.3.21"
dev_mode = false
dev_mode = true
ydl_app = [
appName : "心理咨询壹点灵",
......
......@@ -5,13 +5,13 @@ import android.annotation.SuppressLint
import android.os.Handler
import android.text.TextUtils
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.channel.ydl_flutter_base.base.BaseFlutterFragment
import com.google.gson.Gson
import com.ydl.ydl_router.manager.YDLRouterManager
import com.ydl.ydlcommon.data.http.BaseResponse
import com.ydl.ydlcommon.data.http.RxUtils
import com.ydl.ydlcommon.data.http.ThrowableConsumer
import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.router.YdlCommonRouterManager
import com.ydl.ydlcommon.utils.YDLCacheUtils
import com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
......@@ -23,6 +23,7 @@ import com.yidianling.course.flutterPlugin.CourseSendPlugin
import com.yidianling.course.net.CourseRetrofitUtils
import com.yidianling.course.router.CourseIn
import com.yidianling.course.widget.CourseCouponDialog
import com.yidianling.user.api.service.IAppService
import io.flutter.view.FlutterView
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.Consumer
......@@ -136,9 +137,7 @@ class FlutterCourseHomeFragment : BaseFlutterFragment() {
dialog!!.dismiss()
//查看我的卡券
ARouter.getInstance().build("/mine/redpacket")
.withString("is_from_main", "1")
.navigation()
ModularServiceManager.provide(IAppService::class.java).myRedPockIntent(activity)
}
}
})
......
......@@ -155,7 +155,6 @@ object ImIn {
}
fun sendRedPacketIntent(activity: Activity, toUid: String,code:Int){
//getAppService().sendRedPacketIntent(activity, toUid)
ARouter.getInstance().build("/main/sendRedPacket").withString("to_uid",toUid).navigation(activity,code)
}
......
......@@ -182,7 +182,11 @@
android:name="com.yidianling.user.mine.PhoneChangeActivity"
android:theme="@style/platform_NoTitleTheme"
android:screenOrientation="portrait" />
<activity
android:name=".mine.SendRedPacketActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"
android:theme="@style/platform_NoTitleTheme"/>
</application>
</manifest>
\ No newline at end of file
......@@ -8,6 +8,8 @@ import com.ydl.ydlcommon.data.http.BaseAPIResponse
import com.ydl.ydlcommon.data.http.BaseResponse
import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.http.response.*
import com.yidianling.user.mine.bean.RedPackDataForRegister
import com.yidianling.user.mine.bean.RedPacketId
import io.reactivex.Observable
import okhttp3.RequestBody
import retrofit2.http.*
......@@ -177,4 +179,9 @@ interface UserApi {
//获取隐私政策数据
@GET("site/get-privacy-content")
fun getSecretData(): Observable<BaseResponse<SecretResponse>>
//获取红包单号
@FormUrlEncoded
@POST("uc/ready-bonus")
fun getRedPacketId(@FieldMap params: Map<String, String>): Observable<BaseResponse<RedPacketId>>
}
\ No newline at end of file
......@@ -12,6 +12,9 @@ import com.yidianling.user.http.response.CheckPassword
import com.yidianling.user.http.response.CountryResponse
import com.yidianling.user.http.response.ExistResponse
import com.yidianling.user.http.response.SecretResponse
import com.yidianling.user.mine.bean.RedPackDataForRegister
import com.yidianling.user.mine.bean.RedPacketId
import com.yidianling.user.mine.bean.RedPacketIdCmd
import io.reactivex.Observable
/**
......@@ -64,4 +67,6 @@ interface UserHttp {
fun unBindThirdLogin(param: UnBindThirdLoginParam): Observable<BaseResponse<Any>>
fun getSecretData(): Observable<BaseResponse<SecretResponse>>
fun getRedPacketId(param: RedPacketIdCmd): Observable<BaseResponse<RedPacketId>>
}
\ No newline at end of file
......@@ -12,14 +12,17 @@ import com.ydl.ydlcommon.router.YdlCommonOut
import com.ydl.ydlnet.YDLHttpUtils
import com.yidianling.common.tools.RxAppTool
import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.UserHelper
import com.yidianling.user.api.bean.UserResponseBean
import com.yidianling.user.bean.CheckPhonePassBean
import com.yidianling.user.http.request.*
import com.yidianling.user.http.response.CheckPassword
import com.yidianling.user.http.response.CountryResponse
import com.yidianling.user.http.response.ExistResponse
import com.yidianling.user.http.response.SecretResponse
import com.yidianling.user.mine.bean.RedPackDataForRegister
import com.yidianling.user.mine.bean.RedPacketId
import com.yidianling.user.mine.bean.RedPacketIdCmd
import com.yidianling.user.rxlogin.LoginObservable
import io.reactivex.Observable
import io.reactivex.schedulers.Schedulers
......@@ -195,6 +198,10 @@ class UserHttpImpl private constructor() : UserHttp {
return getUserApi().getSecretData()
}
override fun getRedPacketId(param: RedPacketIdCmd): Observable<BaseResponse<RedPacketId>> {
return RxUtils.mapObservable(param)
.flatMap { getUserApi().getRedPacketId(it) }
}
private object Holder {
val INSTANCE = UserHttpImpl()
......
package com.yidianling.user.mine.bean
import java.io.Serializable
/**
* 注册成功红包数据
*/
class RedPackDataForRegister : Serializable{
var listenCouponMoney : String? = null
var courseCouponMoney : String? = null
var listenLinkUrl : String? = null
var courseLinkUrl : String? = null
}
\ No newline at end of file
package com.yidianling.user.mine.bean
/**
* Created by hgw on 2018/3/23.
*/
class RedPacketId {
var payId: String? = null//支付id
var money: String? = null//红包金额
var title: String? = null
var pocket_id: String? = null//红包id
}
\ No newline at end of file
package com.yidianling.user.mine.bean
/**
* 获取红包单号
* Created by hgw on 2018/3/23.
*/
class RedPacketIdCmd{
var to_uid: String? = null
var money: String? = null
var title:String?=null
constructor(to_uid: String?, money: String?,title:String?){
this.to_uid = to_uid
this.money = money
this.title=title
}
}
\ No newline at end of file
package com.yidianling.user.mine.view
import android.content.Context
import android.util.AttributeSet
import android.view.View
import android.widget.LinearLayout
import com.ydl.ydlcommon.view.RoundCornerButton
import com.yidianling.user.R
import java.util.*
/**
* Created by Emma on 2016/8/5.
*/
class RedPacketGridView : LinearLayout {
internal var mList: MutableList<RoundCornerButton> = ArrayList()
// @BindView(R.id.rcb_01)
internal var rcb_01: RoundCornerButton?=null
// @BindView(R.id.rcb_02)
internal var rcb_02: RoundCornerButton?=null
// @BindView(R.id.rcb_03)
internal var rcb_03: RoundCornerButton?=null
// @BindView(R.id.rcb_04)
internal var rcb_04: RoundCornerButton?=null
// @BindView(R.id.rcb_05)
internal var rcb_05: RoundCornerButton?=null
// @BindView(R.id.rcb_06)
internal var rcb_06: RoundCornerButton?=null
private var itemClickListener: ItemClickListener? = null
val childList: List<RoundCornerButton>
get() = mList
private fun initView() {
rcb_01 = findViewById(R.id.rcb_01)
rcb_02 = findViewById(R.id.rcb_02)
rcb_03 = findViewById(R.id.rcb_03)
rcb_04 = findViewById(R.id.rcb_04)
rcb_05 = findViewById(R.id.rcb_05)
rcb_06 = findViewById(R.id.rcb_06)
}
constructor(context: Context) : super(context) {
View.inflate(context, R.layout.ui_recharge_gv, this)
initView()
init()
}
constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {
View.inflate(context, R.layout.ui_recharge_gv, this)
initView()
init()
}
constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
View.inflate(context, R.layout.ui_recharge_gv, this)
initView()
init()
}
internal fun init() {
mList.clear()
mList.add(rcb_01!!)
mList.add(rcb_02!!)
mList.add(rcb_03!!)
mList.add(rcb_04!!)
mList.add(rcb_05!!)
mList.add(rcb_06!!)
for (i in mList.indices) {
mList[i].setStroke(0, 0x00000000)
}
setListener()
}
fun setFirstBg(c: Int) {
rcb_01?.setBg(c)
}
fun setListener() {
for (i in mList.indices) {
mList[i].setOnClickListener { view ->
if (itemClickListener != null)
itemClickListener!!.clickItem(view, i)
}
}
}
fun setItemClickListener(itemClickListener: ItemClickListener) {
this.itemClickListener = itemClickListener
}
interface ItemClickListener {
fun clickItem(view: View, position: Int)
}
fun setTexts(names: List<String>) {
for (i in mList.indices) {
mList[i].text = names[i]
}
}
}
......@@ -5,6 +5,9 @@ import android.content.Context
import android.os.Bundle
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
import com.ydl.webview.H5Params
import com.ydl.webview.NewH5Activity
import com.ydl.ydlcommon.base.config.HttpConfig
import com.yidianling.user.api.service.IAppService
......@@ -28,7 +31,11 @@ class AppServiceImpl: IAppService {
}
override fun myRedPockIntent(activity: Activity) {
ARouter.getInstance().build("/mine/redpacket").navigation()
NewH5Activity.start(activity, H5Params(HttpConfig.H5_URL + "coupon/my-coupon", "红包卡券"),"使用说明") {
val RedPacketIntroUrl = "https://h2.yidianling.com/ex-help/98"
val h5Params = H5Params(RedPacketIntroUrl, "使用说明")
NewH5Activity.start(activity, h5Params)
}
}
override fun receiverRedPacketIntent(activity: Activity, param: String) {
......
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="400"
android:fromXDelta="0%"
android:toXDelta="-39%p"
android:fillAfter="true"
/>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.ydl.ydlcommon.view.TitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/title_bar_height"
android:background="#d3574c"
app:pa_left_start_icon="@drawable/platform_common_back"
app:pa_title_bar_text_color="#ffffff"
app:pa_title_text="感恩红包" />
<ImageView
android:id="@+id/iv_diver"
android:layout_width="match_parent"
android:layout_height="@dimen/divide_line_stroke_width"
android:layout_below="@+id/title_bar"
android:background="#EDEDED" />
<ScrollView
android:id="@+id/sv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_diver"
android:overScrollMode="never">
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/platform_default_dis_size"
android:text="红包金额:"
android:textColor="#000000" />
<com.yidianling.user.mine.view.RedPacketGridView
android:id="@+id/recharge_rgv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white" />
<ImageView
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_marginTop="@dimen/platform_default_dis_size"
android:background="#EDEDED" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="45dp">
<TextView
android:id="@+id/recharge_design"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/platform_default_dis_size"
android:text="其他金额"
android:textColor="#000000"
android:visibility="invisible" />
<TextView
android:id="@+id/recharge_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="@dimen/platform_default_dis_size"
android:text="其他金额"
android:textColor="#000000" />
<EditText
android:id="@+id/recharge_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/recharge_design"
android:background="@null"
android:hint="请输入金额"
android:inputType="numberDecimal"
android:visibility="invisible" />
</RelativeLayout>
<ImageView
android:id="@+id/iv_diver2"
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_below="@+id/ll_content"
android:background="#EDEDED" />
<EditText
android:id="@+id/recharge_thanks_content"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_below="@+id/recharge_et"
android:layout_centerVertical="true"
android:background="@null"
android:gravity="top"
android:hint="一点心意,请笑纳!"
android:inputType="text"
android:maxLines="8"
android:minLines="6"
android:paddingLeft="10dp"
android:textColorHint="#c5c4c4" />
<ImageView
android:id="@+id/iv_diver3"
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_below="@+id/ll_content"
android:background="#EDEDED" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="2dp"
android:text="¥"
android:textColor="@color/bg_black"
android:textSize="17sp" />
<TextView
android:id="@+id/tv_price_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="100.00"
android:textColor="@color/bg_black"
android:textSize="35sp" />
</LinearLayout>
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_next"
style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_diver2"
android:layout_marginLeft="@dimen/platform_default_dis_size"
android:layout_marginTop="16dp"
android:layout_marginRight="@dimen/platform_default_dis_size"
android:text="发红包"
android:textColor="#d3574c"
android:textSize="16sp"
app:pa_round_btn_bg="#f4d573"
app:pa_round_btn_radio_size="4dp" />
<TextView
android:id="@+id/tv_tips_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="44dp"
android:text="@string/redpacket_tips_title"
android:textColor="#666"
android:textSize="14dp" />
<TextView
android:id="@+id/tv_tips_content1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="14dp"
android:layout_marginRight="15dp"
android:text="@string/redpacket_tips_content1"
android:textColor="#999"
android:textSize="14dp" />
<TextView
android:id="@+id/tv_tips_content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="14dp"
android:text="@string/redpacket_tips_content2"
android:textColor="#999"
android:textSize="14dp" />
<TextView
android:id="@+id/tv_tips_content3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="14dp"
android:layout_marginBottom="44dp"
android:text="@string/redpacket_tips_content3"
android:textColor="#999"
android:textSize="14dp" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="7dp"
tools:ignore="ResourceName">
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_01"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:gravity="center"
android:textColor="#ffffff"
app:layout_constraintEnd_toStartOf="@+id/rcb_02"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:pa_round_btn_bg="@color/platform_main_theme"
app:pa_round_btn_radio_size="4dp"
tools:ignore="MissingConstraints" />
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_02"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:gravity="center"
android:textColor="#000000"
app:layout_constraintEnd_toStartOf="@+id/rcb_03"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/rcb_01"
app:pa_round_btn_bg="#eeeeee"
app:pa_round_btn_radio_size="4dp"
tools:ignore="MissingConstraints" />
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_03"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:gravity="center"
android:textColor="#000000"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/rcb_02"
app:pa_round_btn_bg="#eeeeee"
app:pa_round_btn_radio_size="4dp"
tools:ignore="MissingConstraints" />
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_04"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:gravity="center"
android:textColor="#000000"
app:layout_constraintEnd_toStartOf="@+id/rcb_05"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/rcb_01"
app:pa_round_btn_bg="#eeeeee"
app:pa_round_btn_radio_size="4dp" />
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_05"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:gravity="center"
android:textColor="#000000"
app:layout_constraintEnd_toStartOf="@+id/rcb_06"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/rcb_04"
app:layout_constraintTop_toBottomOf="@id/rcb_02"
app:pa_round_btn_bg="#eeeeee"
app:pa_round_btn_radio_size="4dp" />
<com.ydl.ydlcommon.view.RoundCornerButton
android:id="@+id/rcb_06"
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="7dp"
android:gravity="center"
android:textColor="#000000"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/rcb_05"
app:layout_constraintTop_toBottomOf="@id/rcb_03"
app:pa_round_btn_bg="#eeeeee"
app:pa_round_btn_radio_size="4dp" />
</android.support.constraint.ConstraintLayout>
\ No newline at end of file
<resources>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="ResourceName">
<!--网络提示模块-->
<!--动态模块-->
<string name="user_edittext_hint"></string>
<string name="redpacket_tips_title">红包说明</string>
<string name="redpacket_tips_content1" >1.红包仅限于感谢使用,不能用于支付咨询费,无咨询售后保障</string>
<string name="redpacket_tips_content2">2.红包一经发送且咨询师已收取,不支持退款</string>
<string name="redpacket_tips_content3">3.咨询师未确认收取红包会在24小时退回账户</string>
</resources>
package com.ydl.webview;
import android.view.View;
/**
* Created by haorui on 2020-03-03.
* Des:
*/
public interface IWebRightClickListener {
void onCLick(View view);
}
......@@ -160,7 +160,7 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
private YDLCommonDialog testQuestionsPageReturnDialog = null;
private boolean isTitleBarCover = false; // 标题栏是否被覆盖隐藏
private static IWebRightClickListener webRightClickListener= null;
/**
* 设置当前h5页面类型
*
......@@ -199,6 +199,22 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
context.startActivity(intent);
}
public static void start(Context context, H5Params h5Params1,String rightText,IWebRightClickListener listener) {
if (null == context) {
return;
}
webRightClickListener = listener;
Intent intent = new Intent(context, NewH5Activity.class);
if (!(context instanceof Activity)) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
intent.putExtra("rightText", rightText);
intent.putExtra(PARAMS, h5Params1);
context.startActivity(intent);
}
public static void start(Context context, H5Params h5Params, TellData tellData) {
if (null == context) {
return;
......@@ -369,8 +385,12 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
tb_title.setOnRightTextClick((view, isActive) -> {
finish();
});
}else if(!TextUtils.isEmpty(rightText)&&webRightClickListener!=null) {
tb_title.setmRightText(rightText);
tb_title.setOnRightTextClick((view, isActive) -> {
webRightClickListener.onCLick(view);
});
}
llWebView = findViewById(R.id.ll_web_view);
initLoadingView();
initTimeOutHandler();
......@@ -1384,4 +1404,5 @@ public class NewH5Activity extends BaseActivity implements PtrHandler {
private void toTrend(String url) {
this.startActivity(WebModularServiceUtils.Companion.getDynamicService().publishArticleToTrend(NewH5Activity.this, url, cover, shareTitle));
}
}
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