混合开发 - JssdkApi
介绍
这里介绍tmuiJssdk.js 的api方法
平台兼容
只能在uniapp-x中配合x-webview-u组件使用。
文件相关下载
所有文件在代码仓库tmuijssdk
使用
请务必下载jssdk.js并引入到你的网页中,需要在头引入。
html中js开发: 下载 tmuiJssdk.js引用到你的web页面中。 引入后你页面中会有一个全局的方法对象tmuiJssdk可以直接调用。
html
<html>
<head>
<script src="tmuiJssdk1.0.0.js"></script>
</head>
<body></body>
</html>vue ts 中开发:
ts
import "./libs/tmuiJssdk1.0.0.min.js"如果你是使用tmui3.2 web vue组件开发,则不需要引入,内置了,导入组件即可开用。
引入后全局会有相关方法暴露出来 你只要执行相关方法接口即可,方法大部分与uniapp同名方法api参数相同的使用习惯。
ts
//退出应用
tmuiJssdk.exit()TS类型配置
如果你是js,不需要配置下面的类型。
如果你是直接使用tmui3.2 web vue不需要配置,已经配置好,可以直接使用,在编辑器中已经有类型提示了。如果你是单独的ts开发环境需要自行配置如下:
创建一个interface.ts文件内容如下:
ts
// 此类型文件请在仓库中下载在demo中src/components/tmui-enhanced.d.ts
import type { TMUIJSSDKEnhanced } from "./tmui-enhanced.d.ts"
/*
* Copyright (c) 2026. tmzdy by @https://tmui.design
*/
type TMUIAPPTHEME = {
'--status-bar-height': number,
'--window-bottom': number,
'--window-top': number,
'--window-height': number,
'--window-width': number,
'--screen-height': number,
'--screen-width': number,
'--screen-pixelRatio': number,
'--tmui-primary': string,
'--tmui-dark': 'dark' | 'light'
}
declare global {
interface Window {
tmuiApp: {
/** 清除缓存并强制刷新,对于需要更新页面内容时非常有用 */
clearCache: () => string;
/** 系统提示 */
toast:(title:string)=>void;
refresh:()=>void;
navback:()=>void;
forward:()=>void;
postMessage:(msg:string)=>void;
};
tmuiAppTheme: TMUIAPPTHEME
}
/** UNIAPPX 宿主开放API接口 */
var tmuiApp: {
/** 清除缓存并强制刷新,对于需要更新页面内容时非常有用 */
clearCache: () => string;
/** 系统提示 */
toast:(title:string)=>void;
refresh:()=>void;
navback:()=>void;
forward:()=>void;
postMessage:(msg:string)=>void;
};
/** TMUI JSSDK 可以直接调用UNIAPPX 相关API */
var tmuiJssdk: TMUIJSSDKEnhanced;
/** 宿主tmui4x套件的app主题js变量 */
// @ts-ignore
var tmuiAppTheme: TMUIAPPTHEME = {} ;
}
export { }API目录
以下所有方法在ts/js中tmuiJssdk.方法API名称()调用
下面中的方法:callMethod 是双向通信方法,见栏目:WEB开发 教程
| 分类 | 方法名称 | 说明 |
|---|---|---|
| 生命周期相关 | pageLoad | 获取宿主应用加载的页面路径查看信息 |
| beforeUnmounted | 宿主webview被卸载前触发 | |
| pageShow | 宿主页面被显示时触发 | |
| pageHide | 宿主页面被隐藏时触发 | |
| load | webview加载完成后触发 | |
| 页面导航相关 | switchTab | 跳转到tabBar页面,并关闭其他所有非tabBar页面 |
| reLaunch | 关闭所有页面,打开到应用内的某个页面 | |
| navigateTo | 保留当前页面,跳转到应用内的某个页面 | |
| navigateBack | 关闭当前页面,返回上一页面或多级页面 | |
| redirectTo | 关闭当前页面,跳转到应用内的某个页面 | |
| 界面交互相关 | showToast | 显示消息提示框 |
| showLoading | 显示加载提示框 | |
| hideLoading | 隐藏加载提示框 | |
| showModal | 显示模态弹窗 | |
| exit | 退出应用 | |
| setPageStyle | 设置页面样式 | |
| getPageStyle | 获取当前页面样式 | |
| getPage | 获取当前页面信息 | |
| 媒体相关 | chooseImage | 从本地相册选择图片或使用相机拍照 |
| previewImage | 预览图片 | |
| saveImageToPhotosAlbum | 保存图片到系统相册 | |
| getImageInfo | 获取图片信息 | |
| compressImage | 压缩图片 | |
| chooseVideo | 拍摄视频或从手机相册中选视频 | |
| saveVideoToPhotosAlbum | 保存视频到系统相册 | |
| getVideoInfo | 获取视频信息 | |
| getClipboardData | 获得系统剪贴板的内容 | |
| setClipboardData | 设置系统剪贴板的内容 | |
| openUrl | 打开网址 | |
| compressVideo | 压缩视频 | |
| chooseMedia | 拍摄或从手机相册中选择图片或视频 | |
| chooseFile | 从本地选择文件 | |
| openDocument | 打开文档 | |
| 数据缓存相关 | setStorage | 将数据存储在本地缓存中指定的key中 |
| setStorageSync | 同步将数据存储在本地缓存中指定的key中 | |
| getStorage | 从本地缓存中异步获取指定key对应的内容 | |
| getStorageSync | 同步从本地缓存中获取指定key对应的内容 | |
| removeStorage | 从本地缓存中异步移除指定key | |
| removeStorageSync | 同步从本地缓存中移除指定key | |
| 设备相关 | getAppBaseInfo | 获取应用基础信息 |
| getSystemInfoSync | 同步获取系统信息 | |
| getDeviceInfo | 获取设备信息 | |
| getSystemInfo | 异步获取系统信息 | |
| getWindowInfo | 获取窗口信息 | |
| getWebviewInfo | 获取当前WebView信息 | |
| getAppAuthorizeSetting | 获取应用授权设置 | |
| getSystemSetting | 获取系统设置 | |
| openAppAuthorizeSetting | 调起客户端APP授权界面 | |
| installApk | 安装APK文件 | |
| scanCode | 扫描二维码 | |
| hideKeyboard | 隐藏软键盘 | |
| onKeyboardHeightChange | 监听键盘高度变化 | |
| offKeyboardHeightChange | 取消监听键盘高度变化 | |
| makePhoneCall | 拨打电话 | |
| getNetworkType | 获取网络类型 | |
| 网络相关 | downloadFile | 下载文件 |
| uploadFile | 上传文件 | |
| 位置相关 | getLocation | 获取当前的地理位置 |
| onLocationChange | 监听实时地理位置变化事件 | |
| offLocationChange | 取消监听实时地理位置变化 | |
| onLocationChangeError | 监听实时地理位置变化事件错误 | |
| offLocationChangeError | 取消监听实时地理位置变化事件错误 | |
| startLocationUpdate | 开启前台定位 | |
| stopLocationUpdate | 关闭前台定位 | |
| startLocationUpdateBackground | 开启后台定位 | |
| 支付相关 | requestPayment | 发起支付 |
| 分享相关 | shareWithSystem | 调用系统分享 |
| 事件相关 | $emit | 触发自定义事件 |
| $on | 监听自定义事件 | |
| $off | 移除监听事件 | |
| 其他相关 | getUserAgent | 获取代理字符串 |
| getConfig | 它会返回你在组件x-webvew-u上定义的属性数据webConfig | |
| callMethod | WEB开发教程 ;执行组件x-webvew-u上定义的方法callMethod并返回app中执行的结果,这里双向通信方法见栏目:web开发 具体使用教程 |
API详细介绍
以下所有方法在ts/js中tmuiJssdk.方法API名称()调用
生命周期相关
pageLoad
ts
tmuiJssdk.pageLoad(callback: (opts?: Record<string, any>) => void): void;- 描述:获取宿主应用加载的页面路径查看信息,和uniapp中的onLoad(opts)类似。不是webview加载完成,是宿主的页面onLoad
- 参数:
- callback: 回调函数,接收页面参数opts
beforeUnmounted
ts
tmuiJssdk.beforeUnmounted(callback: Function): void;- 描述:宿主webview被卸载前触发,此时执行的逻辑不可以异步,否则会被直接销毁
- 参数:
- callback: 回调函数
pageShow
ts
tmuiJssdk.pageShow(callback: Function): void;- 描述:宿主页面被显示时触发(可能会被反复触发,比如app被放到后台,再显示等)
- 参数:
- callback: 回调函数
pageHide
ts
tmuiJssdk.pageHide(callback: Function): void;- 描述:宿主页面被隐藏时触发(可能会被反复触发,比如app被放到后台等)
- 参数:
- callback: 回调函数
load
ts
tmuiJssdk.load(callback: Function): void;- 描述:webview加载完成后触发,指当前webview页面加载完所有资源后触发,类似window.onLoad但更精准
- 参数:
- callback: 回调函数
页面导航相关
switchTab
ts
tmuiJssdk.switchTab(params: {
url: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:跳转到tabBar页面,并关闭其他所有非tabBar页面
- 参数:
- params: 导航参数对象
- url: 目标页面路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 导航参数对象
reLaunch
ts
tmuiJssdk.reLaunch(params: {
url: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:关闭所有页面,打开到应用内的某个页面
- 参数:
- params: 导航参数对象
- url: 目标页面路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 导航参数对象
navigateTo
ts
tmuiJssdk.navigateTo(params: {
url: string;
animationType?: string;
animationDuration?: number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:保留当前页面,跳转到应用内的某个页面
- 参数:
- params: 导航参数对象
- url: 目标页面路径
- animationType: 窗口显示的动画类型
- animationDuration: 窗口显示动画的持续时间,单位ms
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 导航参数对象
navigateBack
ts
tmuiJssdk.navigateBack(params?: {
delta?: number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:关闭当前页面,返回上一页面或多级页面
- 参数:
- params: 导航参数对象(可选)
- delta: 返回的页面数,如果delta大于现有页面数,则返回到首页
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 导航参数对象(可选)
redirectTo
ts
tmuiJssdk.redirectTo(params: {
url: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:关闭当前页面,跳转到应用内的某个页面
- 参数:
- params: 导航参数对象
- url: 目标页面路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 导航参数对象
界面交互相关
showToast
ts
tmuiJssdk.showToast(params: {
title: string;
icon?: 'success' | 'loading' | 'none' | 'error' | string;
image?: string;
duration?: number;
mask?: boolean;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:显示消息提示框
- 参数:
- params: 提示参数对象
- title: 提示内容
- icon: 图标,可选值为'success'|'loading'|'none'|'error'或其他自定义值
- image: 自定义图标的本地路径
- duration: 提示的持续时间,单位ms
- mask: 是否显示透明蒙层,防止触摸穿透
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 提示参数对象
showLoading
ts
tmuiJssdk.showLoading(params?: {
title?: string;
mask?: boolean;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:显示加载提示框
- 参数:
- params: 加载参数对象(可选)
- title: 提示内容
- mask: 是否显示透明蒙层,防止触摸穿透
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 加载参数对象(可选)
hideLoading
ts
tmuiJssdk.hideLoading(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:隐藏加载提示框
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
showModal
ts
tmuiJssdk.showModal(params: {
title?: string;
content?: string;
showCancel?: boolean;
cancelText?: string;
cancelColor?: string;
confirmText?: string;
confirmColor?: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:显示模态弹窗
- 参数:
- params: 模态框参数对象
- title: 标题
- content: 内容
- showCancel: 是否显示取消按钮
- cancelText: 取消按钮文字
- cancelColor: 取消按钮文字颜色
- confirmText: 确定按钮文字
- confirmColor: 确定按钮文字颜色
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 模态框参数对象
exit
ts
tmuiJssdk.exit(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:退出应用
- 参数:
- params: 退出参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 退出参数对象(可选)
setPageStyle
ts
tmuiJssdk.setPageStyle(params: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:设置页面样式
- 参数:
- params: 样式参数对象
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 样式参数对象
getPageStyle
ts
tmuiJssdk.getPageStyle(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:获取当前页面样式
- 参数:
- params: 样式参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 样式参数对象(可选)
getPage
ts
tmuiJssdk.getPage(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:获取当前页面信息
- 参数:
- params: 参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 参数对象(可选)
媒体相关
chooseImage
ts
tmuiJssdk.chooseImage(params?: {
count?: number;
sizeType?: Array<'original' | 'compressed'>;
sourceType?: Array<'album' | 'camera'>;
crop?: {
quality?: number;
width?: number;
height?: number;
resize?: boolean;
};
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:从本地相册选择图片或使用相机拍照
- 参数:
- params: 选择图片参数对象(可选)
- count: 最多可以选择的图片张数
- sizeType: 所选图片的尺寸,可选值为'original'(原图)|'compressed'(压缩图)
- sourceType: 选择图片的来源,可选值为'album'(相册)|'camera'(相机)
- crop: 裁剪参数(部分平台支持)
- quality: 图片质量
- width: 裁剪宽度
- height: 裁剪高度
- resize: 是否调整大小
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 选择图片参数对象(可选)
previewImage
ts
tmuiJssdk.previewImage(params: {
urls: string[];
current?: string | number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:预览图片
- 参数:
- params: 预览参数对象
- urls: 需要预览的图片链接列表
- current: 当前显示图片的链接或索引
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 预览参数对象
saveImageToPhotosAlbum
ts
tmuiJssdk.saveImageToPhotosAlbum(params: {
filePath: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:保存图片到系统相册
- 参数:
- params: 图片路径参数对象
- filePath: 图片文件路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 图片路径参数对象
getImageInfo
ts
tmuiJssdk.getImageInfo(params: {
src: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取图片信息,返回图片的宽高、类型等信息
- 参数:
- params: 图片路径参数对象
- src: 图片路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 图片路径参数对象
- 返回值:Promise对象,解析为图片信息
compressImage
ts
tmuiJssdk.compressImage(params: {
src: string;
quality?: number;
rotate?: number;
compressedWidth?: number;
compressedHeight?: number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:压缩图片
- 参数:
- params: 压缩参数对象
- src: 图片路径
- quality: 压缩质量,0-1之间
- rotate: 旋转角度
- compressedWidth: 压缩后图片的宽度
- compressedHeight: 压缩后图片的高度
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 压缩参数对象
chooseVideo
ts
tmuiJssdk.chooseVideo(params?: {
pageOrientation?: "auto" | "portrait" | "landscape";
sourceType?: Array<'album' | 'camera'>;
compressed?: boolean;
maxDuration?: number;
camera?: 'front' | 'back';
extension?: string[];
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:拍摄视频或从手机相册中选视频
- 参数:
- params: 选择视频参数对象(可选)
- pageOrientation: 视频拍摄方向,可选值为'auto'(自动)|'portrait'(竖屏)|'landscape'(横屏)
- sourceType: 视频选择来源,可选值为'album'(相册)|'camera'(相机)
- compressed: 是否压缩视频
- maxDuration: 视频最大时长,单位秒
- camera: 摄像头类型,可选值为'front'(前置)|'back'(后置)
- extension: 视频文件扩展名
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 选择视频参数对象(可选)
saveVideoToPhotosAlbum
ts
tmuiJssdk.saveVideoToPhotosAlbum(params: {
filePath: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:保存视频到系统相册
- 参数:
- params: 视频路径参数对象
- filePath: 视频文件路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 视频路径参数对象
getVideoInfo
ts
tmuiJssdk.getVideoInfo(params: {
src: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取视频信息,返回视频的时长、尺寸等信息
- 参数:
- params: 视频路径参数对象
- src: 视频路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 视频路径参数对象
- 返回值:Promise对象,解析为视频信息
getClipboardData
ts
tmuiJssdk.getClipboardData(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:获得系统剪贴板的内容
- 参数:
- params: 参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 参数对象(可选)
setClipboardData
ts
tmuiJssdk.setClipboardData(params: {
data: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:设置系统剪贴板的内容
- 参数:
- params: 参数对象
- data: 要设置的内容
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 参数对象
openUrl
ts
tmuiJssdk.openUrl(params: {
url: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:打开网址
- 参数:
- params: 参数对象,必须包含url字段
- url: 要打开的网址
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 参数对象,必须包含url字段
compressVideo
ts
tmuiJssdk.compressVideo(params: {
src: string;
quality?: 'low' | 'medium' | 'high' | number | string;
bitrate?: number;
fps?: number;
resolution?: number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:压缩视频
- 参数:
- params: 压缩参数对象
- src: 视频路径
- quality: 压缩质量,可选值为'low'(低)|'medium'(中)|'high'(高)或数字
- bitrate: 视频比特率
- fps: 视频帧率
- resolution: 分辨率,取值0-1之间
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 压缩参数对象
chooseMedia
ts
tmuiJssdk.chooseMedia(params?: {
count?: number;
pageOrientation?: "auto" | "portrait" | "landscape";
mediaType?: Array<'image' | 'video' | 'mix'>;
sourceType?: Array<'album' | 'camera'>;
maxDuration?: number;
sizeType?: Array<'original' | 'compressed'>;
camera?: 'front' | 'back';
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:拍摄或从手机相册中选择图片或视频
- 参数:
- params: 选择媒体参数对象(可选)
- count: 最多可以选择的文件个数
- pageOrientation: 拍摄方向,可选值为'auto'(自动)|'portrait'(竖屏)|'landscape'(横屏)
- mediaType: 媒体类型,可选值为'image'(图片)|'video'(视频)|'mix'(混合)
- sourceType: 媒体来源,可选值为'album'(相册)|'camera'(相机)
- maxDuration: 视频最大时长,单位秒
- sizeType: 图片尺寸,可选值为'original'(原图)|'compressed'(压缩图)
- camera: 摄像头类型,可选值为'front'(前置)|'back'(后置)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 选择媒体参数对象(可选)
chooseFile
ts
tmuiJssdk.chooseFile(params?: {
count?: number;
type?: 'all' | 'image' | 'video' | 'audio' | 'file';
sizeType?: Array<'original' | 'compressed'>;
extension?: string[];
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:从本地选择文件
- 参数:
- params: 选择文件参数对象(可选)
- count: 最多可以选择的文件个数
- type: 选择文件类型,可选值为'all'(所有)|'image'(图片)|'video'(视频)|'audio'(音频)|'file'(文件)
- sizeType: 文件尺寸,可选值为'original'(原图)|'compressed'(压缩图)
- extension: 扩展名过滤
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 选择文件参数对象(可选)
openDocument
ts
tmuiJssdk.openDocument(params: {
filePath: string;
fileType?: string;
showMenu?: boolean;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:打开文档
- 参数:
- params: 文档路径参数对象
- filePath: 文档文件路径
- fileType: 文件类型
- showMenu: 是否显示菜单
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 文档路径参数对象
数据缓存相关
setStorage
ts
tmuiJssdk.setStorage(params: {
key: string;
data: any;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:将数据存储在本地缓存中指定的key中
- 参数:
- params: 存储参数对象
- key: 本地缓存中的指定的key
- data: 需要存储的内容
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 存储参数对象
setStorageSync
ts
tmuiJssdk.setStorageSync(key: string, value: any): void;- 描述:同步将数据存储在本地缓存中指定的key中
- 参数:
- key: 本地缓存中的指定的key
- value: 需要存储的内容
getStorage
ts
tmuiJssdk.getStorage(params: {
key: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:从本地缓存中异步获取指定key对应的内容
- 参数:
- params: 获取参数对象
- key: 本地缓存中的指定的key
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 获取参数对象
getStorageSync
ts
tmuiJssdk.getStorageSync(key: string): Promise<any>;- 描述:同步从本地缓存中获取指定key对应的内容
- 参数:
- key: 本地缓存中的指定的key
- 返回值:Promise对象,解析为对应键名的数据
removeStorage
ts
tmuiJssdk.removeStorage(params: {
key: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:从本地缓存中异步移除指定key
- 参数:
- params: 移除参数对象
- key: 本地缓存中的指定的key
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 移除参数对象
removeStorageSync
ts
tmuiJssdk.removeStorageSync(key: string): Promise<void>;- 描述:同步从本地缓存中移除指定key
- 参数:
- key: 本地缓存中的指定的key
- 返回值:Promise对象
设备相关
getAppBaseInfo
ts
tmuiJssdk.getAppBaseInfo(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取应用基础信息
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为应用的基础信息
getSystemInfoSync
ts
tmuiJssdk.getSystemInfoSync(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:同步获取系统信息
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为系统的详细信息
getDeviceInfo
ts
tmuiJssdk.getDeviceInfo(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取设备信息
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为设备信息
getSystemInfo
ts
tmuiJssdk.getSystemInfo(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:异步获取系统信息
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为系统的详细信息
getWindowInfo
ts
tmuiJssdk.getWindowInfo(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取窗口信息
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为窗口的尺寸、位置等信息
getWebviewInfo
ts
tmuiJssdk.getWebviewInfo(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取当前WebView信息
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为WebView的相关信息
getAppAuthorizeSetting
ts
tmuiJssdk.getAppAuthorizeSetting(): Promise<any>;- 描述:获取应用授权设置
- 返回值:Promise对象,解析为应用的各项授权状态
getSystemSetting
ts
tmuiJssdk.getSystemSetting(): Promise<any>;- 描述:获取系统设置
- 返回值:Promise对象,解析为系统的各项设置信息
openAppAuthorizeSetting
ts
tmuiJssdk.openAppAuthorizeSetting(): Promise<any>;- 描述:调起客户端APP授权界面
- 返回值:Promise对象
installApk
ts
tmuiJssdk.installApk(params: {
filePath: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:安装APK文件
- 参数:
- params: APK文件路径参数对象
- filePath: APK文件路径
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: APK文件路径参数对象
scanCode
ts
tmuiJssdk.scanCode(params: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:扫描二维码
- 参数:
- params: 参数对象
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 参数对象
hideKeyboard
ts
tmuiJssdk.hideKeyboard(): Promise<any>;- 描述:隐藏软键盘
- 返回值:Promise对象
onKeyboardHeightChange
ts
tmuiJssdk.onKeyboardHeightChange(callback: (res: { height: number; duration?: number }) => void): Promise<any>;- 描述:监听键盘高度变化
- 参数:
- callback: 回调函数,接收键盘高度信息
- res.height: 键盘高度
- res.duration: 动画持续时间
- callback: 回调函数,接收键盘高度信息
- 返回值:Promise对象
offKeyboardHeightChange
ts
tmuiJssdk.offKeyboardHeightChange(callback?: (res: { height: number; duration?: number }) => void): Promise<any>;- 描述:取消监听键盘高度变化
- 参数:
- callback: 回调函数(可选)
- 返回值:Promise对象
makePhoneCall
ts
tmuiJssdk.makePhoneCall(params: {
phoneNumber: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:拨打电话
- 参数:
- params: 电话号码参数对象
- phoneNumber: 电话号码
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 电话号码参数对象
getNetworkType
ts
tmuiJssdk.getNetworkType(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): Promise<any>;- 描述:获取网络类型
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
- 返回值:Promise对象,解析为网络类型信息
网络相关
downloadFile
ts
tmuiJssdk.downloadFile(params: {
url: string;
header?: Record<string, string>;
timeout?: number;
filePath?: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:下载文件
- 参数:
- params: 下载参数对象
- url: 下载地址
- header: 请求头
- timeout: 超时时间,单位ms
- filePath: 指定文件下载后存储的路径(部分平台支持)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 下载参数对象
uploadFile
ts
tmuiJssdk.uploadFile(params: {
url: string;
filePath: string;
name: string;
header?: Record<string, string>;
formData?: Record<string, any>;
timeout?: number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:上传文件
- 参数:
- params: 上传参数对象
- url: 上传地址
- filePath: 文件路径
- name: 文件对应的key,开发者在服务器端通过这个key可以获取文件二进制内容
- header: 请求头
- formData: HTTP请求中其他额外的form data
- timeout: 超时时间,单位ms
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 上传参数对象
位置相关
getLocation
ts
tmuiJssdk.getLocation(params?: {
type?: 'wgs84' | 'gcj02' | string;
altitude?: boolean;
isHighAccuracy?: boolean;
highAccuracyExpireTime?: number;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:获取当前的地理位置
- 参数:
- params: 定位参数对象(可选)
- type: 坐标类型,可选值为'wgs84'(GPS坐标)|'gcj02'(国测局加密坐标)
- altitude: 是否需要高度信息
- isHighAccuracy: 是否使用高精度定位
- highAccuracyExpireTime: 高精度定位超时时间,单位ms
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 定位参数对象(可选)
onLocationChange
ts
tmuiJssdk.onLocationChange(callback: (res: any) => void): Promise<any>;- 描述:监听实时地理位置变化事件
- 参数:
- callback: 回调函数,接收位置信息res
- 返回值:Promise对象
offLocationChange
ts
tmuiJssdk.offLocationChange(callback?: (res: any) => void): Promise<any>;- 描述:取消监听实时地理位置变化
- 参数:
- callback: 回调函数(可选)
- 返回值:Promise对象
onLocationChangeError
ts
tmuiJssdk.onLocationChangeError(callback: (res: any) => void): Promise<any>;- 描述:监听实时地理位置变化事件错误
- 参数:
- callback: 回调函数,接收错误信息res
- 返回值:Promise对象
offLocationChangeError
ts
tmuiJssdk.offLocationChangeError(callback?: (res: any) => void): Promise<any>;- 描述:取消监听实时地理位置变化事件错误
- 参数:
- callback: 回调函数(可选)
- 返回值:Promise对象
startLocationUpdate
ts
tmuiJssdk.startLocationUpdate(params?: {
type?: 'gcj02' | 'wgs84' | string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:开启前台定位
- 参数:
- params: 回调参数对象(可选)
- type: 坐标类型,可选值为'gcj02'(国测局加密坐标)|'wgs84'(GPS坐标)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
stopLocationUpdate
ts
tmuiJssdk.stopLocationUpdate(params?: {
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:关闭前台定位
- 参数:
- params: 回调参数对象(可选)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
startLocationUpdateBackground
ts
tmuiJssdk.startLocationUpdateBackground(params?: {
type?: 'gcj02' | 'wgs84' | string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:开启后台定位
- 参数:
- params: 回调参数对象(可选)
- type: 坐标类型,可选值为'gcj02'(国测局加密坐标)|'wgs84'(GPS坐标)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 回调参数对象(可选)
支付相关
requestPayment
ts
tmuiJssdk.requestPayment(params: {
provider?: string;
orderInfo?: string;
timeStamp?: string;
nonceStr?: string;
package?: string;
signType?: string;
paySign?: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:发起支付
- 参数:
- params: 支付参数对象
- provider: 支付提供商
- orderInfo: 支付签名/订单信息(不同provider字段不同)
- timeStamp: 时间戳
- nonceStr: 随机字符串
- package: 订单包
- signType: 签名类型
- paySign: 支付签名
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 支付参数对象
分享相关
shareWithSystem
ts
tmuiJssdk.shareWithSystem(params: {
type?: 'text' | 'image' | 'video' | 'file' | string;
summary?: string;
href?: string;
imageUrl?: string;
filePath?: string;
success?: (...args: any[]) => any;
fail?: (...args: any[]) => any;
complete?: (...args: any[]) => any;
[key: string]: any;
}): void;- 描述:调用系统分享
- 参数:
- params: 分享参数对象
- type: 分享类型,宿主不同可能支持值不同,可选值为'text'(文本)|'image'(图片)|'video'(视频)|'file'(文件)
- summary: 分享标题/摘要
- href: 链接地址
- imageUrl: 图片地址(如分享图片)
- filePath: 文件路径(如分享文件)
- success: 成功回调
- fail: 失败回调
- complete: 完成回调
- params: 分享参数对象
事件相关
$emit
ts
tmuiJssdk.$emit(eventName: string, data?: Record<string, any>): Promise<void>;- 描述:触发自定义事件(用于宿主与web之间的事件总线同官方的uni.$emit)
- 参数:
- eventName: 事件名称
- data: 事件数据(可选)
- 返回值:Promise对象
$on
ts
tmuiJssdk.$on(eventName: string, callBack: (data?: Record<string, any>) => void): Promise<any>;- 描述:监听自定义事件(用于宿主与web之间的事件总线同官方的uni.$on)
- 注意:必须在$on返回的参数上调用$off移除监听事件,否则会导致内存泄漏
- 参数:
- eventName: 事件名称
- callBack: 事件回调函数,接收事件数据data
- 返回值:Promise对象
$off
ts
tmuiJssdk.$off(params: any): Promise<void>;- 描述:移除监听事件
- 参数:
- params: 必须是$on返回的参数
- 返回值:Promise对象
其他相关
getUserAgent
ts
tmuiJssdk.getUserAgent(): Promise<string>;- 描述:获取代理字符串
- 返回值:Promise对象,解析为代理字符串
getConfig
ts
tmuiJssdk.getConfig(): Promise<Record<string, any>>;- 描述:返回你在组件
x-webvew-u上定义的属性数据webConfig - 返回值:Promise对象
callMethod
ts
tmuiJssdk.callMethod(): Promise<any|null>;- 描述:执行你在组件
x-webvew-u上定义的属性函数方法callMethod - 返回值:Promise对象
