Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bp
ShenghuoquanBusiness
Commits
3552467e
Commit
3552467e
authored
Jul 16, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add 系统设置-用户反馈功能
parent
ba02e456
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
337 additions
and
1 deletion
+337
-1
AppConfig.kt
...onLib/Common/src/main/java/com/yidian/common/AppConfig.kt
+8
-0
XRouterPathConstants.kt
...n/src/main/java/com/yidian/common/XRouterPathConstants.kt
+3
-0
CommonDataSource.kt
.../src/main/java/com/yidian/common/http/CommonDataSource.kt
+23
-0
CommonService.kt
...mon/src/main/java/com/yidian/common/http/CommonService.kt
+11
-0
CommitFeedbackBean.kt
...in/java/com/yidian/common/http/bean/CommitFeedbackBean.kt
+60
-0
ICommitFeedbackCallback.kt
...om/yidian/common/http/callback/ICommitFeedbackCallback.kt
+13
-0
shape_bg_input_boarder.xml
...b/Common/src/main/res/drawable/shape_bg_input_boarder.xml
+11
-0
AndroidManifest.xml
Components/newscontent/src/main/AndroidManifest.xml
+1
-0
NewsContentApplication.kt
...an/shenghuoquan/newscontent/app/NewsContentApplication.kt
+12
-0
FeedbackActivity.kt
...n/shenghuoquan/newscontent/ui/setting/FeedbackActivity.kt
+52
-0
FeedbackViewModel.kt
.../shenghuoquan/newscontent/ui/setting/FeedbackViewModel.kt
+69
-0
SystemSettingActivity.kt
...nghuoquan/newscontent/ui/setting/SystemSettingActivity.kt
+1
-1
activity_feedback.xml
...nts/newscontent/src/main/res/layout/activity_feedback.xml
+70
-0
strings.xml
Components/newscontent/src/main/res/values/strings.xml
+3
-0
No files found.
CommonLib/Common/src/main/java/com/yidian/common/AppConfig.kt
View file @
3552467e
...
@@ -38,6 +38,14 @@ class AppConfig {
...
@@ -38,6 +38,14 @@ class AppConfig {
const
val
TowerApiKeyTag
=
"function-config"
const
val
TowerApiKeyTag
=
"function-config"
const
val
TowerApiVersion
=
"1.0.0"
const
val
TowerApiVersion
=
"1.0.0"
// 用户反馈配置
const
val
feedbackAssignee
=
"chengxiaofeng"
// 经办人
const
val
feedbackProject
=
"10721"
// 项目
const
val
feedbackIssueType
=
"10001"
// 问题类型
const
val
feedbackPriority
=
"4"
// 优先级
const
val
feedbackPlatform
=
"Android"
// 平台
const
val
feedbackDefaultSummary
=
"something's wrong"
// 默认问题概要
// 分享相关的三方平台配置
// 分享相关的三方平台配置
const
val
WeChatAppKey
=
"wxef4c37f254e29e84"
const
val
WeChatAppKey
=
"wxef4c37f254e29e84"
const
val
WeChatAppSecret
=
"fb596ed3641b481b6f973774987fd04f"
const
val
WeChatAppSecret
=
"fb596ed3641b481b6f973774987fd04f"
...
...
CommonLib/Common/src/main/java/com/yidian/common/XRouterPathConstants.kt
View file @
3552467e
...
@@ -54,6 +54,9 @@ class XRouterPathConstants {
...
@@ -54,6 +54,9 @@ class XRouterPathConstants {
// 系统设置 —— 设置
// 系统设置 —— 设置
const
val
SYSTEM_SETTING
=
"/setting/SettingActivity"
const
val
SYSTEM_SETTING
=
"/setting/SettingActivity"
// 系统设置-用户反馈
const
val
FEEDBACK
=
"/setting/feedback"
// 商户管理中心
// 商户管理中心
const
val
MERCHANT_CENTER
=
"/merchantCenter"
const
val
MERCHANT_CENTER
=
"/merchantCenter"
// 商户基本信息
// 商户基本信息
...
...
CommonLib/Common/src/main/java/com/yidian/common/http/CommonDataSource.kt
View file @
3552467e
...
@@ -4,9 +4,11 @@ import com.google.gson.reflect.TypeToken
...
@@ -4,9 +4,11 @@ import com.google.gson.reflect.TypeToken
import
com.yidian.common.AppConfig
import
com.yidian.common.AppConfig
import
com.yidian.common.BuildConfig
import
com.yidian.common.BuildConfig
import
com.yidian.common.YdBaseApplication
import
com.yidian.common.YdBaseApplication
import
com.yidian.common.http.bean.CommitFeedbackBean
import
com.yidian.common.http.bean.GetCommonConfigBean
import
com.yidian.common.http.bean.GetCommonConfigBean
import
com.yidian.common.http.bean.GetKSYunObjectIdBean
import
com.yidian.common.http.bean.GetKSYunObjectIdBean
import
com.yidian.common.http.bean.GetKSYunTokenBean
import
com.yidian.common.http.bean.GetKSYunTokenBean
import
com.yidian.common.http.callback.ICommitFeedbackCallback
import
com.yidian.common.http.callback.IGetCommonConfigCallback
import
com.yidian.common.http.callback.IGetCommonConfigCallback
import
com.yidian.common.http.callback.IGetKSYunObjectIdCallback
import
com.yidian.common.http.callback.IGetKSYunObjectIdCallback
import
com.yidian.http.ServiceFactory
import
com.yidian.http.ServiceFactory
...
@@ -32,6 +34,10 @@ object CommonDataSource {
...
@@ -32,6 +34,10 @@ object CommonDataSource {
ServiceFactory
.
getInstance
().
createService
(
CommonService
::
class
.
java
,
domainTowerApi
)
ServiceFactory
.
getInstance
().
createService
(
CommonService
::
class
.
java
,
domainTowerApi
)
}
}
private
val
ydJiraApi
by
lazy
{
ServiceFactory
.
getInstance
().
createService
(
CommonService
::
class
.
java
,
CommonService
.
DOMAIN_YD_JIRA
)
}
// 301 获取金山云token接口
// 301 获取金山云token接口
fun
getKSYunToken
(
requestParams
:
HashMap
<
String
,
String
?
>):
HttpResult
<
GetKSYunTokenBean
.
Response
>?
{
fun
getKSYunToken
(
requestParams
:
HashMap
<
String
,
String
?
>):
HttpResult
<
GetKSYunTokenBean
.
Response
>?
{
val
timeStamp
=
System
.
currentTimeMillis
()
val
timeStamp
=
System
.
currentTimeMillis
()
...
@@ -86,4 +92,21 @@ object CommonDataSource {
...
@@ -86,4 +92,21 @@ object CommonDataSource {
}
}
})
})
}
}
// 用户反馈提交
fun
commitFeedback
(
apiCallback
:
ICommitFeedbackCallback
,
requestParams
:
CommitFeedbackBean
.
CommitFeedbackRequest
)
{
ydJiraApi
.
commitFeedback
(
requestParams
)
.
compose
(
TransformUtil
.
defaultSchedulers
())
.
subscribe
(
object
:
HttpResultObserver
<
CommitFeedbackBean
.
CommitFeedbackResponse
>()
{
override
fun
onSuccess
(
result
:
HttpResult
<
CommitFeedbackBean
.
CommitFeedbackResponse
>?)
{
apiCallback
.
commitFeedbackSuccess
(
result
?.
result
)
}
override
fun
onFailure
(
result
:
HttpResult
<
CommitFeedbackBean
.
CommitFeedbackResponse
>?)
{
apiCallback
.
commitFeedbackFailure
(
result
?.
reason
)
}
})
}
}
}
CommonLib/Common/src/main/java/com/yidian/common/http/CommonService.kt
View file @
3552467e
package
com.yidian.common.http
package
com.yidian.common.http
import
com.yidian.common.http.bean.CommitFeedbackBean
import
com.yidian.common.http.bean.GetCommonConfigBean
import
com.yidian.common.http.bean.GetCommonConfigBean
import
io.reactivex.rxjava3.core.Observable
import
io.reactivex.rxjava3.core.Observable
import
retrofit2.Call
import
retrofit2.Call
...
@@ -17,8 +18,14 @@ interface CommonService {
...
@@ -17,8 +18,14 @@ interface CommonService {
const
val
DOMAIN_TOWER_API_TEST
=
"http://open-tower-api.test.int.yidian-inc.com:8222"
const
val
DOMAIN_TOWER_API_TEST
=
"http://open-tower-api.test.int.yidian-inc.com:8222"
const
val
DOMAIN_TOWER_API_PRO
=
"https://open-tower-api.go2yd.com"
const
val
DOMAIN_TOWER_API_PRO
=
"https://open-tower-api.go2yd.com"
// 一点jira域名定义
const
val
DOMAIN_YD_JIRA
=
"http://ydjira.yidian-inc.com"
// tower-api 获取配置数据
// tower-api 获取配置数据
private
const
val
getCommonConfig
=
"/api/resource"
private
const
val
getCommonConfig
=
"/api/resource"
// 用户反馈提交
private
const
val
commitFeedback
=
"/rest/api/2/issue"
}
}
@Headers
(
"Content-Type: application/json"
)
@Headers
(
"Content-Type: application/json"
)
...
@@ -33,4 +40,8 @@ interface CommonService {
...
@@ -33,4 +40,8 @@ interface CommonService {
@GET
(
getCommonConfig
)
@GET
(
getCommonConfig
)
fun
getCommonConfig
(
@QueryMap
requestParams
:
Map
<
String
,
String
>):
Observable
<
HttpResult
<
GetCommonConfigBean
.
GetCommonConfigResponse
>>
fun
getCommonConfig
(
@QueryMap
requestParams
:
Map
<
String
,
String
>):
Observable
<
HttpResult
<
GetCommonConfigBean
.
GetCommonConfigResponse
>>
@Headers
(
"Content-Type: application/json"
,
"Authorization: Basic Y2xpZW50LXVwbG9hZDpUZXN0MTIzNCU="
)
@POST
(
commitFeedback
)
fun
commitFeedback
(
@Body
requestParams
:
CommitFeedbackBean
.
CommitFeedbackRequest
):
Observable
<
HttpResult
<
CommitFeedbackBean
.
CommitFeedbackResponse
>>
}
}
CommonLib/Common/src/main/java/com/yidian/common/http/bean/CommitFeedbackBean.kt
0 → 100644
View file @
3552467e
package
com.yidian.common.http.bean
import
com.google.gson.annotations.SerializedName
/**
* author: yinjiacheng
* date: 7/17/21 1:26 AM
* description: ydjira.yidian-inc.com/rest/api/2/issue
*/
class
CommitFeedbackBean
{
data class
CommitFeedbackRequest
(
@SerializedName
(
"fields"
)
val
fields
:
Fields
,
)
data class
Fields
(
@SerializedName
(
"assignee"
)
val
assignee
:
Assignee
,
@SerializedName
(
"description"
)
val
description
:
String
,
@SerializedName
(
"issuetype"
)
val
issuetype
:
Issuetype
,
@SerializedName
(
"priority"
)
val
priority
:
Priority
,
@SerializedName
(
"project"
)
val
project
:
Project
,
@SerializedName
(
"summary"
)
val
summary
:
String
,
)
data class
Assignee
(
@SerializedName
(
"name"
)
val
name
:
String
)
data class
Issuetype
(
@SerializedName
(
"id"
)
val
id
:
String
)
data class
Priority
(
@SerializedName
(
"id"
)
val
id
:
String
)
data class
Project
(
@SerializedName
(
"id"
)
val
id
:
String
)
data class
CommitFeedbackResponse
(
@SerializedName
(
"id"
)
val
id
:
String
,
@SerializedName
(
"key"
)
val
key
:
String
,
@SerializedName
(
"self"
)
val
self
:
String
)
}
CommonLib/Common/src/main/java/com/yidian/common/http/callback/ICommitFeedbackCallback.kt
0 → 100644
View file @
3552467e
package
com.yidian.common.http.callback
import
com.yidian.common.http.bean.CommitFeedbackBean
/**
* author: yinjiacheng
* date: 7/17/21 1:24 AM
* description: ydjira.yidian-inc.com/rest/api/2/issue
*/
interface
ICommitFeedbackCallback
{
fun
commitFeedbackSuccess
(
result
:
CommitFeedbackBean
.
CommitFeedbackResponse
?)
fun
commitFeedbackFailure
(
message
:
String
?)
}
CommonLib/Common/src/main/res/drawable/shape_bg_input_boarder.xml
0 → 100644
View file @
3552467e
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<stroke
android:width=
"@dimen/dp1"
android:color=
"@color/color_F2F2F2"
/>
<corners
android:radius=
"@dimen/dp8"
/>
</shape>
\ No newline at end of file
Components/newscontent/src/main/AndroidManifest.xml
View file @
3552467e
...
@@ -155,6 +155,7 @@
...
@@ -155,6 +155,7 @@
<activity
<activity
android:name=
".ui.center.MerchantAuthManagementActivity"
android:name=
".ui.center.MerchantAuthManagementActivity"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
/>
android:theme=
"@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
/>
<activity
android:name=
".ui.setting.FeedbackActivity"
/>
</application>
</application>
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/app/NewsContentApplication.kt
View file @
3552467e
...
@@ -40,6 +40,7 @@ import com.yidian.shenghuoquan.newscontent.ui.*
...
@@ -40,6 +40,7 @@ import com.yidian.shenghuoquan.newscontent.ui.*
import
com.yidian.shenghuoquan.newscontent.ui.auth.*
import
com.yidian.shenghuoquan.newscontent.ui.auth.*
import
com.yidian.shenghuoquan.newscontent.ui.center.*
import
com.yidian.shenghuoquan.newscontent.ui.center.*
import
com.yidian.shenghuoquan.newscontent.ui.idcard.IDCardTestActivity
import
com.yidian.shenghuoquan.newscontent.ui.idcard.IDCardTestActivity
import
com.yidian.shenghuoquan.newscontent.ui.setting.FeedbackActivity
import
com.yidian.shenghuoquan.newscontent.ui.setting.SystemSettingActivity
import
com.yidian.shenghuoquan.newscontent.ui.setting.SystemSettingActivity
import
com.yidian.shenghuoquan.newscontent.ui.store.ChooseStoreActivity
import
com.yidian.shenghuoquan.newscontent.ui.store.ChooseStoreActivity
import
com.yidian.shenghuoquan.newscontent.ui.store.StoreManagementActivity
import
com.yidian.shenghuoquan.newscontent.ui.store.StoreManagementActivity
...
@@ -480,6 +481,17 @@ class NewsContentApplication : YdBaseApplication() {
...
@@ -480,6 +481,17 @@ class NewsContentApplication : YdBaseApplication() {
context
.
startActivity
(
intent
)
context
.
startActivity
(
intent
)
}
}
}),
}),
XPageNode
(
XRouterPathConstants
.
Companion
.
FEEDBACK
,
XPageNodePageType
.
NATIVE
,
object
:
XPageHandler
{
override
fun
handler
(
params
:
Map
<
String
,
Any
?
>?)
{
val
intent
=
Intent
()
if
(
params
!=
null
)
{
intent
.
putExtra
(
XRouterPathConstants
.
ParamsKey
,
params
as
HashMap
)
}
intent
.
setClass
(
context
,
FeedbackActivity
::
class
.
java
)
intent
.
flags
=
Intent
.
FLAG_ACTIVITY_NEW_TASK
context
.
startActivity
(
intent
)
}
}),
)
)
)
)
}
}
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/setting/FeedbackActivity.kt
0 → 100644
View file @
3552467e
package
com.yidian.shenghuoquan.newscontent.ui.setting
import
android.text.Editable
import
android.text.InputFilter
import
android.text.TextWatcher
import
androidx.activity.viewModels
import
com.yidian.common.mvvm.BaseMvvmActivity
import
com.yidian.common.utils.ToastUtils
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.databinding.ActivityFeedbackBinding
import
com.yidian.xpage.XPageManager
/**
* author: yinjiacheng
* date: 7/16/21 10:24 PM
* description: 用户反馈
*/
class
FeedbackActivity
:
BaseMvvmActivity
<
ActivityFeedbackBinding
,
FeedbackViewModel
>(),
TextWatcher
{
override
val
layoutId
:
Int
=
R
.
layout
.
activity_feedback
override
val
vm
:
FeedbackViewModel
by
viewModels
()
override
fun
initView
()
{
// 限制最多输入100字
binding
.
etInput
.
filters
=
arrayOf
(
InputFilter
.
LengthFilter
(
100
))
binding
.
etInput
.
addTextChangedListener
(
this
)
subscribeData
()
}
override
fun
beforeTextChanged
(
s
:
CharSequence
?,
start
:
Int
,
count
:
Int
,
after
:
Int
)
{
}
override
fun
onTextChanged
(
s
:
CharSequence
?,
start
:
Int
,
before
:
Int
,
count
:
Int
)
{
}
override
fun
afterTextChanged
(
s
:
Editable
?)
{
// 字数统计
s
?.
length
?.
let
{
vm
.
feedbackWordCount
.
value
=
it
}
}
private
fun
subscribeData
()
{
vm
.
commitSuccessEvent
.
observe
(
this
,
{
ToastUtils
.
showShort
(
"提交成功"
)
XPageManager
.
pop
(
null
)
})
vm
.
commitFailureEvent
.
observe
(
this
,
{
ToastUtils
.
showShort
(
"提交失败,请稍后重试"
)
})
}
}
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/setting/FeedbackViewModel.kt
0 → 100644
View file @
3552467e
package
com.yidian.shenghuoquan.newscontent.ui.setting
import
androidx.lifecycle.MutableLiveData
import
com.orhanobut.hawk.Hawk
import
com.yidian.common.AppConfig
import
com.yidian.common.BuildConfig
import
com.yidian.common.HawkConfig
import
com.yidian.common.http.CommonDataSource
import
com.yidian.common.http.bean.CommitFeedbackBean
import
com.yidian.common.http.callback.ICommitFeedbackCallback
import
com.yidian.common.mvvm.BaseViewModel
/**
* author: yinjiacheng
* date: 7/16/21 10:27 PM
* description: 用户反馈
*/
class
FeedbackViewModel
:
BaseViewModel
(),
ICommitFeedbackCallback
{
/**
* 用户输入的反馈字数
*/
val
feedbackWordCount
by
lazy
{
MutableLiveData
(
0
)
}
/**
* 用户输入的反馈内容
*/
val
feedbackContent
by
lazy
{
MutableLiveData
<
String
>()
}
/**
* 提交成功事件
*/
val
commitSuccessEvent
by
lazy
{
MutableLiveData
<
Unit
>()
}
/**
* 提交失败事件
*/
val
commitFailureEvent
by
lazy
{
MutableLiveData
<
Unit
>()
}
/**
* 请求提交反馈信息
*/
fun
requestCommitFeedback
()
{
// 拼接获取到的用户信息
val
description
=
"uid:${Hawk.get(HawkConfig.UserId, 0L)},appversion:${BuildConfig.VERSION_NAME},platform:${AppConfig.feedbackPlatform}"
CommonDataSource
.
commitFeedback
(
this
,
CommitFeedbackBean
.
CommitFeedbackRequest
(
CommitFeedbackBean
.
Fields
(
CommitFeedbackBean
.
Assignee
(
AppConfig
.
feedbackAssignee
),
description
,
CommitFeedbackBean
.
Issuetype
(
AppConfig
.
feedbackIssueType
),
CommitFeedbackBean
.
Priority
(
AppConfig
.
feedbackPriority
),
CommitFeedbackBean
.
Project
(
AppConfig
.
feedbackProject
),
feedbackContent
.
value
?:
AppConfig
.
feedbackDefaultSummary
)
)
)
}
override
fun
commitFeedbackSuccess
(
result
:
CommitFeedbackBean
.
CommitFeedbackResponse
?)
{
// 提交成功
commitSuccessEvent
.
value
=
Unit
}
override
fun
commitFeedbackFailure
(
message
:
String
?)
{
// 提交失败
commitFailureEvent
.
value
=
Unit
}
}
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/setting/SystemSettingActivity.kt
View file @
3552467e
...
@@ -86,7 +86,7 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
...
@@ -86,7 +86,7 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
}
}
// 用户反馈
// 用户反馈
viewBind
.
clFeedback
.
clickAntiShake
{
viewBind
.
clFeedback
.
clickAntiShake
{
// TODO: 7/16/21 跳转用户反馈
XPageManager
.
push
(
XRouterPathConstants
.
FEEDBACK
,
null
)
}
}
// 注销账号
// 注销账号
viewBind
.
clLogout
.
clickAntiShake
{
viewBind
.
clLogout
.
clickAntiShake
{
...
...
Components/newscontent/src/main/res/layout/activity_feedback.xml
0 → 100644
View file @
3552467e
<?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"
>
<data>
<variable
name=
"vm"
type=
"com.yidian.shenghuoquan.newscontent.ui.setting.FeedbackViewModel"
/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<com.yidian.common.widget.CommonTopBarView
android:id=
"@+id/bv_top_bar"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:CommonTopBarView_title_text=
"@string/user_feedback"
app:layout_constraintTop_toTopOf=
"parent"
/>
<EditText
android:id=
"@+id/et_input"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp200"
android:layout_marginStart=
"@dimen/dp20"
android:layout_marginTop=
"@dimen/dp20"
android:layout_marginEnd=
"@dimen/dp20"
android:background=
"@drawable/shape_bg_input_boarder"
android:gravity=
"top"
android:hint=
"@string/describe_your_feedback"
android:padding=
"@dimen/dp10"
android:text=
"@={vm.feedbackContent}"
android:textColor=
"@color/color_333333"
android:textCursorDrawable=
"@drawable/shape_bg_input_cursor"
android:textSize=
"@dimen/sp14"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/bv_top_bar"
/>
<TextView
android:id=
"@+id/tv_word_count"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/dp10"
android:text=
'@{String.valueOf(vm.feedbackWordCount) + "/100"}'
android:textColor=
"@color/color_999999"
android:textSize=
"@dimen/sp12"
app:layout_constraintBottom_toBottomOf=
"@id/et_input"
app:layout_constraintEnd_toEndOf=
"@id/et_input"
/>
<TextView
android:id=
"@+id/tv_commit_feedback"
android:layout_width=
"@dimen/dp315"
android:layout_height=
"@dimen/dp44"
android:layout_marginTop=
"@dimen/dp20"
android:background=
"@drawable/shape_bg_common_btn"
android:gravity=
"center"
android:onClick=
"@{() -> vm.requestCommitFeedback()}"
android:text=
"@string/commit_feedback"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp18"
android:textStyle=
"bold"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/et_input"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
Components/newscontent/src/main/res/values/strings.xml
View file @
3552467e
...
@@ -187,5 +187,8 @@
...
@@ -187,5 +187,8 @@
<![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>]]>
<![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>
</Data>
</string>
</string>
<string
name=
"commit_feedback"
>
提交反馈
</string>
<string
name=
"describe_your_feedback"
>
请简要明确的描述您的意见和建议
</string>
<string
name=
"user_feedback"
>
用户反馈
</string>
</resources>
</resources>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment