zmp-sdk 2.14.2 → 2.15.0-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.
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) {
@@ -21562,6 +21563,7 @@ const ACTION_HAVE_CALLBACK = [
21562
21563
  ];
21563
21564
  const RESPONSE_CODE = {
21564
21565
  BAD_REQUEST: -1400,
21566
+ INTERNAL_SERVER_ERROR: -1500,
21565
21567
  UNAUTHORIZED: -1401,
21566
21568
  FORBIDDEN: -1403
21567
21569
  };
@@ -21587,7 +21589,7 @@ const ZALO_SUPPORT_STORAGE_VERSION = {
21587
21589
  const REGEXP_SPECIAL_UNICODE = new RegExp('[\\u0300-\\u036f]', 'g');
21588
21590
  const REGEXP_ACCENT_D = new RegExp('[đ|Đ]', 'g');
21589
21591
  const REGEXP_SPACES = new RegExp('\\s', 'g');
21590
- const debug$2 = src("zmp:utils:common");
21592
+ const debug$2 = src('zmp:utils:common');
21591
21593
  /**
21592
21594
  * Checks if a url is valid
21593
21595
  * @param {string} string URL
@@ -21687,10 +21689,11 @@ const isType = (argument, type) => {
21687
21689
  const isArrayType = lowerCaseType === 'array' ||
21688
21690
  lowerCaseType === 'array<number>' ||
21689
21691
  lowerCaseType === 'array<string>';
21690
- if ((isArrayType &&
21691
- ((lowerCaseType === 'array' && Array.isArray(argument)) ||
21692
- (lowerCaseType === 'array<number>' && isArrayNumber(argument)) ||
21693
- (lowerCaseType === 'array<string>' && isArrayString(argument)))) ||
21692
+ if ((lowerCaseType === 'url' && isValidUrl(argument)) ||
21693
+ (isArrayType &&
21694
+ ((lowerCaseType === 'array' && Array.isArray(argument)) ||
21695
+ (lowerCaseType === 'array<number>' && isArrayNumber(argument)) ||
21696
+ (lowerCaseType === 'array<string>' && isArrayString(argument)))) ||
21694
21697
  (!Array.isArray(argument) && typeof argument === type)) {
21695
21698
  return true;
21696
21699
  }
@@ -21810,6 +21813,23 @@ const stringToData = (data) => {
21810
21813
  console.log(error);
21811
21814
  return data;
21812
21815
  }
21816
+ };
21817
+ const showUserInfoPermissionModal = (acceptHandler, denyHandler) => {
21818
+ const userInfoPermissionModal = document.getElementById('zmp-permission-container');
21819
+ const buttonAccept = document.getElementById('button-accept');
21820
+ const buttonDeny = document.getElementById('button-deny');
21821
+ if (!userInfoPermissionModal || !buttonAccept || !buttonDeny)
21822
+ return;
21823
+ // show modal
21824
+ userInfoPermissionModal.style.display = 'block';
21825
+ buttonAccept.onclick = () => {
21826
+ acceptHandler && acceptHandler();
21827
+ userInfoPermissionModal.style.display = 'none';
21828
+ };
21829
+ buttonDeny.onclick = () => {
21830
+ denyHandler && denyHandler();
21831
+ userInfoPermissionModal.style.display = 'none';
21832
+ };
21813
21833
  };
21814
21834
 
21815
21835
  /*! *****************************************************************************
@@ -34671,38 +34691,51 @@ var zlib$2 = /*#__PURE__*/Object.freeze({
34671
34691
  'default': zlib$1
34672
34692
  });
34673
34693
 
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"
34694
+ var _from = "axios@0.21.1";
34695
+ var _id = "axios@0.21.1";
34696
+ var _inBundle = false;
34697
+ var _integrity = "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
34698
+ var _location = "/zmp-sdk/axios";
34699
+ var _phantomChildren = {
34688
34700
  };
34689
- var repository = {
34690
- type: "git",
34691
- url: "https://github.com/axios/axios.git"
34701
+ var _requested = {
34702
+ type: "version",
34703
+ registry: true,
34704
+ raw: "axios@0.21.1",
34705
+ name: "axios",
34706
+ escapedName: "axios",
34707
+ rawSpec: "0.21.1",
34708
+ saveSpec: null,
34709
+ fetchSpec: "0.21.1"
34692
34710
  };
34693
- var keywords = [
34694
- "xhr",
34695
- "http",
34696
- "ajax",
34697
- "promise",
34698
- "node"
34711
+ var _requiredBy = [
34712
+ "/zmp-sdk"
34699
34713
  ];
34700
- var author = "Matt Zabriskie";
34701
- var license = "MIT";
34714
+ var _resolved = "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz";
34715
+ var _shasum = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
34716
+ var _spec = "axios@0.21.1";
34717
+ var _where = "/Users/nguyentuankiet/Work/Zalo/Projects/ZaloMiniProgram/TestNewFunction";
34718
+ var author = {
34719
+ name: "Matt Zabriskie"
34720
+ };
34721
+ var browser = {
34722
+ "./lib/adapters/http.js": "./lib/adapters/xhr.js"
34723
+ };
34702
34724
  var bugs = {
34703
34725
  url: "https://github.com/axios/axios/issues"
34704
34726
  };
34705
- var homepage = "https://github.com/axios/axios";
34727
+ var bundleDependencies = false;
34728
+ var bundlesize = [
34729
+ {
34730
+ path: "./dist/axios.min.js",
34731
+ threshold: "5kB"
34732
+ }
34733
+ ];
34734
+ var dependencies = {
34735
+ "follow-redirects": "^1.10.0"
34736
+ };
34737
+ var deprecated = false;
34738
+ var description = "Promise based HTTP client for the browser and node.js";
34706
34739
  var devDependencies = {
34707
34740
  bundlesize: "^0.17.0",
34708
34741
  coveralls: "^3.0.0",
@@ -34740,62 +34773,105 @@ var devDependencies = {
34740
34773
  webpack: "^1.13.1",
34741
34774
  "webpack-dev-server": "^1.14.1"
34742
34775
  };
34743
- var browser = {
34744
- "./lib/adapters/http.js": "./lib/adapters/xhr.js"
34745
- };
34776
+ var homepage = "https://github.com/axios/axios";
34746
34777
  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
- }
34778
+ var keywords = [
34779
+ "xhr",
34780
+ "http",
34781
+ "ajax",
34782
+ "promise",
34783
+ "node"
34757
34784
  ];
34785
+ var license = "MIT";
34786
+ var main = "index.js";
34787
+ var name = "axios";
34788
+ var repository = {
34789
+ type: "git",
34790
+ url: "git+https://github.com/axios/axios.git"
34791
+ };
34792
+ var scripts = {
34793
+ build: "NODE_ENV=production grunt build",
34794
+ coveralls: "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
34795
+ examples: "node ./examples/server.js",
34796
+ fix: "eslint --fix lib/**/*.js",
34797
+ postversion: "git push && git push --tags",
34798
+ preversion: "npm test",
34799
+ start: "node ./sandbox/server.js",
34800
+ test: "grunt test && bundlesize",
34801
+ version: "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"
34802
+ };
34803
+ var typings = "./index.d.ts";
34804
+ var unpkg = "dist/axios.min.js";
34805
+ var version$1 = "0.21.1";
34758
34806
  var _package = {
34759
- name: name,
34760
- version: version$1,
34761
- description: description,
34762
- main: main,
34763
- scripts: scripts,
34764
- repository: repository,
34765
- keywords: keywords,
34807
+ _from: _from,
34808
+ _id: _id,
34809
+ _inBundle: _inBundle,
34810
+ _integrity: _integrity,
34811
+ _location: _location,
34812
+ _phantomChildren: _phantomChildren,
34813
+ _requested: _requested,
34814
+ _requiredBy: _requiredBy,
34815
+ _resolved: _resolved,
34816
+ _shasum: _shasum,
34817
+ _spec: _spec,
34818
+ _where: _where,
34766
34819
  author: author,
34767
- license: license,
34820
+ browser: browser,
34768
34821
  bugs: bugs,
34769
- homepage: homepage,
34822
+ bundleDependencies: bundleDependencies,
34823
+ bundlesize: bundlesize,
34824
+ dependencies: dependencies,
34825
+ deprecated: deprecated,
34826
+ description: description,
34770
34827
  devDependencies: devDependencies,
34771
- browser: browser,
34828
+ homepage: homepage,
34772
34829
  jsdelivr: jsdelivr,
34773
- unpkg: unpkg,
34830
+ keywords: keywords,
34831
+ license: license,
34832
+ main: main,
34833
+ name: name,
34834
+ repository: repository,
34835
+ scripts: scripts,
34774
34836
  typings: typings,
34775
- dependencies: dependencies,
34776
- bundlesize: bundlesize
34837
+ unpkg: unpkg,
34838
+ version: version$1
34777
34839
  };
34778
34840
 
34779
34841
  var _package$1 = /*#__PURE__*/Object.freeze({
34780
34842
  __proto__: null,
34781
- name: name,
34782
- version: version$1,
34783
- description: description,
34784
- main: main,
34785
- scripts: scripts,
34786
- repository: repository,
34787
- keywords: keywords,
34843
+ _from: _from,
34844
+ _id: _id,
34845
+ _inBundle: _inBundle,
34846
+ _integrity: _integrity,
34847
+ _location: _location,
34848
+ _phantomChildren: _phantomChildren,
34849
+ _requested: _requested,
34850
+ _requiredBy: _requiredBy,
34851
+ _resolved: _resolved,
34852
+ _shasum: _shasum,
34853
+ _spec: _spec,
34854
+ _where: _where,
34788
34855
  author: author,
34789
- license: license,
34856
+ browser: browser,
34790
34857
  bugs: bugs,
34791
- homepage: homepage,
34858
+ bundleDependencies: bundleDependencies,
34859
+ bundlesize: bundlesize,
34860
+ dependencies: dependencies,
34861
+ deprecated: deprecated,
34862
+ description: description,
34792
34863
  devDependencies: devDependencies,
34793
- browser: browser,
34864
+ homepage: homepage,
34794
34865
  jsdelivr: jsdelivr,
34795
- unpkg: unpkg,
34866
+ keywords: keywords,
34867
+ license: license,
34868
+ main: main,
34869
+ name: name,
34870
+ repository: repository,
34871
+ scripts: scripts,
34796
34872
  typings: typings,
34797
- dependencies: dependencies,
34798
- bundlesize: bundlesize,
34873
+ unpkg: unpkg,
34874
+ version: version$1,
34799
34875
  'default': _package
34800
34876
  });
34801
34877
 
@@ -36181,11 +36257,13 @@ const apiResponse = {
36181
36257
  loginFailed: () => new CommonError(RESPONSE_CODE.UNAUTHORIZED, MESSAGES.LOGIN_FAILED),
36182
36258
  loginRequired: () => new CommonError(RESPONSE_CODE.BAD_REQUEST, MESSAGES.LOGIN_REQUIRED),
36183
36259
  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}`)
36260
+ wrongTypeParam: (arg, expected, got) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `Wrong type of parameter '${arg}'. Expected ${expected}, but got ${got}`),
36261
+ cannotGetShareInfo: () => new CommonError(RESPONSE_CODE.INTERNAL_SERVER_ERROR, `Can not get app info to share`),
36262
+ lengthInvalid: (arg) => new CommonError(RESPONSE_CODE.BAD_REQUEST, `${arg} length is invalid.`)
36185
36263
  }
36186
36264
  };
36187
36265
 
36188
- var version = "2.14.2";
36266
+ var version = "2.15.0-0";
36189
36267
 
36190
36268
  class Basics {
36191
36269
  /**
@@ -38055,6 +38133,28 @@ class Zalo {
38055
38133
  uid: object.data.id
38056
38134
  };
38057
38135
  break;
38136
+ case 'zmp':
38137
+ const currentUrl = new URL(location.href);
38138
+ const params = new URLSearchParams();
38139
+ params.append('title', object.data.title);
38140
+ params.append('description', object.data.description);
38141
+ params.append('thumbnail', object.data.thumbnail);
38142
+ params.append('url', `https://zalo.me/app/link${currentUrl.pathname}${currentUrl.search}`);
38143
+ const config = {
38144
+ headers: {
38145
+ 'Content-Type': 'application/x-www-form-urlencoded'
38146
+ }
38147
+ };
38148
+ const res = yield axios.post('https://h5.zalo.me/openapi/create-sharelink', params, config);
38149
+ const resData = res.data;
38150
+ if (!resData || resData.err !== 0) {
38151
+ throw apiResponse.error.cannotGetShareInfo();
38152
+ }
38153
+ object.type = 'link';
38154
+ reqData = {
38155
+ link: resData.data.shareUrl,
38156
+ chatOnly: object.data.chatOnly ? 1 : 0
38157
+ };
38058
38158
  }
38059
38159
  return yield this.callNative(ACTION.OPEN_SHARESHEET, Object.assign(Object.assign({ type: ShareSheetType[object.type] }, reqData), { zapp: this.getZAppId() }), {
38060
38160
  haveTimeout: false
@@ -38201,19 +38301,23 @@ class ZaloMiniProgramSDK extends ZJSBridgeProvider {
38201
38301
  });
38202
38302
  _ZaloMiniProgramSDK_callJump.set(this, () => {
38203
38303
  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);
38304
+ showUserInfoPermissionModal(() => {
38305
+ this.callNative('action.jump.login', {})
38306
+ .then((data) => {
38307
+ const cookies = (data && data.cookiesOAuthLogins) || [];
38308
+ const jsToken = cookies.find((cookie) => cookie.name === CONT.COOKIE_NAME.JS_TOKEN);
38309
+ if (jsToken) {
38310
+ this.setJSToken(jsToken.value);
38311
+ window.ZJSBridge.setJSToken &&
38312
+ window.ZJSBridge.setJSToken(jsToken.value);
38313
+ }
38314
+ resolve(cookies);
38315
+ })
38316
+ .catch((error) => {
38317
+ reject(error);
38318
+ });
38319
+ }, () => {
38320
+ reject(new Error("User denied!"));
38217
38321
  });
38218
38322
  });
38219
38323
  });
@@ -40163,6 +40267,9 @@ class SDKCreator {
40163
40267
  else if (type === 'oa' && isEmpty(object.data.id)) {
40164
40268
  throw apiResponse.error.wrongTypeParam('object.data.id', 'valid id', 'empty');
40165
40269
  }
40270
+ else if (type === 'zmp' && (object.data.title.length > 100 || object.data.description.length > 400)) {
40271
+ throw apiResponse.error.lengthInvalid(`'title' or 'description'`);
40272
+ }
40166
40273
  return yield __classPrivateFieldGet(this, _SDKCreator_sdkManager).openShareSheet(object);
40167
40274
  });
40168
40275
  }
@@ -40502,7 +40609,7 @@ __decorate([
40502
40609
  handleError,
40503
40610
  validate,
40504
40611
  __param(0, checkType('object', {
40505
- type: ['image', 'gif', 'video', 'link', 'oa'],
40612
+ type: ['image', 'gif', 'video', 'link', 'oa', 'zmp'],
40506
40613
  data: 'object'
40507
40614
  })),
40508
40615
  __param(0, checkType('object', {
@@ -40514,7 +40621,10 @@ __decorate([
40514
40621
  videoUrl: 'string',
40515
40622
  link: 'string',
40516
40623
  chatOnly: 'boolean',
40517
- id: 'string'
40624
+ id: 'string',
40625
+ title: 'string',
40626
+ description: 'string',
40627
+ thumbnail: 'url'
40518
40628
  }, 'data')),
40519
40629
  __param(0, required('type', 'data'))
40520
40630
  ], SDKCreator.prototype, "openShareSheet", null);