Skip to main content

wx_rust_open/bean/
common_upload_multi_param.rs

1//! 多文件上传参数集合。
2//!
3//! 对应 Java `me.chanjar.weixin.open.bean.CommonUploadMultiParam`。Java 为
4//! `@Data @Builder` 的 multipart 表单参数载体(`CommonUploadParam` 承载文件
5//! 数据);Rust 以普通结构表达同一数据模型。
6//!
7//! ADAPTED:`wx_rust_common::bean::CommonUploadParam`/`CommonUploadData`
8//! 仅派生 `Debug, Clone`(无 serde/PartialEq/Default),故本结构与
9//! `WxOpenUploadIcpMediaParam` 一样不派生 serde——multipart 组装在
10//! 上传执行器(Wave 2)完成,不经过 JSON 线格式。
11
12/// 多文件上传参数集合(对应 Java `CommonUploadMultiParam`)。
13#[derive(Debug, Clone, Default)]
14pub struct CommonUploadMultiParam {
15    /// 普通表单参数列表(对应 Java `normalParams`)。
16    pub normal_params: Vec<NormalParam>,
17    /// 文件上传参数(对应 Java `uploadParam`)。
18    pub upload_param: Option<wx_rust_common::bean::CommonUploadParam>,
19}
20
21/// 普通表单参数(对应 Java 内嵌类 `CommonUploadMultiParam.NormalParam`)。
22#[derive(Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize)]
23pub struct NormalParam {
24    /// 参数名称(非文件名),如:type。
25    #[serde(rename = "name", default)]
26    pub name: String,
27    /// 参数名称对应值,如:image。
28    #[serde(rename = "value", default)]
29    pub value: String,
30}