Commit ba02e456 authored by yinjiacheng's avatar yinjiacheng

add 系统设置-注销账号功能

parent dc26779a
package com.yidian.common.widget
import android.content.Context
import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.WindowManager
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import com.yidian.common.R
import com.yidian.common.base.BaseDialog
import com.yidian.common.databinding.DialogCommonInfoBinding
import com.yidian.utils.DensityUtil
/**
* author: yinjiacheng
* date: 7/16/21 08:50 PM
* description: 通用信息dialog
*/
class CommonInfoDialog @JvmOverloads constructor(
context: Context,
val title: String,
val content: CharSequence,
val options: ArrayList<String>,
val callback: OnOptionCallback?,
private val widthDp: Int = 280,
private val leftBtnColor: Int = R.color.color_8F000000,
private val rightBtnColor: Int = R.color.color_1852F1,
) : BaseDialog<DialogCommonInfoBinding>(context), View.OnClickListener {
override fun createViewBinding(): DialogCommonInfoBinding {
return DialogCommonInfoBinding.inflate(layoutInflater)
}
override fun initView() {
viewBinding.tvTitle.text = title
viewBinding.tvContent.text = content
when (options.size) {
1 -> {
viewBinding.btnRight.text = options[0]
viewBinding.btnLeft.isVisible = false
viewBinding.viewVerticalDivider.isVisible = false
viewBinding.btnRight.setTextColor(ContextCompat.getColor(context, rightBtnColor))
}
2 -> {
viewBinding.btnLeft.text = options[0]
viewBinding.btnRight.text = options[1]
viewBinding.btnLeft.setTextColor(ContextCompat.getColor(context, leftBtnColor))
viewBinding.btnRight.setTextColor(ContextCompat.getColor(context, rightBtnColor))
}
}
}
override fun initListener() {
viewBinding.btnLeft.setOnClickListener(this)
viewBinding.btnRight.setOnClickListener(this)
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
setCanceledOnTouchOutside(false)
}
override fun show() {
super.show()
val attrs = window?.attributes
attrs?.width = DensityUtil.dp2px(widthDp.toFloat())
attrs?.height = WindowManager.LayoutParams.WRAP_CONTENT
window?.attributes = attrs
window?.attributes?.gravity = Gravity.CENTER
}
override fun onClick(v: View?) {
if (v?.id == R.id.btn_left) {
callback?.onLeftOption()
} else if (v?.id == R.id.btn_right) {
callback?.onRightOption()
}
// 点击左右均要关闭弹框
dismiss()
}
interface OnOptionCallback {
/**
* 左操作项
*/
fun onLeftOption()
/**
* 右操作项
*/
fun onRightOption()
}
}
<?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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_common_hint_dialog">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp20"
android:gravity="center"
android:paddingStart="@dimen/dp20"
android:paddingEnd="@dimen/dp20"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/dp20"
android:textColor="@color/color_DE000000"
android:textSize="@dimen/sp14"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<View
android:id="@+id/view_horizontal_divider"
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="@color/color_1A000000"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_content" />
<Button
android:id="@+id/btn_left"
android:layout_width="0dp"
android:layout_height="@dimen/dp48"
android:background="@null"
android:textColor="@color/color_8F000000"
android:textSize="@dimen/sp16"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@id/btn_right"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_divider" />
<View
android:id="@+id/view_vertical_divider"
android:layout_width="0.5dp"
android:layout_height="0dp"
android:background="@color/color_1A000000"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/btn_right"
app:layout_constraintStart_toEndOf="@id/btn_left"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_divider" />
<Button
android:id="@+id/btn_right"
android:layout_width="0dp"
android:layout_height="@dimen/dp48"
android:background="@null"
android:textColor="@color/color_1852F1"
android:textSize="@dimen/sp16"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/btn_left"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_divider" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.ui.setting
import android.os.Build
import android.os.Bundle
import android.text.Html
import androidx.core.content.ContextCompat
import com.orhanobut.hawk.Hawk
import com.yidian.common.AppConfig
......@@ -12,6 +14,7 @@ import com.yidian.common.extensions.clickAntiShake
import com.yidian.common.extensions.initTitleBar
import com.yidian.common.services.AppUpgradeService
import com.yidian.common.utils.SystemSettingUtils
import com.yidian.common.widget.CommonInfoDialog
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.bean.HintOptionBean
import com.yidian.shenghuoquan.newscontent.databinding.ActivitySystemSettingBinding
......@@ -81,9 +84,22 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
urlMap[ProtocolActivity.ProtocolUrlKey] = AppConfig.privacyPolicyStatement
XPageManager.push(XRouterPathConstants.PROTOCOL, urlMap)
}
// 意见反馈
// 用户反馈
viewBind.clFeedback.clickAntiShake {
ToastUtil.showToast(this, "没事别瞎逼逼啊")
// TODO: 7/16/21 跳转用户反馈
}
// 注销账号
viewBind.clLogout.clickAntiShake {
CommonInfoDialog(
this,
resources.getString(R.string.logout_account),
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Html.fromHtml(resources.getString(R.string.logout_description), Html.FROM_HTML_MODE_COMPACT)
} else {
Html.fromHtml(resources.getString(R.string.logout_description))
},
arrayListOf(resources.getString(R.string.close)), null, 335
).show()
}
}
......
......@@ -181,5 +181,11 @@
<string name="no_stores">暂无门店</string>
<string name="click_below_add_store">请点击下方新增门店</string>
<string name="click_top_right_add_store">请点击右上角新增门店</string>
<string name="logout_account">注销账号</string>
<string name="logout_description">
<Data>
<![CDATA[<p><font color=\'#DE000000\'>如果您经过慎重考虑,确定放弃账户,您的账户需同时满足以下条件:</font></p><p><font color=\'#DE000000\'>1、账户无异常行为记录,且账户信息无相关注销记录;</font></p><p><font color=\'#DE000000\'>2、账户内无未完成状态或完成未满15天的订单;</font></p><p><font color=\'#DE000000\'>3、账户无纠纷;</font></p><p><font color=\'#DE000000\'>4、账户下无资金、无欠款、无未完结历史订单;</font></p><p><font color=\'#DE000000\'>5、账户注销同时原钱包将同时注销,确保钱包处于正常状态、无余额零钱、无未完成交易、无处理中提现请求,不存在其他因注销账户产生的纠纷情况等。</font></p><br></br><p><font color=\'#DE000000\'>您的账户满足注销条件,您可以通过发送邮件至<font color=\'#1852F1\'>support.tpo@linkingcities.com</font>进行注销申请,我们将在15个工作日内为您进行处理。</font></p><br></br><p><b><font color=\'#DE000000\'>提示:</font></b></p><p><font color=\'#DE000000\'>账户注销后,账户信息及账户在平台产生的资产、虚拟权益无法恢复,可能对您主张售后服务带来不便。商户端账户注销将影响您在生活圈App内相关权益及信息。</font></p>]]>
</Data>
</string>
</resources>
\ No newline at end of file
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