Commit a4949318 authored by 张释方's avatar 张释方

提交个人中心界面逻辑

parent 6ef43e37
...@@ -55,7 +55,7 @@ interface MainApi { ...@@ -55,7 +55,7 @@ interface MainApi {
* 获取用户登录信息 * 获取用户登录信息
*/ */
@POST("api/baseMsg") @POST("api/baseMsg")
fun baseMsg():Observable<Response<BaseResponse<MyInfo>>> fun baseMsg():Observable<Response<BaseResponse<UserBean>>>
/** /**
* 绑定手机号接口 * 绑定手机号接口
......
package com.mints.street.bean
data class BindMobileBean(
val consumer: Consumer,
val token: Any
)
data class Consumer(
val createTime: Int,
val expireTime: Int,
val idcode: String,
val isForever: Boolean,
val mobile: String,
val nickname: String,
val pk_id: Long
)
\ No newline at end of file
package com.mints.street.bean
import java.io.Serializable
class MyInfo {
val token: String = ""
val consumer: ConsumerBean? = null
inner class ConsumerBean : Serializable {
val openid: String = ""
val nickname: String = ""
val mobile: String = ""
val idcode: String = ""
val isForever: Boolean = false
val expireTime: Long = 0
val pk_id: Long = 0
}
}
...@@ -8,7 +8,6 @@ import androidx.lifecycle.Observer ...@@ -8,7 +8,6 @@ import androidx.lifecycle.Observer
import com.fry.base.base.BaseActivity import com.fry.base.base.BaseActivity
import com.mints.street.BR import com.mints.street.BR
import com.mints.street.R import com.mints.street.R
import com.mints.street.bean.BindMobileBean
import com.mints.street.bean.UserBean import com.mints.street.bean.UserBean
import com.mints.street.databinding.ActivityBindmobileBinding import com.mints.street.databinding.ActivityBindmobileBinding
import com.mints.street.main.MainActivity import com.mints.street.main.MainActivity
......
...@@ -3,7 +3,6 @@ package com.mints.street.main.my ...@@ -3,7 +3,6 @@ package com.mints.street.main.my
import android.app.Application import android.app.Application
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.mints.street.bean.BaseResponse import com.mints.street.bean.BaseResponse
import com.mints.street.bean.BindMobileBean
import com.mints.street.bean.UserBean import com.mints.street.bean.UserBean
import com.mints.street.manager.UserManager import com.mints.street.manager.UserManager
import com.mints.street.model.ApiModel import com.mints.street.model.ApiModel
......
...@@ -68,7 +68,7 @@ class MoresettingsActivity : BaseActivity<ActivityMoresettingsBinding, Moresetti ...@@ -68,7 +68,7 @@ class MoresettingsActivity : BaseActivity<ActivityMoresettingsBinding, Moresetti
item_phone.findViewById<TextView>(R.id.tv_title).setCompoundDrawables(phone, null, null, null) item_phone.findViewById<TextView>(R.id.tv_title).setCompoundDrawables(phone, null, null, null)
item_phone.findViewById<ImageView>(R.id.iv_right).visibility = View.GONE item_phone.findViewById<ImageView>(R.id.iv_right).visibility = View.GONE
item_userAgree.findViewById<TextView>(R.id.tv_title).text = "用户协议" item_userAgree.findViewById<TextView>(R.id.tv_title).text = "注册协议"
val userAgree = ContextCompat.getDrawable(this, R.mipmap.icon_settings_user) val userAgree = ContextCompat.getDrawable(this, R.mipmap.icon_settings_user)
userAgree?.setBounds(0, 0, 56, 56) userAgree?.setBounds(0, 0, 56, 56)
item_userAgree.findViewById<TextView>(R.id.tv_title).setCompoundDrawables(userAgree, null, null, null) item_userAgree.findViewById<TextView>(R.id.tv_title).setCompoundDrawables(userAgree, null, null, null)
...@@ -111,10 +111,10 @@ class MoresettingsActivity : BaseActivity<ActivityMoresettingsBinding, Moresetti ...@@ -111,10 +111,10 @@ class MoresettingsActivity : BaseActivity<ActivityMoresettingsBinding, Moresetti
KLog.e("setOnClick", "btn_switch has been clicked.") KLog.e("setOnClick", "btn_switch has been clicked.")
} }
R.id.item_userAgree -> {//用户协议 R.id.item_userAgree -> {//用户协议
ToastUtils.showShort("点击了《注册协议》")
} }
R.id.item_privacyAgree -> {//隐私协议 R.id.item_privacyAgree -> {//隐私协议
ToastUtils.showShort("点击了《隐私协议》")
} }
} }
......
...@@ -19,7 +19,7 @@ import com.fry.base.base.BaseFragment ...@@ -19,7 +19,7 @@ import com.fry.base.base.BaseFragment
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
import com.mints.street.BR import com.mints.street.BR
import com.mints.street.R import com.mints.street.R
import com.mints.street.bean.MyInfo import com.mints.street.bean.UserBean
import com.mints.street.bean.WXInfo import com.mints.street.bean.WXInfo
import com.mints.street.databinding.FragmentMyBinding import com.mints.street.databinding.FragmentMyBinding
import com.mints.street.login.LoginActivity import com.mints.street.login.LoginActivity
...@@ -31,6 +31,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout ...@@ -31,6 +31,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshListener import com.scwang.smartrefresh.layout.listener.OnRefreshListener
import com.tbruyelle.rxpermissions2.RxPermissions import com.tbruyelle.rxpermissions2.RxPermissions
import kotlinx.android.synthetic.main.fragment_my.* import kotlinx.android.synthetic.main.fragment_my.*
import me.goldze.mvvmhabit.utils.KLog
import me.goldze.mvvmhabit.utils.ToastUtils import me.goldze.mvvmhabit.utils.ToastUtils
import java.util.* import java.util.*
...@@ -43,7 +44,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -43,7 +44,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
View.OnClickListener, OnLoginListener { View.OnClickListener, OnLoginListener {
private val userManager by lazy { UserManager.INSTANCE } private val userManager by lazy { UserManager.INSTANCE }
private var userConfig: MyInfo? = null private var userConfig: UserBean? = null
private val loginApi by lazy { LoginApi() } private val loginApi by lazy { LoginApi() }
private var wxInfo: WXInfo? = null private var wxInfo: WXInfo? = null
...@@ -53,6 +54,8 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -53,6 +54,8 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
private var iv_weixin: ImageView? = null private var iv_weixin: ImageView? = null
private var ly_phone: LinearLayoutCompat? = null private var ly_phone: LinearLayoutCompat? = null
private var cb_checked: CheckBox? = null private var cb_checked: CheckBox? = null
private var tv_regist: TextView? = null
private var tv_private: TextView? = null
override fun initContentView(inflater: LayoutInflater?, override fun initContentView(inflater: LayoutInflater?,
...@@ -64,7 +67,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -64,7 +67,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
super.initData() super.initData()
srl_my.setOnRefreshListener(this) srl_my.setOnRefreshListener(this)
//隐藏立即领取 //隐藏立即领取
bt_try.visibility=View.GONE bt_try.visibility = View.GONE
initView() initView()
initListener() initListener()
} }
...@@ -72,32 +75,43 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -72,32 +75,43 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
if (userManager.userIsLogin()) { //查询用户登录信息
//查询用户登录信息 viewModel.getmyInfo()
viewModel.getmyInfo() setUserLoginStatus()
}else{ //
//重新显示界面信息 // if (userManager.userIsLogin()) {
setUserLoginStatus() // //查询用户登录信息
} // viewModel.getmyInfo()
// } else {
// //重新显示界面信息
// setUserLoginStatus()
// }
} }
private fun initListener() { private fun initListener() {
//设置登录点击事件 //设置登录点击事件
binding.llMyLogin.setOnClickListener { binding.llMyLogin.setOnClickListener {
if (!userManager.userIsLogin()) { if (!userManager.userIsLogin()) {
//创建弹窗 //创建弹窗
mBottomSheetDialog = BottomSheetDialog(context!!) mBottomSheetDialog = BottomSheetDialog(context!!)
val view1: View = layoutInflater.inflate(R.layout.layout_popupwindow, null) val view1: View = layoutInflater.inflate(R.layout.layout_popupwindow, null)
mBottomSheetDialog!!.setContentView(view1) mBottomSheetDialog!!.setContentView(view1)
mBottomSheetDialog!!.window!!.findViewById<View>(R.id.design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT) mBottomSheetDialog!!.window!!.findViewById<View>(R.id.design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT)
mBottomSheetDialog!!.show() mBottomSheetDialog!!.show()
iv_weixin = view1.findViewById(R.id.iv_weixin) iv_weixin = view1.findViewById(R.id.iv_weixin)
ly_phone = view1.findViewById(R.id.ly_phone) ly_phone = view1.findViewById(R.id.ly_phone)
cb_checked = view1.findViewById(R.id.cb_checked) cb_checked = view1.findViewById(R.id.cb_checked)
tv_private = view1.findViewById(R.id.tv_private)
tv_regist = view1.findViewById(R.id.tv_regist)
tv_regist?.setOnClickListener(this)
tv_private?.setOnClickListener(this)
iv_weixin?.setOnClickListener(this) iv_weixin?.setOnClickListener(this)
ly_phone?.setOnClickListener(this) ly_phone?.setOnClickListener(this)
}
}
} }
//设置立即领取点击事件 //设置立即领取点击事件
...@@ -143,8 +157,8 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -143,8 +157,8 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
R.id.iv_weixin -> { R.id.iv_weixin -> {
if (cb_checked!!.isChecked) { if (cb_checked!!.isChecked) {
// ToastUtils.showShort("未完成微信登录对接") // ToastUtils.showShort("未完成微信登录对接")
val wechat =ShareSDK.getPlatform(Wechat.NAME) val wechat = ShareSDK.getPlatform(Wechat.NAME)
if (!wechat.isClientValid){ if (!wechat.isClientValid) {
ToastUtils.showShort("请先安装微信") ToastUtils.showShort("请先安装微信")
return return
} }
...@@ -172,13 +186,20 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -172,13 +186,20 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
ToastUtils.showShort("请先同意用户协议与隐私政策") ToastUtils.showShort("请先同意用户协议与隐私政策")
} }
} }
R.id.tv_regist -> {
KLog.e("sssss", "点击了《注册协议》")
ToastUtils.showShort("点击了《注册协议》")
}
R.id.tv_private -> {
KLog.e("sssss", "点击了《隐私协议》")
ToastUtils.showShort("点击了《隐私协议》")
}
} }
} }
override fun initViewObservable() { override fun initViewObservable() {
super.initViewObservable() super.initViewObservable()
viewModel.myInfodata.observe(this, Observer<MyInfo> { viewModel.myInfodata.observe(this, Observer<UserBean> {
srl_my.finishRefresh(true) srl_my.finishRefresh(true)
if (it == null) { if (it == null) {
userConfig = null userConfig = null
...@@ -195,7 +216,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -195,7 +216,7 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
private fun setUserLoginStatus() { private fun setUserLoginStatus() {
if (userManager.userIsLogin()) { if (userManager.userIsLogin()) {
// 已登录 // 已登录
item_title_id.text=userManager.getWxName() item_title_id.text = userManager.getWxName()
Glide.with(requireContext()).load(userManager.getWxHeader()).into(item_title_avatar) Glide.with(requireContext()).load(userManager.getWxHeader()).into(item_title_avatar)
} else { } else {
// 未登录 // 未登录
...@@ -205,12 +226,9 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList ...@@ -205,12 +226,9 @@ class MyFragment : BaseFragment<FragmentMyBinding, MyViewModel>(), OnRefreshList
} }
override fun onRefresh(refreshLayout: RefreshLayout) { override fun onRefresh(refreshLayout: RefreshLayout) {
if (userManager.userIsLogin()) {
//查询用户登录信息
viewModel.getmyInfo() viewModel.getmyInfo()
}else{ setUserLoginStatus()
srl_my.finishRefresh(true) srl_my.finishRefresh(true)
}
} }
override fun onDestroy() { override fun onDestroy() {
......
...@@ -3,7 +3,6 @@ package com.mints.street.main.my ...@@ -3,7 +3,6 @@ package com.mints.street.main.my
import android.app.Application import android.app.Application
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.mints.street.bean.BaseResponse import com.mints.street.bean.BaseResponse
import com.mints.street.bean.MyInfo
import com.mints.street.bean.UserBean import com.mints.street.bean.UserBean
import com.mints.street.common.DeviceInfo import com.mints.street.common.DeviceInfo
import com.mints.street.manager.UserManager import com.mints.street.manager.UserManager
...@@ -19,7 +18,7 @@ import java.util.HashMap ...@@ -19,7 +18,7 @@ import java.util.HashMap
*/ */
class MyViewModel(application: Application) : BaseViewModel(application) { class MyViewModel(application: Application) : BaseViewModel(application) {
val myInfodata: MutableLiveData<MyInfo> = MutableLiveData() val myInfodata: MutableLiveData<UserBean> = MutableLiveData()
val deviceInfo: DeviceInfo val deviceInfo: DeviceInfo
get() { get() {
...@@ -31,11 +30,13 @@ class MyViewModel(application: Application) : BaseViewModel(application) { ...@@ -31,11 +30,13 @@ class MyViewModel(application: Application) : BaseViewModel(application) {
*/ */
fun getmyInfo() { fun getmyInfo() {
ApiModel.getuserInfo(lifecycleProvider).safeSubscribe( ApiModel.getuserInfo(lifecycleProvider).safeSubscribe(
object : HttpSubscribeImpl<BaseResponse<MyInfo>>( object : HttpSubscribeImpl<BaseResponse<UserBean>>(
this@MyViewModel, true) { this@MyViewModel, true) {
override fun onBusinessSuccess(response: BaseResponse<MyInfo>) { override fun onBusinessSuccess(response: BaseResponse<UserBean>) {
myInfodata.value = response.result myInfodata.value = response.result
//保存用户信息到Usermanager
UserManager.INSTANCE.saveUserInfo(response.result)
KLog.e("getmyInfo", response.result.toString()) KLog.e("getmyInfo", response.result.toString())
} }
......
...@@ -57,7 +57,7 @@ object ApiModel { ...@@ -57,7 +57,7 @@ object ApiModel {
/** /**
* 获取用户登录信息 * 获取用户登录信息
*/ */
fun getuserInfo(lifecycleProvider: LifecycleProvider<Any>?): Observable<Response<BaseResponse<MyInfo>>> { fun getuserInfo(lifecycleProvider: LifecycleProvider<Any>?): Observable<Response<BaseResponse<UserBean>>> {
return HttpManager.getInstance() return HttpManager.getInstance()
.execute(lifecycleProvider, MainApi.newInstance().baseMsg()) .execute(lifecycleProvider, MainApi.newInstance().baseMsg())
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!-- 边框的颜色和粗细 --> <!-- 边框的颜色和粗细 -->
<stroke <stroke
android:width="1dp" android:width="1dp"
android:color="#4CAF50" android:color="#C7EDCC"
/> />
<solid android:color="#ffffffff" /> <solid android:color="#ffffffff" />
<corners android:radius="10dp" /> <corners android:radius="10dp" />
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginBottom="65dp" android:layout_marginBottom="65dp"
android:src="@mipmap/ic_avatar_ph" /> android:src="@mipmap/ic_launcher_main" />
<LinearLayout <LinearLayout
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:id="@+id/ly_text" android:id="@+id/ly_text"
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<include layout="@layout/include_header" /> <include layout="@layout/include_header" />
<com.mints.street.widget.ElasticScrollView <com.mints.street.widget.ElasticScrollView
......
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
app:isOpened="true" app:isOpened="true"
app:primaryColor="#2196F3"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
...@@ -120,6 +121,7 @@ ...@@ -120,6 +121,7 @@
<com.github.iielse.switchbutton.SwitchView <com.github.iielse.switchbutton.SwitchView
android:id="@+id/svStrong" android:id="@+id/svStrong"
app:primaryColor="#2196F3"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
...@@ -168,6 +170,7 @@ ...@@ -168,6 +170,7 @@
<com.github.iielse.switchbutton.SwitchView <com.github.iielse.switchbutton.SwitchView
android:id="@+id/svReadmsg" android:id="@+id/svReadmsg"
app:primaryColor="#2196F3"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="20dp" android:layout_height="20dp"
app:isOpened="true" app:isOpened="true"
...@@ -231,14 +234,14 @@ ...@@ -231,14 +234,14 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="《隐私协议》" android:text="《注册协议》"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="12sp" /> android:textSize="12sp" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="《用户协议》" android:text="《隐私协议》"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="12sp" /> android:textSize="12sp" />
</LinearLayout> </LinearLayout>
......
...@@ -8,11 +8,11 @@ ...@@ -8,11 +8,11 @@
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ly_phone" android:id="@+id/ly_phone"
android:layout_alignParentRight="true"
android:paddingTop="20dp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:layout_alignParentRight="true"
android:orientation="horizontal"
android:paddingTop="20dp">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -27,10 +27,10 @@ ...@@ -27,10 +27,10 @@
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_below="@+id/ly_phone"
android:id="@+id/ly_constrain" android:id="@+id/ly_constrain"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/ly_phone"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:padding="10dp"> android:padding="10dp">
...@@ -78,9 +78,10 @@ ...@@ -78,9 +78,10 @@
android:textColor="@color/black" /> android:textColor="@color/black" />
<TextView <TextView
android:id="@+id/tv_regist"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="《隐私政策》" android:text="《注册协议》"
android:textColor="@color/black" /> android:textColor="@color/black" />
<TextView <TextView
...@@ -90,9 +91,10 @@ ...@@ -90,9 +91,10 @@
android:textColor="@color/black" /> android:textColor="@color/black" />
<TextView <TextView
android:id="@+id/tv_private"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="《用户协议》" android:text="《隐私协议》"
android:textColor="@color/black" /> android:textColor="@color/black" />
</LinearLayout> </LinearLayout>
......
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