crh-jssdk 0.10.33 → 0.10.35

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.
@@ -130,7 +130,12 @@ exports.default = {
130
130
  */
131
131
  goWebview: function (url) {
132
132
  var timestamp = new Date().getTime();
133
- var pinurl = url.includes('?') ? url + '&timestamp=' + timestamp : url + '?timestamp=' + timestamp;
133
+ var safeUrl = typeof url === "string" ? url : "".concat(url || "");
134
+ // 低版本 iOS WebView 不支持 String.prototype.includes,这里使用 indexOf 判定
135
+ var pinurl = safeUrl.indexOf("?") > -1
136
+ ? "".concat(safeUrl, "&timestamp=").concat(timestamp)
137
+ : "".concat(safeUrl, "?timestamp=").concat(timestamp);
138
+ console.log('pinurl', pinurl);
134
139
  if (utils_1.ios) {
135
140
  location.href = "client://hxsecurity.frame.router/browser?url=".concat(encodeURIComponent(pinurl), "&rp_flag_push_to_stack_directly=true&rp_flag_back_to_last_tab=true&rp_flag_finish_when_back_to_last_tab=true&hideNavBar=1&isHiddenNavigationBar=1");
136
141
  }
@@ -306,9 +311,9 @@ exports.default = {
306
311
  });
307
312
  },
308
313
  /**
309
- * 下载pdf文件
314
+ * 在app内打开pdf文件
310
315
  */
311
- downloadPDFFile: function (url, title) {
316
+ openPDFFile: function (url, title) {
312
317
  return __awaiter(this, void 0, void 0, function () {
313
318
  var typeList, type, params;
314
319
  return __generator(this, function (_a) {
@@ -317,8 +322,8 @@ exports.default = {
317
322
  type = "PDF";
318
323
  params = {
319
324
  url: url,
320
- // filetype: type,
321
- // title: title,
325
+ filetype: type,
326
+ title: title,
322
327
  pdfFileName: title
323
328
  };
324
329
  console.log("HXDownloadFile", params);
@@ -331,6 +336,26 @@ exports.default = {
331
336
  });
332
337
  });
333
338
  },
339
+ /**
340
+ * 在app内打开浏览器
341
+ * @param url 浏览器地址
342
+ */
343
+ doOpenBrowser: function (url) {
344
+ return __awaiter(this, void 0, void 0, function () {
345
+ return __generator(this, function (_a) {
346
+ console.log("要调用doOpenBrowser了", url);
347
+ return [2 /*return*/, new Promise(function (resolve, reject) {
348
+ utils_1.globalBridge.bridgeCallHandler("Promise", "doOpenBrowser", { url: url }).then(function () {
349
+ console.log("doOpenBrowser---resolve");
350
+ resolve(void 0);
351
+ }).catch(function (err) {
352
+ console.log(err, "doOpenBrowser---reject");
353
+ reject(err);
354
+ });
355
+ })];
356
+ });
357
+ });
358
+ },
334
359
  /**
335
360
  * 获取Bridge实例(供其他模块使用)
336
361
  */
@@ -89,78 +89,81 @@ var BUSINESS = /** @class */ (function () {
89
89
  }
90
90
  BUSINESS.prototype.initSdk = function () {
91
91
  return __awaiter(this, void 0, void 0, function () {
92
- var Obj, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
93
- return __generator(this, function (_l) {
94
- switch (_l.label) {
92
+ var Obj, _a, _b, _c, _d, _e, _f, error_1, _g, _h, _j, _k;
93
+ var _l, _m;
94
+ return __generator(this, function (_o) {
95
+ switch (_o.label) {
95
96
  case 0:
96
97
  console.log("start initSdk");
97
98
  Obj = __assign(__assign(__assign({}, base_1.default), profession_1.default), user_1.default);
98
99
  if (!(+this.sdkType === 1)) return [3 /*break*/, 1];
99
100
  this.sdkObj = Obj;
100
- return [3 /*break*/, 11];
101
+ return [3 /*break*/, 15];
101
102
  case 1:
102
103
  if (!(+this.sdkType === 2)) return [3 /*break*/, 5];
103
104
  _a = this;
104
105
  _b = [__assign({}, Obj)];
105
106
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-cxzq")); })];
106
107
  case 2:
107
- _c = [__assign.apply(void 0, _b.concat([(_l.sent()).default]))];
108
+ _c = [__assign.apply(void 0, _b.concat([(_o.sent()).default]))];
108
109
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-cxzq")); })];
109
110
  case 3:
110
- _d = [__assign.apply(void 0, _c.concat([(_l.sent()).default]))];
111
+ _d = [__assign.apply(void 0, _c.concat([(_o.sent()).default]))];
111
112
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-cxzq")); })];
112
113
  case 4:
113
- _a.sdkObj = __assign.apply(void 0, _d.concat([(_l.sent()).default]));
114
+ _a.sdkObj = __assign.apply(void 0, _d.concat([(_o.sent()).default]));
114
115
  console.log(this.sdkObj, "sdkObj---jssdk");
115
116
  this.isApp = this.sdkObj.isApp();
116
117
  this.webviewType = this.sdkObj.webviewType();
117
- return [3 /*break*/, 11];
118
+ return [3 /*break*/, 15];
118
119
  case 5:
119
120
  if (!(+this.sdkType === 3)) return [3 /*break*/, 7];
120
121
  _e = this;
121
122
  _f = [{}];
122
123
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-cy")); })];
123
124
  case 6:
124
- _e.sdkObj = __assign.apply(void 0, _f.concat([(_l.sent()).default]));
125
+ _e.sdkObj = __assign.apply(void 0, _f.concat([(_o.sent()).default]));
125
126
  console.log(this.sdkObj, "sdkObj---jssdk");
126
127
  this.isApp = this.sdkObj.isApp();
127
128
  this.webviewType = this.sdkObj.webviewType();
128
- return [3 /*break*/, 11];
129
+ return [3 /*break*/, 15];
129
130
  case 7:
130
- if (!(+this.sdkType === 4)) return [3 /*break*/, 11];
131
+ if (!(+this.sdkType === 4)) return [3 /*break*/, 15];
131
132
  console.log("初始化联储证券SDK...");
133
+ if (!(typeof window !== "undefined" &&
134
+ window.ClientTHS &&
135
+ typeof window.ClientTHS.init === "function")) return [3 /*break*/, 11];
136
+ _o.label = 8;
137
+ case 8:
138
+ _o.trys.push([8, 10, , 11]);
139
+ return [4 /*yield*/, ((_m = (_l = window.ClientTHS).init) === null || _m === void 0 ? void 0 : _m.call(_l))];
140
+ case 9:
141
+ _o.sent();
142
+ console.log("ClientTHS初始化完成");
143
+ return [3 /*break*/, 11];
144
+ case 10:
145
+ error_1 = _o.sent();
146
+ console.error("ClientTHS初始化失败:", error_1);
147
+ return [3 /*break*/, 11];
148
+ case 11:
132
149
  // 联储证券使用Bridge版本
133
150
  _g = this;
134
151
  _h = [__assign({}, Obj)];
135
152
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-lczq")); })];
136
- case 8:
137
- _j = [__assign.apply(void 0, _h.concat([(_l.sent()).default]))];
153
+ case 12:
154
+ _j = [__assign.apply(void 0, _h.concat([(_o.sent()).default]))];
138
155
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-lczq")); })];
139
- case 9:
140
- _k = [__assign.apply(void 0, _j.concat([(_l.sent()).default]))];
156
+ case 13:
157
+ _k = [__assign.apply(void 0, _j.concat([(_o.sent()).default]))];
141
158
  return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-lczq")); })];
142
- case 10:
159
+ case 14:
143
160
  // 联储证券使用Bridge版本
144
- _g.sdkObj = __assign.apply(void 0, _k.concat([(_l.sent()).default]));
161
+ _g.sdkObj = __assign.apply(void 0, _k.concat([(_o.sent()).default]));
145
162
  console.log("sdkObj---jssdk(Bridge版本)", this.sdkObj);
146
163
  this.isApp = this.sdkObj.isApp();
147
164
  this.webviewType = this.sdkObj.webviewType();
148
- // 异步等待Bridge准备就绪,但不阻塞初始化
149
- // 使用 try-catch 包裹,避免未捕获的 Promise 错误
150
- try {
151
- this.bridge.waitForReady(5000).then(function () {
152
- console.log("Bridge通信已准备就绪");
153
- }).catch(function (error) {
154
- // 静默处理超时错误,不影响SDK初始化流程
155
- console.warn("Bridge初始化超时或失败:", error);
156
- });
157
- }
158
- catch (error) {
159
- // 捕获同步错误
160
- console.warn("Bridge waitForReady调用异常:", error);
161
- }
162
- _l.label = 11;
163
- case 11:
165
+ _o.label = 15;
166
+ case 15:
164
167
  // 设置Bridge实例到sdkObj中,供各模块使用
165
168
  if (this.sdkObj) {
166
169
  this.sdkObj.bridge = this.bridge;
@@ -318,12 +321,19 @@ var BUSINESS = /** @class */ (function () {
318
321
  }
319
322
  return this.sdkObj.followOfficialAccount(appid);
320
323
  };
321
- //下载pdf文件
322
- BUSINESS.prototype.downloadPDFFile = function (url, title) {
323
- if (!this.sdkObj.downloadPDFFile) {
324
- return (0, utils_1.empty)("downloadPDFFile");
324
+ //在app内打开pdf文件
325
+ BUSINESS.prototype.openPDFFile = function (url, title) {
326
+ if (!this.sdkObj.openPDFFile) {
327
+ return (0, utils_1.empty)("openPDFFile");
328
+ }
329
+ return this.sdkObj.openPDFFile(url, title);
330
+ };
331
+ //在app内打开浏览器
332
+ BUSINESS.prototype.doOpenBrowser = function (url) {
333
+ if (!this.sdkObj.doOpenBrowser) {
334
+ return (0, utils_1.empty)("doOpenBrowser");
325
335
  }
326
- return this.sdkObj.downloadPDFFile(url, title);
336
+ return this.sdkObj.doOpenBrowser(url);
327
337
  };
328
338
  return BUSINESS;
329
339
  }());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crh-jssdk",
3
- "version": "0.10.33",
3
+ "version": "0.10.35",
4
4
  "description": "crh-jssdk",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {