Current section

Files

Jump to
weapp src wechat open.gleam
Raw

src/wechat/open.gleam

//// open module provides open API bindings
//// details in [wechat document](https://developers.weixin.qq.com/miniprogram/dev/api/open-api/)
////
import gleam/javascript/promise.{type Promise}
import wechat/object.{type JsObject, type WechatCallback, type WechatResult}
/// `wx.chooseAddress`
/// Choose address
///
@external(javascript, "../wechat_base_ffi.mjs", "chooseAddress")
pub fn choose_address(complete cb: WechatCallback) -> Promise(WechatResult)
/// `wx.getUserProfile`
/// Get user profile
///
@external(javascript, "../wechat_base_ffi.mjs", "getUserProfile")
pub fn get_user_profile(
desc d: String,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.getUserInfo`
/// Get user info
///
@external(javascript, "../wechat_base_ffi.mjs", "getUserInfo")
pub fn get_user_info(
with_credentials wc: Bool,
lang l: String,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.requestSubscribeMessage`
/// Request subscribe message
///
@external(javascript, "../wechat_base_ffi.mjs", "requestSubscribeMessage")
pub fn request_subscribe_message(
tmpl_ids t: List(#(String, String)),
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.authorize`
/// Authorize
///
@external(javascript, "../wechat_base_ffi.mjs", "authorize")
pub fn authorize(
scope s: String,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.openSetting`
/// Open setting
///
@external(javascript, "../wechat_base_ffi.mjs", "openSetting")
pub fn open_setting(complete cb: WechatCallback) -> Promise(WechatResult)
/// `wx.makePhoneCall`
/// Make phone call
///
@external(javascript, "../wechat_base_ffi.mjs", "makePhoneCall")
pub fn make_phone_call(
phone_number pn: String,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.navigateToMiniProgram`
/// Navigate to mini program
///
@external(javascript, "../wechat_base_ffi.mjs", "navigateToMiniProgram")
pub fn navigate_to_mini_program(
app_id a: String,
path p: String,
extra_data ed: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.navigateBackMiniProgram`
/// Navigate back mini program
///
@external(javascript, "../wechat_base_ffi.mjs", "navigateBackMiniProgram")
pub fn navigate_back_mini_program(
extra_data ed: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.exitMiniProgram`
/// Exit mini program
///
@external(javascript, "../wechat_base_ffi.mjs", "exitMiniProgram")
pub fn exit_mini_program(complete cb: WechatCallback) -> Promise(WechatResult)
/// Calendar & Contact
///
/// `wx.addPhoneRepeatCalendar`
/// Add repeat calendar event
///
@external(javascript, "../wechat_base_ffi.mjs", "addPhoneRepeatCalendar")
pub fn add_phone_repeat_calendar(
options o: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.addPhoneCalendar`
/// Add calendar event
///
@external(javascript, "../wechat_base_ffi.mjs", "addPhoneCalendar")
pub fn add_phone_calendar(
options o: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.chooseContact`
/// Choose contact from address book
///
@external(javascript, "../wechat_base_ffi.mjs", "chooseContact")
pub fn choose_contact(
options o: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.addPhoneContact`
/// Add contact to address book
///
@external(javascript, "../wechat_base_ffi.mjs", "addPhoneContact")
pub fn add_phone_contact(
options o: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)
/// `wx.sendSms`
/// Send SMS
///
@external(javascript, "../wechat_base_ffi.mjs", "sendSms")
pub fn send_sms(
options o: JsObject,
complete cb: WechatCallback,
) -> Promise(WechatResult)