Skip to main content

ncm_api_rs/api/
register_cellphone.rs

1use super::Query;
2use crate::error::Result;
3/// 注册账号
4/// 对应 Node.js module/register_cellphone.js
5use crate::request::{ApiClient, ApiResponse, CryptoType};
6use md5::{Digest, Md5};
7use serde_json::json;
8
9impl ApiClient {
10    /// 注册账号
11    /// 对应 /register/cellphone
12    ///
13    /// 注意: Node.js 版本会对密码做 MD5 处理
14    pub async fn register_cellphone(&self, query: &Query) -> Result<ApiResponse> {
15        let password = query.get("password").unwrap_or("");
16        let md5_password = format!("{:x}", Md5::digest(password.as_bytes()));
17        let data = json!({
18            "captcha": query.get("captcha").unwrap_or(""),
19            "phone": query.get("phone").unwrap_or(""),
20            "password": md5_password,
21            "nickname": query.get("nickname").unwrap_or(""),
22            "countrycode": query.get_or("countrycode", "86"),
23            "force": "false"
24        });
25        self.request(
26            "/api/w/register/cellphone",
27            data,
28            query.to_option(CryptoType::default()),
29        )
30        .await
31    }
32}