头像审核

This commit is contained in:
yitao_hello
2021-12-22 17:59:59 +08:00
committed by zu
parent 46aa13b145
commit 4da9e8f0c6
18 changed files with 298 additions and 51 deletions

View File

@@ -6,6 +6,7 @@ import android.os.Bundle
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
@@ -19,10 +20,12 @@ import com.yizhuan.erban.ui.utils.RVDelegate
import com.yizhuan.erban.ui.widget.DividerItemDecoration
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil
import com.yizhuan.erban.utils.PermissionUtil
import kotlinx.coroutines.*
import kotlin.collections.ArrayList
class GrantedPermissionsActivity : BaseActivity() {
private var recyclerView: RecyclerView? = null
private lateinit var rvDelegate: RVDelegate<PermissionEntity>
companion object {
fun start(context: Context) {
@@ -36,14 +39,23 @@ class GrantedPermissionsActivity : BaseActivity() {
setContentView(R.layout.activity_granted_permissions)
initTitleBar("系统权限管理")
initView()
val permissionList = getPermissions()
val rvDelegate = RVDelegate.Builder<PermissionEntity>()
.setLayoutManager(LinearLayoutManager(this, LinearLayoutManager.VERTICAL,false))
rvDelegate = RVDelegate.Builder<PermissionEntity>()
.setLayoutManager(LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false))
.setRecyclerView(recyclerView)
.setEmptyView(EmptyViewHelper.createEmptyView(this, "未有已授权的系统权限"))
.setAdapter(PermissionAdapter())
.build()
rvDelegate.setNewData(permissionList)
}
override fun onResume() {
super.onResume()
lifecycleScope.launchWhenResumed {
dialogManager.showProgressDialog(context, false)
val permissionList =
PermissionUtil.instance.getGrantedPermissions(context.applicationContext)
rvDelegate.setNewData(permissionList)
dialogManager.dismissDialog()
}
}
private fun initView() {
@@ -61,19 +73,6 @@ class GrantedPermissionsActivity : BaseActivity() {
PermissionUtil.instance.jumpToSetting(this)
}
private fun getPermissions(): MutableList<PermissionEntity> {
val permissionList = ArrayList<PermissionEntity>()
PermissionUtil.instance.getGrantedPermissions(this)?.forEach {
PermissionEntity.fetchPermission(it)
?.let { permission ->
if (!permissionList.contains(permission)) permissionList.add(
permission
)
}
}
return permissionList
}
class PermissionAdapter :
BaseQuickAdapter<PermissionEntity, BaseViewHolder>(R.layout.item_permission_granted) {
override fun convert(helper: BaseViewHolder, item: PermissionEntity?) {

View File

@@ -8,13 +8,14 @@ import androidx.databinding.DataBindingUtil
import com.yizhuan.erban.BuildConfig
import com.yizhuan.erban.R
import com.yizhuan.erban.base.BaseActivity
import com.yizhuan.erban.base.BaseViewBindingActivity
import com.yizhuan.erban.databinding.ActivityPermissionGuideBinding
import com.yizhuan.erban.ui.webview.CommonWebViewActivity
import com.yizhuan.erban.utils.PermissionUtil
import com.yizhuan.xchat_android_core.UriProvider
class PermissionGuideActivity : BaseActivity(), View.OnClickListener {
private val baseUrl =
if (BuildConfig.DEBUG) "http://api.uat.zhongjialx.com" else "https://api.zhongjialx.com"
class PermissionGuideActivity : BaseViewBindingActivity<ActivityPermissionGuideBinding>(),
View.OnClickListener {
companion object {
fun start(context: Context) {
@@ -23,12 +24,9 @@ class PermissionGuideActivity : BaseActivity(), View.OnClickListener {
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val settingBinding: ActivityPermissionGuideBinding =
DataBindingUtil.setContentView(this, R.layout.activity_permission_guide)
settingBinding.click = this
override fun init() {
initTitleBar("个人信息与权限")
binding.click = this
}
override fun onClick(v: View?) {
@@ -36,21 +34,20 @@ class PermissionGuideActivity : BaseActivity(), View.OnClickListener {
R.id.tv_system_permission -> GrantedPermissionsActivity.start(this)
R.id.tv_jump_setting -> PermissionUtil.instance.jumpToSetting(this)
R.id.tv_privacy_guide -> CommonWebViewActivity.start(
this,
"$baseUrl/accompany/modules/rule/privacy-wap.html"
this,UriProvider.getPrivacyUrl()
)
R.id.tv_sdk_permission -> CommonWebViewActivity.start(
this,
"$baseUrl/accompany/modules/rule/sdk.html"
UriProvider.getSDKPermissionUrl()
)
R.id.tv_device_permission -> CommonWebViewActivity.start(
this,
"$baseUrl/accompany/modules/rule/permissions.html"
UriProvider.getDeivcePermissionUrl()
)
R.id.tv_personal_permission -> CommonWebViewActivity.start(
this,
"$baseUrl/accompany/modules/rule/personal-info.html"
UriProvider.getPersonalInfoUrl()
)
}
}
}
}

View File

@@ -1,5 +1,7 @@
package com.yizhuan.erban.ui.user;
import static com.yizhuan.erban.ui.user.UserInfoActivity.IdentityState.OWN;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
@@ -19,6 +21,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nim.uikit.common.util.sys.ScreenUtil;
import com.yizhuan.erban.module_hall.hall.activity.ModuleClanActivity;
import com.yizhuan.erban.ui.user.adapter.SelfPhotoAdapter;
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2;
import com.yizhuan.erban.ui.widget.rollviewpager.hintview.TextHintView;
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
import com.netease.nim.uikit.support.glide.GlideApp;
@@ -123,6 +127,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
private ImageView ivOfficialMask;
private TextView tvOfficialMask;
private long mRoomUid;
private GiftAdapter giftAdapter;
@@ -157,7 +162,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
private void initAttentionView() {
if (AuthModel.get().getCurrentUid() == userId) {
identityState = IdentityState.OWN;
identityState = OWN;
mBinding.tvFansCount.setOnClickListener(this);
mBinding.ivWhere.setVisibility(View.GONE);
if (bottomViewLayout != null)
@@ -483,7 +488,8 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
hintView.setTextSize(SizeUtils.dp2px(this, 4));
hintView.setTextColor(getResources().getColor(R.color.blue));
mBinding.rollView.setHintView(hintView);
bannerAdapter = new UserInfoPhotoAdapter(list, this);
bannerAdapter = identityState == OWN ? new SelfPhotoAdapter(list, this)
: new UserInfoPhotoAdapter(list, this);
mBinding.rollView.setAdapter(bannerAdapter);
//设置透明度
mBinding.rollView.setAnimationDurtion(500);
@@ -536,7 +542,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
private void setEditButton(int identityState, boolean isExpanded) {
if (identityState == IdentityState.OWN) {
if (identityState == OWN) {
mBinding.ivEdit.setVisibility(View.GONE);
mBinding.tvEdit.setVisibility(View.VISIBLE);
} else if (identityState == IdentityState.OTHER) {
@@ -555,6 +561,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
if (position > 0) {
showUserPhoto(position - 1);
} else {
UIHelper.showModifyPhotosAct(this, userId);
}
} else {
@@ -580,7 +587,7 @@ public class UserInfoActivity extends BaseBindingActivity<ActivityUserInfoBindin
}
private void editClick(int identityState) {
if (identityState == IdentityState.OWN) {
if (identityState == OWN) {
UIHelper.showUserInfoModifyAct(this, REQUEST_CODE_UPDATE_VOICE, userId);
} else if (identityState == IdentityState.OTHER) {
if (userInfo != null) {

View File

@@ -6,8 +6,11 @@ import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
@@ -19,6 +22,7 @@ import com.netease.nim.uikit.StatusBarUtil;
import com.netease.nim.uikit.common.util.sys.TimeUtil;
import com.sleepbot.datetimepicker.time.RadialPickerLayout;
import com.sleepbot.datetimepicker.time.TimePickerDialog;
import com.trello.rxlifecycle3.android.ActivityEvent;
import com.yizhuan.erban.ErbanTakePhotoActivity;
import com.yizhuan.erban.R;
import com.yizhuan.erban.UIHelper;
@@ -28,21 +32,31 @@ import com.yizhuan.erban.common.permission.PermissionActivity;
import com.yizhuan.erban.ui.login.ModifyInfoActivity;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
import com.yizhuan.erban.ui.widget.ButtonItem;
import com.yizhuan.erban.ui.widget.dialog.CommonMessageDialog;
import com.yizhuan.erban.utils.RegexUtil;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.base.BaseModel;
import com.yizhuan.xchat_android_core.file.FileModel;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_core.user.bean.UserPhoto;
import com.yizhuan.xchat_android_core.utils.Transformer;
import com.yizhuan.xchat_android_library.utils.TimeUtils;
import com.yizhuan.xchat_android_library.utils.log.MLog;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.concurrent.TimeUnit;
import io.reactivex.Completable;
import io.reactivex.CompletableSource;
import io.reactivex.CompletableTransformer;
import io.reactivex.Single;
import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Action;
import io.reactivex.functions.Consumer;
/**
* @author zhouxiangfeng
@@ -65,6 +79,8 @@ public class UserInfoModifyActivity extends BaseActivity
private String audioFileUrl;
private RecyclerView photosRecyclerView;
private boolean showAvatarAuditing;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -93,7 +109,7 @@ public class UserInfoModifyActivity extends BaseActivity
private void initData(UserInfo userInfo) {
if (null != userInfo) {
audioFileUrl = userInfo.getUserVoice();
ImageLoadUtils.loadAvatar(this, userInfo.getAvatar(), civAvatar);
ImageLoadUtils.loadAvatar(this, !TextUtils.isEmpty(userInfo.getNewAvatar()) ? userInfo.getNewAvatar() : userInfo.getAvatar(), civAvatar);
String birth = TimeUtil.getDateTimeString(userInfo.getBirth(), "yyyy-MM-dd");
tvBirth.setText(birth);
tvNick.setText(RegexUtil.getPrintableString(userInfo.getNick()));
@@ -263,6 +279,10 @@ public class UserInfoModifyActivity extends BaseActivity
public void onClick(View v) {
switch (v.getId()) {
case R.id.layout_avatar:
if (mUserInfo == null || mUserInfo.isReview()) {
toast("头像正在审核中");
return;
}
ButtonItem buttonItem = new ButtonItem("拍照上传", this::checkPermissionAndStartCamera);
ButtonItem buttonItem1 = new ButtonItem("本地相册", () -> {
ErbanTakePhotoActivity.startToSelectPhoto(this, this);
@@ -299,7 +319,7 @@ public class UserInfoModifyActivity extends BaseActivity
case R.id.rl_audio_record:
checkPermission(() -> {
// 点击跳转到我的声音页面
UIHelper.showMyVoiceAct(UserInfoModifyActivity.this, Method.AUDIO,"编辑资料");
UIHelper.showMyVoiceAct(UserInfoModifyActivity.this, Method.AUDIO, "编辑资料");
isAvatar = false;
}, R.string.ask_again,
Manifest.permission.RECORD_AUDIO);
@@ -319,6 +339,7 @@ public class UserInfoModifyActivity extends BaseActivity
UserInfo user = new UserInfo();
user.setUid(AuthModel.get().getCurrentUid());
user.setAvatar(url);
showAvatarAuditing = true;
UserModel.get().requestUpdateUserInfo(user).subscribe(userInfoUpdateObserver);
}
}
@@ -382,6 +403,10 @@ public class UserInfoModifyActivity extends BaseActivity
initData(mUserInfo);
}
getDialogManager().dismissDialog();
if (showAvatarAuditing) {
showAvatarAuditing = false;
showAvatarAuditingDialog();
}
}
@Override
@@ -401,4 +426,19 @@ public class UserInfoModifyActivity extends BaseActivity
StatusBarUtil.transparencyBar(this);
StatusBarUtil.StatusBarLightMode(this);
}
private void showAvatarAuditingDialog() {
final CommonMessageDialog dialog = new CommonMessageDialog(this);
Completable.timer(3000, TimeUnit.MILLISECONDS)
.compose(bindUntilEvent(ActivityEvent.STOP))
.doOnSubscribe(disposable -> {
dialog.openDialog();
})
.doOnComplete(() -> {
dialog.closeDialog();
}).doOnError(throwable -> {
throwable.printStackTrace();
dialog.closeDialog();
}).subscribe();
}
}

View File

@@ -0,0 +1,37 @@
package com.yizhuan.erban.ui.user.adapter
import android.content.Context
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView
import com.yizhuan.erban.R
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil
import com.yizhuan.xchat_android_core.user.bean.UserDetailInfo
class SelfPhotoAdapter(
photoBeans: List<UserDetailInfo.DataBean.PrivatePhotoBean>,
context: Context
) : UserInfoPhotoAdapter(photoBeans, context) {
override fun getView(container: ViewGroup?, position: Int): View {
val originView = super.getView(container, position)
val flContainer = FrameLayout(context)
flContainer.layoutParams = FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT
)
flContainer.addView(originView)
if (photoBeanList.getOrNull(position)?.isReview == true) {
val statusView = ImageView(context)
statusView.setImageResource(R.drawable.ic_album_auditing)
statusView.scaleType = ImageView.ScaleType.CENTER_INSIDE
val statusViewLayoutParams =
FrameLayout.LayoutParams(UIUtil.dip2px(context, 86.0), UIUtil.dip2px(context, 51.0))
statusViewLayoutParams.gravity = Gravity.RIGHT
flContainer.addView(statusView, statusViewLayoutParams)
}
return flContainer
}
}

View File

@@ -23,8 +23,8 @@ import java.util.List;
*/
public class UserInfoPhotoAdapter extends StaticPagerAdapter {
private Context context;
private List<UserDetailInfo.DataBean.PrivatePhotoBean> photoBeanList;
protected Context context;
protected List<UserDetailInfo.DataBean.PrivatePhotoBean> photoBeanList;
private LayoutInflater mInflater;
public UserInfoPhotoAdapter(List<UserDetailInfo.DataBean.PrivatePhotoBean> photoBeans, Context context) {

View File

@@ -0,0 +1,17 @@
package com.yizhuan.erban.ui.widget.dialog
import android.content.Context
import com.yizhuan.erban.R
import com.yizhuan.erban.databinding.DialogCommonMessageBinding
import com.yizhuan.erban.treasure_box.widget.dialog.BaseBindingDialog
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes
@ActLayoutRes(R.layout.dialog_common_message)
class CommonMessageDialog(context: Context, theme: Int) :
BaseBindingDialog<DialogCommonMessageBinding>(context, theme) {
constructor(context: Context) : this(context, R.style.dialog)
override fun init() {
setCancelable(true)
}
}

View File

@@ -12,6 +12,7 @@ import android.os.Build
import android.provider.Settings
import com.microquation.linkedme.android.v4.ContextCompatLKMe
import com.yizhuan.erban.BuildConfig
import com.yizhuan.erban.ui.setting.bean.PermissionEntity
import java.lang.Exception
class PermissionUtil {
@@ -19,23 +20,33 @@ class PermissionUtil {
val instance = PermissionUtil()
}
fun getGrantedPermissions(context: Context): List<String>? {
fun getGrantedPermissions(context: Context): List<PermissionEntity> {
val packageInfo = context.packageManager.getPackageInfo(
context.packageName,
PackageManager.GET_PERMISSIONS,
)
val permissions = packageInfo.requestedPermissions
val list = permissions?.filter { str -> str.startsWith("android.permission") }
return if (Build.VERSION.SDK_INT < 23) {
list
} else {
list?.filter {
(it == Manifest.permission.SYSTEM_ALERT_WINDOW && checkFloatPermission(context))
|| (ContextCompatLKMe.checkSelfPermission(
context, it
) == PackageManager.PERMISSION_GRANTED)
val list = permissions?.filter { str -> str.startsWith("android.permission") }?.let {
if (Build.VERSION.SDK_INT < 23) {
it
} else {
it.filter { s ->
(s == Manifest.permission.SYSTEM_ALERT_WINDOW && checkFloatPermission(context))
|| (ContextCompatLKMe.checkSelfPermission(
context, s
) == PackageManager.PERMISSION_GRANTED)
}
}
}
val permissionList = ArrayList<PermissionEntity>()
list?.forEach {
PermissionEntity.fetchPermission(it)
?.let { permission ->
if (!permissionList.contains(permission)) permissionList.add(permission)
}
}
return permissionList
}
fun jumpToSetting(context: Context) {
@@ -78,7 +89,7 @@ class PermissionUtil {
Binder.getCallingUid(),
context.packageName
)
return result == filedMode.getInt(osManagerClazz)
return result == filedMode?.getInt(osManagerClazz)
} catch (e: Exception) {
return false
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="@dimen/dp_30"
android:height="@dimen/dp_30" />
<solid android:color="@color/color_33FFFFFF" />
</shape>

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="300dp"
android:layout_height="193dp"
android:background="@drawable/dialog_background"
android:paddingTop="@dimen/dp_20"
android:paddingBottom="@dimen/dp_20">
<ImageView
android:id="@id/iv_icon"
android:layout_width="120dp"
android:layout_height="80dp"
android:src="@drawable/ic_dialog_auditing"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_9"
android:textColor="@color/color_black_333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_icon"
tools:text="审核中" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_9"
android:gravity="center"
android:textColor="@color/color_666666"
android:textSize="@dimen/sp_13"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title"
android:text="咻,收到小可爱的新头像了呢~\n审核通过后小秘书会发送并通知你哦~" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -5,6 +5,8 @@
<data>
<import type="com.yizhuan.xchat_android_core.utils.TextUtils" />
<variable
name="userInfo"
type="com.yizhuan.xchat_android_core.user.bean.UserInfo" />
@@ -67,7 +69,7 @@
<com.yizhuan.erban.common.widget.CircleImageView
android:id="@+id/iv_user_head"
avatarUrl="@{userInfo.avatar}"
avatarUrl="@{TextUtils.isEmptyText(userInfo.newAvatar)?userInfo.avatar:userInfo.newAvatar}"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="20dp"
@@ -77,6 +79,15 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_avatar_auditing"
android:visibility="@{userInfo.isReview() ?View.VISIBLE:View.GONE}"
app:layout_constraintBottom_toBottomOf="@id/iv_user_head"
app:layout_constraintLeft_toLeftOf="@id/iv_user_head"
app:layout_constraintRight_toRightOf="@id/iv_user_head" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_avatar_head_wear"
android:layout_width="67dp"

View File

@@ -585,4 +585,8 @@
<!-- 大鹅开黑UI规范 end-->
<!--60透明度-->
<color name="color_60_FFFFFF">#99FFFFFF</color>
<color name="color_10_FFFFFF">#1AFFFFFF</color>
</resources>

View File

@@ -348,4 +348,35 @@ public class UriProvider {
return IM_SERVER_URL.concat("/yinyou/modules/room_rank/index.html?roomUid="+ AvRoomDataManager.get().getRoomUid());
}
/**
* 第三方SDK协议
*
* @return
*/
public static String getSDKPermissionUrl() {
return JAVA_WEB_URL.concat("/yinyou/modules/rule/sdk.html");
}
/**
* 隐私协议设备权限
*
* @return
*/
public static String getDeivcePermissionUrl() {
return JAVA_WEB_URL.concat("/yinyou/modules/rule/permissions.html");
}
/**
* 隐私协议-个人信息
*/
public static String getPersonalInfoUrl() {
return JAVA_WEB_URL.concat("/yinyou/modules/rule/personal-info.html");
}
/**
* 隐私指引
*/
public static String getPrivacyUrl() {
return JAVA_WEB_URL.concat("/yinyou/modules/rule/privacy-wap.html");
}
}

View File

@@ -53,6 +53,8 @@ public class UserDetailInfo implements Serializable {
* userGiftWall : [{"uid":935007,"giftPrice":100,"giftId":1362,"giftName":"棒棒糖","picUrl":"http://image.doudouyuyin.com/FutM6ydZBdAn6Iz_ro7mgen1Cmph?imageslim","reciveCount":152}]
* dynamicInfo : [{"uid":935007,"worldId":-1,"content":"人生不如意之事 十之八九\n放下才是解脱","likeCount":1,"commentCount":2,"dynamicId":1339,"publishTime":1587726740000,"playCount":0,"type":2,"dynamicResList":[{"id":950,"resUrl":"https://image.zhongjialx.com/FhWRCGNLYybra8--ItDfuN3lpCIX?imageslim","resDuration":0,"format":"jpeg","width":2000,"height":1500}],"status":1,"isLike":false,"nick":"大幽魂上衣","avatar":"https://image.zhongjialx.com/rotate_picture_1587010848888.jpg?imageslim"},{"uid":935007,"worldId":-1,"content":"努力,才能保证你的价值🌹🌷💐🥀🍂🍁🌼🌸🌺🍃🌾🌱🌾🎍🌵🌵🌿🍀🌳🌳💐🌻🌷🌻","likeCount":1,"commentCount":1,"dynamicId":1337,"publishTime":1587726053000,"playCount":0,"type":2,"dynamicResList":[{"id":948,"resUrl":"https://image.zhongjialx.com/FhwRh_iAaqRkgsOZdHK3n3TM75Zq?imageslim","resDuration":0,"format":"jpeg","width":2000,"height":1500}],"status":1,"isLike":false,"nick":"大幽魂上衣","avatar":"https://image.zhongjialx.com/rotate_picture_1587010848888.jpg?imageslim"},{"uid":935007,"worldId":-1,"content":"盘他","likeCount":1,"commentCount":1,"dynamicId":1330,"publishTime":1587721604000,"playCount":0,"type":2,"dynamicResList":[{"id":947,"resUrl":"https://image.zhongjialx.com/FpthMLmgrkDHfEatTBKb0h05mnXj?imageslim","resDuration":0,"format":"jpeg","width":1080,"height":1672}],"status":1,"isLike":false,"nick":"大幽魂上衣","avatar":"https://image.zhongjialx.com/rotate_picture_1587010848888.jpg?imageslim"},{"uid":935007,"worldId":-1,"content":"铁汁,奥力给,没毛病吧?!","likeCount":1,"commentCount":3,"dynamicId":1329,"publishTime":1587720609000,"playCount":0,"type":2,"dynamicResList":[{"id":946,"resUrl":"https://image.zhongjialx.com/FtV48sdlmrKkc69OSft43J-S7wDk?imageslim","resDuration":0,"format":"png","width":1080,"height":1920}],"status":1,"isLike":false,"nick":"大幽魂上衣","avatar":"https://image.zhongjialx.com/rotate_picture_1587010848888.jpg?imageslim"},{"uid":935007,"worldId":-1,"content":"上热门🦆","likeCount":5,"commentCount":7,"dynamicId":1327,"publishTime":1587711821000,"playCount":0,"type":2,"dynamicResList":[{"id":938,"resUrl":"https://image.zhongjialx.com/FgInE7evjBy8lL33uHkmvORMlC1_?imageslim","resDuration":0,"format":"jpeg","width":1296,"height":1728}],"status":1,"isLike":false,"nick":"大幽魂上衣","avatar":"https://image.zhongjialx.com/rotate_picture_1587010848888.jpg?imageslim"}]
* privatePhoto : [{"photoUrl":"https://image.zhongjialx.com/rotate_picture_1587010848888.jpg?imageslim","seqNo":0}]
isReview boolean
newPhoto : list
*/
private int uid;
@@ -357,6 +359,7 @@ public class UserDetailInfo implements Serializable {
private String photoUrl;
private int seqNo;
private boolean isReview;
public String getPhotoUrl() {
return photoUrl;
@@ -373,6 +376,14 @@ public class UserDetailInfo implements Serializable {
public void setSeqNo(int seqNo) {
this.seqNo = seqNo;
}
public boolean isReview() {
return isReview;
}
public void setReview(boolean review) {
isReview = review;
}
}
}
}

View File

@@ -47,6 +47,10 @@ public class UserInfo implements Serializable {
private String nick;
//头像
private String avatar;
//isReview头像是否在审核中
private boolean isReview;
//新的头像
private String newAvatar;
//性别 1:男 2女 0 :未知
private int gender;
//生日
@@ -333,6 +337,8 @@ public class UserInfo implements Serializable {
this.phone = userInfo.phone;
this.isBindPhone = userInfo.isBindPhone;
this.bindType = userInfo.bindType;
this.isReview = userInfo.isReview;
this.newAvatar = userInfo.newAvatar;
}
//
@@ -520,6 +526,22 @@ public class UserInfo implements Serializable {
return remainDay;
}
public void setNewAvatar(String newAvatar) {
this.newAvatar = newAvatar;
}
public String getNewAvatar() {
return newAvatar;
}
public void setReview(boolean review) {
isReview = review;
}
public boolean isReview() {
return isReview;
}
public void setRemainDay(int remainDay) {
this.remainDay = remainDay;
}