use super::post_send;
use crate::{wechat::WxApiRequestBuilder, SdkResult};
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct QueryUserEncryptKey {
pub openid: String,
pub signature: String,
pub sig_method: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct KeyInfoList {
pub key_info_list: Vec<KeyInfo>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct KeyInfo {
pub encrypt_key: String,
pub iv: String,
pub version: f64,
pub expire_in: i64,
pub create_time: i64,
}
pub struct InternetModule<'a, T: WxApiRequestBuilder>(pub(crate) &'a T);
impl<'a, T: WxApiRequestBuilder> InternetModule<'a, T> {
pub async fn get_user_encrypt_key(&self, data: &QueryUserEncryptKey) -> SdkResult<KeyInfoList> {
let url = "https://api.weixin.qq.com/wxa/business/getuserencryptkey";
post_send(self.0, url, data).await
}
}