Browse Source

移除url测试

Caner 1 year ago
parent
commit
c4664e759d

+ 2 - 3
src-tauri/Cargo.lock

@@ -2710,9 +2710,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
 
 
 [[package]]
 [[package]]
 name = "reqwest"
 name = "reqwest"
-version = "0.12.11"
+version = "0.12.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe060fe50f524be480214aba758c71f99f90ee8c83c5a36b5e9e1d568eb4eb3"
+checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da"
 dependencies = [
 dependencies = [
  "base64 0.22.1",
  "base64 0.22.1",
  "bytes",
  "bytes",
@@ -3668,7 +3668,6 @@ dependencies = [
  "tauri",
  "tauri",
  "tauri-build",
  "tauri-build",
  "tauri-plugin-mqtt",
  "tauri-plugin-mqtt",
- "url",
 ]
 ]
 
 
 [[package]]
 [[package]]

+ 0 - 1
src-tauri/Cargo.toml

@@ -22,4 +22,3 @@ tauri = { version = "2", features = ["macos-private-api"] }
 serde = { version = "1", features = ["derive"] }
 serde = { version = "1", features = ["derive"] }
 serde_json = "1"
 serde_json = "1"
 tauri-plugin-mqtt = "0.1.0"
 tauri-plugin-mqtt = "0.1.0"
-url = "2.5.2"

+ 1 - 31
src-tauri/src/lib.rs

@@ -1,38 +1,8 @@
-use url::Url;
-use std::collections::HashMap;
-
-// 添加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())
-}
-
-// 获取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());
-
-    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 run() {
 pub fn run() {
     tauri::Builder::default()
     tauri::Builder::default()
         .plugin(tauri_plugin_mqtt::init())
         .plugin(tauri_plugin_mqtt::init())
-        .invoke_handler(tauri::generate_handler![add_query_params,get_query_params])
+        .invoke_handler(tauri::generate_handler![])
         .run(tauri::generate_context!())
         .run(tauri::generate_context!())
         .expect("error while running tauri application");
         .expect("error while running tauri application");
 }
 }

+ 2 - 1
src/pages/login/index.vue

@@ -73,7 +73,8 @@ async function login() {
   if (disabled.value) return
   if (disabled.value) return
   const mqttUrl = url.value.replace(/(\/\/)/, `$1${room.value}:${name.value}@`)
   const mqttUrl = url.value.replace(/(\/\/)/, `$1${room.value}:${name.value}@`)
   console.log(123, mqttUrl)
   console.log(123, mqttUrl)
-  await connect(store.mqtt_client_id, mqttUrl, { skipVerification: true })
+  const a = await connect(store.mqtt_client_id, mqttUrl, { skipVerification: true })
+  console.log(456, a)
 }
 }
 
 
 listen((client) => {
 listen((client) => {

+ 16 - 18
src/services/mqtt.service.ts

@@ -1,33 +1,31 @@
-import { EventCallback } from '@tauri-apps/api/event'
-import {
-  connect, disconnect, publish, listen, Payload
-} from '@kuyoonjo/tauri-plugin-mqtt'
+import { connect, disconnect, listen, publish } from '@kuyoonjo/tauri-plugin-mqtt'
 import { injectable, Service } from './service'
 import { injectable, Service } from './service'
-
+import useStore from '@/store/index'
 /**
 /**
  * MQTT服务
  * MQTT服务
  */
  */
 @injectable
 @injectable
 export default class MqttService extends Service {
 export default class MqttService extends Service {
-  private mqtt_client_id: string = 'mqtt_contrl_id'
-
-  public mqtt_channel: string = ''
+  private store = useStore()
 
 
   async connect(url: string, name: string, room: string) {
   async connect(url: string, name: string, room: string) {
-    const newUrl = `${url}?username=${room}&password=${name}`
-    return await connect(this.mqtt_client_id, newUrl)
+    const mqttUrl = url.replace(/(\/\/)/, `$1${room}:${name}@`)
+    await connect(this.store.mqtt_client_id, mqttUrl)
   }
   }
 
 
-  async disconnect() {
-    await disconnect(this.mqtt_client_id)
+  async send(params: string) {
+    await publish(this.store.mqtt_client_id, this.store.mqtt_channel, 1, false, params)
   }
   }
 
 
-  async publish(payload: string) {
-    if (!this.mqtt_channel) return
-    await publish(this.mqtt_client_id, this.mqtt_channel, 0, false, payload)
+  async disconnect() {
+    await disconnect(this.store.mqtt_client_id)
   }
   }
 
 
-//   (callback: EventCallback<Payload>) {
-//     listen(callback)
-//   }
+  async listen(callback: (data: any) => void) {
+    await listen(client => {
+      // if(client.payload)
+      // 如果断开连接,如果有订阅需要取消订阅,然后重新连接
+      callback(client.payload)
+    })
+  }
 }
 }

+ 1 - 1
src/store/index.ts

@@ -14,7 +14,7 @@ const useStore = defineStore('index', {
       name: '',
       name: '',
       room: ''
       room: ''
     },
     },
-    mqtt_client_id: 'mqtt_contrl_id',
+    mqtt_client_id: 'contrller',
     mqtt_channel: ''
     mqtt_channel: ''
   }),
   }),
   actions: {
   actions: {