优化:校验自定义消息卡片Json是否合法

This commit is contained in:
pppscn 2024-01-22 09:37:37 +08:00
parent cbc4373a3a
commit 4e13ad699b
6 changed files with 23 additions and 3 deletions

View File

@ -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<FragmentSendersFeishuAppBinding?>(), 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)
}

View File

@ -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<FragmentSendersFeishuBinding?>(), 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)
}

View File

@ -309,6 +309,7 @@
<string name="invalid_phone_num">The receiving phone number cannot be empty</string>
<string name="invalid_multi_match">Malformed multiple match rule line %s</string>
<string name="invalid_regex_replace">Incorrect format on line %s of regex replacement</string>
<string name="invalid_message_card">The Message Card Json is invalid.</string>
<string name="set_bark_name">Group Name/Status</string>
<string name="set_name">Name/Status</string>
<string name="email_host">Host</string>

View File

@ -310,6 +310,7 @@
<string name="invalid_phone_num">接收手机号不能为空</string>
<string name="invalid_multi_match">多重匹配规则的第 %s 行格式有误</string>
<string name="invalid_regex_replace">正则替换内容的第 %s 行格式有误</string>
<string name="invalid_message_card">自定义消息卡片Json不合法</string>
<string name="set_bark_name">分组名称/状态</string>
<string name="set_name">名称/状态</string>
<string name="email_host">主机</string>
@ -329,7 +330,7 @@
<string name="feishu_msg_type_text">纯文本</string>
<string name="feishu_msg_type_interactive">消息卡片</string>
<string name="feishu_msg_type_interactive_title">标题模板</string>
<string name="feishu_msg_type_interactive_message_card">自定义消息卡片</string>
<string name="feishu_msg_type_interactive_message_card">自定义消息卡片Json</string>
<string name="Customize_API">自定义API</string>
<string name="Corp_ID">企业ID</string>
<string name="Agent_ID">AgentId</string>

View File

@ -310,6 +310,7 @@
<string name="invalid_phone_num">接收手機號不能為空</string>
<string name="invalid_multi_match">多重匹配規則的第 %s 行格式有誤</string>
<string name="invalid_regex_replace">正則替換內容的第 %s 行格式有誤</string>
<string name="invalid_message_card">自定義消息卡片Json不合法</string>
<string name="set_bark_name">分組名稱/狀態</string>
<string name="set_name">名稱/狀態</string>
<string name="email_host">主機</string>
@ -329,7 +330,7 @@
<string name="feishu_msg_type_text">純文本</string>
<string name="feishu_msg_type_interactive">消息卡片</string>
<string name="feishu_msg_type_interactive_title">標題模板</string>
<string name="feishu_msg_type_interactive_message_card">自定義消息卡片</string>
<string name="feishu_msg_type_interactive_message_card">自定義消息卡片Json</string>
<string name="Customize_API">自定義API</string>
<string name="Corp_ID">企業ID</string>
<string name="Agent_ID">AgentId</string>

View File

@ -310,6 +310,7 @@
<string name="invalid_phone_num">接收手机号不能为空</string>
<string name="invalid_multi_match">多重匹配规则的第 %s 行格式有误</string>
<string name="invalid_regex_replace">正则替换内容的第 %s 行格式有误</string>
<string name="invalid_message_card">自定义消息卡片Json不合法</string>
<string name="set_bark_name">分组名称/状态</string>
<string name="set_name">名称/状态</string>
<string name="email_host">主机</string>
@ -329,7 +330,7 @@
<string name="feishu_msg_type_text">纯文本</string>
<string name="feishu_msg_type_interactive">消息卡片</string>
<string name="feishu_msg_type_interactive_title">标题模板</string>
<string name="feishu_msg_type_interactive_message_card">自定义消息卡片</string>
<string name="feishu_msg_type_interactive_message_card">自定义消息卡片Json</string>
<string name="Customize_API">自定义API</string>
<string name="Corp_ID">企业ID</string>
<string name="Agent_ID">AgentId</string>