wasm-bindgen 提供 WebAssembly(wasm) 模块和 JavaScript 之间的高级别交互,我们可以用它来访问微信小程序的API。
首先在Cargo.toml中引入依赖的库(js-sys是wasm-bindgen中的JS原始API绑定库):
[package]
name = "hello"
version = "0.1.0"
edition = "2018"
[lib]
crate-type = ["cdylib"]
[dependencies]
wasm-bindgen = "0.2.59"
js-sys = "0.3.36"
[profile.release]
lto = true
opt-level = 'z'
codegen-units = 1
panic = 'abort'
然后添加Rust代码:
use js_sys::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(js_namespace = console)]
fn log(s: &str);
#[wasm_bindgen(js_namespace = console)]
fn error(s: &str);
#[wasm_bindgen(js_namespace = wx)]
fn showModal(param: &Object);
}
fn page