zmp-sdk 2.14.1 → 2.15.0-1

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.
package/dist/index.es.js CHANGED
@@ -21363,6 +21363,7 @@ var ShareSheetType;
21363
21363
  ShareSheetType[ShareSheetType["video"] = 12] = "video";
21364
21364
  ShareSheetType[ShareSheetType["link"] = 4] = "link";
21365
21365
  ShareSheetType[ShareSheetType["oa"] = 5] = "oa";
21366
+ ShareSheetType["zmp"] = "zmp";
21366
21367
  })(ShareSheetType || (ShareSheetType = {}));
21367
21368
  var OrientationType;
21368
21369
  (function (OrientationType) {
@@ -21536,7 +21537,8 @@ const ACTION = {
21536
21537
  INTERACTIVE_VIBRATION: 'action.interactive.vibration',
21537
21538
  ZBROWSER_MPDS: 'action.zbrowser.mpds',
21538
21539
  WEBVIEW_SET_RESULT: "action.webview.set.result",
21539
- MP_GET_NUMBER: "action.mp.get.number"
21540
+ MP_GET_NUMBER: "action.mp.get.number",
21541
+ MP_OPEN_PROFILE_PICKER: "action.mp.open.profile.picker"
21540
21542
  };
21541
21543
  const ACTION_HAVE_CALLBACK = [
21542
21544
  ACTION.GET_DOWNLOADED_STICKER,
@@ -21562,6 +21564,7 @@ const ACTION_HAVE_CALLBACK = [
21562
21564
  ];
21563
21565
  const RESPONSE_CODE = {
21564
21566
  BAD_REQUEST: -1400,
21567
+ INTERNAL_SERVER_ERROR: -1500,
21565
21568
  UNAUTHORIZED: -1401,
21566
21569
  FORBIDDEN: -1403
21567
21570
  };
@@ -21587,7 +21590,7 @@ const ZALO_SUPPORT_STORAGE_VERSION = {
21587
21590
  const REGEXP_SPECIAL_UNICODE = new RegExp('[\\u0300-\\u036f]', 'g');
21588
21591
  const REGEXP_ACCENT_D = new RegExp('[đ|Đ]', 'g');
21589
21592
  const REGEXP_SPACES = new RegExp('\\s', 'g');
21590
- const debug$2 = src("zmp:utils:common");
21593
+ const debug$2 = src('zmp:utils:common');
21591
21594
  /**
21592
21595
  * Checks if a url is valid
21593
21596
  * @param {string} string URL
@@ -21687,10 +21690,11 @@ const isType = (argument, type) => {
21687
21690
  const isArrayType = lowerCaseType === 'array' ||
21688
21691
  lowerCaseType === 'array<number>' ||
21689
21692
  lowerCaseType === 'array<string>';
21690
- if ((isArrayType &&
21691
- ((lowerCaseType === 'array' && Array.isArray(argument)) ||
21692
- (lowerCaseType === 'array<number>' && isArrayNumber(argument)) ||
21693
- (lowerCaseType === 'array<string>' && isArrayString(argument)))) ||
21693
+ if ((lowerCaseType === 'url' && isValidUrl(argument)) ||
21694
+ (isArrayType &&
21695
+ ((lowerCaseType === 'array' && Array.isArray(argument)) ||
21696
+ (lowerCaseType === 'array<number>' && isArrayNumber(argument)) ||
21697
+ (lowerCaseType === 'array<string>' && isArrayString(argument)))) ||
21694
21698
  (!Array.isArray(argument) && typeof argument === type)) {
21695
21699
  return true;
21696
21700
  }
@@ -21810,6 +21814,23 @@ const stringToData = (data) => {
21810
21814
  console.log(error);
21811
21815
  return data;
21812
21816
  }
21817
+ };
21818
+ const showUserInfoPermissionModal = (acceptHandler, denyHandler) => {
21819
+ const userInfoPermissionModal = document.getElementById('zmp-permission-container');
21820
+ const buttonAccept = document.getElementById('button-accept');
21821
+ const buttonDeny = document.getElementById('button-deny');
21822
+ if (!userInfoPermissionModal || !buttonAccept || !buttonDeny)
21823
+ return;
21824
+ // show modal
21825
+ userInfoPermissionModal.style.display = 'block';
21826
+ buttonAccept.onclick = () => {
21827
+ acceptHandler && acceptHandler();
21828
+ userInfoPermissionModal.style.display = 'none';
21829
+ };
21830
+ buttonDeny.onclick = () => {
21831
+ denyHandler && denyHandler();
21832
+ userInfoPermissionModal.style.display = 'none';
21833
+ };
21813
21834
  };
21814
21835
 
21815
21836
  /*! *****************************************************************************
@@ -34671,38 +34692,51 @@ var zlib$2 = /*#__PURE__*/Object.freeze({
34671
34692
  'default': zlib$1
34672
34693
  });
34673
34694
 
34674
- var name = "axios";
34675
- var version$1 = "0.21.1";
34676
- var description = "Promise based HTTP client for the browser and node.js";
34677
- var main = "index.js";
34678
- var scripts = {
34679
- test: "grunt test && bundlesize",
34680
- start: "node ./sandbox/server.js",
34681
- build: "NODE_ENV=production grunt build",
34682
- preversion: "npm test",
34683
- version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json",
34684
- postversion: "git push && git push --tags",
34685
- examples: "node ./examples/server.js",
34686
- coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
34687
- fix: "eslint --fix lib/**/*.js"
34695
+ var _from = "axios@0.21.1";
34696
+ var _id = "axios@0.21.1";
34697
+ var _inBundle = false;
34698
+ var _integrity = "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
34699
+ var _location = "/zmp-sdk/axios";
34700
+ var _phantomChildren = {
34688
34701
  };
34689
- var repository = {
34690
- type: "git",
34691
- url: "https://github.com/axios/axios.git"
34702
+ var _requested = {
34703
+ type: "version",
34704
+ registry: true,
34705
+ raw: "axios@0.21.1",
34706
+ name: "axios",
34707
+ escapedName: "axios",
34708
+ rawSpec: "0.21.1",
34709
+ saveSpec: null,
34710
+ fetchSpec: "0.21.1"
34692
34711
  };
34693
- var keywords = [
34694
- "xhr",
34695
- "http",
34696
- "ajax",
34697
- "promise",
34698
- "node"
34712
+ var _requiredBy = [
34713
+ "/zmp-sdk"
34699
34714
  ];
34700
- var author = "Matt Zabriskie";
34701
- var license = "MIT";
34715
+ var _resolved = "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz";
34716
+ var _shasum = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
34717
+ var _spec = "axios@0.21.1";
34718
+ var _where = "/Users/nguyentuankiet/Work/Zalo/Projects/ZaloMiniProgram/TestNewFunction";
34719
+ var author = {
34720
+ name: "Matt Zabriskie"
34721
+ };
34722
+ var browser = {
34723
+ "./lib/adapters/http.js": "./lib/adapters/xhr.js"
34724
+ };
34702
34725
  var bugs = {
34703
34726
  url: "https://github.com/axios/axios/issues"
34704
34727
  };
34705
- var homepage = "https://github.com/axios/axios";
34728
+ var bundleDependencies = false;
34729
+ var bundlesize = [
34730
+ {
34731
+ path: "./dist/axios.min.js",
34732
+ threshold: "5kB"
34733
+ }
34734
+ ];
34735
+ var dependencies = {
34736
+ "follow-redirects": "^1.10.0"
34737
+ };
34738
+ var deprecated = false;
34739
+ var description = "Promise based HTTP client for the browser and node.js";
34706
34740
  var devDependencies = {
34707
34741
  bundlesize: "^0.17.0",
34708
34742
  coveralls: "^3.0.0",
@@ -34740,62 +34774,105 @@ var devDependencies = {
34740
34774
  webpack: "^1.13.1",
34741
34775
  "webpack-dev-server": "^1.14.1"
34742
34776
  };
34743
- var browser = {
34744
- "./lib/adapters/http.js": "./lib/adapters/xhr.js"
34745
- };
34777
+ var homepage = "https://github.com/axios/axios";
34746
34778
  var jsdelivr = "dist/axios.min.js";
34747
- var unpkg = "dist/axios.min.js";
34748
- var typings = "./index.d.ts";
34749
- var dependencies = {
34750
- "follow-redirects": "^1.10.0"
34751
- };
34752
- var bundlesize = [
34753
- {
34754
- path: "./dist/axios.min.js",
34755
- threshold: "5kB"
34756
- }
34779
+ var keywords = [
34780
+ "xhr",
34781
+ "http",
34782
+ "ajax",
34783
+ "promise",
34784
+ "node"
34757
34785
  ];
34786
+ var license = "MIT";
34787
+ var main = "index.js";
34788
+ var name = "axios";
34789
+ var repository = {
34790
+ type: "git",
34791
+ url: "git+https://github.com/axios/axios.git"
34792
+ };
34793
+ var scripts = {
34794
+ build: "NODE_ENV=production grunt build",
34795
+ coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
34796
+ examples: "node ./examples/server.js",
34797
+ fix: "eslint --fix lib/**/*.js",
34798
+ postversion: "git push && git push --tags",
34799
+ preversion: "npm test",
34800
+ start: "node ./sandbox/server.js",
34801
+ test: "grunt test && bundlesize",
34802
+ version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"
34803
+ };
34804
+ var typings = "./index.d.ts";
34805
+ var unpkg = "dist/axios.min.js";
34806
+ var version$1 = "0.21.1";
34758
34807
  var _package = {
34759
- name: name,
34760
- version: version$1,
34761
- description: description,
34762
- main: main,
34763
- scripts: scripts,
34764
- repository: repository,
34765
- keywords: keywords,
34808
+ _from: _from,
34809
+ _id: _id,
34810
+ _inBundle: _inBundle,
34811
+ _integrity: _integrity,
34812
+ _location: _location,
34813
+ _phantomChildren: _phantomChildren,
34814
+ _requested: _requested,
34815
+ _requiredBy: _requiredBy,
34816
+ _resolved: _resolved,
34817
+ _shasum: _shasum,
34818
+ _spec: _spec,
34819
+ _where: _where,
34766
34820
  author: author,
34767
- license: license,
34821
+ browser: browser,
34768
34822
  bugs: bugs,
34769
- homepage: homepage,
34823
+ bundleDependencies: bundleDependencies,
34824
+ bundlesize: bundlesize,
34825
+ dependencies: dependencies,
34826
+ deprecated: deprecated,
34827
+ description: description,
34770
34828
  devDependencies: devDependencies,
34771
- browser: browser,
34829
+ homepage: homepage,
34772
34830
  jsdelivr: jsdelivr,
34773
- unpkg: unpkg,
34831
+ keywords: keywords,
34832
+ license: license,
34833
+ main: main,
34834
+ name: name,
34835
+ repository: repository,
34836
+ scripts: scripts,
34774
34837
  typings: typings,
34775
- dependencies: dependencies,
34776
- bundlesize: bundlesize
34838
+ unpkg: unpkg,
34839
+ version: version$1
34777
34840
  };
34778
34841
 
34779
34842
  var _package$1 = /*#__PURE__*/Object.freeze({
34780
34843
  __proto__: null,
34781
- name: name,
34782
- version: version$1,
34783
- description: description,
34784
- main: main,
34785
- scripts: scripts,
34786
- repository: repository,
34787
- keywords: keywords,
34844
+ _from: _from,
34845
+ _id: _id,
34846
+ _inBundle: _inBundle,
34847
+ _integrity: _integrity,
34848
+ _location: _location,
34849
+ _phantomChildren: _phantomChildren,
34850
+ _requested: _requested,
34851
+ _requiredBy: _requiredBy,
34852
+ _resolved: _resolved,
34853
+ _shasum: _shasum,
34854
+ _spec: _spec,
34855
+ _where: _where,
34788
34856
  author: author,
34789
- license: license,
34857
+ browser: browser,
34790
34858
  bugs: bugs,
34791
- homepage: homepage,
34859
+ bundleDependencies: bundleDependencies,
34860
+ bundlesize: bundlesize,
34861
+ dependencies: dependencies,
34862
+ deprecated: deprecated,
34863
+ description: description,
34792
34864
  devDependencies: devDependencies,
34793
- browser: browser,
34865
+ homepage: homepage,
34794
34866
  jsdelivr: jsdelivr,
34795
- unpkg: unpkg,
34867
+ keywords: keywords,
34868
+ license: license,
34869
+ main: main,
34870
+ name: name,
34871
+ repository: repository,
34872
+ scripts: scripts,
34796
34873
  typings: typings,
34797
- dependencies: dependencies,
34798
- bundlesize: bundlesize,
34874
+ unpkg: unpkg,
34875
+ version: version$1,
34799
34876
  'default': _package
34800
34877
  });
34801
34878
 
@@ -36181,11 +36258,13 @@ const apiResponse = {
36181
36258
  loginFailed: () => new CommonError(RESPONSE_CODE.UNAUTHORIZED, MESSAGES.LOGIN_FAILED),
36182
36259
  loginRequired: () => new CommonError(RESPONSE_CODE.BAD_REQUEST, MESSAGES.LOGIN_REQUIRED),
36183
36260
  missingParam: (params) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Missing required argument: ${params}`),
36184
- wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`)
36261
+ wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
36262
+ cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
36263
+ lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`)
36185
36264
  }
36186
36265
  };
36187
36266
 
36188
- var version = "2.14.1";
36267
+ var version = "2.15.0-1";
36189
36268
 
36190
36269
  class Basics {
36191
36270
  /**
@@ -38055,6 +38134,28 @@ class Zalo {
38055
38134
  uid: object.data.id
38056
38135
  };
38057
38136
  break;
38137
+ case 'zmp':
38138
+ const currentUrl = new URL(location.href);
38139
+ const params = new URLSearchParams();
38140
+ params.append('title', object.data.title);
38141
+ params.append('description', object.data.description);
38142
+ params.append('thumbnail', object.data.thumbnail);
38143
+ params.append('url', `https://zalo.me/app/link${currentUrl.pathname}${currentUrl.search}`);
38144
+ const config = {
38145
+ headers: {
38146
+ 'Content-Type': 'application/x-www-form-urlencoded'
38147
+ }
38148
+ };
38149
+ const res = yield axios.post('https://h5.zalo.me/openapi/create-sharelink', params, config);
38150
+ const resData = res.data;
38151
+ if (!resData || resData.err !== 0) {
38152
+ throw apiResponse.error.cannotGetShareInfo();
38153
+ }
38154
+ object.type = 'link';
38155
+ reqData = {
38156
+ link: resData.data.shareUrl,
38157
+ chatOnly: object.data.chatOnly ? 1 : 0
38158
+ };
38058
38159
  }
38059
38160
  return yield this.callNative(ACTION.OPEN_SHARESHEET, Object.assign(Object.assign({ type: ShareSheetType[object.type] }, reqData), { zapp: this.getZAppId() }), {
38060
38161
  haveTimeout: false
@@ -38084,6 +38185,33 @@ class Zalo {
38084
38185
  });
38085
38186
  });
38086
38187
  }
38188
+ /**
38189
+ * Cho phép ứng dụng mở giao diện chọn user và get về list noise id
38190
+ *
38191
+ * @async
38192
+ * @function openProfilePicker
38193
+ * @category Zalo
38194
+ *
38195
+ */
38196
+ static openProfilePicker(object) {
38197
+ return __awaiter(this, void 0, void 0, function* () {
38198
+ return new Promise((resolve, reject) => {
38199
+ this.callNative(ACTION.MP_OPEN_PROFILE_PICKER, {}, {
38200
+ isMultiCallback: true,
38201
+ callback: (nativeData, error) => {
38202
+ if (error)
38203
+ reject(error);
38204
+ if (nativeData.error_code === 0) {
38205
+ const res = {
38206
+ userIDs: nativeData.data
38207
+ };
38208
+ resolve(res);
38209
+ }
38210
+ }
38211
+ });
38212
+ });
38213
+ });
38214
+ }
38087
38215
  }
38088
38216
 
38089
38217
  class Routing {
@@ -38201,19 +38329,23 @@ class ZaloMiniProgramSDK extends ZJSBridgeProvider {
38201
38329
  });
38202
38330
  _ZaloMiniProgramSDK_callJump.set(this, () => {
38203
38331
  return new Promise((resolve, reject) => {
38204
- this.callNative('action.jump.login', {})
38205
- .then((data) => {
38206
- const cookies = (data && data.cookiesOAuthLogins) || [];
38207
- const jsToken = cookies.find((cookie) => cookie.name === CONT.COOKIE_NAME.JS_TOKEN);
38208
- if (jsToken) {
38209
- this.setJSToken(jsToken.value);
38210
- window.ZJSBridge.setJSToken &&
38211
- window.ZJSBridge.setJSToken(jsToken.value);
38212
- }
38213
- resolve(cookies);
38214
- })
38215
- .catch((error) => {
38216
- reject(error);
38332
+ showUserInfoPermissionModal(() => {
38333
+ this.callNative('action.jump.login', {})
38334
+ .then((data) => {
38335
+ const cookies = (data && data.cookiesOAuthLogins) || [];
38336
+ const jsToken = cookies.find((cookie) => cookie.name === CONT.COOKIE_NAME.JS_TOKEN);
38337
+ if (jsToken) {
38338
+ this.setJSToken(jsToken.value);
38339
+ window.ZJSBridge.setJSToken &&
38340
+ window.ZJSBridge.setJSToken(jsToken.value);
38341
+ }
38342
+ resolve(cookies);
38343
+ })
38344
+ .catch((error) => {
38345
+ reject(error);
38346
+ });
38347
+ }, () => {
38348
+ reject(new Error("User denied!"));
38217
38349
  });
38218
38350
  });
38219
38351
  });
@@ -38274,6 +38406,7 @@ class ZaloMiniProgramSDK extends ZJSBridgeProvider {
38274
38406
  this.sendDataToPreviousMiniApp = Routing.sendDataToPreviousMiniApp;
38275
38407
  this.onCallbackData = Routing.onCallbackData;
38276
38408
  this.getPhoneNumber = OpenApi.getPhoneNumber;
38409
+ this.openProfilePicker = Zalo.openProfilePicker;
38277
38410
  __classPrivateFieldSet(this, _ZaloMiniProgramSDK_zOAuth, null);
38278
38411
  __classPrivateFieldSet(this, _ZaloMiniProgramSDK_accessToken, null);
38279
38412
  this.isShowNavBar = true;
@@ -38645,6 +38778,12 @@ class MockSDK {
38645
38778
  number: ''
38646
38779
  });
38647
38780
  };
38781
+ this.openProfilePicker = () => {
38782
+ console.warn('This api only works on zalo app');
38783
+ return Promise.resolve({
38784
+ userIDs: []
38785
+ });
38786
+ };
38648
38787
  }
38649
38788
  on(event, fn, context) {
38650
38789
  throw new Error('Method not implemented.');
@@ -40163,6 +40302,9 @@ class SDKCreator {
40163
40302
  else if (type === 'oa' && isEmpty(object.data.id)) {
40164
40303
  throw apiResponse.error.wrongTypeParam('object.data.id', 'valid id', 'empty');
40165
40304
  }
40305
+ else if (type === 'zmp' && (object.data.title.length > 100 || object.data.description.length > 400)) {
40306
+ throw apiResponse.error.lengthInvalid(`'title' or 'description'`);
40307
+ }
40166
40308
  return yield __classPrivateFieldGet(this, _SDKCreator_sdkManager).openShareSheet(object);
40167
40309
  });
40168
40310
  }
@@ -40299,6 +40441,9 @@ class SDKCreator {
40299
40441
  getPhoneNumber(object) {
40300
40442
  return __classPrivateFieldGet(this, _SDKCreator_sdkManager).getPhoneNumber();
40301
40443
  }
40444
+ openProfilePicker(object) {
40445
+ return __classPrivateFieldGet(this, _SDKCreator_sdkManager).openProfilePicker();
40446
+ }
40302
40447
  }
40303
40448
  _SDKCreator_sdkManager = new WeakMap();
40304
40449
  __decorate([
@@ -40387,7 +40532,11 @@ __decorate([
40387
40532
  handleError
40388
40533
  ], SDKCreator.prototype, "clearStorage", null);
40389
40534
  __decorate([
40390
- handleError
40535
+ handleError,
40536
+ validate,
40537
+ __param(0, checkType('object', {
40538
+ avatarType: ['small', 'normal', 'large']
40539
+ }))
40391
40540
  ], SDKCreator.prototype, "getUserInfo", null);
40392
40541
  __decorate([
40393
40542
  handleError
@@ -40498,7 +40647,7 @@ __decorate([
40498
40647
  handleError,
40499
40648
  validate,
40500
40649
  __param(0, checkType('object', {
40501
- type: ['image', 'gif', 'video', 'link', 'oa'],
40650
+ type: ['image', 'gif', 'video', 'link', 'oa', 'zmp'],
40502
40651
  data: 'object'
40503
40652
  })),
40504
40653
  __param(0, checkType('object', {
@@ -40510,7 +40659,10 @@ __decorate([
40510
40659
  videoUrl: 'string',
40511
40660
  link: 'string',
40512
40661
  chatOnly: 'boolean',
40513
- id: 'string'
40662
+ id: 'string',
40663
+ title: 'string',
40664
+ description: 'string',
40665
+ thumbnail: 'url'
40514
40666
  }, 'data')),
40515
40667
  __param(0, required('type', 'data'))
40516
40668
  ], SDKCreator.prototype, "openShareSheet", null);
@@ -40629,6 +40781,9 @@ __decorate([
40629
40781
  __decorate([
40630
40782
  handleError
40631
40783
  ], SDKCreator.prototype, "getPhoneNumber", null);
40784
+ __decorate([
40785
+ handleError
40786
+ ], SDKCreator.prototype, "openProfilePicker", null);
40632
40787
  class ZaloMiniAppSDKCreator extends SDKCreator {
40633
40788
  getInstance() {
40634
40789
  return ZaloMiniProgramSDK.getInstance();