1#[derive(Clone, Debug)]
2pub struct Config {
3 pub channel: Channel,
4 pub appid: String,
5 pub secret: String,
6 pub access_token: String,
7 pub expires_in: i64,
8 pub agent_id: String,
10}
11impl Default for Config {
12 fn default() -> Self {
13 Self {
14 channel: Channel::None,
15 appid: "".to_string(),
16 secret: "".to_string(),
17 access_token: "".to_string(),
18 expires_in: 0,
19 agent_id: "".to_string(),
20 }
21 }
22}
23#[derive(Clone, Debug)]
24pub enum Channel {
25 WeCom,
26 Applet,
27 Subscribe,
28 Web,
29 Shop,
30 Open,
31 None,
32}
33
34impl Channel {
35 pub fn form(name: &str) -> Channel {
36 match name {
37 "webcom" | "企业微信" => Channel::WeCom,
38 "Applet" | "小程序" => Channel::Applet,
39 "Subscribe" | "公众号" => Channel::Subscribe,
40 "web" | "网站" => Channel::Web,
41 "Shop" | "小商店" => Channel::Shop,
42 "Open" | "开放平台" => Channel::Open,
43 _ => Channel::None,
44 }
45 }
46}