aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai WU <kaiwu2004@gmail.com>2024-07-13 18:44:26 +0800
committerKai WU <kaiwu2004@gmail.com>2024-07-13 18:44:26 +0800
commit54a7cf9dfd36e1ccac773110298bc3f8c09bd78d (patch)
tree671e52feb4731eda9c9152f95ea850c661193ebb
parentd28fe3423b25dec61519cb0d3aac52182f9bce4c (diff)
downloadwechat-54a7cf9dfd36e1ccac773110298bc3f8c09bd78d.tar.gz
wechat-54a7cf9dfd36e1ccac773110298bc3f8c09bd78d.zip
request needs resolve
-rw-r--r--src/wechat/base.gleam18
-rw-r--r--src/wechat_base_ffi.mjs4
2 files changed, 21 insertions, 1 deletions
diff --git a/src/wechat/base.gleam b/src/wechat/base.gleam
index 5fbb762..c641ef5 100644
--- a/src/wechat/base.gleam
+++ b/src/wechat/base.gleam
@@ -1,5 +1,5 @@
import gleam/javascript/promise.{type Promise}
-import wechat/object.{type JsObject}
+import wechat/object.{type JsObject, type WechatError}
@external(javascript, "../wechat_base_ffi.mjs", "switchTab")
pub fn switch_tab(o: JsObject) -> Promise(Nil)
@@ -12,3 +12,19 @@ pub fn navigate_to(o: JsObject) -> Promise(Nil)
@external(javascript, "../wechat_base_ffi.mjs", "navigateBack")
pub fn navigate_back(o: JsObject) -> Promise(Nil)
+
+@external(javascript, "../wechat_base_ffi.mjs", "request")
+fn wx_request(o: JsObject) -> Promise(Result(JsObject, WechatError))
+
+pub fn request(
+ method m: String,
+ url u: String,
+ header h: JsObject,
+ data d: JsObject,
+ complete cb: fn() -> Nil
+) -> Promise(Result(JsObject, WechatError)) {
+ object.literal([#("method", m), #("url", u)])
+ |> object.merge(object.literal([#("header", h), #("data", d)]))
+ |> object.set("complete", cb)
+ |> wx_request
+}
diff --git a/src/wechat_base_ffi.mjs b/src/wechat_base_ffi.mjs
index dc1deb4..f52bba2 100644
--- a/src/wechat_base_ffi.mjs
+++ b/src/wechat_base_ffi.mjs
@@ -15,3 +15,7 @@ export async function navigateTo(o) {
export async function navigateBack(o) {
return await wx.navigateTo(o)
}
+
+export async function request(o) {
+ return await wx.request(o)
+}