Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
android_street
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
android
android_street
Commits
3dd1e55f
Commit
3dd1e55f
authored
Aug 16, 2021
by
张释方
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改Openvp默认选中逻辑,更改升级vip弹窗以及手机登录UI
parent
6c6bc60b
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
63 additions
and
94 deletions
+63
-94
GridPaymentAdapter.kt
.../main/java/com/mints/street/adapter/GridPaymentAdapter.kt
+25
-47
MainApi.kt
app/src/main/java/com/mints/street/api/MainApi.kt
+1
-1
VipBean.kt
app/src/main/java/com/mints/street/bean/VipBean.kt
+1
-0
LoginActivity.kt
app/src/main/java/com/mints/street/login/LoginActivity.kt
+3
-4
MyViewModel.kt
app/src/main/java/com/mints/street/main/my/MyViewModel.kt
+4
-3
OpenvipActivity.kt
...src/main/java/com/mints/street/main/my/OpenvipActivity.kt
+14
-4
OpenvipViewModel.kt
...rc/main/java/com/mints/street/main/my/OpenvipViewModel.kt
+2
-2
ApiModel.kt
app/src/main/java/com/mints/street/model/ApiModel.kt
+1
-1
activity_login.xml
app/src/main/res/layout/activity_login.xml
+4
-21
layout_upgradevip.xml
app/src/main/res/layout/layout_upgradevip.xml
+8
-11
icon_upgrade_close.png
app/src/main/res/mipmap-xhdpi/icon_upgrade_close.png
+0
-0
No files found.
app/src/main/java/com/mints/street/adapter/GridPaymentAdapter.kt
View file @
3dd1e55f
...
...
@@ -5,7 +5,6 @@ import android.graphics.Paint
import
android.view.View
import
com.alibaba.android.vlayout.LayoutHelper
import
com.alibaba.android.vlayout.layout.GridLayoutHelper
import
com.alibaba.android.vlayout.layout.LinearLayoutHelper
import
com.fry.base.adapter.AbstractVLayoutBaseAdapter
import
com.fry.base.adapter.BindingViewHolder
import
com.fry.base.binding.setMargin
...
...
@@ -13,71 +12,50 @@ import com.mints.street.R
import
com.mints.street.bean.VipBean
import
com.mints.street.databinding.ItemGridPaymentAdpaterBinding
import
me.goldze.mvvmhabit.utils.AppUtils
import
me.goldze.mvvmhabit.utils.RxUtils
class
GridPaymentAdapter
(
val
context
:
Context
,
val
list
:
List
<
VipBean
.
ListBean
>
)
:
class
GridPaymentAdapter
(
val
context
:
Context
,
val
list
:
List
<
VipBean
.
ListBean
?>?
)
:
AbstractVLayoutBaseAdapter
<
ItemGridPaymentAdpaterBinding
,
List
<
VipBean
.
ListBean
>>(
context
,
list
,
3
)
{
private
var
datalist
:
List
<
VipBean
.
ListBean
>?
=
list
private
var
mposition
:
Int
=
0
//设置首次进来默认选中第一个
List
<
VipBean
.
ListBean
?
>?>(
context
,
list
,
3
)
{
private
var
pid
:
String
?
=
null
override
fun
onBindViewHolder
(
holder
:
BindingViewHolder
<
ItemGridPaymentAdpaterBinding
>,
position
:
Int
)
{
holder
.
binding
.
tvOldprice
.
paint
.
flags
=
Paint
.
STRIKE_THRU_TEXT_FLAG
// var a = holder.binding.bg.layoutParams
//设置 view边距
holder
.
binding
.
bg
.
setMargin
(
AppUtils
.
dp2Px
(
context
,
10F
),
0
,
AppUtils
.
dp2Px
(
context
,
10F
),
AppUtils
.
dp2Px
(
context
,
10F
),
null
,
null
,
null
)
//设置 view背景样式
if
(
mposition
==
position
)
{
holder
.
binding
.
bg
.
setBackgroundResource
(
R
.
drawable
.
shape_bg_payment_down
)
}
else
{
holder
.
binding
.
bg
.
setBackgroundResource
(
R
.
drawable
.
shape_bg_payment
)
}
//设置默认选中
if
(
holder
.
adapterPosition
==
mposition
)
{
//如果当前的view是第一个设置默认背景,并且是第一次设置背景
holder
.
binding
.
bg
.
setBackgroundResource
(
R
.
drawable
.
shape_bg_payment_down
)
}
//添加 套餐推荐内容
datalist
?.
let
{
val
databean
=
it
[
position
]
// 设置点击事件
holder
.
itemView
.
setOnClickListener
{
//设置当前段中view脚标
mposition
=
holder
.
adapterPosition
list
?.
apply
{
if
(
list
[
position
]
?.
isSelect
==
true
)
{
holder
.
binding
.
bg
.
setBackgroundResource
(
R
.
drawable
.
shape_bg_payment_down
)
pid
=
list
[
position
]
?.
pid
}
else
{
holder
.
binding
.
bg
.
setBackgroundResource
(
R
.
drawable
.
shape_bg_payment
)
}
holder
.
binding
.
tvDays
.
text
=
list
[
position
]
?.
title
holder
.
binding
.
tvOldprice
.
text
=
"原价¥${list[position]?.oldPrice}"
holder
.
binding
.
tvPrice
.
text
=
"¥${list[position]?.price}"
holder
.
binding
.
ivHot
.
visibility
=
if
(
list
[
position
]
?.
activityType
==
0
)
View
.
GONE
else
View
.
VISIBLE
RxUtils
.
onMultiClick
(
holder
.
itemView
){
if
(
list
[
position
]
?.
isSelect
==
true
)
return
@onMultiClick
list
.
forEach
{
it
?.
isSelect
=
false
}
list
[
position
]
?.
isSelect
=
true
notifyDataSetChanged
()
}
// holder.binding.tvDays.text = "${databean.days}天"
holder
.
binding
.
tvDays
.
text
=
databean
.
title
holder
.
binding
.
tvOldprice
.
text
=
"原价¥${databean.oldPrice}"
holder
.
binding
.
tvPrice
.
text
=
"¥${databean.price}"
holder
.
binding
.
ivHot
.
visibility
=
if
(
databean
.
activityType
==
0
)
View
.
GONE
else
View
.
VISIBLE
}
}
override
fun
getItemCount
()
=
list
?.
size
?:
0
override
fun
getItemCount
():
Int
{
return
if
(
datalist
==
null
)
{
0
}
else
{
datalist
!!
.
size
}
fun
getPid
():
String
?{
return
pid
}
override
fun
getLayoutId
(
viewType
:
Int
)
=
R
.
layout
.
item_grid_payment_adpater
fun
getPosition
()
=
mposition
override
fun
onCreateLayoutHelper
():
LayoutHelper
{
val
hp
:
GridLayoutHelper
=
GridLayoutHelper
(
3
)
hp
.
setAutoExpand
(
false
)
return
hp
}
}
}
\ No newline at end of file
app/src/main/java/com/mints/street/api/MainApi.kt
View file @
3dd1e55f
...
...
@@ -63,7 +63,7 @@ interface MainApi {
* 获取支付参数
*/
@POST
(
"api/getVipPayParams"
)
fun
getVipPayParams
(
@Body
vo
:
@JvmSuppressWildcards
Map
<
String
,
Any
>):
Observable
<
Response
<
BaseResponse
<
WxPayParamBean
>>>
fun
getVipPayParams
(
@Body
vo
:
@JvmSuppressWildcards
Map
<
String
,
Any
?
>):
Observable
<
Response
<
BaseResponse
<
WxPayParamBean
>>>
/**
* 支付成功
...
...
app/src/main/java/com/mints/street/bean/VipBean.kt
View file @
3dd1e55f
...
...
@@ -14,6 +14,7 @@ class VipBean : Serializable {
var
activityType
:
Int
=
0
// 0
var
oldPrice
:
Double
=
0.0
// 138
var
pid
:
String
=
""
// 1
var
isSelect
:
Boolean
=
false
}
}
app/src/main/java/com/mints/street/login/LoginActivity.kt
View file @
3dd1e55f
...
...
@@ -14,7 +14,6 @@ import com.mints.street.utils.BackInputUtil
import
com.mints.street.widget.dialog.DialogUtils
import
com.permissionx.guolindev.PermissionX
import
com.permissionx.guolindev.callback.RequestCallback
import
kotlinx.android.synthetic.main.activity_bindmobile.*
import
kotlinx.android.synthetic.main.activity_login.*
import
kotlinx.android.synthetic.main.include_header.*
import
me.goldze.mvvmhabit.utils.AppUtils
...
...
@@ -26,9 +25,9 @@ import me.goldze.mvvmhabit.utils.ToastUtils
class
LoginActivity
:
BaseActivity
<
ActivityLoginBinding
,
LoginViewModel
>(),
View
.
OnClickListener
{
private
val
userManager
by
lazy
{
UserManager
.
INSTANCE
}
override
fun
getStatusBarHeightView
():
View
?
{
return
binding
.
tvName
}
//
override fun getStatusBarHeightView(): View? {
//
return binding.tvName
//
}
override
fun
initContentView
(
savedInstanceState
:
Bundle
?)
=
R
.
layout
.
activity_login
...
...
app/src/main/java/com/mints/street/main/my/MyViewModel.kt
View file @
3dd1e55f
...
...
@@ -12,7 +12,7 @@ import com.mints.street.netwrok.base.HttpSubscribeImpl
import
com.mints.street.utils.DeviceUuidFactory
import
me.goldze.mvvmhabit.base.BaseViewModel
import
me.goldze.mvvmhabit.utils.KLog
import
java.util.
HashMap
import
java.util.
*
/**
* Created by 冯瑞雨 on 2021/7/2.
...
...
@@ -55,7 +55,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
vo
[
"wxInfo"
]
=
wxInfo
// vo["shumeiId"] = ShumeiManager.getInstance().shumeiDeviceId
vo
[
"device"
]
=
DeviceUuidFactory
().
deviceUuid
.
toString
()
ApiModel
.
wechatlogin
(
lifecycleProvider
,
vo
).
safeSubscribe
(
object
:
HttpSubscribeImpl
<
BaseResponse
<
UserBean
>>(
ApiModel
.
wechatlogin
(
lifecycleProvider
,
vo
).
safeSubscribe
(
object
:
HttpSubscribeImpl
<
BaseResponse
<
UserBean
>>(
this
@MyViewModel
,
true
)
{
override
fun
onBusinessSuccess
(
response
:
BaseResponse
<
UserBean
>)
{
//保存用户信息到Usermanager
...
...
@@ -63,7 +63,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
this
@MyViewModel
.
saveTerminalInfo
()
//提交设备信息
this
@MyViewModel
.
getmyInfo
()
KLog
.
e
(
"wechatlogin"
,
"微信登录接口成功"
)
KLog
.
e
(
"wechatlogin"
,
"微信登录接口成功"
)
}
...
...
@@ -88,6 +88,7 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
vo
[
"oaid"
]
=
OaidManager
.
getOaid
()
vo
[
"os"
]
=
"android"
vo
[
"model"
]
=
deviceInfo
.
newModel
//传递这个值为唯一标识
vo
[
"uuid"
]
=
DeviceUuidFactory
().
deviceUuid
vo
[
"osversion"
]
=
deviceInfo
.
oSVersion
vo
[
"appversion"
]
=
deviceInfo
.
versionName
...
...
app/src/main/java/com/mints/street/main/my/OpenvipActivity.kt
View file @
3dd1e55f
...
...
@@ -28,7 +28,6 @@ import com.mints.street.widget.dialog.WxLoginDialog
import
kotlinx.android.synthetic.main.activity_openvip.*
import
kotlinx.android.synthetic.main.include_header.*
import
me.goldze.mvvmhabit.utils.AppUtils
import
me.goldze.mvvmhabit.utils.KLog
import
me.goldze.mvvmhabit.utils.ToastUtils
...
...
@@ -172,8 +171,19 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
super
.
initViewObservable
()
viewModel
.
Vipdata
.
observe
(
this
,
Observer
<
VipBean
>
{
vipList
=
it
.
list
as
MutableList
<
VipBean
.
ListBean
>?
var
isActivityType
=
true
for
(
index
in
it
?.
list
!!
)
{
if
(
index
.
activityType
!=
0
){
index
?.
isSelect
=
true
isActivityType
=
false
break
}
}
if
(
isActivityType
){
it
?.
list
?.
get
(
0
)
?.
isSelect
=
true
}
//展示 推荐套餐内容
gridPaymentAdapter
=
GridPaymentAdapter
(
this
,
it
.
list
!!
)
gridPaymentAdapter
=
GridPaymentAdapter
(
this
,
it
.
list
)
mAdapter
?.
addAdapter
(
gridPaymentAdapter
)
})
viewModel
.
vippayParams
.
observe
(
this
,
Observer
<
WxPayParamBean
>
{
...
...
@@ -289,9 +299,9 @@ class OpenvipActivity : BaseActivity<ActivityOpenvipBinding, OpenvipViewModel>()
private
fun
payVip
()
{
if
(
vipList
!=
null
&&
vipList
!!
.
size
>
0
&&
gridPaymentAdapter
!=
null
)
{
if
(
TextUtils
.
equals
(
"WEIXIN"
,
currentPayType
))
{
viewModel
.
getVipPayParams
(
"WEIXIN"
,
vipList
!!
[
gridPaymentAdapter
!!
.
getPosition
()].
pid
)
viewModel
.
getVipPayParams
(
"WEIXIN"
,
gridPaymentAdapter
?.
getPid
()
)
}
else
{
viewModel
.
getVipPayParams
(
"ALIPAY"
,
vipList
!!
[
gridPaymentAdapter
!!
.
getPosition
()].
pid
)
viewModel
.
getVipPayParams
(
"ALIPAY"
,
gridPaymentAdapter
?.
getPid
()
)
}
}
}
...
...
app/src/main/java/com/mints/street/main/my/OpenvipViewModel.kt
View file @
3dd1e55f
...
...
@@ -73,8 +73,8 @@ class OpenvipViewModel(application: Application) : BaseViewModel(application) {
/**
* 获取支付参数
*/
fun
getVipPayParams
(
payChannel
:
String
,
pid
:
String
)
{
val
vo
=
HashMap
<
String
,
Any
>()
fun
getVipPayParams
(
payChannel
:
String
,
pid
:
String
?
)
{
val
vo
=
HashMap
<
String
,
Any
?
>()
vo
[
"payChannel"
]
=
payChannel
vo
[
"pid"
]
=
pid
ApiModel
.
getVipPayParams
(
lifecycleProvider
,
vo
).
safeSubscribe
(
...
...
app/src/main/java/com/mints/street/model/ApiModel.kt
View file @
3dd1e55f
...
...
@@ -64,7 +64,7 @@ object ApiModel {
/**
* 获取支付参数
*/
fun
getVipPayParams
(
lifecycleProvider
:
LifecycleProvider
<
Any
>?,
map
:
Map
<
String
,
Any
>):
Observable
<
Response
<
BaseResponse
<
WxPayParamBean
>>>
{
fun
getVipPayParams
(
lifecycleProvider
:
LifecycleProvider
<
Any
>?,
map
:
Map
<
String
,
Any
?
>):
Observable
<
Response
<
BaseResponse
<
WxPayParamBean
>>>
{
return
HttpManager
.
getInstance
()
.
execute
(
lifecycleProvider
,
MainApi
.
newInstance
().
getVipPayParams
(
map
))
}
...
...
app/src/main/res/layout/activity_login.xml
View file @
3dd1e55f
...
...
@@ -2,7 +2,6 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<data>
<variable
name=
"viewModel"
type=
"com.mints.street.login.LoginViewModel"
/>
...
...
@@ -11,35 +10,19 @@
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"
#CC000000
"
android:background=
"
@mipmap/iv_bg_login
"
android:orientation=
"vertical"
>
<include
android:id=
"@+id/ic_q"
layout=
"@layout/include_header"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:layout_marginTop=
"60dp"
android:text=
"在国内也能用的"
android:textSize=
"24dp"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:text=
"全球街景地图"
android:textSize=
"32dp"
/>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"30dp"
android:layout_marginTop=
"
3
0dp"
android:layout_marginTop=
"
18
0dp"
android:layout_marginRight=
"30dp"
android:background=
"@drawable/shape_login_bg"
android:orientation=
"horizontal"
>
...
...
@@ -63,8 +46,8 @@
android:inputType=
"number"
android:maxLength=
"13"
android:maxLines=
"1"
android:textColor=
"@color/
color_172B54
"
android:textColorHint=
"@color/
color_BEC2CC
"
android:textColor=
"@color/
white
"
android:textColorHint=
"@color/
white
"
android:textSize=
"14sp"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
...
...
app/src/main/res/layout/layout_upgradevip.xml
View file @
3dd1e55f
...
...
@@ -7,15 +7,10 @@
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"30dp"
android:background=
"@mipmap/ic_bg_upvip"
android:gravity=
"bottom"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"80dp"
android:layout_height=
"80dp"
android:layout_gravity=
"center"
android:src=
"@mipmap/iv_upgrade"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
...
...
@@ -37,19 +32,21 @@
<Button
android:id=
"@+id/bt_upgrade"
android:layout_width=
"200dp"
android:layout_height=
"
4
0dp"
android:layout_height=
"
5
0dp"
android:layout_gravity=
"center"
android:layout_marginTop=
"30dp"
android:background=
"@
drawable/shape_upgrade_btn
_bg"
android:background=
"@
mipmap/ic_btn_upvip
_bg"
android:text=
"继续升级"
android:layout_marginBottom=
"30dp"
android:textColor=
"@color/white"
android:textSize=
"16sp"
/>
</LinearLayout>
<ImageView
android:id=
"@+id/iv_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_width=
"20dp"
android:layout_height=
"20dp"
android:layout_margin=
"10dp"
android:layout_gravity=
"end|top"
android:src=
"@mipmap/icon_upgrade_close"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/mipmap-xhdpi/icon_upgrade_close.png
View replaced file @
6c6bc60b
View file @
3dd1e55f
799 Bytes
|
W:
|
H:
466 Bytes
|
W:
|
H:
2-up
Swipe
Onion skin
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment