新增:`webhook`发送通道增加`PUT`/`PATCH`请求方式 #206

pull/231/head
pppscn 2 years ago
parent c00e61ece1
commit 3430dbbe8e

@ -81,7 +81,8 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
override fun initViews() {
//测试按钮增加倒计时,避免重复点击
mCountDownHelper = CountDownButtonHelper(binding!!.btnTest, SettingUtils.requestTimeout)
mCountDownHelper!!.setOnCountDownListener(object : CountDownButtonHelper.OnCountDownListener {
mCountDownHelper!!.setOnCountDownListener(object :
CountDownButtonHelper.OnCountDownListener {
override fun onCountDown(time: Int) {
binding!!.btnTest.text = String.format(getString(R.string.seconds_n), time)
}
@ -131,7 +132,12 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
//set header
if (settingVo.headers != null) {
for ((key, value) in settingVo.headers) {
addHeaderItemLinearLayout(headerItemMap, binding!!.layoutHeaders, key, value)
addHeaderItemLinearLayout(
headerItemMap,
binding!!.layoutHeaders,
key,
value
)
}
}
}
@ -143,8 +149,16 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
binding!!.btnTest.setOnClickListener(this)
binding!!.btnDel.setOnClickListener(this)
binding!!.btnSave.setOnClickListener(this)
binding!!.btnAddHeader.setOnClickListener { addHeaderItemLinearLayout(headerItemMap, binding!!.layoutHeaders, null, null) }
LiveEventBus.get(KEY_SENDER_TEST, String::class.java).observe(this) { mCountDownHelper?.finish() }
binding!!.btnAddHeader.setOnClickListener {
addHeaderItemLinearLayout(
headerItemMap,
binding!!.layoutHeaders,
null,
null
)
}
LiveEventBus.get(KEY_SENDER_TEST, String::class.java)
.observe(this) { mCountDownHelper?.finish() }
}
@SingleClick
@ -157,7 +171,13 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
try {
val settingVo = checkSetting()
Log.d(TAG, settingVo.toString())
val msgInfo = MsgInfo("sms", getString(R.string.test_phone_num), getString(R.string.test_sender_sms), Date(), getString(R.string.test_sim_info))
val msgInfo = MsgInfo(
"sms",
getString(R.string.test_phone_num),
getString(R.string.test_sender_sms),
Date(),
getString(R.string.test_sim_info)
)
WebhookUtils.sendMsg(settingVo, msgInfo)
} catch (e: Exception) {
e.printStackTrace()
@ -197,7 +217,8 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
val status = if (binding!!.sbEnable.isChecked) 1 else 0
val settingVo = checkSetting()
if (isClone) senderId = 0
val senderNew = Sender(senderId, senderType, name, Gson().toJson(settingVo), status)
val senderNew =
Sender(senderId, senderType, name, Gson().toJson(settingVo), status)
Log.d(TAG, senderNew.toString())
viewModel.insertOrUpdate(senderNew)
@ -218,7 +239,12 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
throw Exception(getString(R.string.invalid_webserver))
}
val method = if (binding!!.rgMethod.checkedRadioButtonId == R.id.rb_method_get) "GET" else "POST"
val method = when (binding!!.rgMethod.checkedRadioButtonId) {
R.id.rb_method_get -> "GET"
R.id.rb_method_put -> "PUT"
R.id.rb_method_patch -> "PATCH"
else -> "POST"
}
val secret = binding!!.etSecret.text.toString().trim()
val webParams = binding!!.etWebParams.text.toString().trim()
val headers = getHeadersFromHeaderItemMap(headerItemMap)
@ -238,12 +264,21 @@ class WebhookFragment : BaseFragment<FragmentSendersWebhookBinding?>(), View.OnC
* @param key header的key为空则不设置
* @param value header的value为空则不设置
*/
private fun addHeaderItemLinearLayout(headerItemMap: MutableMap<Int, LinearLayout>, linearLayoutWebNotifyHeaders: LinearLayout, key: String?, value: String?) {
val linearLayoutItemAddHeader = View.inflate(requireContext(), R.layout.item_add_header, null) as LinearLayout
val imageViewRemoveHeader = linearLayoutItemAddHeader.findViewById<ImageView>(R.id.imageViewRemoveHeader)
private fun addHeaderItemLinearLayout(
headerItemMap: MutableMap<Int, LinearLayout>,
linearLayoutWebNotifyHeaders: LinearLayout,
key: String?,
value: String?
) {
val linearLayoutItemAddHeader =
View.inflate(requireContext(), R.layout.item_add_header, null) as LinearLayout
val imageViewRemoveHeader =
linearLayoutItemAddHeader.findViewById<ImageView>(R.id.imageViewRemoveHeader)
if (key != null && value != null) {
val editTextHeaderKey = linearLayoutItemAddHeader.findViewById<EditText>(R.id.editTextHeaderKey)
val editTextHeaderValue = linearLayoutItemAddHeader.findViewById<EditText>(R.id.editTextHeaderValue)
val editTextHeaderKey =
linearLayoutItemAddHeader.findViewById<EditText>(R.id.editTextHeaderKey)
val editTextHeaderValue =
linearLayoutItemAddHeader.findViewById<EditText>(R.id.editTextHeaderValue)
editTextHeaderKey.setText(key)
editTextHeaderValue.setText(value)
}

Loading…
Cancel
Save