#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub enum PrivacyKeyEnum {
#[serde(rename = "USER_INFO")]
UserInfo,
#[serde(rename = "LOCATION")]
Location,
#[serde(rename = "ADDRESS")]
Address,
#[serde(rename = "INVOICE")]
Invoice,
#[serde(rename = "RUN_DATA")]
RunData,
#[serde(rename = "RECORD")]
Record,
#[serde(rename = "ALBUM")]
Album,
#[serde(rename = "CAMERA")]
Camera,
#[serde(rename = "PHONE_NUMBER")]
PhoneNumber,
#[serde(rename = "CONTACT")]
Contact,
#[serde(rename = "DEVICE_INFO")]
DeviceInfo,
#[serde(rename = "EXID_NUMBER")]
ExidNumber,
#[serde(rename = "EX_ORDER_INFO")]
ExOrderInfo,
#[serde(rename = "EX_USER_PUBLISH_CONTENT")]
ExUserPublishContent,
#[serde(rename = "EX_USER_FOLLOW_ACCT")]
ExUserFollowAcct,
#[serde(rename = "EX_USER_OP_LOG")]
ExUserOpLog,
#[serde(rename = "ALBUM_WRITE_ONLY")]
AlbumWriteOnly,
#[serde(rename = "LICENSE_PLATE")]
LicensePlate,
#[serde(rename = "BLUE_TOOTH")]
BlueTooth,
#[serde(rename = "CALENDAR_WRITE_ONLY")]
CalendarWriteOnly,
#[serde(rename = "EMAIL")]
Email,
#[serde(rename = "MESSAGE_FILE")]
MessageFile,
}
impl PrivacyKeyEnum {
pub fn key(self) -> &'static str {
match self {
Self::UserInfo => "UserInfo",
Self::Location => "Location",
Self::Address => "Address",
Self::Invoice => "Invoice",
Self::RunData => "RunData",
Self::Record => "Record",
Self::Album => "Album",
Self::Camera => "Camera",
Self::PhoneNumber => "PhoneNumber",
Self::Contact => "Contact",
Self::DeviceInfo => "DeviceInfo",
Self::ExidNumber => "EXIDNumber",
Self::ExOrderInfo => "EXOrderInfo",
Self::ExUserPublishContent => "EXUserPublishContent",
Self::ExUserFollowAcct => "EXUserFollowAcct",
Self::ExUserOpLog => "EXUserOpLog",
Self::AlbumWriteOnly => "AlbumWriteOnly",
Self::LicensePlate => "LicensePlate",
Self::BlueTooth => "BlueTooth",
Self::CalendarWriteOnly => "CalendarWriteOnly",
Self::Email => "Email",
Self::MessageFile => "MessageFile",
}
}
pub fn desc(self) -> &'static str {
match self {
Self::UserInfo => "用户信息(微信昵称、头像)",
Self::Location => "位置信息",
Self::Address => "地址",
Self::Invoice => "发票信息",
Self::RunData => "微信运动数据",
Self::Record => "麦克风",
Self::Album => "选中的照片或视频信息",
Self::Camera => "摄像头",
Self::PhoneNumber => "手机号码",
Self::Contact => "通讯录(仅写入)权限",
Self::DeviceInfo => "设备信息",
Self::ExidNumber => "身份证号码",
Self::ExOrderInfo => "订单信息",
Self::ExUserPublishContent => "发布内容",
Self::ExUserFollowAcct => "所关注账号",
Self::ExUserOpLog => "操作日志",
Self::AlbumWriteOnly => "相册(仅写入)权限",
Self::LicensePlate => "车牌号",
Self::BlueTooth => "蓝牙",
Self::CalendarWriteOnly => "日历(仅写入)权限",
Self::Email => "邮箱",
Self::MessageFile => "选中的文件",
}
}
}