diff options
author | Kai WU <kaiwu2004@gmail.com> | 2024-07-13 18:44:26 +0800 |
---|---|---|
committer | Kai WU <kaiwu2004@gmail.com> | 2024-07-13 18:44:26 +0800 |
commit | 54a7cf9dfd36e1ccac773110298bc3f8c09bd78d (patch) | |
tree | 671e52feb4731eda9c9152f95ea850c661193ebb | |
parent | d28fe3423b25dec61519cb0d3aac52182f9bce4c (diff) | |
download | wechat-54a7cf9dfd36e1ccac773110298bc3f8c09bd78d.tar.gz wechat-54a7cf9dfd36e1ccac773110298bc3f8c09bd78d.zip |
request needs resolve
-rw-r--r-- | src/wechat/base.gleam | 18 | ||||
-rw-r--r-- | src/wechat_base_ffi.mjs | 4 |
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) +} |