Bladeren bron

Merge remote-tracking branch 'origin/master'

gepangpang 2 jaren geleden
bovenliggende
commit
b401c8e7db
1 gewijzigde bestanden met toevoegingen van 105 en 40 verwijderingen
  1. 105 40
      src/exchange_libs.rs

+ 105 - 40
src/exchange_libs.rs

@@ -402,9 +402,9 @@ impl OkxExc {
                 } else {
                     let body: String = req_data.data;
                     let json_value: serde_json::Value = serde_json::from_str(&body).unwrap();
-                    let code = json_value["code"].to_string();
-                    let data = json_value["data"].to_string();
-                    let msg = json_value["msg"].to_string();
+                    let code = json_value["code"].as_str().unwrap();
+                    let data = json_value["data"].as_str().unwrap();
+                    let msg = json_value["msg"].as_str().unwrap();
 
                     // println!("--解析成功----code:{}",code);
                     // println!("--解析成功----data:{}",data);
@@ -733,28 +733,34 @@ impl SocketTool {
         login_json_str
     }
 
-    //币安--深度信息
-    pub fn binance_run_kline(b_array: Vec<&str>, parse_fn: ParseFn) {
-        SocketTool::binance_run(b_array, "kline_1s".to_string(), parse_fn);
-    }
-    //币安--深度信息
-    pub fn binance_run_depth(b_array: Vec<&str>, levels: String, parse_fn: ParseFn) {
-        let str = format!("depth{}@100ms", levels);
-        SocketTool::binance_run(b_array, str.to_string(), parse_fn);
+    //币安--自定义-订阅
+    pub fn binance_run_custom(b_array: Vec<&str>, parse_fn: impl Fn()) {}
+}
+
+//币安--深度信息
+pub fn binance_run_kline(b_array: Vec<&str>, parse_fn: impl Fn()) {
+    SocketTool::binance_run(b_array, "kline_1s".to_string(), parse_fn);
+}
+
+//币安--深度信息
+pub fn binance_run_depth(b_array: Vec<&str>, levels: String, parse_fn: impl Fn()) {
+    let str = format!("depth{}@100ms", levels);
+    SocketTool::binance_run(b_array, str.to_string(), parse_fn);
+}
+
+//币安--订阅
+pub fn binance_run(b_array: Vec<&str>, subscription_name: String, parse_fn: ParseFn) {
+    let mut params = vec![];
+
+    for item in &b_array {
+        let mut b_name = item.to_lowercase();
+        b_name = format!("{}@{}", b_name, subscription_name);
+        println!("-订阅频道--{0}", b_name);
+        params.push(b_name);
     }
-    //币安--订阅
-    pub fn binance_run(b_array: Vec<&str>, subscription_name: String, parse_fn: ParseFn) {
-        let mut params = vec![];
-
-        for item in &b_array {
-            let mut b_name = item.to_lowercase();
-            b_name = format!("{}@{}", b_name, subscription_name);
-            println!("-订阅频道--{0}", b_name);
-            params.push(b_name);
-        }
 
-        // 币安----socket
-        let subscription = json!({
+    // 币安----socket
+    let subscription = json!({
         "method": "SUBSCRIBE",
         "params":params,
             // [
@@ -763,23 +769,82 @@ impl SocketTool {
             // ],
                 "id": 1
         });
-        let mut btree_map: BTreeMap<String, String> = BTreeMap::new();
-        btree_map.insert("lable".parse().unwrap(), "binance".parse().unwrap());//产品Id
-        let biance_socke = SocketTool::new("wss://stream.binance.com:443/ws",
-                                           false,
-                                           btree_map,
-                                           subscription,
-        );
-        biance_socke.run("binance".to_string(), parse_fn);
-    }
-    fn hook_fn_binance(message: String, parse_fn: ParseFn) {
-        println!("币安--回调函数:响应: {}", message);
-        parse_fn(message);
-    }
-    fn hook_fn_okx(message: String, parse_fn: ParseFn) {
-        println!("OKX--回调函数:响应: {}", message);
-        parse_fn(message);
-    }
+    let mut btree_map: BTreeMap<String, String> = BTreeMap::new();
+    btree_map.insert("lable".parse().unwrap(), "binance".parse().unwrap());//产品Id
+    let biance_socke = SocketTool::new("wss://stream.binance.com:443/ws",
+                                       false,
+                                       btree_map,
+                                       subscription,
+    );
+    biance_socke.run("binance".to_string(), parse_fn);
+}
+
+fn hook_fn_binance(message: String, parse_fn: ParseFn) {
+    println!("币安--回调函数:响应: {}", message);
+    parse_fn(message);
+}
+
+
+//OKX--订阅
+// pub fn okx_run(b_array: Vec<&str>, subscription_name: String, parse_fn: ParseFn) {
+//     let mut params = vec![];
+//
+//     // okx----socket
+//     // access_key: String,
+//     // secret_key: String,
+//     // passphrase: String,
+//     let pu = "wss://ws.okx.com:8443/ws/v5/public";
+//     let pr = "wss://ws.okx.com:8443/ws/v5/private";
+//     let subscription = json!({
+//            "op": "subscribe",
+//             "args": [
+//              // { "channel": "account", "ccy": "USDT" }, //账户
+//              { "channel": "orders", "instType": "SPOT", "instId":"BTC-USDT" }
+//         ]
+//     });
+//     let mut btree_map: BTreeMap<String, String> = BTreeMap::new();
+//     btree_map.insert("lable".parse().unwrap(), "okx".parse().unwrap());//
+//     btree_map.insert("access_key".parse().unwrap(), "a4cf4f54-f4d3-447d-a57c-166fd1ead2e0".parse().unwrap());//
+//     btree_map.insert("secret_key".parse().unwrap(), "556DAB6773CA26DDAAA114F7044138CA".parse().unwrap());//
+//     btree_map.insert("passphrase".parse().unwrap(), "rust_Test123".parse().unwrap());//
+//
+//     let biance_socke = SocketTool::new(pr,
+//                                        true,
+//                                        btree_map,
+//                                        subscription,
+//                                        hook_fn);
+//     biance_socke.run();
+//
+//     for item in &b_array {
+//         let mut b_name = item.to_lowercase();
+//         b_name = format!("{}@{}", b_name, subscription_name);
+//         println!("-订阅频道--{0}", b_name);
+//         params.push(b_name);
+//     }
+//
+//     // 币安----socket
+//     let subscription = json!({
+//     "method": "SUBSCRIBE",
+//     "params":params,
+//         // [
+//         //     "btcusdt@depth@100ms",//深度信息
+//         //     "btcusdt@kline_1s"//k线信息
+//         // ],
+//             "id": 1
+//     });
+//     let mut btree_map: BTreeMap<String, String> = BTreeMap::new();
+//     btree_map.insert("lable".parse().unwrap(), "binance".parse().unwrap());//产品Id
+//     let biance_socke = SocketTool::new("wss://stream.binance.com:443/ws",
+//                                        false,
+//                                        btree_map,
+//                                        subscription,
+//     );
+//     biance_socke.run("binance".to_string(), parse_fn);
+// }
+fn hook_fn_okx(message: String, parse_fn: ParseFn) {
+    println!("OKX--回调函数:响应: {}", message);
+    parse_fn(message);
+}
 }