0.0.44 • Published 5 months ago
@lynker-desktop/web v0.0.44
ELECTRON-SDK : web端JSSDK
1. 安装
npm install @lynker-desktop/web2. 引入
import jssdk from '@lynker-desktop/web';3. api文档
| 属性 | 说明 | 类型 | 演示 |
|---|---|---|---|
| isDesktop | 当前是否在桌面端中 | const | jssdk.isDesktop |
| openDesktop | 打开桌面端 | function | jssdk.openDesktop() |
| getConfig | 获取桌面端配置信息 | function | jssdk.getConfig() |
| getLocalStorage | 获取桌面端LocalStorage | function | jssdk.getLocalStorage('token') |
| setLocalStorage | 获取桌面端LocalStorage | function | jssdk.setLocalStorage({key: 'token', value: '测试'}) |
| getLaunchOptions | 获取桌面端启动/唤起参数 | function | jssdk.getLaunchOptions() |
| delLaunchOptions | 清除启动/唤起参数 | function | jssdk.delLaunchOptions() |
| getRandomUUID | 获取唯一随机uuid | function | jssdk.getRandomUUID() |
| openBrowser | 打开浏览器 | function | jssdk.openBrowser('https://www.baidu.com') |
| openMyHelpWindow | 打开帮助中心 | function | jssdk.openMyHelpWindow() |
| openMyOrderWindow | 打开我的订单 | function | jssdk.openMyOrderWindow() |
| openMyInvoiceWindow | 打开发票中心 | function | jssdk.openMyInvoiceWindow() |
| openSelectMember | 打开选人组件 | function | jssdk.openSelectMember() |
| openNewWindow | 打开一个新窗口 | function | jssdk.openNewWindow({name: '新窗口', url: 'https://www.baidu.com'}) |
| openWebWindow | 打开 web 窗口 | (query: any) => Promise<any> | jssdk.openWebWindow({url: 'https://...'}) |
| setDebug | 设置 debug 模式 | (debug: boolean) => void | jssdk.setDebug(true) |
| getUserInfo | 获取用户信息 | () => Promise<any> | jssdk.getUserInfo() |
| getUniqueId | 获取唯一 ID | () => Promise<any> | jssdk.getUniqueId() |
| setEnv | 设置环境 | (env: any) => Promise<void> | jssdk.setEnv({ ... }) |
| checkIsManualEnv | 检查是否为手动环境 | () => Promise<any> | jssdk.checkIsManualEnv() |
| getCurrentWindow | 获取当前窗口 | () => Promise<any> | jssdk.getCurrentWindow() |
| openExternalWindow | 打开外部窗口 | (query: any) => Promise<any> | jssdk.openExternalWindow({ ... }) |
| openSettingWindow | 打开设置窗口 | (query: any) => Promise<any> | jssdk.openSettingWindow({ ... }) |
| openSetGroupWindow | 打开设置组窗口 | () => Promise<any> | jssdk.openSetGroupWindow() |
| openMyAddressWindow | 打开我的地址窗口 | (query: any) => Promise<any> | jssdk.openMyAddressWindow({ ... }) |
| openPolicyDetailWindow | 打开政策详情窗口 | (query: any) => Promise<any> | jssdk.openPolicyDetailWindow({ ... }) |
| openPolicyDetailWindow2 | 打开政策详情窗口2 | (query: any) => Promise<any> | jssdk.openPolicyDetailWindow2({ ... }) |
| logout | 注销 | () => Promise<void> | jssdk.logout() |
| openDebugTools | 打开调试工具 | () => Promise<void> | jssdk.openDebugTools() |
| openWebDebugWindow | 打开 web 调试窗口 | () => Promise<void> | jssdk.openWebDebugWindow() |
| previewImage | 预览图片 | (query: any) => Promise<void> | jssdk.previewImage({ ... }) |
| previewVideo | 预览视频 | (query: any) => Promise<void> | jssdk.previewVideo({ ... }) |
| previewFile | 预览文件 | (query: any) => Promise<void> | jssdk.previewFile({ ... }) |
| downloadFile | 下载文件 | (query: any) => Promise<string> | jssdk.downloadFile({ ... }) |
| startCapture | 开始捕获 | () => Promise<void> | jssdk.startCapture() |
| stopCapture | 停止捕获 | () => Promise<void> | jssdk.stopCapture() |
| showLoading | 显示loading | | jssdk.showLoading({ ... }) | |
| hideLoading | 隐藏loading | | jssdk.hideLoading() | |
| mainMenu_openMessage | 主菜单打开聊天窗口 | (query: any) => Promise<any> | jssdk.mainMenu_openMessage() |
| mainMenu_openWorkBench | 主菜单打开工作台 | (query: any) => Promise<any> | jssdk.mainMenu_openWorkBench({ ... }) |
| message_openChat | 消息主窗口打开指定聊天 | (query: any) => Promise<any> | jssdk.message_openChat() |
| message_openMessage | 消息主窗口打开指定聊天消息 | (query: any) => Promise<any> | jssdk.message_openMessage() |
| message_openDrawerForWebview | 消息主窗口打开抽屉用于webview | (query: any) => Promise<any> | jssdk.message_openDrawerForWebview() |
| message_closeDrawerForWebview | 消息主窗口关闭抽屉用于webview | (query: any) => Promise<any> | jssdk.message_closeDrawerForWebview() |
| workBench_getTabList | 工作台获取标签列表 | (query: any) => Promise<any> | jssdk.workBench_getTabList() |
| workBench_openTab | 工作台打开标签 | (query: any) => Promise<any> | jssdk.workBench_openTab({ ... }) |
| workBench_closeTab | 工作台关闭标签 | (query: any) => Promise<any> | jssdk.workBench_closeTab({ ... }) |
| workBench_openTabForWebview | 工作台打开标签用于 webview | (query: any) => Promise<any> | jssdk.workBench_openTabForWebview({ ... }) |
| workBench_openDrawerForWebview | 工作台打开抽屉用于webview | (query: any) => Promise<any> | jssdk.workBench_openDrawerForWebview({ ... }) |
| workBench_closeDrawerForWebview | 工作台关闭抽屉用于webview | (query: any) => Promise<any> | jssdk.workBench_closeDrawerForWebview({ ... }) |
| workBench_openTabForEnterprise | 工作台打开标签用于企业 | (query: any) => Promise<any> | jssdk.workBench_openTabForEnterprise({ ... }) |
| workBench_openTabForMerchantApply | 工作台打开标签用于商户申请 | (query: any) => Promise<any> | jssdk.workBench_openTabForMerchantApply({ ... }) |
| workBench_openTabForReceiveDetail | 工作台打开标签用于接收详情 | (query: any) => Promise<any> | jssdk.workBench_openTabForReceiveDetail({ ... }) |
| workBench_openTabForRefundDetail | 工作台打开标签用于退款详情 | (query: any) => Promise<any> | jssdk.workBench_openTabForRefundDetail({ ... }) |
| workBench_openTabForSettlementDetail | 工作台打开标签用于结算详情 | (query: any) => Promise<any> | jssdk.workBench_openTabForSettlementDetail({ ... }) |
| workBench_openTeamCertification | 工作台打开组织认证 | (query: any) => Promise<any> | jssdk.workBench_openTabForSettlementDetail({ ... }) |
| workBench_reload | 工作台刷新 | (query: any) => Promise<any> | jssdk.workBench_openTabForSettlementDetail({ ... }) |
4. 全量 API 使用示例
建议在每个示例前都先引入 jssdk:
import jssdk from '@lynker-desktop/web';
1. 判断是否在桌面端
if (jssdk.isDesktop) {
console.log('当前运行在桌面端环境');
}2. 打开桌面端
jssdk.openDesktop();
// 或带参数
jssdk.openDesktop('yourLaunchOptions');3. 获取桌面端配置信息
const config = await jssdk.getConfig();
console.log(config.env); // DEV/TEST/PRE/PROD4. 获取 LocalStorage
const token = await jssdk.getLocalStorage('token');
console.log(token);5. 设置 LocalStorage
await jssdk.setLocalStorage({ key: 'token', value: '测试' });6. 获取启动/唤起参数
const launchOptions = await jssdk.getLaunchOptions();
console.log(launchOptions);7. 清除启动/唤起参数
await jssdk.delLaunchOptions();8. 打开 web 窗口
await jssdk.openWebWindow({
name: '新窗口',
url: 'https://www.baidu.com',
extraData: '自定义数据',
openDevTools: false
});9. 打开浏览器
await jssdk.openBrowser('https://www.baidu.com');10. 打开帮助中心
await jssdk.openMyHelpWindow({
id: 1,
module_id: 2,
directory_id: 3
});
// 或无参数
await jssdk.openMyHelpWindow();11. 打开我的订单
await jssdk.openMyOrderWindow();12. 打开发票中心
await jssdk.openMyInvoiceWindow();13. 打开选人组件
const members = await jssdk.openSelectMember();
// 返回数组
console.log(members);14. 打开新窗口
await jssdk.openNewWindow({
name: '新窗口',
url: 'https://www.baidu.com',
width: 800,
height: 600
// 其他 ElectronWindowsManagerOptions 字段
});15. 设置 debug 模式
jssdk.setDebug(true);16. 获取用户信息
const userInfo = await jssdk.getUserInfo();
console.log(userInfo.openid, userInfo.title, userInfo.email);17. 获取唯一 ID
const uniqueId = await jssdk.getUniqueId();
console.log(uniqueId);18. 设置环境
await jssdk.setEnv('DEV'); // DEV/TEST/PRE/PROD/RESET19. 检查是否为手动环境
const isManual = await jssdk.checkIsManualEnv();
console.log(isManual);20. 获取当前窗口
const win = await jssdk.getCurrentWindow();
console.log(win.id, win.title);21. 打开外部窗口
await jssdk.openExternalWindow({
url: 'https://www.baidu.com',
options: {
width: 800,
height: 600
// 其他 ElectronWindowsManagerOptions 字段
}
});22. 打开设置窗口
await jssdk.openSettingWindow('general');23. 打开设置组窗口
await jssdk.openSetGroupWindow();24. 打开我的地址窗口
await jssdk.openMyAddressWindow('user-address-key');25. 打开政策详情窗口
await jssdk.openPolicyDetailWindow({ url: 'https://example.com/policy/123' });26. 打开政策详情窗口2
await jssdk.openPolicyDetailWindow2({ url: 'https://example.com/policy/456' });27. 注销
await jssdk.logout();28. 打开调试工具
await jssdk.openDebugTools();29. 打开 web 调试窗口
await jssdk.openWebDebugWindow();30. 预览图片
await jssdk.previewImage({
images: ['https://example.com/image1.png', 'https://example.com/image2.png'],
index: 0,
url: 'https://example.com/image1.png'
});31. 预览视频
await jssdk.previewVideo({
title: '演示视频',
url: 'https://example.com/video.mp4',
type: 'mp4',
size: 1024 * 1024 * 10
});32. 预览文件
await jssdk.previewFile({
title: '文档',
url: 'https://example.com/file.pdf',
type: 'pdf',
size: 1024 * 1024,
officeId: 'office-123'
});33. 下载文件
const filePath = await jssdk.downloadFile({
title: '下载文件',
url: 'https://example.com/file.pdf'
});
console.log(filePath);34. 开始捕获
await jssdk.startCapture();35. 停止捕获
await jssdk.stopCapture();36. 主菜单打开工作台
await jssdk.mainMenu_openWorkBench({
url: 'https://example.com/workbench',
selected_path_uuid: 'uuid1',
click_path_uuid: 'uuid2',
teamId: 'team-001'
});37. 工作台打开标签
await jssdk.workBench_openTab({
options: {
fullPath: '/workbench/tab',
title: '标签页',
icon: 'icon-url'
},
openWorkBench: true
});38. 工作台打开标签用于 iframe
await jssdk.workBench_openTabForIframe({
title: 'iframe标签',
url: 'https://example.com/iframe',
teamId: 'team-001'
});39. 工作台打开标签用于 webview
await jssdk.workBench_openTabForWebview({
title: 'webview标签',
url: 'https://example.com/webview',
teamId: 'team-001'
});40. 工作台打开标签用于企业
await jssdk.workBench_openTabForEnterprise({
teamId: 'team-001',
menuId: 'menu-001'
});41. 工作台打开标签用于商户申请
await jssdk.workBench_openTabForMerchantApply({
teamId: 'team-001'
});42. 工作台打开标签用于接收详情
await jssdk.workBench_openTabForReceiveDetail({
title: '接收详情',
url: 'https://example.com/receive',
teamId: 'team-001',
sn: 'SN123456'
});43. 工作台打开标签用于退款详情
await jssdk.workBench_openTabForRefundDetail({
title: '退款详情',
url: 'https://example.com/refund',
teamId: 'team-001',
sn: 'SN654321',
openLeftMenu: true
});44. 工作台打开标签用于结算详情
await jssdk.workBench_openTabForSettlementDetail({
title: '结算详情',
url: 'https://example.com/settlement',
teamId: 'team-001',
sn: 'SN789012'
});0.0.40
5 months ago
0.0.41
5 months ago
0.0.42
5 months ago
0.0.20
5 months ago
0.0.43
5 months ago
0.0.21
5 months ago
0.0.44
5 months ago
0.0.22
5 months ago
0.0.23
5 months ago
0.0.24
5 months ago
0.0.25
5 months ago
0.0.37
5 months ago
0.0.38
5 months ago
0.0.39
5 months ago
0.0.18
10 months ago
0.0.19
5 months ago
0.0.30
5 months ago
0.0.31
5 months ago
0.0.32
5 months ago
0.0.33
5 months ago
0.0.34
5 months ago
0.0.35
5 months ago
0.0.36
5 months ago
0.0.26
5 months ago
0.0.27
5 months ago
0.0.28
5 months ago
0.0.29
5 months ago
0.0.10
1 year ago
0.0.11
1 year ago
0.0.12
1 year ago
0.0.13
1 year ago
0.0.14
1 year ago
0.0.15
1 year ago
0.0.16
1 year ago
0.0.17
1 year ago
0.0.8
1 year ago
0.0.5
1 year ago
0.0.4
1 year ago
0.0.7
1 year ago
0.0.6
1 year ago
0.0.3
1 year ago
0.0.2
1 year ago
0.0.1
1 year ago