@cloudbase/wx-cloud-client-sdk 1.3.1 → 1.5.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/lib/index.d.ts CHANGED
@@ -1,4 +1,12 @@
1
1
  import { CloudBaseInstance, ExtendedCloudBaseInstance } from './types';
2
+ import { generateHTTPClient } from './orm/http-orm-client';
2
3
  export declare function init(cloud: CloudBaseInstance): ExtendedCloudBaseInstance;
3
4
  export * from './types';
4
- export { generateHTTPClient } from './orm/http-orm-client';
5
+ export { generateHTTPClient };
6
+ declare const _default: {
7
+ init: typeof init;
8
+ generateHTTPClient: (callFunction: import("./types").CallFunction, fetch: (options: import("@cloudbase/adapter-interface").IFetchOptions) => any, baseUrl: string, options?: {
9
+ sqlBaseUrl?: string | undefined;
10
+ } | undefined) => import("./types").OrmClient;
11
+ };
12
+ export default _default;
@@ -1,5 +1,14 @@
1
1
  import { SDKRequestInterface } from '@cloudbase/adapter-interface';
2
2
  import { OrmClient, CallFunction } from '../types';
3
3
  type ModelFetch = NonNullable<SDKRequestInterface['fetch']>;
4
- export declare const generateHTTPClient: (callFunction: CallFunction, fetch: ModelFetch, baseUrl: string) => OrmClient;
4
+ export declare const enum EQUERY_PARAM_TYPE {
5
+ ARRAY = "ARRAY",
6
+ BOOLEAN = "BOOLEAN",
7
+ NUMBER = "NUMBER",
8
+ OBJECT = "OBJECT",
9
+ STRING = "STRING"
10
+ }
11
+ export declare const generateHTTPClient: (callFunction: CallFunction, fetch: ModelFetch, baseUrl: string, options?: {
12
+ sqlBaseUrl?: string;
13
+ }) => OrmClient;
5
14
  export {};
@@ -284,6 +284,25 @@ export interface DataModelMethods<T> {
284
284
  records: T[];
285
285
  total?: number;
286
286
  }>>;
287
+ /**
288
+ * 运行 sql模板
289
+ * @param {Object} params - 包含模板名、模板参数、环境类型的参数对象。
290
+ * @returns {Promise<MethodResponse<unknown>>} 包含记录列表和总数的Promise对象。
291
+ */
292
+ runSQLTemplate?: (params: {
293
+ /**
294
+ * 模板名称
295
+ */
296
+ templateName: string;
297
+ /**
298
+ * 模板参数
299
+ */
300
+ params?: Record<string, any>;
301
+ /**
302
+ * 请求数据的环境类型,默认是 prod,可选值有 prod 和 pre
303
+ */
304
+ envType?: EnvType;
305
+ }) => Promise<MethodResponse<unknown>>;
287
306
  }
