zmp-sdk 2.15.0-1 → 2.15.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21366,7 +21366,7 @@
21366
21366
  ShareSheetType[ShareSheetType["video"] = 12] = "video";
21367
21367
  ShareSheetType[ShareSheetType["link"] = 4] = "link";
21368
21368
  ShareSheetType[ShareSheetType["oa"] = 5] = "oa";
21369
- ShareSheetType["zmp"] = "zmp";
21369
+ ShareSheetType[ShareSheetType["zmp"] = 20] = "zmp";
21370
21370
  })(ShareSheetType || (ShareSheetType = {}));
21371
21371
  var OrientationType;
21372
21372
  (function (OrientationType) {
@@ -21453,123 +21453,324 @@
21453
21453
  };
21454
21454
 
21455
21455
  const ACTION = {
21456
- GET_DOWNLOADED_STICKER: 'action.get.downloaded.sticker',
21457
- OPEN_SHARE_STICKER: 'action.open.share.sticker',
21458
- OPEN_PROFILE: 'action.open.profile',
21459
- OPEN_FEED_DETAIL: 'action.open.feeddetail',
21460
- OPEN_FRIEND_RADA: 'action.open.friendrada',
21461
- OPEN_INAPP: 'action.open.inapp',
21462
- OPEN_OUTAPP: 'action.open.outapp',
21463
- OPEN_PAGE: 'action.open.page',
21464
- OPEN_PHOTODETAIL: 'action.open.photodetail',
21465
- OPEN_GALARY: 'action.open.galary',
21466
- OPEN_GAMECENTER: 'action.open.gamecenter',
21467
- OPEN_GAMENEWS: 'action.open.gamenews',
21468
- OPEN_TAB_CONTACT: 'action.open.tab.contact',
21469
- OPEN_TAB_SOCIAL: 'action.open.tab.social',
21470
- OPEN_FRIENDSUGGEST: 'action.open.friendsuggest',
21471
- OPEN_GROUPLIST: 'action.open.grouplist',
21472
- OPEN_NEARBY: 'action.open.nearby',
21473
- OPEN_ROOM: 'action.open.room',
21474
- OPEN_STICKERSTORE: 'action.open.stickerstore',
21475
- OPEN_CREATECHAT: 'action.open.createchat',
21476
- COPY_LINK_CATESTICKER: 'action.copy.link.catesticker',
21477
- REQUEST_BUY_STICKER: 'action.request.buy.sticker',
21478
- OPEN_CHAT: 'action.open.chat',
21479
- OPEN_TAB_CHAT: 'action.open.tab.chat',
21480
- OPEN_CHATGROUP: 'action.open.chatgroup',
21481
- OPEN_ADDFRIEND: 'action.open.addfriend',
21482
- OPEN_TAB_MORE: 'action.open.tab.more',
21483
- OPEN_POSTFEED: 'action.open.postfeed',
21484
- OPEN_LOGINDEVICES: 'action.open.logindevices',
21485
- OPEN_SENDSTICKER: 'action.open.sendsticker',
21486
- REPORT_ABUSE: 'action.report.abuse',
21487
- FOLLOW_OA: 'action.follow.oa',
21488
- UNFOLLOW_OA: 'action.unfollow.oa',
21489
- OPEN_GAMEDETAIL: 'action.open.gamedetail',
21490
- OPEN_SHARESHEET: 'action.open.sharesheet',
21491
- REQUEST_PERMISSION_CAMERA: 'action.request.permission.camera',
21492
- CHANGE_TITLE_HEADER: 'action.change.title.header',
21493
- WEBVIEW_CLEARCACHE: 'action.webview.clearcache',
21494
- WEBVIEW_CONFIRMCACHE: 'action.webview.confirmcache',
21495
- WEBVIEW_ISVISIBLE: 'action.webview.isvisible',
21496
- WEBVIEW_NETWORKTYPE: 'action.webview.networktype',
21497
- CHANGE_BUTTON_HEADER: 'action.change.button.header',
21498
- CREATE_OPTIONS_MENU: 'action.create.options.menu',
21499
- CREATE_SHORTCUT: 'action.create.shortcut',
21500
- CHANGE_ACTIONBAR_LEFTBUTTON_TYPE: 'action.change.actionbar.leftbutton.type',
21501
- WINDOW_CLOSE: 'action.window.close',
21502
- WEBVIEW_CHECKRESERROR: 'action.webview.checkResError',
21503
- IAP_REQUESTPAYMENT: 'action.iap.requestpayment',
21504
- ZBROWSER_GETSTATS: 'action.zbrowser.getstats',
21505
- ZBROWSER_JSBRIDGE: 'action.zbrowser.jsbridge',
21506
- PROMPT_AUTHENTICATION: 'action.prompt.authentication',
21507
- CHANGE_ACTIONBAR_COLOR: 'action.change.actionbar.color',
21508
- PROMPT_AUTHENTICATION_CHECK_STATE: 'action.prompt.authentication.check_state',
21509
- OPEN_APPSTORE: 'action.open.appstore',
21510
- GET_LOCATION: 'action.get.location',
21511
- QUERY_LOCATION_HIDE: 'action.query.location.hide',
21512
- SHOW_TOAST: 'action.show.toast',
21513
- OPEN_APP: 'action.open.app',
21514
- HIDE_KEYBOARD: 'action.hide.keyboard',
21515
- OPEN_PHONE: 'action.open.phone',
21516
- OPEN_QR: 'action.open.qr',
21517
- OPEN_SMS: 'action.open.sms',
21518
- VIEW_MYQR: 'action.view.myqr',
21519
- KEEP_SCREEN: 'action.keep.screen',
21520
- CHANGE_AUTOROTATE: 'action.change.autorotate',
21521
- CHECK_APP_INSTALLED: 'action.check.app.installed',
21522
- QUERY_SHOW: 'action.query.show',
21523
- QUERY_HIDE: 'action.query.hide',
21524
- OPEN_INAPPRW: 'action.open.inapprw',
21525
- ZALORUN_GETTRACKINGSTATUS: 'action.zalorun.getTrackingStatus',
21526
- ZALORUN_SETTRACKINGSTATUS: 'action.zalorun.setTrackingStatus',
21527
- ZALORUN_GETDAYSTEP: 'action.zalorun.getDayStep',
21528
- ZALORUN_FORCESUBMITDATA: 'action.zalorun.forceSubmitData',
21529
- ZALORUN_SETWEIGHT: 'action.zalorun.setWeight',
21530
- OPEN_PROFILE_EXT: 'action.open.profile.ext',
21531
- DOWNLOAD_CATE: 'action.download.cate',
21532
- JUMP_LOGIN: 'action.jump.login',
21533
- OPEN_ADTIMA_ADS_INTERSTITIAL: 'action.open.adtima.ads.interstitial',
21534
- OPEN_ADTIMA_ADS: 'action.open.adtima.ads',
21535
- GET_ADIDCLIENT: 'action.get.adidclient',
21536
- SCAN_IBEACON: 'action.scan.ibeacon',
21537
- WEBVIEW_SAVE_IMAGE_GALLERY: 'action.save.image.gallery',
21538
- OPEN_MP: 'action.open.mp',
21539
- CHANGE_ACTIONBAR: 'action.change.actionbar',
21540
- INTERACTIVE_VIBRATION: 'action.interactive.vibration',
21541
- ZBROWSER_MPDS: 'action.zbrowser.mpds',
21542
- WEBVIEW_SET_RESULT: "action.webview.set.result",
21543
- MP_GET_NUMBER: "action.mp.get.number",
21544
- MP_OPEN_PROFILE_PICKER: "action.mp.open.profile.picker"
21456
+ GET_DOWNLOADED_STICKER: {
21457
+ name: 'action.get.downloaded.sticker'
21458
+ },
21459
+ OPEN_SHARE_STICKER: {
21460
+ name: 'action.open.share.sticker'
21461
+ },
21462
+ OPEN_PROFILE: {
21463
+ name: 'action.open.profile'
21464
+ },
21465
+ OPEN_FEED_DETAIL: {
21466
+ name: 'action.open.feeddetail'
21467
+ },
21468
+ OPEN_FRIEND_RADA: {
21469
+ name: 'action.open.friendrada'
21470
+ },
21471
+ OPEN_INAPP: {
21472
+ name: 'action.open.inapp'
21473
+ },
21474
+ OPEN_OUTAPP: {
21475
+ name: 'action.open.outapp'
21476
+ },
21477
+ OPEN_PAGE: {
21478
+ name: 'action.open.page'
21479
+ },
21480
+ OPEN_PHOTODETAIL: {
21481
+ name: 'action.open.photodetail'
21482
+ },
21483
+ OPEN_GALARY: {
21484
+ name: 'action.open.galary'
21485
+ },
21486
+ OPEN_GAMECENTER: {
21487
+ name: 'action.open.gamecenter'
21488
+ },
21489
+ OPEN_GAMENEWS: {
21490
+ name: 'action.open.gamenews'
21491
+ },
21492
+ OPEN_TAB_CONTACT: {
21493
+ name: 'action.open.tab.contact'
21494
+ },
21495
+ OPEN_TAB_SOCIAL: {
21496
+ name: 'action.open.tab.social'
21497
+ },
21498
+ OPEN_FRIENDSUGGEST: {
21499
+ name: 'action.open.friendsuggest'
21500
+ },
21501
+ OPEN_GROUPLIST: {
21502
+ name: 'action.open.grouplist'
21503
+ },
21504
+ OPEN_NEARBY: {
21505
+ name: 'action.open.nearby'
21506
+ },
21507
+ OPEN_ROOM: {
21508
+ name: 'action.open.room'
21509
+ },
21510
+ OPEN_STICKERSTORE: {
21511
+ name: 'action.open.stickerstore'
21512
+ },
21513
+ OPEN_CREATECHAT: {
21514
+ name: 'action.open.createchat'
21515
+ },
21516
+ COPY_LINK_CATESTICKER: {
21517
+ name: 'action.copy.link.catesticker'
21518
+ },
21519
+ REQUEST_BUY_STICKER: {
21520
+ name: 'action.request.buy.sticker'
21521
+ },
21522
+ OPEN_CHAT: {
21523
+ name: 'action.open.chat'
21524
+ },
21525
+ OPEN_TAB_CHAT: {
21526
+ name: 'action.open.tab.chat'
21527
+ },
21528
+ OPEN_CHATGROUP: {
21529
+ name: 'action.open.chatgroup'
21530
+ },
21531
+ OPEN_ADDFRIEND: {
21532
+ name: 'action.open.addfriend'
21533
+ },
21534
+ OPEN_TAB_MORE: {
21535
+ name: 'action.open.tab.more'
21536
+ },
21537
+ OPEN_POSTFEED: {
21538
+ name: 'action.open.postfeed'
21539
+ },
21540
+ OPEN_LOGINDEVICES: {
21541
+ name: 'action.open.logindevices'
21542
+ },
21543
+ OPEN_SENDSTICKER: {
21544
+ name: 'action.open.sendsticker'
21545
+ },
21546
+ REPORT_ABUSE: {
21547
+ name: 'action.report.abuse'
21548
+ },
21549
+ FOLLOW_OA: {
21550
+ name: 'action.follow.oa'
21551
+ },
21552
+ UNFOLLOW_OA: {
21553
+ name: 'action.unfollow.oa'
21554
+ },
21555
+ OPEN_GAMEDETAIL: {
21556
+ name: 'action.open.gamedetail'
21557
+ },
21558
+ OPEN_SHARESHEET: {
21559
+ name: 'action.open.sharesheet'
21560
+ },
21561
+ REQUEST_PERMISSION_CAMERA: {
21562
+ name: 'action.request.permission.camera'
21563
+ },
21564
+ CHANGE_TITLE_HEADER: {
21565
+ name: 'action.change.title.header',
21566
+ skip_jump: true
21567
+ },
21568
+ WEBVIEW_CLEARCACHE: {
21569
+ name: 'action.webview.clearcache'
21570
+ },
21571
+ WEBVIEW_CONFIRMCACHE: {
21572
+ name: 'action.webview.confirmcache'
21573
+ },
21574
+ WEBVIEW_ISVISIBLE: {
21575
+ name: 'action.webview.isvisible'
21576
+ },
21577
+ WEBVIEW_NETWORKTYPE: {
21578
+ name: 'action.webview.networktype',
21579
+ skip_jump: true
21580
+ },
21581
+ CHANGE_BUTTON_HEADER: {
21582
+ name: 'action.change.button.header'
21583
+ },
21584
+ CREATE_OPTIONS_MENU: {
21585
+ name: 'action.create.options.menu',
21586
+ skip_jump: true
21587
+ },
21588
+ CREATE_SHORTCUT: {
21589
+ name: 'action.create.shortcut'
21590
+ },
21591
+ CHANGE_ACTIONBAR_LEFTBUTTON_TYPE: {
21592
+ name: 'action.change.actionbar.leftbutton.type',
21593
+ skip_jump: true
21594
+ },
21595
+ WINDOW_CLOSE: {
21596
+ name: 'action.window.close',
21597
+ skip_jump: true
21598
+ },
21599
+ WEBVIEW_CHECKRESERROR: {
21600
+ name: 'action.webview.checkResError'
21601
+ },
21602
+ IAP_REQUESTPAYMENT: {
21603
+ name: 'action.iap.requestpayment'
21604
+ },
21605
+ ZBROWSER_GETSTATS: {
21606
+ name: 'action.zbrowser.getstats'
21607
+ },
21608
+ ZBROWSER_JSBRIDGE: {
21609
+ name: 'action.zbrowser.jsbridge',
21610
+ skip_jump: true
21611
+ },
21612
+ PROMPT_AUTHENTICATION: {
21613
+ name: 'action.prompt.authentication'
21614
+ },
21615
+ CHANGE_ACTIONBAR_COLOR: {
21616
+ name: 'action.change.actionbar.color',
21617
+ skip_jump: true
21618
+ },
21619
+ PROMPT_AUTHENTICATION_CHECK_STATE: {
21620
+ name: 'action.prompt.authentication.check_state'
21621
+ },
21622
+ OPEN_APPSTORE: {
21623
+ name: 'action.open.appstore'
21624
+ },
21625
+ GET_LOCATION: {
21626
+ name: 'action.get.location'
21627
+ },
21628
+ QUERY_LOCATION_HIDE: {
21629
+ name: 'action.query.location.hide'
21630
+ },
21631
+ SHOW_TOAST: {
21632
+ name: 'action.show.toast'
21633
+ },
21634
+ OPEN_APP: {
21635
+ name: 'action.open.app'
21636
+ },
21637
+ HIDE_KEYBOARD: {
21638
+ name: 'action.hide.keyboard'
21639
+ },
21640
+ OPEN_PHONE: {
21641
+ name: 'action.open.phone'
21642
+ },
21643
+ OPEN_QR: {
21644
+ name: 'action.open.qr'
21645
+ },
21646
+ OPEN_SMS: {
21647
+ name: 'action.open.sms'
21648
+ },
21649
+ VIEW_MYQR: {
21650
+ name: 'action.view.myqr'
21651
+ },
21652
+ KEEP_SCREEN: {
21653
+ name: 'action.keep.screen'
21654
+ },
21655
+ CHANGE_AUTOROTATE: {
21656
+ name: 'action.change.autorotate',
21657
+ skip_jump: true
21658
+ },
21659
+ CHECK_APP_INSTALLED: {
21660
+ name: 'action.check.app.installed'
21661
+ },
21662
+ QUERY_SHOW: {
21663
+ name: 'action.query.show'
21664
+ },
21665
+ QUERY_HIDE: {
21666
+ name: 'action.query.hide'
21667
+ },
21668
+ OPEN_INAPPRW: {
21669
+ name: 'action.open.inapprw'
21670
+ },
21671
+ ZALORUN_GETTRACKINGSTATUS: {
21672
+ name: 'action.zalorun.getTrackingStatus'
21673
+ },
21674
+ ZALORUN_SETTRACKINGSTATUS: {
21675
+ name: 'action.zalorun.setTrackingStatus'
21676
+ },
21677
+ ZALORUN_GETDAYSTEP: {
21678
+ name: 'action.zalorun.getDayStep'
21679
+ },
21680
+ ZALORUN_FORCESUBMITDATA: {
21681
+ name: 'action.zalorun.forceSubmitData'
21682
+ },
21683
+ ZALORUN_SETWEIGHT: {
21684
+ name: 'action.zalorun.setWeight'
21685
+ },
21686
+ OPEN_PROFILE_EXT: {
21687
+ name: 'action.open.profile.ext'
21688
+ },
21689
+ DOWNLOAD_CATE: {
21690
+ name: 'action.download.cate'
21691
+ },
21692
+ JUMP_LOGIN: {
21693
+ name: 'action.jump.login',
21694
+ skip_jump: true,
21695
+ white_list: true
21696
+ },
21697
+ OPEN_ADTIMA_ADS_INTERSTITIAL: {
21698
+ name: 'action.open.adtima.ads.interstitial'
21699
+ },
21700
+ OPEN_ADTIMA_ADS: {
21701
+ name: 'action.open.adtima.ads'
21702
+ },
21703
+ GET_ADIDCLIENT: {
21704
+ name: 'action.get.adidclient'
21705
+ },
21706
+ SCAN_IBEACON: {
21707
+ name: 'action.scan.ibeacon'
21708
+ },
21709
+ INTERACTIVE_VIBRATION: {
21710
+ name: 'action.interactive.vibration'
21711
+ },
21712
+ SAVE_IMAGE_GALLERY: {
21713
+ name: 'action.save.image.gallery',
21714
+ version_live: { iOS: 408 }
21715
+ },
21716
+ OPEN_MP: {
21717
+ name: 'action.open.mp',
21718
+ version_live: { iOS: 402 }
21719
+ },
21720
+ CHANGE_ACTIONBAR: {
21721
+ name: 'action.change.actionbar',
21722
+ version_live: { iOS: 402 },
21723
+ skip_jump: true
21724
+ },
21725
+ ZBROWSER_MPDS: {
21726
+ name: 'action.zbrowser.mpds',
21727
+ version_live: { iOS: 402 }
21728
+ },
21729
+ WEBVIEW_SET_RESULT: {
21730
+ name: 'action.webview.set.result',
21731
+ version_live: { iOS: 416 }
21732
+ },
21733
+ MP_GET_NUMBER: {
21734
+ name: 'action.mp.get.number',
21735
+ version_live: { iOS: 416 }
21736
+ },
21737
+ MP_OPEN_PROFILE_PICKER: {
21738
+ name: 'action.mp.open.profile.picker',
21739
+ version_live: { iOS: 999 }
21740
+ },
21741
+ GET_SUPPORTED_ACTIONS: {
21742
+ name: 'action.get.supported.actions',
21743
+ white_list: true
21744
+ }
21545
21745
  };
21546
21746
  const ACTION_HAVE_CALLBACK = [
21547
- ACTION.GET_DOWNLOADED_STICKER,
21548
- ACTION.REPORT_ABUSE,
21549
- ACTION.FOLLOW_OA,
21550
- ACTION.UNFOLLOW_OA,
21551
- ACTION.OPEN_SHARESHEET,
21552
- ACTION.CREATE_OPTIONS_MENU,
21553
- ACTION.CHANGE_ACTIONBAR_LEFTBUTTON_TYPE,
21554
- ACTION.WINDOW_CLOSE,
21555
- ACTION.ZBROWSER_JSBRIDGE,
21556
- ACTION.GET_LOCATION,
21557
- ACTION.QUERY_LOCATION_HIDE,
21558
- ACTION.SHOW_TOAST,
21559
- ACTION.VIEW_MYQR,
21560
- ACTION.KEEP_SCREEN,
21561
- ACTION.ZALORUN_GETTRACKINGSTATUS,
21562
- ACTION.ZALORUN_SETTRACKINGSTATUS,
21563
- ACTION.ZALORUN_GETDAYSTEP,
21564
- ACTION.ZALORUN_FORCESUBMITDATA,
21565
- ACTION.ZALORUN_SETWEIGHT,
21566
- ACTION.DOWNLOAD_CATE
21747
+ ACTION.GET_DOWNLOADED_STICKER.name,
21748
+ ACTION.REPORT_ABUSE.name,
21749
+ ACTION.FOLLOW_OA.name,
21750
+ ACTION.UNFOLLOW_OA.name,
21751
+ ACTION.OPEN_SHARESHEET.name,
21752
+ ACTION.CREATE_OPTIONS_MENU.name,
21753
+ ACTION.CHANGE_ACTIONBAR_LEFTBUTTON_TYPE.name,
21754
+ ACTION.WINDOW_CLOSE.name,
21755
+ ACTION.ZBROWSER_JSBRIDGE.name,
21756
+ ACTION.GET_LOCATION.name,
21757
+ ACTION.QUERY_LOCATION_HIDE.name,
21758
+ ACTION.SHOW_TOAST.name,
21759
+ ACTION.VIEW_MYQR.name,
21760
+ ACTION.KEEP_SCREEN.name,
21761
+ ACTION.ZALORUN_GETTRACKINGSTATUS.name,
21762
+ ACTION.ZALORUN_SETTRACKINGSTATUS.name,
21763
+ ACTION.ZALORUN_GETDAYSTEP.name,
21764
+ ACTION.ZALORUN_FORCESUBMITDATA.name,
21765
+ ACTION.ZALORUN_SETWEIGHT.name,
21766
+ ACTION.DOWNLOAD_CATE.name
21567
21767
  ];
21568
21768
  const RESPONSE_CODE = {
21569
21769
  BAD_REQUEST: -1400,
21570
21770
  INTERNAL_SERVER_ERROR: -1500,
21571
21771
  UNAUTHORIZED: -1401,
21572
- FORBIDDEN: -1403
21772
+ FORBIDDEN: -1403,
21773
+ CLIENT_NOT_SUPPORT: -1404
21573
21774
  };
21574
21775
  const MESSAGES = {
21575
21776
  READ_MORE: 'Read more at: https://miniapp.zalo.me/docs/api',
@@ -21588,7 +21789,96 @@
21588
21789
  iOS: 400,
21589
21790
  wp: 0,
21590
21791
  unknown: 0
21591
- };
21792
+ };
21793
+ // List actions supported before support action action.get.supported.actions
21794
+ const ZALO_IOS_ACTIONS_SUPPORTED_BEFORE_VER_402 = [
21795
+ ACTION.GET_DOWNLOADED_STICKER.name,
21796
+ ACTION.OPEN_SHARE_STICKER.name,
21797
+ ACTION.OPEN_PROFILE.name,
21798
+ ACTION.OPEN_FEED_DETAIL.name,
21799
+ ACTION.OPEN_FRIEND_RADA.name,
21800
+ ACTION.OPEN_INAPP.name,
21801
+ ACTION.OPEN_OUTAPP.name,
21802
+ ACTION.OPEN_PAGE.name,
21803
+ ACTION.OPEN_PHOTODETAIL.name,
21804
+ ACTION.OPEN_GALARY.name,
21805
+ ACTION.OPEN_GAMECENTER.name,
21806
+ ACTION.OPEN_GAMENEWS.name,
21807
+ ACTION.OPEN_TAB_CONTACT.name,
21808
+ ACTION.OPEN_TAB_SOCIAL.name,
21809
+ ACTION.OPEN_FRIENDSUGGEST.name,
21810
+ ACTION.OPEN_GROUPLIST.name,
21811
+ ACTION.OPEN_NEARBY.name,
21812
+ ACTION.OPEN_ROOM.name,
21813
+ ACTION.OPEN_STICKERSTORE.name,
21814
+ ACTION.OPEN_CREATECHAT.name,
21815
+ ACTION.COPY_LINK_CATESTICKER.name,
21816
+ ACTION.REQUEST_BUY_STICKER.name,
21817
+ ACTION.OPEN_CHAT.name,
21818
+ ACTION.OPEN_TAB_CHAT.name,
21819
+ ACTION.OPEN_CHATGROUP.name,
21820
+ ACTION.OPEN_ADDFRIEND.name,
21821
+ ACTION.OPEN_TAB_MORE.name,
21822
+ ACTION.OPEN_POSTFEED.name,
21823
+ ACTION.OPEN_LOGINDEVICES.name,
21824
+ ACTION.OPEN_SENDSTICKER.name,
21825
+ ACTION.REPORT_ABUSE.name,
21826
+ ACTION.FOLLOW_OA.name,
21827
+ ACTION.UNFOLLOW_OA.name,
21828
+ ACTION.OPEN_GAMEDETAIL.name,
21829
+ ACTION.OPEN_SHARESHEET.name,
21830
+ ACTION.REQUEST_PERMISSION_CAMERA.name,
21831
+ ACTION.CHANGE_TITLE_HEADER.name,
21832
+ ACTION.WEBVIEW_CLEARCACHE.name,
21833
+ ACTION.WEBVIEW_CONFIRMCACHE.name,
21834
+ ACTION.WEBVIEW_ISVISIBLE.name,
21835
+ ACTION.WEBVIEW_NETWORKTYPE.name,
21836
+ ACTION.CHANGE_BUTTON_HEADER.name,
21837
+ ACTION.CREATE_OPTIONS_MENU.name,
21838
+ ACTION.CREATE_SHORTCUT.name,
21839
+ ACTION.CHANGE_ACTIONBAR_LEFTBUTTON_TYPE.name,
21840
+ ACTION.WINDOW_CLOSE.name,
21841
+ ACTION.WEBVIEW_CHECKRESERROR.name,
21842
+ ACTION.IAP_REQUESTPAYMENT.name,
21843
+ ACTION.ZBROWSER_GETSTATS.name,
21844
+ ACTION.ZBROWSER_JSBRIDGE.name,
21845
+ ACTION.PROMPT_AUTHENTICATION.name,
21846
+ ACTION.CHANGE_ACTIONBAR_COLOR.name,
21847
+ ACTION.PROMPT_AUTHENTICATION_CHECK_STATE.name,
21848
+ ACTION.OPEN_APPSTORE.name,
21849
+ ACTION.GET_LOCATION.name,
21850
+ ACTION.QUERY_LOCATION_HIDE.name,
21851
+ ACTION.SHOW_TOAST.name,
21852
+ ACTION.OPEN_APP.name,
21853
+ ACTION.HIDE_KEYBOARD.name,
21854
+ ACTION.OPEN_PHONE.name,
21855
+ ACTION.OPEN_QR.name,
21856
+ ACTION.OPEN_SMS.name,
21857
+ ACTION.VIEW_MYQR.name,
21858
+ ACTION.KEEP_SCREEN.name,
21859
+ ACTION.CHANGE_AUTOROTATE.name,
21860
+ ACTION.CHECK_APP_INSTALLED.name,
21861
+ ACTION.QUERY_SHOW.name,
21862
+ ACTION.QUERY_HIDE.name,
21863
+ ACTION.OPEN_INAPPRW.name,
21864
+ ACTION.ZALORUN_GETTRACKINGSTATUS.name,
21865
+ ACTION.ZALORUN_SETTRACKINGSTATUS.name,
21866
+ ACTION.ZALORUN_GETDAYSTEP.name,
21867
+ ACTION.ZALORUN_FORCESUBMITDATA.name,
21868
+ ACTION.ZALORUN_SETWEIGHT.name,
21869
+ ACTION.OPEN_PROFILE_EXT.name,
21870
+ ACTION.DOWNLOAD_CATE.name,
21871
+ ACTION.JUMP_LOGIN.name,
21872
+ ACTION.OPEN_ADTIMA_ADS_INTERSTITIAL.name,
21873
+ ACTION.OPEN_ADTIMA_ADS.name,
21874
+ ACTION.GET_ADIDCLIENT.name,
21875
+ ACTION.SCAN_IBEACON.name,
21876
+ ACTION.SAVE_IMAGE_GALLERY.name,
21877
+ ACTION.OPEN_MP.name,
21878
+ ACTION.CHANGE_ACTIONBAR.name,
21879
+ ACTION.INTERACTIVE_VIBRATION.name,
21880
+ ACTION.ZBROWSER_MPDS.name
21881
+ ];
21592
21882
 
