zmp-sdk 2.17.0-rc.0 → 2.17.0

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.
@@ -34947,7 +34947,8 @@
34947
34947
  const APIS = {
34948
34948
  GET_USER_INFO: 'https://graph.zalo.me/v2.0/me',
34949
34949
  GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
34950
- GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token'
34950
+ GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token',
34951
+ GET_LIST_USER_INFO: 'https://graph.zalo.me/v2.0/me/friends/list',
34951
34952
  };
34952
34953
  const STORAGE_LIMIT = 5 * MB;
34953
34954
  const NETWORK_TYPE = (isAndroid) => ({
@@ -35284,6 +35285,7 @@
35284
35285
  }
35285
35286
  };
35286
35287
  const RESPONSE_CODE = {
35288
+ SUCCESS: 0,
35287
35289
  BAD_REQUEST: -1400,
35288
35290
  INTERNAL_SERVER_ERROR: -1500,
35289
35291
  UNAUTHORIZED: -1401,
@@ -35291,6 +35293,7 @@
35291
35293
  CLIENT_NOT_SUPPORT: -1404
35292
35294
  };
35293
35295
  const MESSAGES = {
35296
+ SUCCESS: 'Success',
35294
35297
  READ_MORE: 'Read more at: https://miniapp.zalo.me/docs/api',
35295
35298
  LOGIN_REQUIRED: 'Please login before to call this api. Read more at: https://miniapp.zalo.me/docs/api/login',
35296
35299
  LOGIN_FAILED: 'Login failed.',
@@ -35527,6 +35530,11 @@
35527
35530
  };
35528
35531
 
