@ -11,7 +11,7 @@ struct SocialInputView: View {
enum SocialPlatform : String , CaseIterable {
case instagram = " Instagram "
case facebook = " Facebook "
case twitter = " Twitter "
case twitter = " X "
case tiktok = " Tiktok "
case snapchat = " Snapchat "
case whatsapp = " Whatsapp "
@ -22,7 +22,7 @@ struct SocialInputView: View {
switch self {
case . instagram : return " Instagram "
case . facebook : return " Facebook "
case . twitter : return " Twitter "
case . twitter : return " X "
case . tiktok : return " TikTok "
case . snapchat : return " Snapchat "
case . whatsapp : return " WhatsApp "
@ -48,8 +48,8 @@ struct SocialInputView: View {
switch self {
case . instagram : return " 用户名或链接 "
case . facebook : return " 用户名或链接 "
case . twitter : return " 用户名 或链接 "
case . tiktok : return " 用户名 或链接 "
case . twitter : return " 用户名 "
case . tiktok : return " 用户名 "
case . snapchat : return " 用户名 "
case . whatsapp : return " 输入WhatsApp电话号码 "
case . viber : return " 电话号码 "
@ -61,7 +61,7 @@ struct SocialInputView: View {
switch self {
case . instagram : return " 输入Instagram用户名 "
case . facebook : return " 输入Facebook用户ID或链接 "
case . twitter : return " 输入 Twitter 用户名或完整链接"
case . twitter : return " 输入 X 用户名或完整链接"
case . tiktok : return " 输入TikTok用户名或完整链接 "
case . snapchat : return " 输入Snapchat用户名 "
case . whatsapp : return " 输入WhatsApp消息内容 "
@ -106,7 +106,8 @@ struct SocialInputView: View {
// 用 户 名 / 链 接 ( 必 填 )
VStack ( alignment : . leading , spacing : 8 ) {
HStack {
Text ( platform = = . whatsapp || platform = = . viber ? " 电话号码 " : " 用户名/链接 " )
// 根 据 平 台 显 示 不 同 的 提 示
Text ( getInputLabel ( ) )
. font ( . subheadline )
. foregroundColor ( . primary )
Text ( " * " )
@ -160,16 +161,38 @@ struct SocialInputView: View {
}
}
// MARK: - 根 据 平 台 获 取 输 入 标 签
private func getInputLabel ( ) -> String {
switch platform {
case . instagram :
return " Instagram用户名 "
case . facebook :
return " 用户ID或链接 "
case . twitter :
return " X用户名 "
case . tiktok :
return " TikTok用户名 "
case . snapchat :
return " Snapchat用户名 "
case . whatsapp :
return " WhatsApp电话号码 "
case . viber :
return " Viber电话号码 "
case . spotify :
return " 歌曲链接或ID "
}
}
private func getFormatHint ( ) -> String {
switch platform {
case . instagram , . facebook , . twitter , . tiktok :
if platform = = . instagram {
return " • 输入Instagram用户名 \n • 将生成instagram://user?username=用户名格式 "
} else if platform = = . facebook {
return " • 输入Facebook用户ID或完整链接 \n • 将自动提取用户名并生成fb://profile/格式 \n • 支持: username 或 https://facebook.com/username "
} else {
return " • 可以输入用户名( 如: username) \n • 或输入完整链接( 如: https://twitter.com/username) "
}
case . instagram :
return " • 输入Instagram用户名 \n • 将生成instagram://user?username=用户名格式 "
case . facebook :
return " • 输入Facebook用户ID或完整链接 \n • 将自动提取用户名并生成fb://profile/格式 \n • 支持: username 或 https://facebook.com/username "
case . twitter :
return " • 可以输入用户名( 如: username) \n • 将生成twitter://user?screen_name=格式 \n • 用户扫描后可直接打开X应用 "
case . tiktok :
return " • 输入TikTok用户名( 如: username) \n • 将生成https://www.tiktok.com/@username格式 \n • 用户扫描后可直接访问TikTok主页 "
case . snapchat :
return " • 输入Snapchat用户名 \n • 例如: username "
case . whatsapp :
@ -186,6 +209,6 @@ struct SocialInputView: View {
SocialInputView (
username : . constant ( " " ) ,
message : . constant ( " " ) ,
platform : . instagram
platform : . tiktok
)
}