21593
21883
  const REGEXP_SPECIAL_UNICODE = new RegExp('[\\u0300-\\u036f]', 'g');
21594
21884
  const REGEXP_ACCENT_D = new RegExp('[đ|Đ]', 'g');
@@ -21814,26 +22104,21 @@
21814
22104
  return null;
21815
22105
  }
21816
22106
  catch (error) {
21817
- console.log(error);
22107
+ debug$2('parse json error:', error);
21818
22108
  return data;
21819
22109
  }
21820
22110
  };
21821
- const showUserInfoPermissionModal = (acceptHandler, denyHandler) => {
21822
- const userInfoPermissionModal = document.getElementById('zmp-permission-container');
21823
- const buttonAccept = document.getElementById('button-accept');
21824
- const buttonDeny = document.getElementById('button-deny');
21825
- if (!userInfoPermissionModal || !buttonAccept || !buttonDeny)
21826
- return;
21827
- // show modal
21828
- userInfoPermissionModal.style.display = 'block';
21829
- buttonAccept.onclick = () => {
21830
- acceptHandler && acceptHandler();
21831
- userInfoPermissionModal.style.display = 'none';
21832
- };
21833
- buttonDeny.onclick = () => {
21834
- denyHandler && denyHandler();
21835
- userInfoPermissionModal.style.display = 'none';
21836
- };
22111
+ const checkIOSSupportAction = (action) => {
22112
+ var _a, _b;
22113
+ const key = action.slice(7, action.length).replace(/\./gi, '_').toUpperCase();
22114
+ const zaloIOSVersion = getZaloVersion();
22115
+ const actionVersionLive = ((_b = (_a = ACTION[key]) === null || _a === void 0 ? void 0 : _a.version_live) === null || _b === void 0 ? void 0 : _b.iOS) || 0;
22116
+ if (Array.isArray(window.ignoreCheckSupport) &&
22117
+ window.ignoreCheckSupport.length > 0 &&
22118
+ window.ignoreCheckSupport.includes(action)) {
22119
+ return true;
22120
+ }
22121
+ return zaloIOSVersion >= actionVersionLive;
21837
22122
  };
21838
22123
 
21839
22124
  /*! *****************************************************************************
@@ -34695,6 +34980,12 @@
34695
34980
  'default': zlib$1
34696
34981
  });
34697
34982
 
34983
+ var _args = [
34984
+ [
34985
+ "axios@0.21.1",
34986
+ "/Users/nguyentuankiet/Work/Zalo/Projects/ZaloMiniProgram/TestNewFunction"
34987
+ ]
34988
+ ];
34698
34989
  var _from = "axios@0.21.1";
34699
34990
  var _id = "axios@0.21.1";
34700
34991
  var _inBundle = false;
@@ -34716,8 +35007,7 @@
34716
35007
  "/zmp-sdk"
34717
35008
  ];
34718
35009
  var _resolved = "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz";
34719
- var _shasum = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
34720
- var _spec = "axios@0.21.1";
35010
+ var _spec = "0.21.1";
34721
35011
  var _where = "/Users/nguyentuankiet/Work/Zalo/Projects/ZaloMiniProgram/TestNewFunction";
34722
35012
  var author = {
34723
35013
  name: "Matt Zabriskie"
@@ -34728,7 +35018,6 @@
34728
35018
  var bugs = {
34729
35019
  url: "https://github.com/axios/axios/issues"
34730
35020
  };
34731
- var bundleDependencies = false;
34732
35021
  var bundlesize = [
34733
35022
  {
34734
35023
  path: "./dist/axios.min.js",
@@ -34738,7 +35027,6 @@
34738
35027
  var dependencies = {
34739
35028
  "follow-redirects": "^1.10.0"
34740
35029
  };
34741
- var deprecated = false;
34742
35030
  var description = "Promise based HTTP client for the browser and node.js";
34743
35031
  var devDependencies = {
34744
35032
  bundlesize: "^0.17.0",
@@ -34808,6 +35096,7 @@
34808
35096
  var unpkg = "dist/axios.min.js";
34809
35097
  var version$1 = "0.21.1";
34810
35098
  var _package = {
35099
+ _args: _args,
34811
35100
  _from: _from,
34812
35101
  _id: _id,
34813
35102
  _inBundle: _inBundle,
@@ -34817,16 +35106,13 @@
34817
35106
  _requested: _requested,
34818
35107
  _requiredBy: _requiredBy,
34819
35108
  _resolved: _resolved,
34820
- _shasum: _shasum,
34821
35109
  _spec: _spec,
34822
35110
  _where: _where,
34823
35111
  author: author,
34824
35112
  browser: browser,
34825
35113
  bugs: bugs,
34826
- bundleDependencies: bundleDependencies,
34827
35114
  bundlesize: bundlesize,
34828
35115
  dependencies: dependencies,
34829
- deprecated: deprecated,
34830
35116
  description: description,
34831
35117
  devDependencies: devDependencies,
34832
35118
  homepage: homepage,
@@ -34844,6 +35130,7 @@
34844
35130
 
34845
35131
  var _package$1 = /*#__PURE__*/Object.freeze({
34846
35132
  __proto__: null,
35133
+ _args: _args,
34847
35134
  _from: _from,
34848
35135
  _id: _id,
34849
35136
  _inBundle: _inBundle,
@@ -34853,16 +35140,13 @@
34853
35140
  _requested: _requested,
34854
35141
  _requiredBy: _requiredBy,
34855
35142
  _resolved: _resolved,
34856
- _shasum: _shasum,
34857
35143
  _spec: _spec,
34858
35144
  _where: _where,
34859
35145
  author: author,
34860
35146
  browser: browser,
34861
35147
  bugs: bugs,
34862
- bundleDependencies: bundleDependencies,
34863
35148
  bundlesize: bundlesize,
34864
35149
  dependencies: dependencies,
34865
- deprecated: deprecated,
34866
35150
  description: description,
34867
35151
  devDependencies: devDependencies,
34868
35152
  homepage: homepage,
@@ -35676,21 +35960,24 @@
35676
35960
 
35677
35961
  var axios = axios_1;
35678
35962
 
35679
- var CONT = (() => {
35963
+ var CONFIG = (() => {
35680
35964
  const Byte = 1;
35681
35965
  const KB = 1024 * Byte;
35682
35966
  const MB = 1024 * KB;
35683
35967
  const device = checkPlatform();
35684
35968
  return {
35685
- MINI_APP_LINK: "https://zalo.me/app/link/zapps",
35686
- MINI_APP_INTERNAL_LINK: "https://h5.zdn.vn/zapps",
35969
+ MINI_APP_LINK: 'https://zalo.me/app/link/zapps',
35970
+ MINI_APP_INTERNAL_LINK: 'https://h5.zdn.vn/zapps',
35687
35971
  COOKIE_NAME: {
35688
35972
  ZOAUTH: `h5.zdn.vn_zoauth`,
35689
35973
  ZACC_SESSiON: `h5.zdn.vn_zacc_session`,
35690
- JS_TOKEN: `h5.zdn.vn_zlink3rd`
35974
+ JS_TOKEN: `h5.zdn.vn_zlink3rd`,
35975
+ ZOAUTH_VRF: `h5.zdn.vn_zoauth_vrf`
35691
35976
  },
35692
35977
  APIS: {
35693
- GET_USER_INFO: 'https://graph.zalo.me/v2.0/me'
35978
+ GET_USER_INFO: 'https://graph.zalo.me/v2.0/me',
35979
+ GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
35980
+ GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token'
35694
35981
  },
35695
35982
  STORAGE_DATA_LIMIT: 100 * KB,
35696
35983
  STORAGE_LIMIT: 5 * MB,
@@ -36137,6 +36424,7 @@
36137
36424
  this.message = MESSAGES.NOT_PERMISSION;
36138
36425
  break;
36139
36426
  case NativeCode.client_not_support:
36427
+ this.code = RESPONSE_CODE.CLIENT_NOT_SUPPORT;
36140
36428
  this.message = MESSAGES.CLIENT_NOT_SUPPORT;
36141
36429
  break;
36142
36430
  case NativeCode.decode_failed:
@@ -36175,6 +36463,16 @@
36175
36463
  }
36176
36464
  }
36177
36465
  catch (error) {
36466
+ if ((error === null || error === void 0 ? void 0 : error.code) === RESPONSE_CODE.UNAUTHORIZED ||
36467
+ (error === null || error === void 0 ? void 0 : error.code) === RESPONSE_CODE.FORBIDDEN) {
36468
+ let loggedIn = false;
36469
+ if (this instanceof SDKCreator) {
36470
+ loggedIn = this.getLoginStatus();
36471
+ }
36472
+ if (!loggedIn) {
36473
+ error = new CommonError(RESPONSE_CODE.UNAUTHORIZED, MESSAGES.LOGIN_REQUIRED);
36474
+ }
36475
+ }
36178
36476
  const { handler } = catchDecoratorStore;
36179
36477
  const errorParsed = handler.call(null, propertyName, error, this);
36180
36478
  window.zmpSentry && window.zmpSentry.throwError(errorParsed.toString());
@@ -36197,6 +36495,16 @@
36197
36495
  return fn.apply(this, args);
36198
36496
  }
36199
36497
  catch (error) {
36498
+ if ((error === null || error === void 0 ? void 0 : error.code) === RESPONSE_CODE.UNAUTHORIZED ||
36499
+ (error === null || error === void 0 ? void 0 : error.code) === RESPONSE_CODE.FORBIDDEN) {
36500
+ let loggedIn = false;
36501
+ if (this instanceof SDKCreator) {
36502
+ loggedIn = this.getLoginStatus();
36503
+ }
36504
+ if (!loggedIn) {
36505
+ error = new CommonError(RESPONSE_CODE.UNAUTHORIZED, MESSAGES.LOGIN_REQUIRED);
36506
+ }
36507
+ }
36200
36508
  const { handler } = catchDecoratorStore;
36201
36509
  if (!lodash.isNull(handler) && lodash.isFunction(handler)) {
36202
36510
  handler.call(null, key, error, this);
@@ -36225,32 +36533,45 @@
36225
36533
  }
36226
36534
  callNative(action, data, option) {
36227
36535
  return new Promise((resolve, reject) => {
36228
- const fn = (cb) => {
36229
- if (cb && cb.error_code >= 0 && cb.action == action) {
36230
- resolve(cb.data || {});
36231
- if (option === null || option === void 0 ? void 0 : option.callback) {
36232
- option.callback(cb, null);
36233
- }
36234
- }
36235
- else if (cb && cb.error_code < 0) {
36536
+ const fn = (cb) => __awaiter(this, void 0, void 0, function* () {
36537
+ try {
36236
36538
  const error = new NativeError(cb.error_code, `${cb.action}: ${cb.error_message}`);
36237
- try {
36238
- window.zmpSentry &&
36239
- window.zmpSentry.captureMessage(`${action}: call native fail`, {
36240
- extra: {
36241
- data: data,
36242
- rs: cb
36243
- }
36244
- });
36245
- }
36246
- catch (error) { }
36247
- reject(error);
36248
36539
  if (option === null || option === void 0 ? void 0 : option.callback) {
36249
- option.callback(cb, error);
36540
+ const res = yield option.callback(cb, error);
36541
+ return resolve(res);
36542
+ }
36543
+ else {
36544
+ if (cb && cb.error_code >= 0) {
36545
+ resolve(cb.data || {});
36546
+ }
36547
+ else if (cb && cb.error_code < 0) {
36548
+ try {
36549
+ window.zmpSentry &&
36550
+ window.zmpSentry.captureMessage(`${action}: call native fail`, {
36551
+ extra: {
36552
+ data: data,
36553
+ rs: cb
36554
+ }
36555
+ });
36556
+ }
36557
+ catch (error) { }
36558
+ return reject(error);
36559
+ }
36250
36560
  }
36251
36561
  }
36252
- };
36253
- __classPrivateFieldGet(this, _ZJSBridgeProvider_bridge).jsCall(action, data, fn, option === null || option === void 0 ? void 0 : option.isMultiCallback, option === null || option === void 0 ? void 0 : option.nRetry, option === null || option === void 0 ? void 0 : option.haveTimeout);
36562
+ catch (error) {
36563
+ return reject(error);
36564
+ }
36565
+ });
36566
+ const isIOS = checkPlatform().isIOS;
36567
+ const isSupportAction = checkIOSSupportAction(action);
36568
+ if (isIOS && !isSupportAction) {
36569
+ const error = new NativeError(-5, `${action}: Client isn't support this action`);
36570
+ return reject(error);
36571
+ }
36572
+ else {
36573
+ __classPrivateFieldGet(this, _ZJSBridgeProvider_bridge).jsCall(action, data, fn, option === null || option === void 0 ? void 0 : option.isMultiCallback, option === null || option === void 0 ? void 0 : option.nRetry, option === null || option === void 0 ? void 0 : option.haveTimeout);
36574
+ }
36254
36575
  });
36255
36576
  }
36256
36577
  }
@@ -36258,8 +36579,9 @@
36258
36579
 
36259
36580
  const apiResponse = {
36260
36581
  error: {
36261
- loginFailed: () => new CommonError(RESPONSE_CODE.UNAUTHORIZED, MESSAGES.LOGIN_FAILED),
36262
- loginRequired: () => new CommonError(RESPONSE_CODE.BAD_REQUEST, MESSAGES.LOGIN_REQUIRED),
36582
+ badRequest: (message) => new CommonError(RESPONSE_CODE.BAD_REQUEST, message),
36583
+ loginFailed: () => new CommonError(RESPONSE_CODE.BAD_REQUEST, MESSAGES.LOGIN_FAILED),
36584
+ loginRequired: () => new CommonError(RESPONSE_CODE.UNAUTHORIZED, MESSAGES.LOGIN_REQUIRED),
36263
36585
  missingParam: (params) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Missing required argument: ${params}`),
36264
36586
  wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
36265
36587
  cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
@@ -36267,7 +36589,7 @@
36267
36589
  }
36268
36590
  };
36269
36591
 
36270
- var version = "2.15.0-1";
36592
+ var version = "2.15.0-rc.4";
36271
36593
 
36272
36594
  class Basics {
36273
36595
  /**
@@ -36372,7 +36694,7 @@
36372
36694
  */
36373
36695
  static setNavigationBarTitle(object) {
36374
36696
  return __awaiter(this, void 0, void 0, function* () {
36375
- yield this.callNative(ACTION.CHANGE_TITLE_HEADER, {
36697
+ yield this.callNative(ACTION.CHANGE_TITLE_HEADER.name, {
36376
36698
  title: object.title
36377
36699
  }, {
36378
36700
  haveTimeout: false
@@ -36414,7 +36736,7 @@
36414
36736
  // if (!_.isEmpty(object.textColor)) {
36415
36737
  // dataConfig.textColor = object.textColor;
36416
36738
  // }
36417
- // await this.callNative(ACTION.CHANGE_ACTIONBAR, {
36739
+ // await this.callNative(ACTION.CHANGE_ACTIONBAR.name, {
36418
36740
  // actionbarType: 5,
36419
36741
  // dataConfig: dataConfig,
36420
36742
  // homeConfig: {
@@ -36434,7 +36756,7 @@
36434
36756
  // if (!_.isEmpty(object.textColor)) {
36435
36757
  // dataConfig.textColor = object.textColor;
36436
36758
  // }
36437
- // await this.callNative(ACTION.CHANGE_ACTIONBAR_COLOR, dataConfig);
36759
+ // await this.callNative(ACTION.CHANGE_ACTIONBAR_COLOR.name, dataConfig);
36438
36760
  // }
36439
36761
  const dataConfig = {};
36440
36762
  if (!lodash.isEmpty(object.color)) {
@@ -36443,12 +36765,12 @@
36443
36765
  if (!lodash.isEmpty(object.textColor)) {
36444
36766
  dataConfig.textColor = object.textColor;
36445
36767
  }
36446
- yield this.callNative(ACTION.CHANGE_ACTIONBAR, {
36768
+ yield this.callNative(ACTION.CHANGE_ACTIONBAR.name, {
36447
36769
  actionbarType: 5,
36448
36770
  dataConfig: dataConfig,
36449
36771
  homeConfig: {
36450
36772
  enable: this.isShowHomeButton ? 1 : 0,
36451
- url: `${CONT.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36773
+ url: `${CONFIG.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36452
36774
  }
36453
36775
  }, {
36454
36776
  haveTimeout: false
@@ -36463,7 +36785,7 @@
36463
36785
  if (!lodash.isEmpty(object.textColor)) {
36464
36786
  dataConfig.textColor = object.textColor;
36465
36787
  }
36466
- yield this.callNative(ACTION.CHANGE_ACTIONBAR, {
36788
+ yield this.callNative(ACTION.CHANGE_ACTIONBAR.name, {
36467
36789
  actionbarType: 6,
36468
36790
  dataConfig: dataConfig
36469
36791
  }, {
@@ -36516,7 +36838,7 @@
36516
36838
  },
36517
36839
  homeConfig: {
36518
36840
  enable: 0,
36519
- url: `${CONT.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36841
+ url: `${CONFIG.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36520
36842
  }
36521
36843
  };
36522
36844
  break;
@@ -36529,7 +36851,7 @@
36529
36851
  },
36530
36852
  homeConfig: {
36531
36853
  enable: 0,
36532
- url: `${CONT.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36854
+ url: `${CONFIG.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36533
36855
  }
36534
36856
  };
36535
36857
  break;
@@ -36542,7 +36864,7 @@
36542
36864
  },
36543
36865
  homeConfig: {
36544
36866
  enable: 1,
36545
- url: `${CONT.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36867
+ url: `${CONFIG.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36546
36868
  }
36547
36869
  };
36548
36870
  break;
@@ -36555,12 +36877,12 @@
36555
36877
  },
36556
36878
  homeConfig: {
36557
36879
  enable: 1,
36558
- url: `${CONT.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36880
+ url: `${CONFIG.MINI_APP_INTERNAL_LINK}/${this.getAppId()}/`
36559
36881
  }
36560
36882
  };
36561
36883
  break;
36562
36884
  }
36563
- yield this.callNative(ACTION.CHANGE_ACTIONBAR_LEFTBUTTON_TYPE, Object.assign({}, reqData), {
36885
+ yield this.callNative(ACTION.CHANGE_ACTIONBAR_LEFTBUTTON_TYPE.name, Object.assign({}, reqData), {
36564
36886
  haveTimeout: false
36565
36887
  });
36566
36888
  });
@@ -36602,7 +36924,7 @@
36602
36924
  */
36603
36925
  static setNavigationBarRightButton(object) {
36604
36926
  return __awaiter(this, void 0, void 0, function* () {
36605
- yield this.callNative(ACTION.CREATE_OPTIONS_MENU, {
36927
+ yield this.callNative(ACTION.CREATE_OPTIONS_MENU.name, {
36606
36928
  supportToolBar: object.supportToolBar,
36607
36929
  reset: object.reset,
36608
36930
  menuListItems: object.menuListItems,
@@ -36638,7 +36960,7 @@
36638
36960
  return __awaiter(this, void 0, void 0, function* () {
36639
36961
  if (lodash.isString(object.backgroundColor) &&
36640
36962
  object.backgroundColor.length > 0) {
36641
- yield this.callNative(ACTION.CHANGE_ACTIONBAR, {
36963
+ yield this.callNative(ACTION.CHANGE_ACTIONBAR.name, {
36642
36964
  actionbarType: this.isShowNavBar ? 5 : 6,
36643
36965
  dataConfig: {
36644
36966
  backgroundColor: object.backgroundColor,
@@ -36750,7 +37072,7 @@
36750
37072
  */
36751
37073
  static setDeviceOrientation(object) {
36752
37074
  return __awaiter(this, void 0, void 0, function* () {
36753
- yield this.callNative(ACTION.CHANGE_AUTOROTATE, {
37075
+ yield this.callNative(ACTION.CHANGE_AUTOROTATE.name, {
36754
37076
  autoRotate: OrientationType[object.rotate]
36755
37077
  });
36756
37078
  });
@@ -36774,26 +37096,26 @@
36774
37096
  */
36775
37097
  static getNetworkType(object) {
36776
37098
  return __awaiter(this, void 0, void 0, function* () {
36777
- const resData = yield this.callNative(ACTION.WEBVIEW_NETWORKTYPE, {
37099
+ const resData = yield this.callNative(ACTION.WEBVIEW_NETWORKTYPE.name, {
36778
37100
  url: window.location.href,
36779
37101
  featureId: ''
36780
37102
  }).then((data) => {
36781
37103
  const network = data.network;
36782
37104
  let networkType;
36783
37105
  switch (network) {
36784
- case CONT.NETWORK_TYPE.NONE:
37106
+ case CONFIG.NETWORK_TYPE.NONE:
36785
37107
  networkType = NetworkType.none;
36786
37108
  break;
36787
- case CONT.NETWORK_TYPE.WIFI:
37109
+ case CONFIG.NETWORK_TYPE.WIFI:
36788
37110
  networkType = NetworkType.wifi;
36789
37111
  break;
36790
- case CONT.NETWORK_TYPE['2G']:
37112
+ case CONFIG.NETWORK_TYPE['2G']:
36791
37113
  networkType = NetworkType.cellular;
36792
37114
  break;
36793
- case CONT.NETWORK_TYPE['3G']:
37115
+ case CONFIG.NETWORK_TYPE['3G']:
36794
37116
  networkType = NetworkType.cellular;
36795
37117
  break;
36796
- case CONT.NETWORK_TYPE['4G']:
37118
+ case CONFIG.NETWORK_TYPE['4G']:
36797
37119
  networkType = NetworkType.cellular;
36798
37120
  break;
36799
37121
  default:
@@ -36887,7 +37209,7 @@
36887
37209
  items: Array.isArray(object === null || object === void 0 ? void 0 : object.items) ? object === null || object === void 0 ? void 0 : object.items : []
36888
37210
  }
36889
37211
  };
36890
- yield this.callNative(ACTION.SCAN_IBEACON, Object.assign({}, data));
37212
+ yield this.callNative(ACTION.SCAN_IBEACON.name, Object.assign({}, data));
36891
37213
  return true;
36892
37214
  });
36893
37215
  }
@@ -36906,7 +37228,7 @@
36906
37228
  const data = {
36907
37229
  subaction: 2
36908
37230
  };
36909
- yield this.callNative(ACTION.SCAN_IBEACON, Object.assign({}, data));
37231
+ yield this.callNative(ACTION.SCAN_IBEACON.name, Object.assign({}, data));
36910
37232
  return true;
36911
37233
  });
36912
37234
  }
@@ -36927,7 +37249,7 @@
36927
37249
  const data = {
36928
37250
  subaction: 1
36929
37251
  };
36930
- const resData = yield this.callNative(ACTION.SCAN_IBEACON, Object.assign({}, data), {
37252
+ const resData = yield this.callNative(ACTION.SCAN_IBEACON.name, Object.assign({}, data), {
36931
37253
  isMultiCallback: true
36932
37254
  }).then((resData) => {
36933
37255
  const res = {
@@ -37149,7 +37471,7 @@
37149
37471
  */
37150
37472
  static scanQRCode(object) {
37151
37473
  return __awaiter(this, void 0, void 0, function* () {
37152
- return yield this.callNative(ACTION.OPEN_QR, {
37474
+ return yield this.callNative(ACTION.OPEN_QR.name, {
37153
37475
  skipOpenLink: true
37154
37476
  });
37155
37477
  });
@@ -37163,7 +37485,7 @@
37163
37485
  */
37164
37486
  static showToast(object) {
37165
37487
  return __awaiter(this, void 0, void 0, function* () {
37166
- yield this.callNative(ACTION.SHOW_TOAST, {
37488
+ yield this.callNative(ACTION.SHOW_TOAST.name, {
37167
37489
  toast: object.message
37168
37490
  });
37169
37491
  });
@@ -37177,7 +37499,7 @@
37177
37499
  */
37178
37500
  static hideKeyboard(object) {
37179
37501
  return __awaiter(this, void 0, void 0, function* () {
37180
- yield this.callNative(ACTION.HIDE_KEYBOARD, {});
37502
+ yield this.callNative(ACTION.HIDE_KEYBOARD.name, {});
37181
37503
  });
37182
37504
  }
37183
37505
  /**
@@ -37189,7 +37511,7 @@
37189
37511
  */
37190
37512
  static openPhone(object) {
37191
37513
  return __awaiter(this, void 0, void 0, function* () {
37192
- yield this.callNative(ACTION.OPEN_PHONE, {
37514
+ yield this.callNative(ACTION.OPEN_PHONE.name, {
37193
37515
  phoneNum: object.phoneNumber,
37194
37516
  phoneCode: object.phoneNumber
37195
37517
  });
@@ -37204,7 +37526,7 @@
37204
37526
  */
37205
37527
  static openSMS(object) {
37206
37528
  return __awaiter(this, void 0, void 0, function* () {
37207
- yield this.callNative(ACTION.OPEN_SMS, {
37529
+ yield this.callNative(ACTION.OPEN_SMS.name, {
37208
37530
  content: object.content,
37209
37531
  phoneCode: object.phoneNumber
37210
37532
  });
@@ -37219,7 +37541,7 @@
37219
37541
  */
37220
37542
  static keepScreen(object) {
37221
37543
  return __awaiter(this, void 0, void 0, function* () {
37222
- return yield this.callNative(ACTION.KEEP_SCREEN, {
37544
+ return yield this.callNative(ACTION.KEEP_SCREEN.name, {
37223
37545
  data: {
37224
37546
  keep_screen_on: object.keepScreenOn ? 1 : 0
37225
37547
  }
@@ -37235,7 +37557,7 @@
37235
37557
  */
37236
37558
  static openBioAuthentication(object) {
37237
37559
  return __awaiter(this, void 0, void 0, function* () {
37238
- return yield this.callNative(ACTION.PROMPT_AUTHENTICATION, {
37560
+ return yield this.callNative(ACTION.PROMPT_AUTHENTICATION.name, {
37239
37561
  secret_data: object.secretData,
37240
37562
  app_id: this.getZAppId(),
37241
37563
  ui: {
@@ -37274,7 +37596,7 @@
37274
37596
  */
37275
37597
  static checkStateBioAuthentication(object) {
37276
37598
  return __awaiter(this, void 0, void 0, function* () {
37277
- return yield this.callNative(ACTION.PROMPT_AUTHENTICATION_CHECK_STATE, {}).then((data) => {
37599
+ return yield this.callNative(ACTION.PROMPT_AUTHENTICATION_CHECK_STATE.name, {}).then((data) => {
37278
37600
  return {
37279
37601
  bioState: data === null || data === void 0 ? void 0 : data.bio_state
37280
37602
  };
@@ -37290,7 +37612,7 @@
37290
37612
  */
37291
37613
  static vibrate(object) {
37292
37614
  return __awaiter(this, void 0, void 0, function* () {
37293
- return yield this.callNative(ACTION.INTERACTIVE_VIBRATION, {
37615
+ return yield this.callNative(ACTION.INTERACTIVE_VIBRATION.name, {
37294
37616
  type: VibrateType[object.type],
37295
37617
  vibrate_time: object.milliseconds
37296
37618
  });
@@ -37316,7 +37638,7 @@
37316
37638
  __classPrivateFieldSet(this, _LocalResourceStorage_resourceInfo, {
37317
37639
  keys: new Set(),
37318
37640
  currentSize: 0,
37319
- limitSize: CONT.STORAGE_LIMIT
37641
+ limitSize: CONFIG.STORAGE_LIMIT
37320
37642
  });
37321
37643
  __classPrivateFieldSet(this, _LocalResourceStorage_prefix, prefix);
37322
37644
  this.findAllCurrentDataByApp(prefix);
@@ -37379,7 +37701,7 @@
37379
37701
  currentSize: lodash.isNumber(currentSize)
37380
37702
  ? Number((currentSize / 1024).toFixed(2))
37381
37703
  : 0,
37382
- limitSize: Number((CONT.STORAGE_LIMIT / 1024).toFixed(2))
37704
+ limitSize: Number((CONFIG.STORAGE_LIMIT / 1024).toFixed(2))
37383
37705
  };
37384
37706
  }
37385
37707
  remove(keys) {
@@ -37425,13 +37747,13 @@
37425
37747
  __classPrivateFieldSet(this, _NativeResourceStorage_resourceInfo, {
37426
37748
  keys: new Set(),
37427
37749
  currentSize: 0,
37428
- limitSize: CONT.STORAGE_LIMIT
37750
+ limitSize: CONFIG.STORAGE_LIMIT
37429
37751
  });
37430
37752
  __classPrivateFieldSet(this, _NativeResourceStorage_appId, appId);
37431
37753
  }
37432
37754
  get(keys) {
37433
37755
  return __awaiter(this, void 0, void 0, function* () {
37434
- return yield this.callNative(ACTION.ZBROWSER_MPDS, {
37756
+ return yield this.callNative(ACTION.ZBROWSER_MPDS.name, {
37435
37757
  mpds_action: 'mpds.get',
37436
37758
  mpds_data: {
37437
37759
  keys
@@ -37450,7 +37772,7 @@
37450
37772
  }
37451
37773
  set(data) {
37452
37774
  return __awaiter(this, void 0, void 0, function* () {
37453
- const errorKeys = yield this.callNative(ACTION.ZBROWSER_MPDS, {
37775
+ const errorKeys = yield this.callNative(ACTION.ZBROWSER_MPDS.name, {
37454
37776
  mpds_action: 'mpds.set',
37455
37777
  mpds_data: {
37456
37778
  map: data
@@ -37470,7 +37792,7 @@
37470
37792
  }
37471
37793
  getInfo() {
37472
37794
  return __awaiter(this, void 0, void 0, function* () {
37473
- const currentSize = yield this.callNative(ACTION.ZBROWSER_MPDS, {
37795
+ const currentSize = yield this.callNative(ACTION.ZBROWSER_MPDS.name, {
37474
37796
  mpds_action: 'mpds.get.size',
37475
37797
  mpds_data: {},
37476
37798
  appId: __classPrivateFieldGet(this, _NativeResourceStorage_appId)
@@ -37485,13 +37807,13 @@
37485
37807
  });
37486
37808
  return {
37487
37809
  currentSize: lodash.isNumber(currentSize) ? Number(currentSize / 1024) : 0,
37488
- limitSize: Number(CONT.STORAGE_LIMIT / 1024)
37810
+ limitSize: Number(CONFIG.STORAGE_LIMIT / 1024)
37489
37811
  };
37490
37812
  });
37491
37813
  }
37492
37814
  remove(keys) {
37493
37815
  return __awaiter(this, void 0, void 0, function* () {
37494
- const errorKeys = yield this.callNative(ACTION.ZBROWSER_MPDS, {
37816
+ const errorKeys = yield this.callNative(ACTION.ZBROWSER_MPDS.name, {
37495
37817
  mpds_action: 'mpds.remove.key',
37496
37818
  mpds_data: {
37497
37819
  keys: keys
@@ -37511,7 +37833,7 @@
37511
37833
  }
37512
37834
  clear() {
37513
37835
  return __awaiter(this, void 0, void 0, function* () {
37514
- yield this.callNative(ACTION.ZBROWSER_MPDS, {
37836
+ yield this.callNative(ACTION.ZBROWSER_MPDS.name, {
37515
37837
  mpds_action: 'mpds.clear.appData',
37516
37838
  mpds_data: {},
37517
37839
  appId: __classPrivateFieldGet(this, _NativeResourceStorage_appId)
@@ -37741,7 +38063,7 @@
37741
38063
  fields = `${fields}.type(${object === null || object === void 0 ? void 0 : object.avatarType})`;
37742
38064
  }
37743
38065
  const userInfo = yield axios
37744
- .get(CONT.APIS.GET_USER_INFO, {
38066
+ .get(CONFIG.APIS.GET_USER_INFO, {
37745
38067
  params: {
37746
38068
  fields: fields,
37747
38069
  access_token: accessToken
@@ -37773,17 +38095,18 @@
37773
38095
  *
37774
38096
  */
37775
38097
  static getPhoneNumber(object) {
37776
- return new Promise((resolve, reject) => {
37777
- this.callNative(ACTION.MP_GET_NUMBER, {}, {
38098
+ return __awaiter(this, void 0, void 0, function* () {
38099
+ return yield this.callNative(ACTION.MP_GET_NUMBER.name, {}, {
37778
38100
  isMultiCallback: true,
37779
38101
  callback: (nativeData, error) => {
37780
- if (error)
37781
- reject(error);
37782
38102
  if (nativeData.error_code === 0) {
37783
38103
  const res = {
37784
38104
  number: nativeData.data
37785
38105
  };
37786
- resolve(res);
38106
+ return Promise.resolve(res);
38107
+ }
38108
+ else {
38109
+ return Promise.reject(error);
37787
38110
  }
37788
38111
  }
37789
38112
  });
@@ -37802,7 +38125,7 @@
37802
38125
  */
37803
38126
  static closeApp(object) {
37804
38127
  return __awaiter(this, void 0, void 0, function* () {
37805
- yield this.callNative(ACTION.WINDOW_CLOSE, {});
38128
+ yield this.callNative(ACTION.WINDOW_CLOSE.name, {});
37806
38129
  });
37807
38130
  }
37808
38131
  /**
@@ -37822,8 +38145,8 @@
37822
38145
  return [key, value].join('=');
37823
38146
  })
37824
38147
  .join('&');
37825
- yield this.callNative(ACTION.OPEN_MP, {
37826
- mpUrl: `${CONT.MINI_APP_INTERNAL_LINK}/${appId}/${queryParamString.length > 0 ? '?' + queryParamString : ''}`,
38148
+ yield this.callNative(ACTION.OPEN_MP.name, {
38149
+ mpUrl: `${CONFIG.MINI_APP_INTERNAL_LINK}/${appId}/${queryParamString.length > 0 ? '?' + queryParamString : ''}`,
37827
38150
  mpInfo: {
37828
38151
  appId: appId
37829
38152
  }
@@ -37840,7 +38163,7 @@
37840
38163
  */
37841
38164
  static openWebview(object) {
37842
38165
  return __awaiter(this, void 0, void 0, function* () {
37843
- yield this.callNative(ACTION.OPEN_INAPP, {
38166
+ yield this.callNative(ACTION.OPEN_INAPP.name, {
37844
38167
  url: object.url
37845
38168
  });
37846
38169
  });
@@ -37864,16 +38187,14 @@
37864
38187
  *
37865
38188
  */
37866
38189
  static getLocation(object) {
37867
- return new Promise((resolve, reject) => {
37868
- this.callNative(ACTION.GET_LOCATION, {
38190
+ return __awaiter(this, void 0, void 0, function* () {
38191
+ return yield this.callNative(ACTION.GET_LOCATION.name, {
37869
38192
  silent_request: false,
37870
38193
  permission_description: 'Cho phép Zalo truy cập vào vị trí của thiết bị này?'
37871
38194
  }, {
37872
38195
  isMultiCallback: true,
37873
38196
  haveTimeout: false,
37874
38197
  callback: (nativeData, error) => {
37875
- if (error)
37876
- reject(error);
37877
38198
  if (nativeData.error_code === 0) {
37878
38199
  const data = nativeData.data;
37879
38200
  const res = {
@@ -37886,7 +38207,10 @@
37886
38207
  /** provider */
37887
38208
  provider: data.provider
37888
38209
  };
37889
- resolve(res);
38210
+ return Promise.resolve(res);
38211
+ }
38212
+ else {
38213
+ return Promise.reject(error);
37890
38214
  }
37891
38215
  }
37892
38216
  });
@@ -37902,7 +38226,7 @@
37902
38226
  */
37903
38227
  static sendLocation(object) {
37904
38228
  return __awaiter(this, void 0, void 0, function* () {
37905
- yield this.callNative(ACTION.QUERY_LOCATION_HIDE, {
38229
+ yield this.callNative(ACTION.QUERY_LOCATION_HIDE.name, {
37906
38230
  title: object.title,
37907
38231
  touserid: object.toUserId,
37908
38232
  zapp: this.getZAppId()
@@ -37921,17 +38245,17 @@
37921
38245
  *
37922
38246
  */
37923
38247
  static requestCameraPermission(object) {
37924
- return new Promise((resolve, reject) => {
37925
- this.callNative(ACTION.REQUEST_PERMISSION_CAMERA, {}, {
38248
+ return __awaiter(this, void 0, void 0, function* () {
38249
+ return yield this.callNative(ACTION.REQUEST_PERMISSION_CAMERA.name, {}, {
37926
38250
  callback: (nativeData, error) => {
37927
38251
  if (nativeData.error_code === -2 || nativeData.error_code >= 0) {
37928
- resolve({
38252
+ return Promise.resolve({
37929
38253
  userAllow: nativeData.error_code === -2 ? false : true,
37930
38254
  message: nativeData.error_message
37931
38255
  });
37932
38256
  }
37933
38257
  else {
37934
- reject(error);
38258
+ return Promise.reject(error);
37935
38259
  }
37936
38260
  }
37937
38261
  });
@@ -37954,7 +38278,7 @@
37954
38278
  else {
37955
38279
  data = Object.assign(Object.assign({}, data), { imageUrl: object.imageUrl });
37956
38280
  }
37957
- return yield this.callNative(ACTION.WEBVIEW_SAVE_IMAGE_GALLERY, Object.assign({}, data));
38281
+ return yield this.callNative(ACTION.SAVE_IMAGE_GALLERY.name, Object.assign({}, data));
37958
38282
  });
37959
38283
  }
37960
38284
  }
@@ -37969,7 +38293,7 @@
37969
38293
  */
37970
38294
  static viewOAQr(object) {
37971
38295
  return __awaiter(this, void 0, void 0, function* () {
37972
- yield this.callNative(ACTION.VIEW_MYQR, {
38296
+ yield this.callNative(ACTION.VIEW_MYQR.name, {
37973
38297
  dpn: object.displayName,
37974
38298
  uid: object.id,
37975
38299
  zapp: this.getZAppId()
@@ -37988,7 +38312,7 @@
37988
38312
  */
37989
38313
  static openProfile(object) {
37990
38314
  return __awaiter(this, void 0, void 0, function* () {
37991
- return yield this.callNative(ACTION.OPEN_PROFILE, {
38315
+ return yield this.callNative(ACTION.OPEN_PROFILE.name, {
37992
38316
  uId: object.id,
37993
38317
  type: ProfileType[object.type],
37994
38318
  zapp: this.getZAppId(),
@@ -38006,7 +38330,7 @@
38006
38330
  */
38007
38331
  static openChat(object) {
38008
38332
  return __awaiter(this, void 0, void 0, function* () {
38009
- return yield this.callNative(ACTION.OPEN_CHAT, {
38333
+ return yield this.callNative(ACTION.OPEN_CHAT.name, {
38010
38334
  uId: object.id,
38011
38335
  type: ChatType[object.type],
38012
38336
  zapp: this.getZAppId(),
@@ -38047,7 +38371,7 @@
38047
38371
  };
38048
38372
  break;
38049
38373
  }
38050
- return yield this.callNative(ACTION.OPEN_POSTFEED, Object.assign(Object.assign({ type: PostFeedType[object.type] }, reqData), { zapp: this.getZAppId() })).then((res) => {
38374
+ return yield this.callNative(ACTION.OPEN_POSTFEED.name, Object.assign(Object.assign({ type: PostFeedType[object.type] }, reqData), { zapp: this.getZAppId() })).then((res) => {
38051
38375
  return {
38052
38376
  status: res.status,
38053
38377
  shareType: res.share_type,
@@ -38066,7 +38390,7 @@
38066
38390
  */
38067
38391
  static followOA(object) {
38068
38392
  return __awaiter(this, void 0, void 0, function* () {
38069
- yield this.callNative(ACTION.FOLLOW_OA, {
38393
+ yield this.callNative(ACTION.FOLLOW_OA.name, {
38070
38394
  uid: object.id,
38071
38395
  showDialogConfirm: true,
38072
38396
  zapp: this.getZAppId()
@@ -38085,7 +38409,7 @@
38085
38409
  */
38086
38410
  static unfollowOA(object) {
38087
38411
  return __awaiter(this, void 0, void 0, function* () {
38088
- yield this.callNative(ACTION.UNFOLLOW_OA, {
38412
+ yield this.callNative(ACTION.UNFOLLOW_OA.name, {
38089
38413
  uid: object.id,
38090
38414
  zapp: this.getZAppId()
38091
38415
  }, {
@@ -38140,10 +38464,26 @@
38140
38464
  case 'zmp':
38141
38465
  const currentUrl = new URL(location.href);
38142
38466
  const params = new URLSearchParams();
38467
+ const description = {
38468
+ vi: '',
38469
+ en: ''
38470
+ };
38471
+ let path = `${currentUrl.pathname}${currentUrl.search}`;
38472
+ if (object.data.path) {
38473
+ path = `/zapps/${this.getAppId()}${object.data.path[0] === '/' ? '' : '/'}${object.data.path}`;
38474
+ }
38475
+ const validUrl = new URL(`https://zalo.me/app/link${path}`);
38476
+ if (lodash.isString(object.data.description)) {
38477
+ description.en = description.vi = object.data.description;
38478
+ }
38479
+ else if (lodash.isObject(object.data.description)) {
38480
+ description.en = object.data.description.en || '';
38481
+ description.vi = object.data.description.vi || '';
38482
+ }
38143
38483
  params.append('title', object.data.title);
38144
- params.append('description', object.data.description);
38484
+ params.append('description', description.vi || description.en);
38145
38485
  params.append('thumbnail', object.data.thumbnail);
38146
- params.append('url', `https://zalo.me/app/link${currentUrl.pathname}${currentUrl.search}`);
38486
+ params.append('url', validUrl.href);
38147
38487
  const config = {
38148
38488
  headers: {
38149
38489
  'Content-Type': 'application/x-www-form-urlencoded'
@@ -38154,13 +38494,35 @@
38154
38494
  if (!resData || resData.err !== 0) {
38155
38495
  throw apiResponse.error.cannotGetShareInfo();
38156
38496
  }
38157
- object.type = 'link';
38158
- reqData = {
38159
- link: resData.data.shareUrl,
38160
- chatOnly: object.data.chatOnly ? 1 : 0
38161
- };
38497
+ const zaloVersion = getZaloVersion();
38498
+ const platform = checkPlatform();
38499
+ if ((platform.isAndroid && zaloVersion % 100000 <= 593) ||
38500
+ (platform.isIOS && zaloVersion <= 424)) {
38501
+ reqData = {
38502
+ link: `${resData.data.shareUrl}`,
38503
+ chatOnly: object.data.chatOnly ? 1 : 0
38504
+ };
38505
+ object.type = 'link';
38506
+ }
38507
+ else {
38508
+ reqData = {
38509
+ data: {
38510
+ ZInstantAPIInfo: {
38511
+ url: `${resData.data.zinstantApi}`,
38512
+ zinstantdata_id: `templateId=11412&appId=${this.getAppId()}&shareId=${resData.data.shareId}`
38513
+ },
38514
+ previewMsgText: {
38515
+ msg: {
38516
+ en: description.en,
38517
+ vi: description.vi
38518
+ }
38519
+ },
38520
+ enableReactions: 1
38521
+ }
38522
+ };
38523
+ }
38162
38524
  }
38163
- return yield this.callNative(ACTION.OPEN_SHARESHEET, Object.assign(Object.assign({ type: ShareSheetType[object.type] }, reqData), { zapp: this.getZAppId() }), {
38525
+ return yield this.callNative(ACTION.OPEN_SHARESHEET.name, Object.assign(Object.assign({ type: ShareSheetType[object.type] }, reqData), { zapp: this.getZAppId() }), {
38164
38526
  haveTimeout: false
38165
38527
  }).then((res) => {
38166
38528
  return {
@@ -38181,8 +38543,8 @@
38181
38543
  */
38182
38544
  static createShortcut(object) {
38183
38545
  return __awaiter(this, void 0, void 0, function* () {
38184
- yield this.callNative(ACTION.CREATE_SHORTCUT, {
38185
- url: `${CONT.MINI_APP_LINK}/${this.getAppId()}/`,
38546
+ yield this.callNative(ACTION.CREATE_SHORTCUT.name, {
38547
+ url: `${CONFIG.MINI_APP_LINK}/${this.getAppId()}/`,
38186
38548
  title: document.title,
38187
38549
  iconUrl: `https:${getMetaValue('og:image:url')}`
38188
38550
  });
@@ -38198,20 +38560,52 @@
38198
38560
  */
38199
38561
  static openProfilePicker(object) {
38200
38562
  return __awaiter(this, void 0, void 0, function* () {
38201
- return new Promise((resolve, reject) => {
38202
- this.callNative(ACTION.MP_OPEN_PROFILE_PICKER, {}, {
38203
- isMultiCallback: true,
38204
- callback: (nativeData, error) => {
38205
- if (error)
38206
- reject(error);
38207
- if (nativeData.error_code === 0) {
38208
- const res = {
38209
- userIDs: nativeData.data
38210
- };
38211
- resolve(res);
38212
- }
38563
+ return yield this.callNative(ACTION.MP_OPEN_PROFILE_PICKER.name, {
38564
+ maxProfile: object === null || object === void 0 ? void 0 : object.maxProfile
38565
+ }, {
38566
+ isMultiCallback: true,
38567
+ callback: (nativeData, error) => {
38568
+ if (nativeData.error_code === 0) {
38569
+ const res = {
38570
+ userIDs: nativeData.data
38571
+ };
38572
+ return Promise.resolve(res);
38213
38573
  }
38214
- });
38574
+ return Promise.reject(error);
38575
+ }
38576
+ });
38577
+ });
38578
+ }
38579
+ /**
38580
+ * Lấy danh sách các action hỗ trợ trong phiên bản zalo ios hiện tại
38581
+ *
38582
+ * @async
38583
+ * @function getActionsSupported
38584
+ * @category Zalo
38585
+ *
38586
+ */
38587
+ static getActionsSupported(object) {
38588
+ return __awaiter(this, void 0, void 0, function* () {
38589
+ return yield this.callNative(ACTION.GET_SUPPORTED_ACTIONS.name, {}, {
38590
+ isMultiCallback: false,
38591
+ callback: (nativeData, error) => {
38592
+ const platform = getPlatform();
38593
+ if (Array.isArray(nativeData.actions) &&
38594
+ nativeData.actions.length > 0) {
38595
+ const skipJumpActions = Object.keys(ACTION).filter((item) => ACTION[item].skip_jump);
38596
+ const res = {
38597
+ actions: [...nativeData.actions, ...skipJumpActions]
38598
+ };
38599
+ return Promise.resolve(res);
38600
+ }
38601
+ else if (platform === PlatformType.iOS) {
38602
+ const res = {
38603
+ actions: ZALO_IOS_ACTIONS_SUPPORTED_BEFORE_VER_402
38604
+ };
38605
+ return Promise.resolve(res);
38606
+ }
38607
+ return Promise.reject(error);
38608
+ }
38215
38609
  });
38216
38610
  });
38217
38611
  }
@@ -38249,7 +38643,7 @@
38249
38643
  */
38250
38644
  static sendDataToPreviousMiniApp(object) {
38251
38645
  return __awaiter(this, void 0, void 0, function* () {
38252
- return yield this.callNative(ACTION.WEBVIEW_SET_RESULT, {
38646
+ return yield this.callNative(ACTION.WEBVIEW_SET_RESULT.name, {
38253
38647
  result: stringifyData(object.data)
38254
38648
  });
38255
38649
  });
@@ -38274,7 +38668,7 @@
38274
38668
  }
38275
38669
  }
38276
38670
 
38277
- var _ZaloMiniProgramSDK_zAppId, _ZaloMiniProgramSDK_appId, _ZaloMiniProgramSDK_appConfig, _ZaloMiniProgramSDK_zOAuth, _ZaloMiniProgramSDK_accessToken, _ZaloMiniProgramSDK_cache, _ZaloMiniProgramSDK_configWindow, _ZaloMiniProgramSDK_configApp, _ZaloMiniProgramSDK_callJump, _ZaloMiniProgramSDK_setNavigationBarRightButton;
38671
+ var _ZaloMiniProgramSDK_zAppId, _ZaloMiniProgramSDK_appId, _ZaloMiniProgramSDK_appConfig, _ZaloMiniProgramSDK_zOAuth, _ZaloMiniProgramSDK_zOAuthVrf, _ZaloMiniProgramSDK_accessToken, _ZaloMiniProgramSDK_refreshToken, _ZaloMiniProgramSDK_cache, _ZaloMiniProgramSDK_prevGetTokenTimestamp, _ZaloMiniProgramSDK_tokenExpiresIn, _ZaloMiniProgramSDK_cookies, _ZaloMiniProgramSDK_configWindow, _ZaloMiniProgramSDK_configApp, _ZaloMiniProgramSDK_callJump, _ZaloMiniProgramSDK_setNavigationBarRightButton, _ZaloMiniProgramSDK_getActionsSupported;
38278
38672
  class ZaloMiniProgramSDK extends ZJSBridgeProvider {
38279
38673
  constructor() {
38280
38674
  super();
@@ -38282,12 +38676,17 @@
38282
38676
  _ZaloMiniProgramSDK_appId.set(this, window.APP_ID);
38283
38677
  _ZaloMiniProgramSDK_appConfig.set(this, window.APP_CONFIG || {});
38284
38678
  _ZaloMiniProgramSDK_zOAuth.set(this, void 0);
38679
+ _ZaloMiniProgramSDK_zOAuthVrf.set(this, void 0);
38285
38680
  _ZaloMiniProgramSDK_accessToken.set(this, void 0);
38681
+ _ZaloMiniProgramSDK_refreshToken.set(this, null);
38286
38682
  _ZaloMiniProgramSDK_cache.set(this, {
38287
38683
  timer: {
38288
38684
  getToken: 0
38289
38685
  }
38290
38686
  });
38687
+ _ZaloMiniProgramSDK_prevGetTokenTimestamp.set(this, void 0);
38688
+ _ZaloMiniProgramSDK_tokenExpiresIn.set(this, void 0);
38689
+ _ZaloMiniProgramSDK_cookies.set(this, null);
38291
38690
  this.events = ZMPEEmitter.getInstance();
38292
38691
  _ZaloMiniProgramSDK_configWindow.set(this, () => {
38293
38692
  const appConfig = __classPrivateFieldGet(this, _ZaloMiniProgramSDK_appConfig).app || null;
@@ -38332,24 +38731,26 @@
38332
38731
  });
38333
38732
  _ZaloMiniProgramSDK_callJump.set(this, () => {
38334
38733
  return new Promise((resolve, reject) => {
38335
- showUserInfoPermissionModal(() => {
38734
+ if (!lodash.isUndefined(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_cookies)) && !lodash.isNull(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_cookies))) {
38735
+ resolve(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_cookies));
38736
+ }
38737
+ else {
38336
38738
  this.callNative('action.jump.login', {})
38337
38739
  .then((data) => {
38338
38740
  const cookies = (data && data.cookiesOAuthLogins) || [];
38339
- const jsToken = cookies.find((cookie) => cookie.name === CONT.COOKIE_NAME.JS_TOKEN);
38741
+ const jsToken = cookies.find((cookie) => cookie.name === CONFIG.COOKIE_NAME.JS_TOKEN);
38340
38742
  if (jsToken) {
38341
38743
  this.setJSToken(jsToken.value);
38342
38744
  window.ZJSBridge.setJSToken &&
38343
38745
  window.ZJSBridge.setJSToken(jsToken.value);
38344
38746
  }
38747
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_cookies, cookies);
38345
38748
  resolve(cookies);
38346
38749
  })
38347
38750
  .catch((error) => {
38348
38751
  reject(error);
38349
38752
  });
38350
- }, () => {
38351
- reject(new Error("User denied!"));
38352
- });
38753
+ }
38353
38754
  });
38354
38755
  });
38355
38756
  _ZaloMiniProgramSDK_setNavigationBarRightButton.set(this, NavigationBar.setNavigationBarRightButton);
@@ -38410,10 +38811,14 @@
38410
38811
  this.onCallbackData = Routing.onCallbackData;
38411
38812
  this.getPhoneNumber = OpenApi.getPhoneNumber;
38412
38813
  this.openProfilePicker = Zalo.openProfilePicker;
38814
+ _ZaloMiniProgramSDK_getActionsSupported.set(this, Zalo.getActionsSupported);
38413
38815
  __classPrivateFieldSet(this, _ZaloMiniProgramSDK_zOAuth, null);
38816
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_zOAuthVrf, null);
38414
38817
  __classPrivateFieldSet(this, _ZaloMiniProgramSDK_accessToken, null);
38415
38818
  this.isShowNavBar = true;
38416
38819
  this.isShowHomeButton = true;
38820
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_prevGetTokenTimestamp, 0);
38821
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_tokenExpiresIn, 0);
38417
38822
  // this.#configApp();
38418
38823
  }
38419
38824
  static getInstance() {
@@ -38422,6 +38827,9 @@
38422
38827
  }
38423
38828
  return ZaloMiniProgramSDK.instance;
38424
38829
  }
38830
+ getLoginStatus() {
38831
+ return lodash.isString(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken)) && __classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken).length > 0;
38832
+ }
38425
38833
  getAppId() {
38426
38834
  return __classPrivateFieldGet(this, _ZaloMiniProgramSDK_appId);
38427
38835
  }
@@ -38431,61 +38839,110 @@
38431
38839
  login(object) {
38432
38840
  return __awaiter(this, void 0, void 0, function* () {
38433
38841
  const cookies = yield __classPrivateFieldGet(this, _ZaloMiniProgramSDK_callJump).call(this);
38434
- const zOAuthCookie = cookies.find((cookie) => cookie.name === CONT.COOKIE_NAME.ZOAUTH);
38842
+ const zOAuthCookie = cookies.find((cookie) => cookie.name === CONFIG.COOKIE_NAME.ZOAUTH);
38843
+ const zOAuthVrfCookie = cookies.find((cookie) => cookie.name === CONFIG.COOKIE_NAME.ZOAUTH_VRF);
38435
38844
  if (!lodash.isUndefined(zOAuthCookie) &&
38436
38845
  !lodash.isNull(zOAuthCookie) &&
38437
38846
  lodash.isString(zOAuthCookie.value)) {
38438
38847
  __classPrivateFieldSet(this, _ZaloMiniProgramSDK_zOAuth, zOAuthCookie.value);
38439
- /**
38440
- * Timer get access token after expired
38441
- **/
38442
- const runTimer = () => __awaiter(this, void 0, void 0, function* () {
38443
- if (lodash.isUndefined(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_zOAuth)) || lodash.isNull(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_zOAuth))) {
38444
- clearInterval(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_cache).timer.getToken);
38445
- }
38446
- return yield axios
38447
- .get('https://oauth.zaloapp.com/v3/access_token', {
38448
- params: {
38449
- app_id: __classPrivateFieldGet(this, _ZaloMiniProgramSDK_zAppId),
38450
- redirect_uri: `https://h5.zdn.vn/zapps/${__classPrivateFieldGet(this, _ZaloMiniProgramSDK_appId)}/`,
38451
- code: __classPrivateFieldGet(this, _ZaloMiniProgramSDK_zOAuth),
38452
- isSDK: true
38453
- }
38454
- })
38455
- .then((response) => {
38456
- let resData = response.data;
38457
- if (resData.access_token) {
38458
- __classPrivateFieldSet(this, _ZaloMiniProgramSDK_accessToken, resData.access_token);
38459
- const expiredIn = parseInt(resData.expires_in) * 1000;
38460
- if (!__classPrivateFieldGet(this, _ZaloMiniProgramSDK_cache).timer.getToken) {
38461
- __classPrivateFieldGet(this, _ZaloMiniProgramSDK_cache).timer.getToken = window.setInterval(runTimer, expiredIn);
38462
- }
38463
- this.setZAccSession(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken) || '');
38464
- window.ZJSBridge.setZAccSession &&
38465
- window.ZJSBridge.setZAccSession(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken) || '');
38466
- return __classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken);
38467
- }
38468
- return null;
38469
- });
38470
- });
38471
- clearInterval(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_cache).timer.getToken);
38472
- yield runTimer();
38473
- return 'Login Success!';
38848
+ if (!lodash.isUndefined(zOAuthVrfCookie) &&
38849
+ !lodash.isNull(zOAuthVrfCookie) &&
38850
+ lodash.isString(zOAuthVrfCookie.value)) {
38851
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_zOAuthVrf, zOAuthVrfCookie.value);
38852
+ yield this.loginZaloV4();
38853
+ }
38854
+ else {
38855
+ yield this.loginZaloV3();
38856
+ }
38857
+ if (!__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken)) {
38858
+ throw apiResponse.error.loginFailed();
38859
+ }
38860
+ return __classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken);
38474
38861
  }
38475
38862
  throw apiResponse.error.loginFailed();
38476
38863
  });
38477
38864
  }
38865
+ loginZaloV3() {
38866
+ return __awaiter(this, void 0, void 0, function* () {
38867
+ return yield axios
38868
+ .get(CONFIG.APIS.GET_ACCESS_TOKEN_V3, {
38869
+ params: {
38870
+ app_id: __classPrivateFieldGet(this, _ZaloMiniProgramSDK_zAppId),
38871
+ redirect_uri: `${CONFIG.MINI_APP_INTERNAL_LINK}/${__classPrivateFieldGet(this, _ZaloMiniProgramSDK_appId)}/`,
38872
+ code: __classPrivateFieldGet(this, _ZaloMiniProgramSDK_zOAuth),
38873
+ isSDK: true
38874
+ }
38875
+ })
38876
+ .then((response) => {
38877
+ let resData = response.data;
38878
+ if (resData.access_token) {
38879
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_accessToken, resData.access_token);
38880
+ const expiresIn = parseInt(resData.expires_in) * 1000;
38881
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_tokenExpiresIn, expiresIn);
38882
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_prevGetTokenTimestamp, new Date().getTime());
38883
+ this.setZAccSession(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken) || '');
38884
+ window.ZJSBridge.setZAccSession &&
38885
+ window.ZJSBridge.setZAccSession(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken) || '');
38886
+ return __classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken);
38887
+ }
38888
+ return null;
38889
+ });
38890
+ });
38891
+ }
38892
+ loginZaloV4() {
38893
+ return __awaiter(this, void 0, void 0, function* () {
38894
+ const inputData = new URLSearchParams();
38895
+ inputData.append('app_id', __classPrivateFieldGet(this, _ZaloMiniProgramSDK_appId));
38896
+ inputData.append('code', __classPrivateFieldGet(this, _ZaloMiniProgramSDK_zOAuth) || '');
38897
+ inputData.append('code_verifier', __classPrivateFieldGet(this, _ZaloMiniProgramSDK_zOAuthVrf) || '');
38898
+ if (lodash.isNull(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_refreshToken))) {
38899
+ inputData.append('grant_type', 'authorization_code');
38900
+ }
38901
+ else {
38902
+ inputData.append('grant_type', 'refresh_token');
38903
+ inputData.append('refresh_token', __classPrivateFieldGet(this, _ZaloMiniProgramSDK_refreshToken) || '');
38904
+ }
38905
+ const config = {
38906
+ headers: {
38907
+ 'Content-Type': 'application/x-www-form-urlencoded'
38908
+ }
38909
+ };
38910
+ return yield axios
38911
+ .post(CONFIG.APIS.GET_ACCESS_TOKEN, inputData, config)
38912
+ .then((response) => {
38913
+ const resData = response.data;
38914
+ if (resData.refresh_token) {
38915
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_refreshToken, resData.refresh_token);
38916
+ }
38917
+ if (resData.access_token) {
38918
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_accessToken, resData.access_token);
38919
+ const expiresIn = parseInt(resData.expires_in) * 1000;
38920
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_tokenExpiresIn, expiresIn);
38921
+ __classPrivateFieldSet(this, _ZaloMiniProgramSDK_prevGetTokenTimestamp, new Date().getTime());
38922
+ this.setZAccSession(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken) || '');
38923
+ window.ZJSBridge.setZAccSession &&
38924
+ window.ZJSBridge.setZAccSession(__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken) || '');
38925
+ return __classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken);
38926
+ }
38927
+ return null;
38928
+ });
38929
+ });
38930
+ }
38478
38931
  getAccessToken(object) {
38479
38932
  return __awaiter(this, void 0, void 0, function* () {
38480
- if (__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken))
38933
+ const deltaTime = new Date().getTime() - __classPrivateFieldGet(this, _ZaloMiniProgramSDK_prevGetTokenTimestamp);
38934
+ if (!__classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken)) {
38935
+ throw apiResponse.error.loginRequired();
38936
+ }
38937
+ if (deltaTime < __classPrivateFieldGet(this, _ZaloMiniProgramSDK_tokenExpiresIn))
38481
38938
  return __classPrivateFieldGet(this, _ZaloMiniProgramSDK_accessToken);
38482
- throw apiResponse.error.loginRequired();
38939
+ return yield this.login();
38483
38940
  });
38484
38941
  }
38485
38942
  }
38486
- _ZaloMiniProgramSDK_zAppId = new WeakMap(), _ZaloMiniProgramSDK_appId = new WeakMap(), _ZaloMiniProgramSDK_appConfig = new WeakMap(), _ZaloMiniProgramSDK_zOAuth = new WeakMap(), _ZaloMiniProgramSDK_accessToken = new WeakMap(), _ZaloMiniProgramSDK_cache = new WeakMap(), _ZaloMiniProgramSDK_configWindow = new WeakMap(), _ZaloMiniProgramSDK_configApp = new WeakMap(), _ZaloMiniProgramSDK_callJump = new WeakMap(), _ZaloMiniProgramSDK_setNavigationBarRightButton = new WeakMap();
38943
+ _ZaloMiniProgramSDK_zAppId = new WeakMap(), _ZaloMiniProgramSDK_appId = new WeakMap(), _ZaloMiniProgramSDK_appConfig = new WeakMap(), _ZaloMiniProgramSDK_zOAuth = new WeakMap(), _ZaloMiniProgramSDK_zOAuthVrf = new WeakMap(), _ZaloMiniProgramSDK_accessToken = new WeakMap(), _ZaloMiniProgramSDK_refreshToken = new WeakMap(), _ZaloMiniProgramSDK_cache = new WeakMap(), _ZaloMiniProgramSDK_prevGetTokenTimestamp = new WeakMap(), _ZaloMiniProgramSDK_tokenExpiresIn = new WeakMap(), _ZaloMiniProgramSDK_cookies = new WeakMap(), _ZaloMiniProgramSDK_configWindow = new WeakMap(), _ZaloMiniProgramSDK_configApp = new WeakMap(), _ZaloMiniProgramSDK_callJump = new WeakMap(), _ZaloMiniProgramSDK_setNavigationBarRightButton = new WeakMap(), _ZaloMiniProgramSDK_getActionsSupported = new WeakMap();
38487
38944
 
38488
- var _MockSDK_appId, _MockSDK_appConfig, _MockSDK_zOAuth, _MockSDK_accessToken, _MockSDK_cache;
38945
+ var _MockSDK_appId, _MockSDK_appConfig, _MockSDK_zOAuth, _MockSDK_accessToken, _MockSDK_cache, _MockSDK_loggedId;
38489
38946
  class MockSDK {
38490
38947
  constructor() {
38491
38948
  _MockSDK_appId.set(this, window.zAppID);
@@ -38497,10 +38954,15 @@
38497
38954
  getToken: 0
38498
38955
  }
38499
38956
  });
38957
+ _MockSDK_loggedId.set(this, false);
38958
+ this.getLoginStatus = () => {
38959
+ return __classPrivateFieldGet(this, _MockSDK_loggedId);
38960
+ };
38500
38961
  this.getAppId = () => {
38501
38962
  return __classPrivateFieldGet(this, _MockSDK_appId);
38502
38963
  };
38503
38964
  this.login = () => {
38965
+ __classPrivateFieldSet(this, _MockSDK_loggedId, true);
38504
38966
  return Promise.resolve(__classPrivateFieldGet(this, _MockSDK_zOAuth));
38505
38967
  };
38506
38968
  this.getAccessToken = () => {
@@ -38546,7 +39008,7 @@
38546
39008
  return yield storage.clearStorage();
38547
39009
  });
38548
39010
  this.getUserInfo = () => {
38549
- console.warn("birthday and gender are deprecated");
39011
+ console.warn('birthday and gender are deprecated');
38550
39012
  return Promise.resolve({
38551
39013
  userInfo: {
38552
39014
  id: '3368637342326461234',
@@ -38801,7 +39263,7 @@
38801
39263
  throw new Error('Method not implemented.');
38802
39264
  }
38803
39265
  }
38804
- _MockSDK_appId = new WeakMap(), _MockSDK_appConfig = new WeakMap(), _MockSDK_zOAuth = new WeakMap(), _MockSDK_accessToken = new WeakMap(), _MockSDK_cache = new WeakMap();
39266
+ _MockSDK_appId = new WeakMap(), _MockSDK_appConfig = new WeakMap(), _MockSDK_zOAuth = new WeakMap(), _MockSDK_accessToken = new WeakMap(), _MockSDK_cache = new WeakMap(), _MockSDK_loggedId = new WeakMap();
38805
39267
 
38806
39268
  /*! *****************************************************************************
38807
39269
  Copyright (C) Microsoft. All rights reserved.
@@ -40042,7 +40504,6 @@
40042
40504
  _SDKCreator_sdkManager.set(this, void 0);
40043
40505
  __classPrivateFieldSet(this, _SDKCreator_sdkManager, this.getInstance());
40044
40506
  this.events.addListener = (event, fn, context) => {
40045
- console.log(123123);
40046
40507
  const stringifyEventName = event;
40047
40508
  return this.events.addListener(Events[stringifyEventName], fn, context);
40048
40509
  };
@@ -40067,6 +40528,9 @@
40067
40528
  return yield __classPrivateFieldGet(this, _SDKCreator_sdkManager).login(object);
40068
40529
  });
40069
40530
  }
40531
+ getLoginStatus() {
40532
+ return __classPrivateFieldGet(this, _SDKCreator_sdkManager).getLoginStatus();
40533
+ }
40070
40534
  /**
40071
40535
  * Get Access Token.
40072
40536
  *
@@ -40305,8 +40769,35 @@
40305
40769
  else if (type === 'oa' && isEmpty(object.data.id)) {
40306
40770
  throw apiResponse.error.wrongTypeParam('object.data.id', 'valid id', 'empty');
40307
40771
  }
40308
- else if (type === 'zmp' && (object.data.title.length > 100 || object.data.description.length > 400)) {
40309
- throw apiResponse.error.lengthInvalid(`'title' or 'description'`);
40772
+ else if (type === 'zmp') {
40773
+ if (lodash.isNull(object.data.title) || lodash.isNull(object.data.description)) {
40774
+ throw apiResponse.error.missingParam([
40775
+ 'data.title',
40776
+ 'data.description'
40777
+ ]);
40778
+ }
40779
+ else {
40780
+ const title = object.data.title;
40781
+ const description = {
40782
+ vi: '',
40783
+ en: ''
40784
+ };
40785
+ if (lodash.isString(object.data.description)) {
40786
+ description.en = description.vi = object.data.description;
40787
+ }
40788
+ else if (lodash.isObject(object.data.description)) {
40789
+ description.en = object.data.description.en || '';
40790
+ description.vi = object.data.description.vi || '';
40791
+ }
40792
+ else {
40793
+ throw apiResponse.error.wrongTypeParam('data.description', 'string | {vi: string, en: string}', typeof object.data.description);
40794
+ }
40795
+ if (title.length > 100 ||
40796
+ description.vi.length > 400 ||
40797
+ description.en.length > 400)
40798
+ throw apiResponse.error.lengthInvalid(`'title' or 'description'`);
40799
+ object.data.description = description;
40800
+ }
40310
40801
  }
40311
40802
  return yield __classPrivateFieldGet(this, _SDKCreator_sdkManager).openShareSheet(object);
40312
40803
  });
@@ -40442,16 +40933,27 @@
40442
40933
  });
40443
40934
  }
40444
40935
  getPhoneNumber(object) {
40445
- return __classPrivateFieldGet(this, _SDKCreator_sdkManager).getPhoneNumber();
40936
+ return __awaiter(this, void 0, void 0, function* () {
40937
+ return yield __classPrivateFieldGet(this, _SDKCreator_sdkManager).getPhoneNumber();
40938
+ });
40446
40939
  }
40447
40940
  openProfilePicker(object) {
40448
- return __classPrivateFieldGet(this, _SDKCreator_sdkManager).openProfilePicker();
40941
+ if (lodash.isUndefined(object.maxProfile) || object.maxProfile < 1) {
40942
+ object.maxProfile = 1;
40943
+ }
40944
+ else if (object.maxProfile > 10) {
40945
+ throw apiResponse.error.badRequest("maxProfile must be in between 1 and 10");
40946
+ }
40947
+ return __classPrivateFieldGet(this, _SDKCreator_sdkManager).openProfilePicker(object);
40449
40948
  }
40450
40949
  }
40451
40950
  _SDKCreator_sdkManager = new WeakMap();
40452
40951
  __decorate([
40453
40952
  handleError
40454
40953
  ], SDKCreator.prototype, "login", null);
40954
+ __decorate([
40955
+ handleErrorSync
40956
+ ], SDKCreator.prototype, "getLoginStatus", null);
40455
40957
  __decorate([
40456
40958
  handleError
40457
40959
  ], SDKCreator.prototype, "getAccessToken", null);
@@ -40664,8 +41166,8 @@
40664
41166
  chatOnly: 'boolean',
40665
41167
  id: 'string',
40666
41168
  title: 'string',
40667
- description: 'string',
40668
- thumbnail: 'url'
41169
+ thumbnail: 'url',
41170
+ path: 'string'
40669
41171
  }, 'data')),
40670
41172
  __param(0, required('type', 'data'))
40671
41173
  ], SDKCreator.prototype, "openShareSheet", null);
@@ -40785,7 +41287,11 @@
40785
41287
  handleError
40786
41288
  ], SDKCreator.prototype, "getPhoneNumber", null);
40787
41289
  __decorate([
40788
- handleError
41290
+ handleError,
41291
+ validate,
41292
+ __param(0, checkType('object', {
41293
+ maxProfile: 'number'
41294
+ }))
40789
41295
  ], SDKCreator.prototype, "openProfilePicker", null);
40790
41296
  class ZaloMiniAppSDKCreator extends SDKCreator {
40791
41297
  getInstance() {