Browse Source

增加老师端查看用户详情的页面-v2版本

Pq 11 months ago
parent
commit
2a0821b818

+ 1 - 0
BaseLibrary/src/main/java/com/cooleshow/base/router/RouterPath.kt

@@ -172,6 +172,7 @@ object RouterPath {
             const val MINE_COURSE_WARE = "/teacher/ui/mine/CoursewareListActivity"
             const val UNBIND_TENANT = "/teacher/ui/mine/UnBindTenantActivity"
             const val SELECT_TENANT_MEMBER = "/teacher/ui/mine/SelectTenantMemberActivity"
+            const val LOOK_USER_DETAIL = "/teacher/ui/mine/UserDetailActivity"
         }
     }
 

BIN
BaseLibrary/src/main/res/drawable-xhdpi/icon_svip_star2.png


BIN
BaseLibrary/src/main/res/drawable-xhdpi/icon_vip_star2.png


BIN
BaseLibrary/src/main/res/drawable-xxhdpi/icon_svip_star2.png


BIN
BaseLibrary/src/main/res/drawable-xxhdpi/icon_vip_star2.png


+ 7 - 0
BaseLibrary/src/main/res/drawable/bg_white_16dp.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/white" />
+    <corners
+        android:radius="16dp" />
+</shape>

+ 6 - 0
teacher/src/main/AndroidManifest.xml

@@ -362,6 +362,12 @@
             android:windowSoftInputMode="adjustPan" />
 
         <activity
+            android:name=".ui.mine.UserDetailActivity"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustPan" />
+
+        <activity
             android:name="com.tencent.tauth.AuthActivity"
             android:launchMode="singleTask"
             android:noHistory="true">

+ 18 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/UserDetailContract.java

@@ -0,0 +1,18 @@
+package com.cooleshow.teacher.contract;
+
+import com.cooleshow.base.presenter.view.BaseView;
+import com.cooleshow.teacher.bean.UnBindTenantDetailBean;
+
+/**
+ * 创建日期:2022/5/18 14:11
+ *
+ * @author Ryan
+ * 类说明:
+ */
+public interface UserDetailContract {
+    interface View extends BaseView {
+
+    }
+    interface Presenter {
+    }
+}

+ 43 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/mine/LookUserDetailPresenter.java

@@ -0,0 +1,43 @@
+package com.cooleshow.teacher.presenter.mine;
+
+import com.cooleshow.base.common.BaseConstant;
+import com.cooleshow.base.presenter.BasePresenter;
+import com.cooleshow.base.rx.BaseObserver;
+import com.cooleshow.teacher.contract.UserDetailContract;
+import com.cooleshow.usercenter.data.api.UserApi;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 创建日期:2022/5/18 14:08
+ *
+ * @author Ryan
+ * 类说明:
+ */
+public class LookUserDetailPresenter extends BasePresenter<UserDetailContract.View> implements UserDetailContract.Presenter {
+    /**
+     * 图片验证码验证
+     *
+     * @param phone
+     * @param imgCode
+     */
+    public void verifyImgCode(String phone, String imgCode) {
+        if (getView() != null) {
+            getView().showLoading();
+        }
+        Map<String, String> params = new HashMap<>();
+        params.put("code", imgCode);
+        params.put("phone", phone);
+        addSubscribe(create(UserApi.class).verifyImgCode(params, BaseConstant.getClientGroup()), new BaseObserver<Object>(getView()) {
+            @Override
+            protected void onSuccess(Object data) {
+                if (getView() != null) {
+//                    getView().verifyImgCodeSuccess(phone);
+                }
+            }
+
+        });
+    }
+
+}

+ 31 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/mine/UserDetailActivity.java

@@ -0,0 +1,31 @@
+package com.cooleshow.teacher.ui.mine;
+
+import android.graphics.Color;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.cooleshow.base.router.RouterPath;
+import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.teacher.databinding.AcUserDetailLayoutBinding;
+import com.cooleshow.teacher.presenter.mine.LookUserDetailPresenter;
+
+/**
+ * Author by pq, Date on 2024/7/22.
+ */
+@Route(path = RouterPath.MineCenter.LOOK_USER_DETAIL)
+public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBinding, LookUserDetailPresenter> {
+    @Override
+    protected void initView() {
+        initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "");
+        viewBinding.toolbarInclude.toolbar.setBackgroundColor(Color.TRANSPARENT);
+    }
+
+    @Override
+    protected AcUserDetailLayoutBinding getLayoutView() {
+        return AcUserDetailLayoutBinding.inflate(getLayoutInflater());
+    }
+
+    @Override
+    protected LookUserDetailPresenter createPresenter() {
+        return new LookUserDetailPresenter();
+    }
+}

BIN
teacher/src/main/res/drawable-xhdpi/icon_look_user_detail_top_tag.png


BIN
teacher/src/main/res/drawable-xxhdpi/bg_look_user_detail_top.png


BIN
teacher/src/main/res/drawable-xxhdpi/icon_look_user_detail_top_tag.png


+ 342 - 0
teacher/src/main/res/layout/ac_user_detail_layout.xml

