diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt index 2a7a6528..918664ac 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuAppFragment.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import android.widget.EditText import androidx.fragment.app.viewModels import com.google.gson.Gson +import com.google.gson.JsonParser import com.idormy.sms.forwarder.R import com.idormy.sms.forwarder.core.BaseFragment import com.idormy.sms.forwarder.core.Core @@ -299,6 +300,13 @@ class FeishuAppFragment : BaseFragment(), View val title = binding!!.etTitleTemplate.text.toString().trim() val messageCard = binding!!.etMessageCard.text.toString().trim() + try { + JsonParser.parseString(messageCard) + } catch (e: Exception) { + Log.e(TAG, "checkSetting error:$e") + throw Exception(getString(R.string.invalid_message_card)) + } + return FeishuAppSetting(appId, appSecret, receiveId, msgType, title, receiveIdType, messageCard) } diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt index b6fa686b..c1ce22c5 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/senders/FeishuFragment.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import android.widget.EditText import androidx.fragment.app.viewModels import com.google.gson.Gson +import com.google.gson.JsonParser import com.idormy.sms.forwarder.R import com.idormy.sms.forwarder.core.BaseFragment import com.idormy.sms.forwarder.core.Core @@ -279,6 +280,13 @@ class FeishuFragment : BaseFragment(), View.OnCli val title = binding!!.etTitleTemplate.text.toString().trim() val messageCard = binding!!.etMessageCard.text.toString().trim() + try { + JsonParser.parseString(messageCard) + } catch (e: Exception) { + Log.e(TAG, "checkSetting error:$e") + throw Exception(getString(R.string.invalid_message_card)) + } + return FeishuSetting(webhook, secret, msgType, title, messageCard) } diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 2588cc5d..a177938f 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -309,6 +309,7 @@ The receiving phone number cannot be empty Malformed multiple match rule line %s Incorrect format on line %s of regex replacement + The Message Card Json is invalid. Group Name/Status Name/Status Host diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 30f5ab59..3c83aa25 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -310,6 +310,7 @@ 接收手机号不能为空 多重匹配规则的第 %s 行格式有误 正则替换内容的第 %s 行格式有误 + 自定义消息卡片Json不合法 分组名称/状态 名称/状态 主机 @@ -329,7 +330,7 @@ 纯文本 消息卡片 标题模板 - 自定义消息卡片 + 自定义消息卡片Json 自定义API 企业ID AgentId diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 80a425bc..f7238002 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -310,6 +310,7 @@ 接收手機號不能為空 多重匹配規則的第 %s 行格式有誤 正則替換內容的第 %s 行格式有誤 + 自定義消息卡片Json不合法 分組名稱/狀態 名稱/狀態 主機 @@ -329,7 +330,7 @@ 純文本 消息卡片 標題模板 - 自定義消息卡片 + 自定義消息卡片Json 自定義API 企業ID AgentId diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c93821a2..9ed2c8d9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -310,6 +310,7 @@ 接收手机号不能为空 多重匹配规则的第 %s 行格式有误 正则替换内容的第 %s 行格式有误 + 自定义消息卡片Json不合法 分组名称/状态 名称/状态 主机 @@ -329,7 +330,7 @@ 纯文本 消息卡片 标题模板 - 自定义消息卡片 + 自定义消息卡片Json 自定义API 企业ID AgentId