35529
35532
  const apiResponse = {
35533
+ success: (data, message) => ({
35534
+ code: RESPONSE_CODE.SUCCESS,
35535
+ message: message || MESSAGES.SUCCESS,
35536
+ data: data || {}
35537
+ }),
35530
35538
  error: {
35531
35539
  badRequest: (message) => new CommonError(RESPONSE_CODE.BAD_REQUEST, message),
35532
35540
  loginFailed: () => new CommonError(RESPONSE_CODE.BAD_REQUEST, MESSAGES.LOGIN_FAILED),
@@ -36743,7 +36751,7 @@
36743
36751
  }
36744
36752
  _ZJSBridgeProvider_bridge = new WeakMap();
36745
36753
 
36746
- var version = "2.17.0-rc.0";
36754
+ var version = "2.17.0";
36747
36755
 
36748
36756
  class Basics {
36749
36757
  /**
@@ -38624,18 +38632,15 @@
38624
38632
  * @category Zalo
38625
38633
  *
38626
38634
  */
38627
- static openProfilePicker(object) {
38635
+ static openProfilePicker(maxProfile) {
38628
38636
  return __awaiter(this, void 0, void 0, function* () {
38629
38637
  return yield this.callNative(ACTION.MP_OPEN_PROFILE_PICKER, {
38630
- maxProfile: object === null || object === void 0 ? void 0 : object.maxProfile
38638
+ maxProfile: maxProfile
38631
38639
  }, {
38632
38640
  isMultiCallback: true,
38633
38641
  callback: (nativeData, error) => {
38634
- if (nativeData.error_code === 0) {
38635
- const res = {
38636
- userIDs: nativeData.data
38637
- };
38638
- return Promise.resolve(res);
38642
+ if (nativeData.error_code === 0 && Array.isArray(nativeData.data)) {
38643
+ return Promise.resolve(nativeData.data.map((item) => item.id));
38639
38644
  }
38640
38645
  return Promise.reject(error);
38641
38646
  }
@@ -39364,9 +39369,7 @@
39364
39369
  };
39365
39370
  this.openProfilePicker = () => {
39366
39371
  console.warn('This api only works on zalo app');
39367
- return Promise.resolve({
39368
- userIDs: []
39369
- });
39372
+ return Promise.resolve([]);
39370
39373
  };
39371
39374
  this.connectWifi = () => {
39372
39375
  console.warn('This api only works on zalo app');
@@ -40884,10 +40887,12 @@
40884
40887
  searchParams.append('appName', title);
40885
40888
  searchParams.append('appIcon', iconURL);
40886
40889
  const iosShortcutURL = `https://mini.zalo.me/shortcut.html?${searchParams.toString()}`;
40887
- return yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openOutApp(encodeURI(iosShortcutURL));
40890
+ yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openOutApp(encodeURI(iosShortcutURL));
40888
40891
  }
40889
- else
40892
+ else {
40890
40893
  yield __classPrivateFieldGet(this, _SDKCreator_sdkService).createShortcut(`${MINI_APP_LINK}/${APP_ID}/?${searchParams.toString()}`, title, iconURL);
40894
+ }
40895
+ return apiResponse.success();
40891
40896
  });
40892
40897
  }
40893
40898
  openBioAuthentication(object) {
@@ -40991,7 +40996,53 @@
40991
40996
  }
40992
40997
  openProfilePicker(object) {
40993
40998
  return __awaiter(this, void 0, void 0, function* () {
40994
- return yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openProfilePicker(object);
40999
+ const uIds = yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openProfilePicker(object.maxProfile);
41000
+ let users;
41001
+ if (uIds.length > 0) {
41002
+ const accessToken = yield this.getAccessToken();
41003
+ const response = yield axios.post(APIS.GET_LIST_USER_INFO, {
41004
+ fields: 'id,name,picture',
41005
+ user_ids: uIds
41006
+ }, {
41007
+ headers: {
41008
+ 'Content-Type': 'application/json',
41009
+ access_token: accessToken
41010
+ }
41011
+ });
41012
+ const resData = response.data;
41013
+ if (resData.error === 0 && resData.data) {
41014
+ users = uIds.map((item) => {
41015
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
41016
+ return {
41017
+ id: item,
41018
+ profile: {
41019
+ name: (_b = (_a = resData.data[item]) === null || _a === void 0 ? void 0 : _a.user_info) === null || _b === void 0 ? void 0 : _b.name,
41020
+ avatar: (_f = (_e = (_d = (_c = resData.data[item]) === null || _c === void 0 ? void 0 : _c.user_info) === null || _d === void 0 ? void 0 : _d.picture) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.url
41021
+ },
41022
+ code: ((_g = resData.data[item]) === null || _g === void 0 ? void 0 : _g.error) !== 0 ? -1 : 0,
41023
+ message: `Get more information: ${lodash.isUndefined((_h = resData.data[item]) === null || _h === void 0 ? void 0 : _h.message)
41024
+ ? 'Unknown error'
41025
+ : (_j = resData.data[item]) === null || _j === void 0 ? void 0 : _j.message}`
41026
+ };
41027
+ });
41028
+ }
41029
+ else {
41030
+ users = uIds.map((item) => {
41031
+ return {
41032
+ id: item,
41033
+ profile: {
41034
+ name: '',
41035
+ avatar: ''
41036
+ },
41037
+ code: -1,
41038
+ message: `Can't get more information: ${lodash.isUndefined(resData.message) ? 'Unknown error' : resData.message}`
41039
+ };
41040
+ });
41041
+ }
41042
+ }
41043
+ return {
41044
+ users: users || []
41045
+ };
40995
41046
  });
40996
41047
  }
40997
41048
  connectWifi(object) {
package/dist/index.es.js CHANGED
@@ -34944,7 +34944,8 @@ const COOKIE_NAME = {
34944
34944
  const APIS = {
34945
34945
  GET_USER_INFO: 'https://graph.zalo.me/v2.0/me',
34946
34946
  GET_ACCESS_TOKEN: 'https://h5.zalo.me/openapi/access_token',
34947
- GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token'
34947
+ GET_ACCESS_TOKEN_V3: 'https://oauth.zaloapp.com/v3/access_token',
34948
+ GET_LIST_USER_INFO: 'https://graph.zalo.me/v2.0/me/friends/list',
34948
34949
  };
34949
34950
  const STORAGE_LIMIT = 5 * MB;
34950
34951
  const NETWORK_TYPE = (isAndroid) => ({
@@ -35281,6 +35282,7 @@ const ACTION = {
35281
35282
  }
35282
35283
  };
35283
35284
  const RESPONSE_CODE = {
35285
+ SUCCESS: 0,
35284
35286
  BAD_REQUEST: -1400,
35285
35287
  INTERNAL_SERVER_ERROR: -1500,
35286
35288
  UNAUTHORIZED: -1401,
@@ -35288,6 +35290,7 @@ const RESPONSE_CODE = {
35288
35290
  CLIENT_NOT_SUPPORT: -1404
35289
35291
  };
35290
35292
  const MESSAGES = {
35293
+ SUCCESS: 'Success',
35291
35294
  READ_MORE: 'Read more at: https://miniapp.zalo.me/docs/api',
35292
35295
  LOGIN_REQUIRED: 'Please login before to call this api. Read more at: https://miniapp.zalo.me/docs/api/login',
35293
35296
  LOGIN_FAILED: 'Login failed.',
@@ -35524,6 +35527,11 @@ const handleErrorSync = (target, key, descriptor) => {
35524
35527
  };
35525
35528
 
35526
35529
  const apiResponse = {
35530
+ success: (data, message) => ({
35531
+ code: RESPONSE_CODE.SUCCESS,
35532
+ message: message || MESSAGES.SUCCESS,
35533
+ data: data || {}
35534
+ }),
35527
35535
  error: {
35528
35536
  badRequest: (message) => new CommonError(RESPONSE_CODE.BAD_REQUEST, message),
35529
35537
  loginFailed: () => new CommonError(RESPONSE_CODE.BAD_REQUEST, MESSAGES.LOGIN_FAILED),
@@ -36740,7 +36748,7 @@ class ZJSBridgeProvider {
36740
36748
  }
36741
36749
  _ZJSBridgeProvider_bridge = new WeakMap();
36742
36750
 
36743
- var version = "2.17.0-rc.0";
36751
+ var version = "2.17.0";
36744
36752
 
36745
36753
  class Basics {
36746
36754
  /**
@@ -38621,18 +38629,15 @@ class Zalo {
38621
38629
  * @category Zalo
38622
38630
  *
38623
38631
  */
38624
- static openProfilePicker(object) {
38632
+ static openProfilePicker(maxProfile) {
38625
38633
  return __awaiter(this, void 0, void 0, function* () {
38626
38634
  return yield this.callNative(ACTION.MP_OPEN_PROFILE_PICKER, {
38627
- maxProfile: object === null || object === void 0 ? void 0 : object.maxProfile
38635
+ maxProfile: maxProfile
38628
38636
  }, {
38629
38637
  isMultiCallback: true,
38630
38638
  callback: (nativeData, error) => {
38631
- if (nativeData.error_code === 0) {
38632
- const res = {
38633
- userIDs: nativeData.data
38634
- };
38635
- return Promise.resolve(res);
38639
+ if (nativeData.error_code === 0 && Array.isArray(nativeData.data)) {
38640
+ return Promise.resolve(nativeData.data.map((item) => item.id));
38636
38641
  }
38637
38642
  return Promise.reject(error);
38638
38643
  }
@@ -39361,9 +39366,7 @@ class MockSDKService {
39361
39366
  };
39362
39367
  this.openProfilePicker = () => {
39363
39368
  console.warn('This api only works on zalo app');
39364
- return Promise.resolve({
39365
- userIDs: []
39366
- });
39369
+ return Promise.resolve([]);
39367
39370
  };
39368
39371
  this.connectWifi = () => {
39369
39372
  console.warn('This api only works on zalo app');
@@ -40881,10 +40884,12 @@ class SDKCreator {
40881
40884
  searchParams.append('appName', title);
40882
40885
  searchParams.append('appIcon', iconURL);
40883
40886
  const iosShortcutURL = `https://mini.zalo.me/shortcut.html?${searchParams.toString()}`;
40884
- return yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openOutApp(encodeURI(iosShortcutURL));
40887
+ yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openOutApp(encodeURI(iosShortcutURL));
40885
40888
  }
40886
- else
40889
+ else {
40887
40890
  yield __classPrivateFieldGet(this, _SDKCreator_sdkService).createShortcut(`${MINI_APP_LINK}/${APP_ID}/?${searchParams.toString()}`, title, iconURL);
40891
+ }
40892
+ return apiResponse.success();
40888
40893
  });
40889
40894
  }
40890
40895
  openBioAuthentication(object) {
@@ -40988,7 +40993,53 @@ class SDKCreator {
40988
40993
  }
40989
40994
  openProfilePicker(object) {
40990
40995
  return __awaiter(this, void 0, void 0, function* () {
40991
- return yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openProfilePicker(object);
40996
+ const uIds = yield __classPrivateFieldGet(this, _SDKCreator_sdkService).openProfilePicker(object.maxProfile);
40997
+ let users;
40998
+ if (uIds.length > 0) {
40999
+ const accessToken = yield this.getAccessToken();
41000
+ const response = yield axios.post(APIS.GET_LIST_USER_INFO, {
41001
+ fields: 'id,name,picture',
41002
+ user_ids: uIds
41003
+ }, {
41004
+ headers: {
41005
+ 'Content-Type': 'application/json',
41006
+ access_token: accessToken
41007
+ }
41008
+ });
41009
+ const resData = response.data;
41010
+ if (resData.error === 0 && resData.data) {
41011
+ users = uIds.map((item) => {
41012
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
41013
+ return {
41014
+ id: item,
41015
+ profile: {
41016
+ name: (_b = (_a = resData.data[item]) === null || _a === void 0 ? void 0 : _a.user_info) === null || _b === void 0 ? void 0 : _b.name,
41017
+ avatar: (_f = (_e = (_d = (_c = resData.data[item]) === null || _c === void 0 ? void 0 : _c.user_info) === null || _d === void 0 ? void 0 : _d.picture) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.url
41018
+ },
41019
+ code: ((_g = resData.data[item]) === null || _g === void 0 ? void 0 : _g.error) !== 0 ? -1 : 0,
41020
+ message: `Get more information: ${lodash.isUndefined((_h = resData.data[item]) === null || _h === void 0 ? void 0 : _h.message)
41021
+ ? 'Unknown error'
41022
+ : (_j = resData.data[item]) === null || _j === void 0 ? void 0 : _j.message}`
41023
+ };
41024
+ });
41025
+ }
41026
+ else {
41027
+ users = uIds.map((item) => {
41028
+ return {
41029
+ id: item,
41030
+ profile: {
41031
+ name: '',
41032
+ avatar: ''
41033
+ },
41034
+ code: -1,
41035
+ message: `Can't get more information: ${lodash.isUndefined(resData.message) ? 'Unknown error' : resData.message}`
41036
+ };
41037
+ });
41038
+ }
41039
+ }
41040
+ return {
41041
+ users: users || []
41042
+ };
40992
41043
  });
40993
41044
  }
40994
41045
  connectWifi(object) {