@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.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="match_parent">
+
+    <ImageView
+        android:id="@+id/iv_top_bg"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:adjustViewBounds="true"
+        android:src="@drawable/bg_look_user_detail_top"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+
+    <include
+        android:id="@+id/toolbar_include"
+        layout="@layout/common_toolbar_layout" />
+
+
+    <de.hdodenhof.circleimageview.CircleImageView
+        android:id="@+id/iv_avatar"
+        android:layout_width="86dp"
+        android:layout_height="86dp"
+        android:layout_marginTop="19dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/toolbar_include" />
+
+    <View
+        android:id="@+id/view_line"
+        android:layout_width="1px"
+        android:layout_height="1px"
+        app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
+        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+        app:layout_constraintRight_toRightOf="@+id/iv_avatar" />
+
+    <ImageView
+        android:id="@+id/iv_vip_tag"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:layout_constraintBottom_toBottomOf="@+id/view_line"
+        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+        app:layout_constraintRight_toRightOf="@+id/iv_avatar"
+        app:layout_constraintTop_toTopOf="@+id/view_line"
+        tools:src="@drawable/icon_svip_tag" />
+
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="3dp"
+        android:layout_marginEnd="21dp"
+        android:src="@drawable/icon_look_user_detail_top_tag"
+        app:layout_constraintRight_toRightOf="@+id/cs_content"
+        app:layout_constraintTop_toTopOf="@+id/iv_avatar" />
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/cs_content"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="13dp"
+        android:layout_marginTop="43dp"
+        android:layout_marginEnd="13dp"
+        android:background="@drawable/bg_white_16dp"
+        android:paddingStart="15dp"
+        android:paddingEnd="15dp"
+        android:paddingBottom="18dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="@+id/iv_avatar">
+
+        <TextView
+            android:id="@+id/tv_name"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="64dp"
+            android:ellipsize="end"
+            android:includeFontPadding="false"
+            android:maxLines="1"
+            android:textColor="@color/color_131415"
+            android:textSize="@dimen/sp_18"
+            android:textStyle="bold"
+            app:layout_constraintHorizontal_bias="0.5"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toLeftOf="@+id/iv_user_tag"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintWidth_default="wrap"
+            tools:text="测试测试" />
+
+        <ImageView
+            android:id="@+id/iv_user_tag"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="4dp"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_name"
+            app:layout_constraintLeft_toRightOf="@+id/tv_name"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_name"
+            tools:src="@drawable/icon_svip_tag" />
+
+        <TextView
+            android:id="@+id/tv_svip_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="32dp"
+            android:drawableStart="@drawable/icon_svip_star2"
+            android:drawablePadding="6dp"
+            android:includeFontPadding="false"
+            android:text="SVIP有效期"
+            android:textColor="@color/color_777777"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_name" />
+
+        <TextView
+            android:id="@+id/tv_svip_value"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:textColor="@color/color_ff623a"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_svip_title"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_svip_title"
+            tools:text="SVIP有效期" />
+
+
+        <View
+            android:id="@+id/view_line1"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_marginTop="18dp"
+            android:background="@color/color_f2f2f2"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_svip_title" />
+
+
+        <TextView
+            android:id="@+id/tv_vip_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="18dp"
+            android:drawableStart="@drawable/icon_vip_star2"
+            android:drawablePadding="6dp"
+            android:includeFontPadding="false"
+            android:text="VIP有效期"
+            android:textColor="@color/color_777777"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_line1" />
+
+        <TextView
+            android:id="@+id/tv_vip_value"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:textColor="@color/color_ff623a"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_vip_title"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_vip_title"
+            tools:text="VIP有效期" />
+
+
+        <View
+            android:id="@+id/view_line2"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_marginTop="18dp"
+            android:background="@color/color_f2f2f2"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_vip_title" />
+
+
+        <TextView
+            android:id="@+id/tv_user_id_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="18dp"
+            android:includeFontPadding="false"
+            android:text="ID"
+            android:textColor="@color/color_777777"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_line2" />
+
+
+        <TextView
+            android:id="@+id/tv_copy"
+            android:layout_width="wrap_content"
+            android:layout_height="0dp"
+            android:gravity="center"
+            android:includeFontPadding="false"
+            android:paddingStart="12dp"
+            android:text="复制"
+            android:textColor="@color/color_2dc7aa"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toTopOf="@+id/view_line3"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_line2" />
+
+
+        <TextView
+            android:id="@+id/tv_user_id_value"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:textColor="@color/color_131415"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_user_id_title"
+            app:layout_constraintRight_toLeftOf="@+id/tv_copy"
+            app:layout_constraintTop_toTopOf="@+id/tv_user_id_title"
+            tools:text="UID823774" />
+
+        <View
+            android:id="@+id/view_line3"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_marginTop="18dp"
+            android:background="@color/color_f2f2f2"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_user_id_title" />
+
+
+        <TextView
+            android:id="@+id/tv_sex_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="18dp"
+            android:includeFontPadding="false"
+            android:text="性别"
+            android:textColor="@color/color_777777"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_line3" />
+
+
+        <TextView
+            android:id="@+id/tv_sex_value"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:textColor="@color/color_131415"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_sex_title"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_sex_title"
+            tools:text="男" />
+
+        <View
+            android:id="@+id/view_line4"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_marginTop="18dp"
+            android:background="@color/color_f2f2f2"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_sex_title" />
+
+
+        <TextView
+            android:id="@+id/tv_birthday_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="18dp"
+            android:includeFontPadding="false"
+            android:text="出生日期"
+            android:textColor="@color/color_777777"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_line4" />
+
+
+        <TextView
+            android:id="@+id/tv_birthday_value"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:textColor="@color/color_131415"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_birthday_title"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_birthday_title"
+            tools:text="1996-02-10" />
+
+        <View
+            android:id="@+id/view_line5"
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:layout_marginTop="18dp"
+            android:background="@color/color_f2f2f2"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tv_birthday_title" />
+
+
+        <TextView
+            android:id="@+id/tv_subject_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="18dp"
+            android:includeFontPadding="false"
+            android:text="声部"
+            android:textColor="@color/color_777777"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/view_line5" />
+
+
+        <TextView
+            android:id="@+id/tv_subject_value"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:textColor="@color/color_131415"
+            android:textSize="@dimen/sp_16"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_subject_title"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/tv_subject_title"
+            tools:text="长笛" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+    <TextView
+        android:id="@+id/tv_send_msg"
+        android:layout_width="match_parent"
+        android:layout_height="44dp"
+        android:layout_marginStart="25dp"
+        android:layout_marginEnd="25dp"
+        android:layout_marginBottom="6dp"
+        android:background="@drawable/shape_2dc7aa_39dp"
+        android:gravity="center"
+        android:text="发送消息"
+        android:textColor="@color/white"
+        android:textSize="@dimen/sp_18"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent" />
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>