Add backend feedback submission and image preview
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
@@ -2,7 +2,12 @@
|
||||
//!
|
||||
//! 错误保持运行时业务语义,例如快照版本非法、兑换码不可用或钱包余额不足。
|
||||
|
||||
use crate::MAX_BROWSE_HISTORY_BATCH_SIZE;
|
||||
use crate::{
|
||||
MAX_BROWSE_HISTORY_BATCH_SIZE, PROFILE_FEEDBACK_CONTACT_PHONE_MAX_CHARS,
|
||||
PROFILE_FEEDBACK_DESCRIPTION_MAX_CHARS, PROFILE_FEEDBACK_DESCRIPTION_MIN_CHARS,
|
||||
PROFILE_FEEDBACK_EVIDENCE_MAX_BYTES, PROFILE_FEEDBACK_EVIDENCE_MAX_COUNT,
|
||||
PROFILE_FEEDBACK_EVIDENCE_TOTAL_MAX_BYTES,
|
||||
};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum RuntimeSettingsFieldError {
|
||||
@@ -80,6 +85,15 @@ pub enum RuntimeProfileFieldError {
|
||||
},
|
||||
NonPersistentRuntimeSnapshot,
|
||||
InvalidAnalyticsCalendarDate,
|
||||
MissingFeedbackDescription,
|
||||
FeedbackDescriptionTooShort,
|
||||
FeedbackDescriptionTooLong,
|
||||
FeedbackContactPhoneTooLong,
|
||||
TooManyFeedbackEvidenceItems,
|
||||
InvalidFeedbackEvidenceContentType,
|
||||
InvalidFeedbackEvidenceDataUrl,
|
||||
FeedbackEvidenceTooLarge,
|
||||
FeedbackEvidenceTotalTooLarge,
|
||||
}
|
||||
|
||||
impl std::fmt::Display for RuntimeProfileFieldError {
|
||||
@@ -140,6 +154,37 @@ impl std::fmt::Display for RuntimeProfileFieldError {
|
||||
Self::InvalidAnalyticsCalendarDate => {
|
||||
f.write_str("analytics_date_dimension.calendar_date 必须是合法 YYYY-MM-DD 日期")
|
||||
}
|
||||
Self::MissingFeedbackDescription => f.write_str("反馈问题描述不能为空"),
|
||||
Self::FeedbackDescriptionTooShort => write!(
|
||||
f,
|
||||
"请填写{}个字以上的问题描述",
|
||||
PROFILE_FEEDBACK_DESCRIPTION_MIN_CHARS
|
||||
),
|
||||
Self::FeedbackDescriptionTooLong => write!(
|
||||
f,
|
||||
"问题描述不能超过 {} 字",
|
||||
PROFILE_FEEDBACK_DESCRIPTION_MAX_CHARS
|
||||
),
|
||||
Self::FeedbackContactPhoneTooLong => write!(
|
||||
f,
|
||||
"联系电话不能超过 {} 字",
|
||||
PROFILE_FEEDBACK_CONTACT_PHONE_MAX_CHARS
|
||||
),
|
||||
Self::TooManyFeedbackEvidenceItems => {
|
||||
write!(f, "最多上传{}张凭证", PROFILE_FEEDBACK_EVIDENCE_MAX_COUNT)
|
||||
}
|
||||
Self::InvalidFeedbackEvidenceContentType => f.write_str("反馈凭证只支持图片类型"),
|
||||
Self::InvalidFeedbackEvidenceDataUrl => f.write_str("反馈凭证图片数据无效"),
|
||||
Self::FeedbackEvidenceTooLarge => write!(
|
||||
f,
|
||||
"单张反馈凭证不能超过 {} bytes",
|
||||
PROFILE_FEEDBACK_EVIDENCE_MAX_BYTES
|
||||
),
|
||||
Self::FeedbackEvidenceTotalTooLarge => write!(
|
||||
f,
|
||||
"反馈凭证总大小不能超过 {} bytes",
|
||||
PROFILE_FEEDBACK_EVIDENCE_TOTAL_MAX_BYTES
|
||||
),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user