288
307
  /**
289
308
  * 模型方法返回值的定义
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  /******************************************************************************
4
6
  Copyright (c) Microsoft Corporation.
5
7
 
@@ -143,7 +145,7 @@ function getUserAgent() {
143
145
  return ua_1;
144
146
  }
145
147
  }
146
- var VERSION = "1.3.1";
148
+ var VERSION = "1.5.0";
147
149
 
148
150
  var callDataSource = function (_a) {
149
151
  var dataSourceName = _a.dataSourceName, methodName = _a.methodName, params = _a.params, realMethodName = _a.realMethodName, callFunction = _a.callFunction, _b = _a.envType, envType = _b === void 0 ? 'prod' : _b, mode = _a.mode;
@@ -432,7 +434,7 @@ var HTTP_DATA_MODEL_METHODS = {
432
434
  };
433
435
  var UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
434
436
  var NOT_SUPPORTED_CODE = 'NotSupported';
435
- var generateHTTPClient = function (callFunction, fetch, baseUrl) {
437
+ var generateHTTPClient = function (callFunction, fetch, baseUrl, options) {
436
438
  var rawQueryClient = createRawQueryClient(callFunction);
437
439
  return new Proxy({}, {
438
440
  get: function (_, modelName) {
@@ -441,7 +443,7 @@ var generateHTTPClient = function (callFunction, fetch, baseUrl) {
441
443
  if (Object.prototype.hasOwnProperty.call(rawQueryClient, modelName)) {
442
444
  return rawQueryClient[modelName];
443
445
  }
444
- return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch);
446
+ return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch, options);
445
447
  }
446
448
  });
447
449
  };
@@ -451,59 +453,139 @@ var createWxCloudSDKError = function (message, modelName, methodName, code, requ
451
453
  requestId: requestId
452
454
  });
453
455
  };
454
- var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch) {
456
+ var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch, options) {
455
457
  var client = new Proxy({}, {
456
458
  get: function (_, methodName) {
457
- var httpDataModelMethod = HTTP_DATA_MODEL_METHODS[methodName];
458
- if (!httpDataModelMethod) {
459
- var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
460
- throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
461
- originError: error,
462
- code: NOT_SUPPORTED_CODE,
463
- requestId: 'N/A'
464
- });
459
+ if (methodName !== 'runSQLTemplate') {
460
+ var httpDataModelMethod_1 = HTTP_DATA_MODEL_METHODS[methodName];
461
+ if (!httpDataModelMethod_1) {
462
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
463
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
464
+ originError: error,
465
+ code: NOT_SUPPORTED_CODE,
466
+ requestId: 'N/A'
467
+ });
468
+ }
469
+ return function (params) {
470
+ if (params === void 0) { params = {}; }
471
+ return __awaiter(void 0, void 0, void 0, function () {
472
+ var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
473
+ var _b;
474
+ return __generator(this, function (_c) {
475
+ switch (_c.label) {
476
+ case 0:
477
+ getUrl = httpDataModelMethod_1.getUrl, method = httpDataModelMethod_1.method, _a = httpDataModelMethod_1.defaultParams, defaultParams = _a === void 0 ? {} : _a;
478
+ effectiveParams = Object.assign({}, defaultParams, params);
479
+ envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
480
+ url = [baseUrl, envType, getUrl(modelName)].join('/');
481
+ _c.label = 1;
482
+ case 1:
483
+ _c.trys.push([1, 3, , 4]);
484
+ return [4 /*yield*/, fetch({
485
+ url: url,
486
+ body: JSON.stringify(effectiveParams),
487
+ method: method
488
+ })];
489
+ case 2:
490
+ result = _c.sent();
491
+ if (result.code) {
492
+ // 抛出错误
493
+ throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
494
+ }
495
+ if (methodName === 'get') {
496
+ // 和 callFunction 实现保持一致
497
+ Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
498
+ }
499
+ return [2 /*return*/, result];
500
+ case 3:
501
+ error_1 = _c.sent();
502
+ throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
503
+ originError: error_1
504
+ });
505
+ case 4: return [2 /*return*/];
506
+ }
507
+ });
508
+ });
509
+ };
465
510
  }
466
- return function (params) {
467
- if (params === void 0) { params = {}; }
468
- return __awaiter(void 0, void 0, void 0, function () {
469
- var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
470
- var _b;
471
- return __generator(this, function (_c) {
472
- switch (_c.label) {
511
+ else {
512
+ if (!(options === null || options === void 0 ? void 0 : options.sqlBaseUrl)) {
513
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
514
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
515
+ originError: error,
516
+ code: NOT_SUPPORTED_CODE,
517
+ requestId: 'N/A'
518
+ });
519
+ }
520
+ return function (props) { return __awaiter(void 0, void 0, void 0, function () {
521
+ var params, templateName, _envType, envType, url, parameter, result, error_2;
522
+ var _a, _b, _c, _d, _e, _f, _g, _h;
523
+ return __generator(this, function (_j) {
524
+ switch (_j.label) {
473
525
  case 0:
474
- getUrl = httpDataModelMethod.getUrl, method = httpDataModelMethod.method, _a = httpDataModelMethod.defaultParams, defaultParams = _a === void 0 ? {} : _a;
475
- effectiveParams = Object.assign({}, defaultParams, params);
476
- envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
477
- url = [baseUrl, envType, getUrl(modelName)].join('/');
478
- _c.label = 1;
526
+ params = props.params, templateName = props.templateName, _envType = props.envType;
527
+ envType = _envType === 'pre' ? 'pre' : 'prod';
528
+ url = [options.sqlBaseUrl, envType, templateName, 'run'].join('/');
529
+ parameter = Object.entries(params || {}).reduce(function (list, _a) {
530
+ var key = _a[0], value = _a[1];
531
+ if (value !== undefined) {
532
+ var type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
533
+ var typeofValue = typeof value;
534
+ switch (typeofValue) {
535
+ case 'boolean': {
536
+ type = "BOOLEAN" /* EQUERY_PARAM_TYPE.BOOLEAN */;
537
+ break;
538
+ }
539
+ case 'number': {
540
+ type = "NUMBER" /* EQUERY_PARAM_TYPE.NUMBER */;
541
+ break;
542
+ }
543
+ case 'string': {
544
+ type = "STRING" /* EQUERY_PARAM_TYPE.STRING */;
545
+ break;
546
+ }
547
+ default: {
548
+ if (Array.isArray(value)) {
549
+ type = "ARRAY" /* EQUERY_PARAM_TYPE.ARRAY */;
550
+ }
551
+ else {
552
+ type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
553
+ }
554
+ }
555
+ }
556
+ list.push({
557
+ key: key,
558
+ type: type,
559
+ value: type === "STRING" /* EQUERY_PARAM_TYPE.STRING */ ? value : JSON.stringify(value)
560
+ });
561
+ }
562
+ return list;
563
+ }, []);
564
+ _j.label = 1;
479
565
  case 1:
480
- _c.trys.push([1, 3, , 4]);
566
+ _j.trys.push([1, 3, , 4]);
481
567
  return [4 /*yield*/, fetch({
482
568
  url: url,
483
- body: JSON.stringify(effectiveParams),
484
- method: method
569
+ body: JSON.stringify({ parameter: parameter }),
570
+ method: 'POST'
485
571
  })];
486
572
  case 2:
487
- result = _c.sent();
488
- if (result.code) {
573
+ result = _j.sent();
574
+ if ((_a = result === null || result === void 0 ? void 0 : result.Response) === null || _a === void 0 ? void 0 : _a.Error) {
489
575
  // 抛出错误
490
- throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
491
- }
492
- if (methodName === 'get') {
493
- // 和 callFunction 实现保持一致
494
- Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
576
+ throw createWxCloudSDKError((_c = (_b = result === null || result === void 0 ? void 0 : result.Response) === null || _b === void 0 ? void 0 : _b.Error) === null || _c === void 0 ? void 0 : _c.Message, modelName, methodName, (_e = (_d = result === null || result === void 0 ? void 0 : result.Response) === null || _d === void 0 ? void 0 : _d.Error) === null || _e === void 0 ? void 0 : _e.Code, (_f = result === null || result === void 0 ? void 0 : result.Response) === null || _f === void 0 ? void 0 : _f.RequestId);
495
577
  }
496
- return [2 /*return*/, result];
578
+ return [2 /*return*/, __assign(__assign({}, ((_g = result === null || result === void 0 ? void 0 : result.Response) !== null && _g !== void 0 ? _g : {})), { data: (_h = result === null || result === void 0 ? void 0 : result.Response) === null || _h === void 0 ? void 0 : _h.Data })];
497
579
  case 3:
498
- error_1 = _c.sent();
499
- throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
500
- originError: error_1
580
+ error_2 = _j.sent();
581
+ throw new WxCloudSDKError((error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || UNKNOWN_ERROR_MESSAGE, {
582
+ originError: error_2
501
583
  });
502
584
  case 4: return [2 /*return*/];
503
585
  }
504
586
  });
505
- });
506
- };
587
+ }); };
588
+ }
507
589
  }
508
590
  });
509
591
  return client;
@@ -520,6 +602,11 @@ function init(cloud) {
520
602
  cloud.models = ormClientImpl;
521
603
  return cloud;
522
604
  }
605
+ var index = {
606
+ init: init,
607
+ generateHTTPClient: generateHTTPClient
608
+ };
523
609
 
610
+ exports.default = index;
524
611
  exports.generateHTTPClient = generateHTTPClient;
525
612
  exports.init = init;
@@ -141,7 +141,7 @@ function getUserAgent() {
141
141
  return ua_1;
142
142
  }
143
143
  }
144
- var VERSION = "1.3.1";
144
+ var VERSION = "1.5.0";
145
145
 
146
146
  var callDataSource = function (_a) {
147
147
  var dataSourceName = _a.dataSourceName, methodName = _a.methodName, params = _a.params, realMethodName = _a.realMethodName, callFunction = _a.callFunction, _b = _a.envType, envType = _b === void 0 ? 'prod' : _b, mode = _a.mode;
@@ -430,7 +430,7 @@ var HTTP_DATA_MODEL_METHODS = {
430
430
  };
431
431
  var UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
432
432
  var NOT_SUPPORTED_CODE = 'NotSupported';
433
- var generateHTTPClient = function (callFunction, fetch, baseUrl) {
433
+ var generateHTTPClient = function (callFunction, fetch, baseUrl, options) {
434
434
  var rawQueryClient = createRawQueryClient(callFunction);
435
435
  return new Proxy({}, {
436
436
  get: function (_, modelName) {
@@ -439,7 +439,7 @@ var generateHTTPClient = function (callFunction, fetch, baseUrl) {
439
439
  if (Object.prototype.hasOwnProperty.call(rawQueryClient, modelName)) {
440
440
  return rawQueryClient[modelName];
441
441
  }
442
- return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch);
442
+ return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch, options);
443
443
  }
444
444
  });
445
445
  };
@@ -449,59 +449,139 @@ var createWxCloudSDKError = function (message, modelName, methodName, code, requ
449
449
  requestId: requestId
450
450
  });
451
451
  };
452
- var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch) {
452
+ var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch, options) {
453
453
  var client = new Proxy({}, {
454
454
  get: function (_, methodName) {
455
- var httpDataModelMethod = HTTP_DATA_MODEL_METHODS[methodName];
456
- if (!httpDataModelMethod) {
457
- var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
458
- throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
459
- originError: error,
460
- code: NOT_SUPPORTED_CODE,
461
- requestId: 'N/A'
462
- });
455
+ if (methodName !== 'runSQLTemplate') {
456
+ var httpDataModelMethod_1 = HTTP_DATA_MODEL_METHODS[methodName];
457
+ if (!httpDataModelMethod_1) {
458
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
459
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
460
+ originError: error,
461
+ code: NOT_SUPPORTED_CODE,
462
+ requestId: 'N/A'
463
+ });
464
+ }
465
+ return function (params) {
466
+ if (params === void 0) { params = {}; }
467
+ return __awaiter(void 0, void 0, void 0, function () {
468
+ var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
469
+ var _b;
470
+ return __generator(this, function (_c) {
471
+ switch (_c.label) {
472
+ case 0:
473
+ getUrl = httpDataModelMethod_1.getUrl, method = httpDataModelMethod_1.method, _a = httpDataModelMethod_1.defaultParams, defaultParams = _a === void 0 ? {} : _a;
474
+ effectiveParams = Object.assign({}, defaultParams, params);
475
+ envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
476
+ url = [baseUrl, envType, getUrl(modelName)].join('/');
477
+ _c.label = 1;
478
+ case 1:
479
+ _c.trys.push([1, 3, , 4]);
480
+ return [4 /*yield*/, fetch({
481
+ url: url,
482
+ body: JSON.stringify(effectiveParams),
483
+ method: method
484
+ })];
485
+ case 2:
486
+ result = _c.sent();
487
+ if (result.code) {
488
+ // 抛出错误
489
+ throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
490
+ }
491
+ if (methodName === 'get') {
492
+ // 和 callFunction 实现保持一致
493
+ Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
494
+ }
495
+ return [2 /*return*/, result];
496
+ case 3:
497
+ error_1 = _c.sent();
498
+ throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
499
+ originError: error_1
500
+ });
501
+ case 4: return [2 /*return*/];
502
+ }
503
+ });
504
+ });
505
+ };
463
506
  }
464
- return function (params) {
465
- if (params === void 0) { params = {}; }
466
- return __awaiter(void 0, void 0, void 0, function () {
467
- var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
468
- var _b;
469
- return __generator(this, function (_c) {
470
- switch (_c.label) {
507
+ else {
508
+ if (!(options === null || options === void 0 ? void 0 : options.sqlBaseUrl)) {
509
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
510
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
511
+ originError: error,
512
+ code: NOT_SUPPORTED_CODE,
513
+ requestId: 'N/A'
514
+ });
515
+ }
516
+ return function (props) { return __awaiter(void 0, void 0, void 0, function () {
517
+ var params, templateName, _envType, envType, url, parameter, result, error_2;
518
+ var _a, _b, _c, _d, _e, _f, _g, _h;
519
+ return __generator(this, function (_j) {
520
+ switch (_j.label) {
471
521
  case 0:
472
- getUrl = httpDataModelMethod.getUrl, method = httpDataModelMethod.method, _a = httpDataModelMethod.defaultParams, defaultParams = _a === void 0 ? {} : _a;
473
- effectiveParams = Object.assign({}, defaultParams, params);
474
- envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
475
- url = [baseUrl, envType, getUrl(modelName)].join('/');
476
- _c.label = 1;
522
+ params = props.params, templateName = props.templateName, _envType = props.envType;
523
+ envType = _envType === 'pre' ? 'pre' : 'prod';
524
+ url = [options.sqlBaseUrl, envType, templateName, 'run'].join('/');
525
+ parameter = Object.entries(params || {}).reduce(function (list, _a) {
526
+ var key = _a[0], value = _a[1];
527
+ if (value !== undefined) {
528
+ var type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
529
+ var typeofValue = typeof value;
530
+ switch (typeofValue) {
531
+ case 'boolean': {
532
+ type = "BOOLEAN" /* EQUERY_PARAM_TYPE.BOOLEAN */;
533
+ break;
534
+ }
535
+ case 'number': {
536
+ type = "NUMBER" /* EQUERY_PARAM_TYPE.NUMBER */;
537
+ break;
538
+ }
539
+ case 'string': {
540
+ type = "STRING" /* EQUERY_PARAM_TYPE.STRING */;
541
+ break;
542
+ }
543
+ default: {
544
+ if (Array.isArray(value)) {
545
+ type = "ARRAY" /* EQUERY_PARAM_TYPE.ARRAY */;
546
+ }
547
+ else {
548
+ type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
549
+ }
550
+ }
551
+ }
552
+ list.push({
553
+ key: key,
554
+ type: type,
555
+ value: type === "STRING" /* EQUERY_PARAM_TYPE.STRING */ ? value : JSON.stringify(value)
556
+ });
557
+ }
558
+ return list;
559
+ }, []);
560
+ _j.label = 1;
477
561
  case 1:
478
- _c.trys.push([1, 3, , 4]);
562
+ _j.trys.push([1, 3, , 4]);
479
563
  return [4 /*yield*/, fetch({
480
564
  url: url,
481
- body: JSON.stringify(effectiveParams),
482
- method: method
565
+ body: JSON.stringify({ parameter: parameter }),
566
+ method: 'POST'
483
567
  })];
484
568
  case 2:
485
- result = _c.sent();
486
- if (result.code) {
569
+ result = _j.sent();
570
+ if ((_a = result === null || result === void 0 ? void 0 : result.Response) === null || _a === void 0 ? void 0 : _a.Error) {
487
571
  // 抛出错误
488
- throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
489
- }
490
- if (methodName === 'get') {
491
- // 和 callFunction 实现保持一致
492
- Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
572
+ throw createWxCloudSDKError((_c = (_b = result === null || result === void 0 ? void 0 : result.Response) === null || _b === void 0 ? void 0 : _b.Error) === null || _c === void 0 ? void 0 : _c.Message, modelName, methodName, (_e = (_d = result === null || result === void 0 ? void 0 : result.Response) === null || _d === void 0 ? void 0 : _d.Error) === null || _e === void 0 ? void 0 : _e.Code, (_f = result === null || result === void 0 ? void 0 : result.Response) === null || _f === void 0 ? void 0 : _f.RequestId);
493
573
  }
494
- return [2 /*return*/, result];
574
+ return [2 /*return*/, __assign(__assign({}, ((_g = result === null || result === void 0 ? void 0 : result.Response) !== null && _g !== void 0 ? _g : {})), { data: (_h = result === null || result === void 0 ? void 0 : result.Response) === null || _h === void 0 ? void 0 : _h.Data })];
495
575
  case 3:
496
- error_1 = _c.sent();
497
- throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
498
- originError: error_1
576
+ error_2 = _j.sent();
577
+ throw new WxCloudSDKError((error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || UNKNOWN_ERROR_MESSAGE, {
578
+ originError: error_2
499
579
  });
500
580
  case 4: return [2 /*return*/];
501
581
  }
502
582
  });
503
- });
504
- };
583
+ }); };
584
+ }
505
585
  }
506
586
  });
507
587
  return client;
@@ -518,5 +598,9 @@ function init(cloud) {
518
598
  cloud.models = ormClientImpl;
519
599
  return cloud;
520
600
  }
601
+ var index = {
602
+ init: init,
603
+ generateHTTPClient: generateHTTPClient
604
+ };
521
605
 
522
- export { generateHTTPClient, init };
606
+ export { index as default, generateHTTPClient, init };
@@ -147,7 +147,7 @@
147
147
  return ua_1;
148
148
  }
149
149
  }
150
- var VERSION = "1.3.1";
150
+ var VERSION = "1.5.0";
151
151
 
152
152
  var callDataSource = function (_a) {
153
153
  var dataSourceName = _a.dataSourceName, methodName = _a.methodName, params = _a.params, realMethodName = _a.realMethodName, callFunction = _a.callFunction, _b = _a.envType, envType = _b === void 0 ? 'prod' : _b, mode = _a.mode;
@@ -436,7 +436,7 @@
436
436
  };
437
437
  var UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
438
438
  var NOT_SUPPORTED_CODE = 'NotSupported';
439
- var generateHTTPClient = function (callFunction, fetch, baseUrl) {
439
+ var generateHTTPClient = function (callFunction, fetch, baseUrl, options) {
440
440
  var rawQueryClient = createRawQueryClient(callFunction);
441
441
  return new Proxy({}, {
442
442
  get: function (_, modelName) {
@@ -445,7 +445,7 @@
445
445
  if (Object.prototype.hasOwnProperty.call(rawQueryClient, modelName)) {
446
446
  return rawQueryClient[modelName];
447
447
  }
448
- return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch);
448
+ return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch, options);
449
449
  }
450
450
  });
451
451
  };
@@ -455,59 +455,139 @@
455
455
  requestId: requestId
456
456
  });
457
457
  };
458
- var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch) {
458
+ var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch, options) {
459
459
  var client = new Proxy({}, {
460
460
  get: function (_, methodName) {
461
- var httpDataModelMethod = HTTP_DATA_MODEL_METHODS[methodName];
462
- if (!httpDataModelMethod) {
463
- var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
464
- throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
465
- originError: error,
466
- code: NOT_SUPPORTED_CODE,
467
- requestId: 'N/A'
468
- });
461
+ if (methodName !== 'runSQLTemplate') {
462
+ var httpDataModelMethod_1 = HTTP_DATA_MODEL_METHODS[methodName];
463
+ if (!httpDataModelMethod_1) {
464
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
465
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
466
+ originError: error,
467
+ code: NOT_SUPPORTED_CODE,
468
+ requestId: 'N/A'
469
+ });
470
+ }
471
+ return function (params) {
472
+ if (params === void 0) { params = {}; }
473
+ return __awaiter(void 0, void 0, void 0, function () {
474
+ var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
475
+ var _b;
476
+ return __generator(this, function (_c) {
477
+ switch (_c.label) {
478
+ case 0:
479
+ getUrl = httpDataModelMethod_1.getUrl, method = httpDataModelMethod_1.method, _a = httpDataModelMethod_1.defaultParams, defaultParams = _a === void 0 ? {} : _a;
480
+ effectiveParams = Object.assign({}, defaultParams, params);
481
+ envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
482
+ url = [baseUrl, envType, getUrl(modelName)].join('/');
483
+ _c.label = 1;
484
+ case 1:
485
+ _c.trys.push([1, 3, , 4]);
486
+ return [4 /*yield*/, fetch({
487
+ url: url,
488
+ body: JSON.stringify(effectiveParams),
489
+ method: method
490
+ })];
491
+ case 2:
492
+ result = _c.sent();
493
+ if (result.code) {
494
+ // 抛出错误
495
+ throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
496
+ }
497
+ if (methodName === 'get') {
498
+ // 和 callFunction 实现保持一致
499
+ Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
500
+ }
501
+ return [2 /*return*/, result];
502
+ case 3:
503
+ error_1 = _c.sent();
504
+ throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
505
+ originError: error_1
506
+ });
507
+ case 4: return [2 /*return*/];
508
+ }
509
+ });
510
+ });
511
+ };
469
512
  }
470
- return function (params) {
471
- if (params === void 0) { params = {}; }
472
- return __awaiter(void 0, void 0, void 0, function () {
473
- var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
474
- var _b;
475
- return __generator(this, function (_c) {
476
- switch (_c.label) {
513
+ else {
514
+ if (!(options === null || options === void 0 ? void 0 : options.sqlBaseUrl)) {
515
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
516
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
517
+ originError: error,
518
+ code: NOT_SUPPORTED_CODE,
519
+ requestId: 'N/A'
520
+ });
521
+ }
522
+ return function (props) { return __awaiter(void 0, void 0, void 0, function () {
523
+ var params, templateName, _envType, envType, url, parameter, result, error_2;
524
+ var _a, _b, _c, _d, _e, _f, _g, _h;
525
+ return __generator(this, function (_j) {
526
+ switch (_j.label) {
477
527
  case 0:
478
- getUrl = httpDataModelMethod.getUrl, method = httpDataModelMethod.method, _a = httpDataModelMethod.defaultParams, defaultParams = _a === void 0 ? {} : _a;
479
- effectiveParams = Object.assign({}, defaultParams, params);
480
- envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
481
- url = [baseUrl, envType, getUrl(modelName)].join('/');
482
- _c.label = 1;
528
+ params = props.params, templateName = props.templateName, _envType = props.envType;
529
+ envType = _envType === 'pre' ? 'pre' : 'prod';
530
+ url = [options.sqlBaseUrl, envType, templateName, 'run'].join('/');
531
+ parameter = Object.entries(params || {}).reduce(function (list, _a) {
532
+ var key = _a[0], value = _a[1];
533
+ if (value !== undefined) {
534
+ var type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
535
+ var typeofValue = typeof value;
536
+ switch (typeofValue) {
537
+ case 'boolean': {
538
+ type = "BOOLEAN" /* EQUERY_PARAM_TYPE.BOOLEAN */;
539
+ break;
540
+ }
541
+ case 'number': {
542
+ type = "NUMBER" /* EQUERY_PARAM_TYPE.NUMBER */;
543
+ break;
544
+ }
545
+ case 'string': {
546
+ type = "STRING" /* EQUERY_PARAM_TYPE.STRING */;
547
+ break;
548
+ }
549
+ default: {
550
+ if (Array.isArray(value)) {
551
+ type = "ARRAY" /* EQUERY_PARAM_TYPE.ARRAY */;
552
+ }
553
+ else {
554
+ type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
555
+ }
556
+ }
557
+ }
558
+ list.push({
559
+ key: key,
560
+ type: type,
561
+ value: type === "STRING" /* EQUERY_PARAM_TYPE.STRING */ ? value : JSON.stringify(value)
562
+ });
563
+ }
564
+ return list;
565
+ }, []);
566
+ _j.label = 1;
483
567
  case 1:
484
- _c.trys.push([1, 3, , 4]);
568
+ _j.trys.push([1, 3, , 4]);
485
569
  return [4 /*yield*/, fetch({
486
570
  url: url,
487
- body: JSON.stringify(effectiveParams),
488
- method: method
571
+ body: JSON.stringify({ parameter: parameter }),
572
+ method: 'POST'
489
573
  })];
490
574
  case 2:
491
- result = _c.sent();
492
- if (result.code) {
575
+ result = _j.sent();
576
+ if ((_a = result === null || result === void 0 ? void 0 : result.Response) === null || _a === void 0 ? void 0 : _a.Error) {
493
577
  // 抛出错误
494
- throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
495
- }
496
- if (methodName === 'get') {
497
- // 和 callFunction 实现保持一致
498
- Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
578
+ throw createWxCloudSDKError((_c = (_b = result === null || result === void 0 ? void 0 : result.Response) === null || _b === void 0 ? void 0 : _b.Error) === null || _c === void 0 ? void 0 : _c.Message, modelName, methodName, (_e = (_d = result === null || result === void 0 ? void 0 : result.Response) === null || _d === void 0 ? void 0 : _d.Error) === null || _e === void 0 ? void 0 : _e.Code, (_f = result === null || result === void 0 ? void 0 : result.Response) === null || _f === void 0 ? void 0 : _f.RequestId);
499
579
  }
500
- return [2 /*return*/, result];
580
+ return [2 /*return*/, __assign(__assign({}, ((_g = result === null || result === void 0 ? void 0 : result.Response) !== null && _g !== void 0 ? _g : {})), { data: (_h = result === null || result === void 0 ? void 0 : result.Response) === null || _h === void 0 ? void 0 : _h.Data })];
501
581
  case 3:
502
- error_1 = _c.sent();
503
- throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
504
- originError: error_1
582
+ error_2 = _j.sent();
583
+ throw new WxCloudSDKError((error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || UNKNOWN_ERROR_MESSAGE, {
584
+ originError: error_2
505
585
  });
506
586
  case 4: return [2 /*return*/];
507
587
  }
508
588
  });
509
- });
510
- };
589
+ }); };
590
+ }
511
591
  }
512
592
  });
513
593
  return client;
@@ -524,8 +604,15 @@
524
604
  cloud.models = ormClientImpl;
525
605
  return cloud;
526
606
  }
607
+ var index = {
608
+ init: init,
609
+ generateHTTPClient: generateHTTPClient
610
+ };
527
611
 
612
+ exports.default = index;
528
613
  exports.generateHTTPClient = generateHTTPClient;
529
614
  exports.init = init;
530
615
 
616
+ Object.defineProperty(exports, '__esModule', { value: true });
617
+
531
618
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/wx-cloud-client-sdk",
3
- "version": "1.3.1",
3
+ "version": "1.5.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },