Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
HBHAndroid
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
1
Merge Requests
1
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
杨秀秀
HBHAndroid
Commits
cf6e5def
Commit
cf6e5def
authored
Feb 26, 2024
by
小费同学阿
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
消费者端
首次安装协议
parent
333f5926
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
102 additions
and
4 deletions
+102
-4
LoginActivity.kt
...rc/main/java/com/xx/merchanthbh/ui/login/LoginActivity.kt
+0
-2
ApiService.kt
.../src/main/java/com/xx/hbhconsumer/data/http/ApiService.kt
+9
-0
LoginRequest.kt
.../java/com/xx/hbhconsumer/data/http/requst/LoginRequest.kt
+8
-0
LoginActivity.kt
...rc/main/java/com/xx/hbhconsumer/ui/login/LoginActivity.kt
+44
-2
LoginViewModel.java
...main/java/com/xx/hbhconsumer/ui/login/LoginViewModel.java
+41
-0
No files found.
app/src/main/java/com/xx/merchanthbh/ui/login/LoginActivity.kt
View file @
cf6e5def
...
...
@@ -85,8 +85,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
})
}
}
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
R
)
{
...
...
consumer/src/main/java/com/xx/hbhconsumer/data/http/ApiService.kt
View file @
cf6e5def
...
...
@@ -171,6 +171,15 @@ interface ApiService {
@GET
(
"app/getInfo"
)
open
fun
getUserInfo
():
Observable
<
BaseResponse
<
UserInfoBean
>>
/**
* 获取协议
* 旧接口:app/agreement/getBasicList
* 新接口:app/agreement/getStaticPageList
*/
@Headers
(
"Content-type:application/json"
)
@POST
(
"app/agreement/getStaticPageList"
)
open
fun
getProtocols
(
@Body
requestBody
:
RequestBody
):
Observable
<
BaseResponse
<
List
<
String
>>>
/**
* 获取展位管理列表
...
...
consumer/src/main/java/com/xx/hbhconsumer/data/http/requst/LoginRequest.kt
View file @
cf6e5def
...
...
@@ -43,4 +43,12 @@ class LoginRequest: BaseRespons() {
class
LoginRequestBody
(
var
phone
:
String
,
var
password
:
String
,
var
userType
:
String
)
/**
* 获取协议内容
*/
fun
getProtocols
():
Observable
<
BaseResponse
<
List
<
String
>>>
{
return
apiService
.
getProtocols
(
ApiParams
<
Array
<
String
>>().
setParams
(
arrayOf
(
"6"
,
"7"
,
"13"
,
"9"
,
"10"
)))
}
}
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/ui/login/LoginActivity.kt
View file @
cf6e5def
package
com.xx.hbhconsumer.ui.login
import
android.content.Context
import
android.content.Intent
import
android.net.Uri
import
android.os.Bundle
...
...
@@ -15,7 +16,11 @@ import com.xx.hbhconsumer.adapter.CollectionGoodsAdapter
import
com.xx.hbhconsumer.data.http.requst.LoginRequest
import
com.xx.hbhconsumer.data.http.respons.CollectionBean
import
com.xx.hbhconsumer.databinding.ActivityLoginBinding
import
com.xx.xxviewlibrary.comm.CommTextAgreeDialog
import
com.xx.xxviewlibrary.comm.RefuseDialogBean
import
me.goldze.mvvmhabit.base.BaseActivity
import
me.goldze.mvvmhabit.utils.SPUtils
import
me.goldze.mvvmhabit.utils.ToastUtils
class
LoginActivity
()
:
BaseActivity
<
ActivityLoginBinding
,
LoginViewModel
>()
{
...
...
@@ -30,9 +35,47 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
return
BR
.
loginViewModel
}
/*声明协议内容*/
var
agreementContext
:
String
=
""
override
fun
initData
()
{
// 获得协议内容
viewModel
.
getProtocols
()
SPUtils
.
getInstance
().
clear
()
super
.
initData
()
// 使用SharedPreferences检查是否是第一次打开应用
val
preferences
=
getPreferences
(
Context
.
MODE_PRIVATE
)
val
isAgreeFlag
=
preferences
.
getBoolean
(
"is_agree_flag"
,
true
)
if
(
isAgreeFlag
)
{
// 如果是第一次打开应用,执行相应的操作
ToastUtils
.
showShort
(
"第一次登录"
)
viewModel
.
agreeContent
.
observe
(
this
)
{
agreeContent
:
String
?
->
if
(
agreeContent
!=
null
)
{
agreementContext
=
agreeContent
/*在这里加上隐私协议弹窗*/
showCommTextAgreeDialog
(
RefuseDialogBean
(
agreementContext
,
"同意"
,
"不同意"
,
"隐私条款"
),
object
:
CommTextAgreeDialog
.
onAcceptCallBack
{
override
fun
refuseBack
()
{
finish
()
val
intent
=
Intent
(
Intent
.
ACTION_MAIN
)
intent
.
addCategory
(
Intent
.
CATEGORY_HOME
)
intent
.
flags
=
Intent
.
FLAG_ACTIVITY_NEW_TASK
startActivity
(
intent
)
}
override
fun
acceptBack
()
{
// 设置is_agree_flag标记为false,表示隐私协议已同意
val
editor
=
preferences
.
edit
()
editor
.
putBoolean
(
"is_agree_flag"
,
false
)
editor
.
apply
()
/*同意隐私协议以后再进行版本检测*/
}
})
}
}
}
//检查版本
viewModel
.
rxPermissions
=
RxPermissions
(
this
)
viewModel
.
checkVersion
(
binding
.
root
.
rootView
)
...
...
@@ -55,7 +98,6 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
binding
.
rbLoginAgreement
.
setSelected
(
consentAgreementFlag
)
}
})
}
override
fun
initViewObservable
()
{
...
...
@@ -64,7 +106,7 @@ class LoginActivity() : BaseActivity<ActivityLoginBinding, LoginViewModel>() {
override
fun
initViewModel
():
LoginViewModel
{
val
lm
:
LoginRequest
=
LoginRequest
()
return
LoginViewModel
(
application
,
lm
)
return
LoginViewModel
(
application
,
lm
)
}
}
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/ui/login/LoginViewModel.java
View file @
cf6e5def
...
...
@@ -9,6 +9,7 @@ import android.content.Intent;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.text.Html
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.View
;
...
...
@@ -30,6 +31,7 @@ import com.xx.hbhconsumer.ui.pwd.ForgetPwdActivity;
import
com.xx.hbhconsumer.ui.pwd.PwdActivity
;
import
com.xx.hbhconsumer.ui.register.RegisterActivity
;
import
com.xx.hbhconsumer.ui.useragreement.UserAgreementActivity
;
import
com.xx.hbhconsumer.utils.RetrofitClient
;
import
com.xx.merchanthbh.data.staticdata.StaticData
;
import
com.xx.xxviewlibrary.comm.CommTextDialog
;
import
com.xx.xxviewlibrary.comm.RefuseDialogBean
;
...
...
@@ -62,6 +64,9 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
public
MutableLiveData
<
String
>
openInstall
=
new
MutableLiveData
<>(
""
);
/*隐私条款字段*/
public
MutableLiveData
<
String
>
agreeContent
=
new
MutableLiveData
<>(
null
);
public
boolean
isAgree
=
false
;
public
LoginViewModel
(
@NonNull
Application
application
,
LoginRequest
model
)
{
super
(
application
,
model
);
}
...
...
@@ -75,7 +80,43 @@ public class LoginViewModel extends BaseViewModel<LoginRequest> {
getuserInfo
();
}
}
/**
* 获取协议内容
*
*/
public
void
getProtocols
()
{
model
.
getProtocols
().
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
// .compose(RxUtils.exceptionTransformer()) // 网络错误的异常转换, 这里可以换成自己的ExceptionHandle
.
doOnSubscribe
(
LoginViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposableObserver
<
List
<
String
>>()
{
@Override
public
void
onSuccess
(
List
<
String
>
resultBean
)
{
StaticData
.
Protocols
=
resultBean
;
if
(
StaticData
.
Protocols
.
size
()>=
3
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"title"
,
"隐私条款"
);
bundle
.
putString
(
"URL"
,
RetrofitClient
.
baseH5Url
+
StaticData
.
Protocols
.
get
(
2
));
Log
.
v
(
"路径路径啊"
,
bundle
.
toString
());
CharSequence
htmlText
=
Html
.
fromHtml
(
bundle
.
toString
());
/*为隐私条款赋值*/
agreeContent
.
setValue
(
htmlText
.
toString
());
}
}
@Override
public
void
onError
(
String
Error
)
{
}
});
}
//跳转开店页面
public
BindingCommand
goMerchantEnter
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
...
...
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