2 Коммиты aebc9a98b3 ... 51b717e3dc

Автор SHA1 Сообщение Дата
  Pq 51b717e3dc 修改账号注销流程 1 неделя назад
  Pq 4edde5d6df 修改调音器导航栏样式 1 неделя назад

+ 16 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/UiUtils.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.content.Context;
 import android.graphics.Point;
 import android.graphics.Rect;
+import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.os.Handler;
 import android.os.Looper;
@@ -13,6 +14,7 @@ import android.text.Spanned;
 import android.text.TextUtils;
 import android.text.style.ForegroundColorSpan;
 import android.text.style.ImageSpan;
+import android.text.style.StyleSpan;
 import android.text.style.TextAppearanceSpan;
 import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
@@ -152,6 +154,20 @@ public class UiUtils {
         return result;
     }
 
+    public static SpannableString diffColorStringAndBold(String bigSizeStr, String centerStr, String lastStr, int firstColor, int centerColor) {
+        String tmpStr = bigSizeStr + centerStr + lastStr;
+        SpannableString result = new SpannableString(tmpStr);
+        try {
+            result.setSpan(new ForegroundColorSpan(firstColor), 0, bigSizeStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            result.setSpan(new ForegroundColorSpan(centerColor), bigSizeStr.length(), bigSizeStr.length() + centerStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            result.setSpan(new StyleSpan(Typeface.BOLD), bigSizeStr.length(), bigSizeStr.length() + centerStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            result.setSpan(new ForegroundColorSpan(firstColor), bigSizeStr.length() + centerStr.length(), tmpStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+
     public static SpannableString diffColorString(String bigSizeStr, String lastStr, int firstColor, int lastColor) {
         String tmpStr = bigSizeStr + lastStr;
         SpannableString result = new SpannableString(tmpStr);

+ 23 - 0
BaseLibrary/src/main/java/com/cooleshow/base/widgets/dialog/CommonConfirmDialog2.java

@@ -74,6 +74,29 @@ public class CommonConfirmDialog2 extends BaseFullDialog {
         }
     }
 
+    /**
+     * 设置主文本对齐方式
+     *
+     * @param
+     */
+    public void setContentGravity(int gravity) {
+        if (mTvContent != null) {
+            mTvContent.setGravity(gravity);
+        }
+    }
+
+
+    /**
+     * 设置主文本
+     *
+     * @param text
+     */
+    public void setContent(CharSequence text) {
+        if (mTvContent != null) {
+            mTvContent.setText(text);
+        }
+    }
+
     public void setTitle(String title) {
         if (mTvTitle != null) {
             mTvTitle.setText(title);

+ 1 - 0
BaseLibrary/src/main/res/layout/dialog_common_confirm_layout2.xml

@@ -37,6 +37,7 @@
             android:layout_marginEnd="14dp"
             android:gravity="center"
             android:paddingTop="20dp"
+            android:lineSpacingMultiplier="1.1"
             android:paddingBottom="25dp"
             android:textColor="@color/color_666666"
             android:textSize="@dimen/sp_16"

+ 1 - 0
BaseLibrary/src/main/res/values/colors.xml

@@ -216,4 +216,5 @@
     <color name="color_f44541">#F44541</color>
     <color name="color_19b396">#19B396</color>
     <color name="color_ff5151">#FF5151</color>
+    <color name="color_131415">#131415</color>
 </resources>

+ 1 - 0
musictuner/src/main/java/com/cooleshow/musictuner/MusicTunerActivity.java

@@ -22,6 +22,7 @@ import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.SizeUtils;
 import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.helper.PermissionTipHelper;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.metronome.Utils.PlayBeanManager;
 import com.cooleshow.metronome.constants.MetronomeType;
 import com.cooleshow.metronome.constants.QuarterNoteRhythmType;

+ 46 - 0
usercenter/src/main/java/com/cooleshow/usercenter/adapter/SignOutFailTipAdapter.java

@@ -0,0 +1,46 @@
+package com.cooleshow.usercenter.adapter;
+
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.cooleshow.usercenter.R;
+import com.cooleshow.usercenter.bean.SignOutFailTipBean;
+
+import java.util.List;
+
+import androidx.annotation.NonNull;
+
+/**
+ * Author by pq, Date on 2024/9/12.
+ */
+public class SignOutFailTipAdapter extends BaseQuickAdapter<SignOutFailTipBean, BaseViewHolder> {
+    public SignOutFailTipAdapter() {
+        super(R.layout.item_sign_out_fail_tip_layout);
+    }
+
+    @Override
+    protected void convert(@NonNull BaseViewHolder holder, SignOutFailTipBean signOutFailTipBean) {
+        TextView tv_title = holder.getView(R.id.tv_title);
+        tv_title.setVisibility(signOutFailTipBean.isShowTitle() ? View.VISIBLE : View.GONE);
+        tv_title.setText(signOutFailTipBean.getClient());
+        TextView tv_content2 = holder.getView(R.id.tv_content2);
+        tv_content2.setText(formatTip(signOutFailTipBean.getErrList()));
+    }
+
+    private String formatTip(List<String> strings) {
+        StringBuilder tip = new StringBuilder();
+        for (int i = 0; i < strings.size(); i++) {
+            String s = strings.get(i);
+            //1、
+            tip.append(i + 1).append("、");
+            tip.append(s);
+            if (i != strings.size() - 1) {
+                tip.append("\n");
+            }
+        }
+        return tip.toString();
+    }
+}

+ 43 - 0
usercenter/src/main/java/com/cooleshow/usercenter/bean/SignOutFailTipBean.java

@@ -0,0 +1,43 @@
+package com.cooleshow.usercenter.bean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Author by pq, Date on 2024/9/12.
+ */
+public class SignOutFailTipBean {
+
+    /**
+     * client : STUDENT
+     * errList : ["账号存在待支付的订单"]
+     */
+
+    private String client;
+    private boolean isShowTitle;
+    private ArrayList<String> errList;
+
+    public boolean isShowTitle() {
+        return isShowTitle;
+    }
+
+    public void setShowTitle(boolean showTitle) {
+        isShowTitle = showTitle;
+    }
+
+    public String getClient() {
+        return client;
+    }
+
+    public void setClient(String client) {
+        this.client = client;
+    }
+
+    public ArrayList<String> getErrList() {
+        return errList;
+    }
+
+    public void setErrList(ArrayList<String> errList) {
+        this.errList = errList;
+    }
+}

+ 9 - 0
usercenter/src/main/java/com/cooleshow/usercenter/bean/StudentUserInfo.java

@@ -75,6 +75,15 @@ public class StudentUserInfo implements Serializable {
     private VipBean userVip;
     private String imCustomerId;
     private int customerServiceNum;
+    private String userType;
+
+    public String getUserType() {
+        return userType;
+    }
+
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
 
     public int getCustomerServiceNum() {
         return customerServiceNum;

+ 9 - 0
usercenter/src/main/java/com/cooleshow/usercenter/bean/TeacherUserInfo.java

@@ -99,6 +99,15 @@ public class TeacherUserInfo implements Serializable {
     private String imToken;
     private String imCustomerId;
     private int customerServiceNum;
+    private String userType;
+
+    public String getUserType() {
+        return userType;
+    }
+
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
 
     private int tenantAlbumStatus;//0:没有专辑 1:有,但是未解锁,2:有,且已解锁
 

+ 21 - 1
usercenter/src/main/java/com/cooleshow/usercenter/helper/UserHelper.java

@@ -3,6 +3,7 @@ package com.cooleshow.usercenter.helper;
 import android.text.TextUtils;
 
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.common.BaseConstant;
 import com.cooleshow.base.data.net.CommonParamsHelper;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.utils.DateUtil;
@@ -36,6 +37,7 @@ public class UserHelper {
     public static final String IS_CUSTOMERSERVICE_KEY = "isCustomerService";
 
     public static final String DEFAULT_ALBUM_ID = "default_album_id";
+    public static final String ISMULTIUSER = "isMultiUser";
 
     /**
      * 获取用户是否同意app隐私协议
@@ -145,7 +147,16 @@ public class UserHelper {
         SPUtils.getInstance().put(TENANTID_KEY + "_" + getUserId(), userInfo.tenantId);
         //机构名称
         SPUtils.getInstance().put(TENANTNAME_KEY + "_" + getUserId(), userInfo.getTenantName());
+        //是否是多账号
+        boolean isMultiAccount = isMultiAccount(userInfo.getUserType());
+        SPUtils.getInstance().put(ISMULTIUSER + "_" + getUserId(), isMultiAccount);
+    }
 
+    private static boolean isMultiAccount(String userType) {
+        if (!TextUtils.isEmpty(userType)) {
+            return userType.contains(BaseConstant.TEACHER_CLIENT_TYPE) && userType.contains(BaseConstant.STUDENT_CLIENT_TYPE);
+        }
+        return false;
     }
 
     public static void saveUserInfo(TeacherUserInfo userInfo) {
@@ -170,7 +181,9 @@ public class UserHelper {
         SPUtils.getInstance().put(TENANTID_KEY + "_" + getUserId(), userInfo.getTenantId());
         //机构名称
         SPUtils.getInstance().put(TENANTNAME_KEY + "_" + getUserId(), userInfo.getTenantName());
-
+        //是否是多账号
+        boolean isMultiAccount = isMultiAccount(userInfo.getUserType());
+        SPUtils.getInstance().put(ISMULTIUSER + "_" + getUserId(), isMultiAccount);
     }
 
     public static String getUserId() {
@@ -205,6 +218,13 @@ public class UserHelper {
         return SPUtils.getInstance().getString(TENANTID_KEY + "_" + getUserId(), "-1");
     }
 
+    /**
+     * 是否是多角色账号
+     * @return
+     */
+    public static boolean isMultiAccountUser() {
+        return SPUtils.getInstance().getBoolean(ISMULTIUSER + "_" + getUserId(), false);
+    }
 
     /**
      * 是否是客服账号

+ 50 - 15
usercenter/src/main/java/com/cooleshow/usercenter/ui/activity/setting/SignOutAccountActivity.java

@@ -6,35 +6,45 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.telephony.PhoneNumberUtils;
+import android.text.SpannableString;
 import android.text.TextUtils;
+import android.view.Gravity;
 import android.view.View;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.common.BaseConstant;
 import com.cooleshow.base.constanst.StyleConfig;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.GsonUtils;
 import com.cooleshow.base.utils.KeyboardUtils;
 import com.cooleshow.base.utils.PhoneUtils;
 import com.cooleshow.base.utils.SizeUtils;
 import com.cooleshow.base.utils.ToastUtil;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.widgets.dialog.CommonConfirmDialog;
 import com.cooleshow.base.widgets.dialog.CommonConfirmDialog2;
 import com.cooleshow.base.widgets.dialog.CommonDialog;
 import com.cooleshow.base.widgets.dialog.ImgVerifyCodeDialog;
 import com.cooleshow.usercenter.R;
+import com.cooleshow.usercenter.bean.SignOutFailTipBean;
 import com.cooleshow.usercenter.constants.UserConstants;
 import com.cooleshow.usercenter.databinding.AcSignOutAccountLayoutBinding;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.cooleshow.usercenter.presenter.SignOutAccountPresenter;
 import com.cooleshow.usercenter.presenter.contract.SignOutAccountContract;
 import com.cooleshow.usercenter.widget.SignOutFailTipDialog;
+import com.google.gson.reflect.TypeToken;
 
 import org.json.JSONArray;
 import org.json.JSONException;
 
+import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import androidx.annotation.Nullable;
@@ -128,6 +138,7 @@ public class SignOutAccountActivity extends BaseMVPActivity<AcSignOutAccountLayo
     }
 
     private void showConfirmDialog() {
+        boolean isMultiAccountUser = UserHelper.isMultiAccountUser();
         String authCode = viewBinding.etNum.getText().toString().trim();
         if (TextUtils.isEmpty(authCode)) {
             ToastUtil.getInstance().showShort("请输入验证码");
@@ -142,9 +153,14 @@ public class SignOutAccountActivity extends BaseMVPActivity<AcSignOutAccountLayo
         commonConfirmDialog.setCancelText("确认");
         commonConfirmDialog.setConfirmText("取消");
 
-
         commonConfirmDialog.setTitle("注销账号");
-        commonConfirmDialog.setContent("请确认是否要注销账号?");
+        commonConfirmDialog.setContentGravity(Gravity.LEFT);
+        SpannableString multiUserTip = UiUtils.diffColorStringAndBold("请确认是否注销该账号,确认后将同步注销", "酷乐秀/酷乐秀学院", "的账号", getResources().getColor(com.cooleshow.base.R.color.color_666666), getResources().getColor(com.cooleshow.base.R.color.color_f44541));
+        if (isMultiAccountUser) {
+            commonConfirmDialog.setContent(multiUserTip);
+        } else {
+            commonConfirmDialog.setContent("请确认是否要注销账号?");
+        }
         commonConfirmDialog.setOnConfirmClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -233,25 +249,44 @@ public class SignOutAccountActivity extends BaseMVPActivity<AcSignOutAccountLayo
 
     private void showErrorTipMsg(String errmsg) {
         try {
-            JSONArray jsonArray = new JSONArray(errmsg);
-            StringBuilder tip = new StringBuilder();
-            for (int i = 0; i < jsonArray.length(); i++) {
-                String s = jsonArray.optString(i);
-                //1、
-                tip.append(i + 1).append("、");
-                tip.append(s);
-                if (i != jsonArray.length() - 1) {
-                    tip.append("\n");
+            Type listType = new TypeToken<ArrayList<SignOutFailTipBean>>() {
+            }.getType();
+            ArrayList<SignOutFailTipBean> tips = GsonUtils.fromJson(errmsg, listType);
+            if (tips != null && tips.size() > 0) {
+                for (int i = 0; i < tips.size(); i++) {
+                    SignOutFailTipBean signOutFailTipBean = tips.get(i);
+                    signOutFailTipBean.setShowTitle(true);
+                    if (TextUtils.equals(signOutFailTipBean.getClient(), BaseConstant.STUDENT_CLIENT_TYPE)) {
+                        signOutFailTipBean.setClient(getString(R.string.student_fail_tip_title));
+                    }
+                    if (TextUtils.equals(signOutFailTipBean.getClient(), BaseConstant.TEACHER_CLIENT_TYPE)) {
+                        signOutFailTipBean.setClient(getString(R.string.teacher_fail_tip_title));
+                    }
                 }
+
+                SignOutFailTipDialog dialog = new SignOutFailTipDialog(this);
+                dialog.show();
+                dialog.setContent(tips);
             }
-            SignOutFailTipDialog dialog = new SignOutFailTipDialog(this);
-            dialog.show();
-            dialog.setContent(tip.toString());
-        } catch (JSONException e) {
+
+
+//            JSONArray jsonArray = new JSONArray(errmsg);
+//            StringBuilder tip = new StringBuilder();
+//            for (int i = 0; i < jsonArray.length(); i++) {
+//                String s = jsonArray.optString(i);
+//                //1、
+//                tip.append(i + 1).append("、");
+//                tip.append(s);
+//                if (i != jsonArray.length() - 1) {
+//                    tip.append("\n");
+//                }
+//            }
+        } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
+
     private void resetBt() {
         viewBinding.tvSendVerifyCode.setClickable(true);
         viewBinding.tvSendVerifyCode.setText("获取验证码");

+ 24 - 6
usercenter/src/main/java/com/cooleshow/usercenter/widget/SignOutFailTipDialog.java

@@ -11,8 +11,14 @@ import android.widget.TextView;
 
 import com.cooleshow.base.widgets.dialog.BaseFullDialog;
 import com.cooleshow.usercenter.R;
+import com.cooleshow.usercenter.adapter.SignOutFailTipAdapter;
+import com.cooleshow.usercenter.bean.SignOutFailTipBean;
+
+import java.util.ArrayList;
 
 import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
 
 /**
  * Author by pq, Date on 2022/6/17.
@@ -20,12 +26,14 @@ import androidx.annotation.NonNull;
 public class SignOutFailTipDialog extends BaseFullDialog {
 
     private TextView mTvContent;
-    private TextView mTvContent2;
+    //    private TextView mTvContent2;
     private TextView mTvConfirm;
     private TextView mTvTitle;
 
     private int width;
     private int height;
+    private RecyclerView mRecyclerView;
+    private SignOutFailTipAdapter mSignOutFailTipAdapter;
 
     public SignOutFailTipDialog(@NonNull Context context) {
         super(context, com.cooleshow.base.R.style.BaseDialog);
@@ -44,9 +52,16 @@ public class SignOutFailTipDialog extends BaseFullDialog {
 
 
         mTvContent = findViewById(R.id.tv_content);
-        mTvContent2 = findViewById(R.id.tv_content2);
+//        mTvContent2 = findViewById(R.id.tv_content2);
         mTvConfirm = findViewById(R.id.tv_confirm);
         mTvTitle = findViewById(R.id.tv_title);
+        mRecyclerView = findViewById(R.id.recyclerView);
+
+        mSignOutFailTipAdapter = new SignOutFailTipAdapter();
+        LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
+        mRecyclerView.setLayoutManager(layoutManager);
+        mRecyclerView.setAdapter(mSignOutFailTipAdapter);
+
         mTvConfirm.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -66,11 +81,14 @@ public class SignOutFailTipDialog extends BaseFullDialog {
     /**
      * 设置主文本
      *
-     * @param text
+     * @param tips
      */
-    public void setContent(String text) {
-        if (mTvContent2 != null) {
-            mTvContent2.setText(text);
+    public void setContent(ArrayList<SignOutFailTipBean> tips) {
+//        if (mTvContent2 != null) {
+//            mTvContent2.setText(text);
+//        }
+        if (mSignOutFailTipAdapter != null) {
+            mSignOutFailTipAdapter.setNewInstance(tips);
         }
     }
 

+ 31 - 5
usercenter/src/main/res/layout/ac_sign_out_account_layout.xml

@@ -70,7 +70,7 @@
                 android:layout_marginTop="16dp"
                 android:paddingStart="20dp"
                 android:paddingEnd="20dp"
-                android:text="注销账号后,此账号将无法登录和使用酷乐秀相关产品。账号—旦注销完成将无法恢复,请您在注销前慎重考虑。"
+                android:text="注销账号后,您将无法登录和使用酷乐秀相关产品,且账号无法恢复,请慎重考虑。"
                 android:textColor="@color/color_666666"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toRightOf="parent"
@@ -84,7 +84,7 @@
                 android:layout_marginTop="10dp"
                 android:paddingStart="20dp"
                 android:paddingEnd="20dp"
-                android:text="账号注销将会对您产生以下影响:"
+                android:text="注销影响:"
                 android:textColor="?attr/klx_main_color"
                 android:textStyle="bold"
                 app:layout_constraintLeft_toLeftOf="@+id/tv_tip"
@@ -100,7 +100,7 @@
                 android:layout_marginEnd="34dp"
                 android:includeFontPadding="false"
                 android:text="@string/str_sign_out_account_des2"
-                android:textColor="@color/color_333333"
+                android:textColor="@color/color_131415"
                 android:textSize="@dimen/sp_14"
                 android:textStyle="bold"
                 app:layout_constraintLeft_toLeftOf="parent"
@@ -116,7 +116,7 @@
                 android:layout_marginEnd="34dp"
                 android:includeFontPadding="false"
                 android:text="@string/str_sign_out_account_des1"
-                android:textColor="@color/color_333333"
+                android:textColor="@color/color_131415"
                 android:textSize="@dimen/sp_14"
                 android:textStyle="bold"
                 app:layout_constraintLeft_toLeftOf="parent"
@@ -124,6 +124,7 @@
                 app:layout_constraintTop_toBottomOf="@+id/tv_des1" />
 
             <TextView
+                android:visibility="gone"
                 android:includeFontPadding="false"
                 android:id="@+id/tv_des2_detail"
                 android:layout_width="0dp"
@@ -145,13 +146,29 @@
                 android:layout_marginEnd="34dp"
                 android:includeFontPadding="false"
                 android:text="@string/str_sign_out_account_des3"
-                android:textColor="@color/color_333333"
+                android:textColor="@color/color_131415"
                 android:textSize="@dimen/sp_14"
                 android:textStyle="bold"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toRightOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/tv_des2_detail" />
 
+            <TextView
+                android:id="@+id/tv_des4"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="34dp"
+                android:layout_marginTop="16dp"
+                android:layout_marginEnd="34dp"
+                android:includeFontPadding="false"
+                android:text="@string/str_sign_out_account_des4"
+                android:textColor="@color/color_131415"
+                android:textSize="@dimen/sp_14"
+                android:textStyle="bold"
+                app:layout_constraintLeft_toLeftOf="parent"
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/tv_des3" />
+
             <View
                 android:layout_width="6dp"
                 android:layout_height="6dp"
@@ -178,6 +195,15 @@
                 android:background="@drawable/shape_fe2451_point"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintTop_toTopOf="@+id/tv_des3" />
+
+            <View
+                android:layout_width="6dp"
+                android:layout_height="6dp"
+                android:layout_marginStart="20dp"
+                android:layout_marginTop="6dp"
+                android:background="@drawable/shape_fe2451_point"
+                app:layout_constraintLeft_toLeftOf="parent"
+                app:layout_constraintTop_toTopOf="@+id/tv_des4" />
         </androidx.constraintlayout.widget.ConstraintLayout>
     </ScrollView>
 

+ 52 - 15
usercenter/src/main/res/layout/dialog_sign_out_fail_layout.xml

@@ -31,44 +31,81 @@
             app:layout_constraintRight_toRightOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
+
         <TextView
+            android:textStyle="bold"
             android:id="@+id/tv_content"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="20dp"
             android:text="该账户需要处理以下事项后再进行注销:"
             android:textColor="@color/color_f44541"
             android:textSize="@dimen/sp_14"
+            android:layout_marginTop="20dp"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/tv_title" />
 
-
-        <TextView
-            android:id="@+id/tv_content2"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:lineSpacingMultiplier="1.2"
-            android:paddingTop="2dp"
-            android:textColor="@color/color_666666"
-            android:textSize="@dimen/sp_14"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
+        <androidx.recyclerview.widget.RecyclerView
             app:layout_constraintTop_toBottomOf="@+id/tv_content"
-            tools:text="1、账户存在未支付、未确认收货、售后处理中的订单 2、账户为机构群群主、需要转移群主或解散群聊 3、存在进行中的直播课、陪练课、琴房课,未下架的视频课 4、收入未结算/推广计划未入账" />
+            android:layout_width="match_parent"
+            android:layout_marginTop="8dp"
+            android:scrollbars="none"
+            android:id="@+id/recyclerView"
+            app:layout_constraintHeight_max="300dp"
+            android:layout_height="wrap_content"/>
+
+<!--        <androidx.core.widget.NestedScrollView-->
+<!--            android:visibility="gone"-->
+<!--            android:id="@+id/scrollView"-->
+<!--            android:layout_width="match_parent"-->
+<!--            android:layout_height="wrap_content"-->
+<!--            android:layout_marginTop="20dp"-->
+<!--            app:layout_constraintHeight_max="400dp"-->
+<!--            app:layout_constraintTop_toBottomOf="@+id/tv_title">-->
+
+<!--            <LinearLayout-->
+<!--                android:layout_width="match_parent"-->
+<!--                android:layout_height="wrap_content"-->
+<!--                android:orientation="vertical">-->
+
+<!--                <TextView-->
+<!--                    android:id="@+id/tv_content"-->
+<!--                    android:layout_width="match_parent"-->
+<!--                    android:layout_height="wrap_content"-->
+<!--                    android:text="该账户需要处理以下事项后再进行注销:"-->
+<!--                    android:textColor="@color/color_f44541"-->
+<!--                    android:textSize="@dimen/sp_14"-->
+<!--                    app:layout_constraintLeft_toLeftOf="parent"-->
+<!--                    app:layout_constraintTop_toBottomOf="@+id/tv_title" />-->
+<!--                -->
+<!--                <TextView-->
+<!--                    android:id="@+id/tv_content2"-->
+<!--                    android:layout_width="match_parent"-->
+<!--                    android:layout_height="wrap_content"-->
+<!--                    android:lineSpacingMultiplier="1.2"-->
+<!--                    android:paddingTop="2dp"-->
+<!--                    android:textColor="@color/color_666666"-->
+<!--                    android:textSize="@dimen/sp_14"-->
+<!--                    app:layout_constraintLeft_toLeftOf="parent"-->
+<!--                    app:layout_constraintRight_toRightOf="parent"-->
+<!--                    app:layout_constraintTop_toBottomOf="@+id/tv_content"-->
+<!--                    tools:text="1、账户存在未支付、未确认收货、售后处理中的订单 2、账户为机构群群主、需要转移群主或解散群聊 3、存在进行中的直播课、陪练课、琴房课,未下架的视频课 4、收入未结算/推广计划未入账" />-->
+<!--            </LinearLayout>-->
+<!--        </androidx.core.widget.NestedScrollView>-->
 
         <TextView
             android:id="@+id/tv_confirm"
             android:layout_width="0dp"
             android:layout_height="40dp"
             android:layout_marginTop="25dp"
-            android:background="@drawable/shape_2dc7aa_to_2dc7aa_22dp"
+            android:background="@drawable/shape_2dc7aa_22dp_dynamic"
             android:gravity="center"
             android:text="我知道了"
             android:textColor="@color/white"
             android:textSize="@dimen/sp_16"
+            app:layout_constraintHorizontal_bias="0.0"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/tv_content2" />
+            app:layout_constraintTop_toBottomOf="@+id/recyclerView" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 </LinearLayout>

+ 30 - 0
usercenter/src/main/res/layout/item_sign_out_fail_tip_layout.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout 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:paddingBottom="8dp"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/tv_title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textColor="@color/color_1bb99b"
+        android:textSize="@dimen/sp_14"
+        android:textStyle="bold"
+        tools:text="【酷乐秀】" />
+
+    <TextView
+        android:id="@+id/tv_content2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:lineSpacingMultiplier="1.2"
+        android:paddingTop="2dp"
+        android:textColor="@color/color_666666"
+        android:textSize="@dimen/sp_14"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        tools:text="1、账户存在未支付、未确认收货、售后处理中的订单 2、账户为机构群群主、需要转移群主或解散群聊 3、存在进行中的直播课、陪练课、琴房课,未下架的视频课 4、收入未结算/推广计划未入账" />
+</LinearLayout>

+ 6 - 3
usercenter/src/main/res/values/strings.xml

@@ -22,9 +22,10 @@
     <string name="login_privacy_tip2">《隐私政策》</string>
     <string name="nickname_fill_str">游客%1$s</string>
 
-    <string name="str_sign_out_account_des1">2、注销后,您在相关产品/服务留存的信息将被清空且无法找回,具体包括:</string>
-    <string name="str_sign_out_account_des3">3、账号一旦注销完成,将无法恢复;您与我们曾签署过的相关用户协议、授权协议等相应终止。</string>
-    <string name="str_sign_out_account_des2">1、您将无法再以此账号登录/使用酷乐秀APP的相关服务。</string>
+    <string name="str_sign_out_account_des1">2、账号下的所有内容、信息、数据、记录及绑定信息将被清空且无法找回。</string>
+    <string name="str_sign_out_account_des3">3、该账号权益信息将被清除(例如:会员时长、购买单曲、专辑信息)。</string>
+    <string name="str_sign_out_account_des2">1、若已注册酷乐秀/酷乐秀学院,注销后将无法登录、使用酷乐秀/酷乐秀学院APP服务。</string>
+    <string name="str_sign_out_account_des4">4、相关用户协议和授权协议将终止。</string>
     <string name="str_sign_out_account_des2_detail">( 1 ) 该账号下的所有内容、信息、数据、记录、个人资料(例如:头像、昵称等)及绑定信息(例如:绑定手机号等);\n( 2 ) 该账号权益信息将被清除(例如:会员时长、购买单曲、专辑信息)。</string>
 
     <string name="custom_service_tip">或通过以下方式联系我们:\n客服电话:%s\n邮箱:%s</string>
@@ -37,5 +38,7 @@
     <string name="qrcode_auth_failed_tip2">授权失败,请重新扫码授权</string>
     <string name="cancel_login_tip_str">取消授权</string>
     <string name="auth_login_str">授权登录</string>
+    <string name="student_fail_tip_title">【酷乐秀】</string>
+    <string name="teacher_fail_tip_title">【酷乐秀学院】</string>
 
 </resources>