@kaishi/bridge
v0.0.4
Published
提供与原生应用通信的桥接功能,封装了常用的原生交互方法。
Readme
@kaishi/bridge
提供与原生应用通信的桥接功能,封装了常用的原生交互方法。
安装
pnpm add @kaishi/bridge使用
import { userInfo, jump2url, showShareBar } from '@kaishi/bridge';
// 获取用户信息
userInfo((result) => {
console.log('用户信息:', result);
});
// 跳转到指定URL
jump2url({
url: 'https://example.com',
title: '示例页面'
});
// 显示分享栏
showShareBar({
show: true
});API 列表
基础功能
setupWebViewJavascriptBridge(callback: (bridge: any) => void): void
初始化WebView JavaScript Bridge。
导航与页面控制
close(callback?: BridgeCallback): void
关闭当前页面。
showTitleBar(params?: { show?: boolean }, callback?: BridgeCallback): void
控制标题栏的显示或隐藏。
changeStatusTextColor(params: { isDark: string }, callback?: BridgeCallback): void
更改状态栏文本颜色,isDark为'1'表示深色,'0'表示浅色。
gotoPage(params: { page: string }, callback?: BridgeCallback): void
跳转到指定页面。
jump2url(params: { url: string; title?: string }, callback?: BridgeCallback): void
跳转到指定URL。
gotoHomePage(callback?: BridgeCallback): void
跳转至首页并切换到指定标签。
setWebViewTitleText(params: { title: string }, callback?: BridgeCallback): void
设置WebView标题文本。
setRightBtn(params: { text: string }, callback?: BridgeCallback): void
设置右侧按钮文本。
change_direction(params: { direction: string }, callback?: BridgeCallback): void
改变屏幕方向,direction为'1'表示横屏,'0'表示竖屏。
showAppButton(params?: { show?: boolean }, callback?: BridgeCallback): void
控制应用按钮的显示或隐藏。
用户信息与登录
userInfo(callback?: BridgeCallback): void
获取用户信息,需要登录检查。
userInfoNoCheckLogin(params: { token: string; hcToken: string; userId: string; phone: string; appVersion: string }, callback?: BridgeCallback): void
获取用户信息,无需登录检查。
tradeLogin(callback?: BridgeCallback): void
交易登录。
分享功能
showShareBar(params?: { show?: boolean }, callback?: BridgeCallback): void
控制分享栏的显示或隐藏。
setShareUrl(params: { shareTitle: string; shareContent: string; shareImage: string; shareUrl: string }, callback?: BridgeCallback): void
设置分享内容。
设备与系统信息
phone_info(callback?: BridgeCallback): void
获取手机信息。
isOpenPermission(callback?: BridgeCallback<IsOpenPermissionResult>): void
判断相机相册权限状态。
requestAuthorization(callback?: BridgeCallback): void
申请相机相册权限。
交互反馈
updatePraised(params: { praised: string }, callback?: BridgeCallback): void
更新点赞状态,praised为'1'表示已点赞,'0'表示未点赞。
updateFollowed(params: { followed: string }, callback?: BridgeCallback): void
更新关注状态,followed为'1'表示已关注,'0'表示未关注。
updateComments(params: { comments: string }, callback?: BridgeCallback): void
更新评论数量。
showTurnOnNotificationDialogIfNeed(callback?: BridgeCallback): void
显示开启通知对话框(如果需要)。
feedback(params: { type: string }, callback?: BridgeCallback): void
进入意见反馈页面。
视图生命周期
viewWillAppear(callback?: BridgeCallback): void
视图即将出现时调用。
viewWillDisappear(callback?: BridgeCallback): void
视图即将消失时调用。
支付功能
vipPaySuccess(callback?: BridgeCallback): void
VIP支付成功回调。
payByWeixin(params: { appid: string; partnerid: string; prepayid: string; package: string; noncestr: string; timestamp: string; sign: string }, callback?: BridgeCallback): void
唤起微信支付。
payByALL(params: { orderInfo: string }, callback?: BridgeCallback): void
唤起支付宝支付。
媒体与文件
YxSavaAlbum(params: { base64: string }, callback?: BridgeCallback): void
保存Base64图片到相册。
downloadPDF(params: { url: string }, callback?: BridgeCallback): void
下载并打开PDF文件。
idCardUpload(callback?: BridgeCallback): void
上传身份证。
直播与交易
liveStudio(params: { studioid: string; tabindex: string }, callback?: BridgeCallback): void
进入直播间。
tradeTome(params: { hcTradeToken: string }, callback?: BridgeCallback): void
进入交易首页。
openAccount(params: { title: string; url: string }, callback?: BridgeCallback): void
打开开户二级页面。
自选功能
addOptional(params: { symbol: string; type: string }, callback?: BridgeCallback): void
为当前用户添加自选。
removeOptional(params: { symbol: string; type: string }, callback?: BridgeCallback): void
为当前用户取消自选。
其他功能
tel(params: { phone: string }, callback?: BridgeCallback): void
拨打电话。
类型定义
// 基础回调函数类型
type BridgeCallback<T = any> = (data: T) => void;
// 基础参数接口
interface BridgeBaseParams {
cmd: string;
time: number;
data: Record<string, any>;
}
// 相机相册权限结果接口
interface IsOpenPermissionResult {
cameraResult: string; // 相机权限,1为开启
albumResult: string; // 相册权限,1为开启
}许可证
MIT
