Use http functionality to make a quote
This commit is contained in:
parent
5e1c9c47c3
commit
db9377fa44
@ -1,3 +1,5 @@
|
|||||||
|
use tauri_plugin_http::reqwest;
|
||||||
|
|
||||||
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
|
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
fn greet(name: &str) -> String {
|
fn greet(name: &str) -> String {
|
||||||
@ -11,6 +13,16 @@ fn os_info() -> String {
|
|||||||
format!("Platform Info: {}", platform)
|
format!("Platform Info: {}", platform)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO make this return a JS object
|
||||||
|
#[tauri::command]
|
||||||
|
async fn quote() -> String {
|
||||||
|
let Ok(res) = reqwest::get("https://perl.is/random").await else { return "ERROR".to_string() };
|
||||||
|
println!("Status: {}", res.status());
|
||||||
|
let Ok(text) = res.text().await else { return "TEXT ERROR".to_string() };
|
||||||
|
|
||||||
|
text
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
tracing::info!("Starting up tauri app");
|
tracing::info!("Starting up tauri app");
|
||||||
@ -18,7 +30,7 @@ pub fn run() {
|
|||||||
.plugin(tauri_plugin_http::init())
|
.plugin(tauri_plugin_http::init())
|
||||||
.plugin(tauri_plugin_os::init())
|
.plugin(tauri_plugin_os::init())
|
||||||
.plugin(tauri_plugin_shell::init())
|
.plugin(tauri_plugin_shell::init())
|
||||||
.invoke_handler(tauri::generate_handler![greet, os_info])
|
.invoke_handler(tauri::generate_handler![greet, os_info, quote])
|
||||||
.run(tauri::generate_context!())
|
.run(tauri::generate_context!())
|
||||||
.expect("error while running tauri application");
|
.expect("error while running tauri application");
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,12 @@
|
|||||||
</form>
|
</form>
|
||||||
<p id="os-msg"></p>
|
<p id="os-msg"></p>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
<form class="row" id="quote-form">
|
||||||
|
<button type="submit">Get a Quote</button>
|
||||||
|
</form>
|
||||||
|
<p id="quote-msg"></p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
10
src/main.js
10
src/main.js
@ -13,6 +13,10 @@ async function os_info(elem) {
|
|||||||
elem.textContent = await invoke("os_info", {});
|
elem.textContent = await invoke("os_info", {});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function get_quote(elem) {
|
||||||
|
elem.textContent = await invoke("quote", {});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
window.addEventListener("DOMContentLoaded", () => {
|
window.addEventListener("DOMContentLoaded", () => {
|
||||||
greetInputEl = document.querySelector("#greet-input");
|
greetInputEl = document.querySelector("#greet-input");
|
||||||
@ -27,4 +31,10 @@ window.addEventListener("DOMContentLoaded", () => {
|
|||||||
const elem = document.querySelector("#os-msg");
|
const elem = document.querySelector("#os-msg");
|
||||||
os_info(elem);
|
os_info(elem);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.querySelector("#quote-form").addEventListener("submit", (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
const elem = document.querySelector("#quote-msg");
|
||||||
|
get_quote(elem);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user