|
|
@@ -1,38 +1,38 @@
|
|
|
-// use tauri::Emitter
|
|
|
-// use tauri_plugin_mqtt::{Client as MqttClient, Event as MqttEvent};
|
|
|
+use url::Url;
|
|
|
+use std::collections::HashMap;
|
|
|
|
|
|
-// #[tauri::command]
|
|
|
-// pub async fn connect(host: String, port: u16) -> Result<(), String> {
|
|
|
-// let client = MqttClient::new(host, port);
|
|
|
-// client.connect().await.map_err(|e| e.to_string())
|
|
|
-// }
|
|
|
+// 添加url参数
|
|
|
+#[tauri::command]
|
|
|
+fn add_query_params(base_url: &str, params: HashMap<String, String>) -> Result<String, String> {
|
|
|
+ let mut url = Url::parse(base_url).map_err(|e| e.to_string())?;
|
|
|
+ {
|
|
|
+ let mut query_pairs = url.query_pairs_mut();
|
|
|
+ for (key, value) in params {
|
|
|
+ query_pairs.append_pair(&key, &value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Ok(url.to_string())
|
|
|
+}
|
|
|
|
|
|
-// #[tauri::command]
|
|
|
-// pub async fn subscribe(topic: String) -> Result<(), String> {
|
|
|
-// let client = MqttClient::default();
|
|
|
-// client.subscribe(topic).await.map_err(|e| e.to_string())
|
|
|
-// }
|
|
|
+// 获取url参数
|
|
|
+#[tauri::command]
|
|
|
+fn get_query_params(url: &str) -> Result<HashMap<String, String>, String> {
|
|
|
+ let parsed_url = Url::parse(url).map_err(|e| e.to_string())?;
|
|
|
+ println!("{:?}", parsed_url.username());
|
|
|
+ println!("{:?}", parsed_url.password());
|
|
|
+ println!("{:?}", parsed_url.port());
|
|
|
|
|
|
-// #[tauri::command]
|
|
|
-// pub async fn publish(topic: String, message: String) -> Result<(), String> {
|
|
|
-// let client = MqttClient::default();
|
|
|
-// client.publish(topic, message).await.map_err(|e| e.to_string())
|
|
|
-// }
|
|
|
+ let mut params = HashMap::new();
|
|
|
+ for (key, value) in parsed_url.query_pairs() {
|
|
|
+ params.insert(key.to_string(), value.to_string());
|
|
|
+ }
|
|
|
+ Ok(params)
|
|
|
+}
|
|
|
|
|
|
-// pub fn listen_messages(app: tauri::AppHandle) {
|
|
|
-// let client = MqttClient::default();
|
|
|
-// client.on_message(move |msg: MqttMessage| {
|
|
|
-// let _ = app.emit("mqtt-message", msg);
|
|
|
-// });
|
|
|
-// }
|
|
|
pub fn run() {
|
|
|
tauri::Builder::default()
|
|
|
.plugin(tauri_plugin_mqtt::init())
|
|
|
- .invoke_handler(tauri::generate_handler![connect, subscribe, publish])
|
|
|
- // .setup(|app| {
|
|
|
- // listen_messages(app.handle().clone());
|
|
|
- // Ok(())
|
|
|
- // })
|
|
|
+ .invoke_handler(tauri::generate_handler![add_query_params,get_query_params])
|
|
|
.run(tauri::generate_context!())
|
|
|
.expect("error while running tauri application");
|
|
|
}
|