0.0.44 • Published 5 months ago

@lynker-desktop/web v0.0.44

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

ELECTRON-SDK : web端JSSDK

1. 安装

npm install @lynker-desktop/web

2. 引入

import jssdk from '@lynker-desktop/web';

3. api文档

属性说明类型演示
isDesktop当前是否在桌面端中constjssdk.isDesktop
openDesktop打开桌面端functionjssdk.openDesktop()
getConfig获取桌面端配置信息functionjssdk.getConfig()
getLocalStorage获取桌面端LocalStoragefunctionjssdk.getLocalStorage('token')
setLocalStorage获取桌面端LocalStoragefunctionjssdk.setLocalStorage({key: 'token', value: '测试'})
getLaunchOptions获取桌面端启动/唤起参数functionjssdk.getLaunchOptions()
delLaunchOptions清除启动/唤起参数functionjssdk.delLaunchOptions()
getRandomUUID获取唯一随机uuidfunctionjssdk.getRandomUUID()
openBrowser打开浏览器functionjssdk.openBrowser('https://www.baidu.com')
openMyHelpWindow打开帮助中心functionjssdk.openMyHelpWindow()
openMyOrderWindow打开我的订单functionjssdk.openMyOrderWindow()
openMyInvoiceWindow打开发票中心functionjssdk.openMyInvoiceWindow()
openSelectMember打开选人组件functionjssdk.openSelectMember()
openNewWindow打开一个新窗口functionjssdk.openNewWindow({name: '新窗口', url: 'https://www.baidu.com'})
openWebWindow打开 web 窗口(query: any) => Promise<any>jssdk.openWebWindow({url: 'https://...'})
setDebug设置 debug 模式(debug: boolean) => voidjssdk.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/PROD

4. 获取 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/RESET

19. 检查是否为手动环境

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