crh-jssdk 1.0.34 → 1.0.36

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.
@@ -1,30 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * @description 诚通证券基础模块
4
- * 基于WebViewJavascriptBridge实现基础功能
5
- *
6
- * 诚通证券 UA 识别标识:
7
- * - LightOS/web : 诚通证券新 App WebView UA 标识
8
- * - crhsdk : 通用财人汇SDK标识(兼容老版本)
9
- * - ctgsc : 诚通证券标识(备用)
10
- *
11
- * 典型 UA 示例:
12
- * Mozilla/5.0 (Linux; Android 16; ...) ... LightOS/web
13
- *
14
- * 版本号字段:fwv/1.0.0
15
- * 设备号字段:did/xxx
16
- */
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -66,25 +40,11 @@ var utils_1 = require("../utils");
66
40
  // webview类型
67
41
  var webviewType = (function () {
68
42
  var ua = navigator.userAgent;
69
- return {
70
- isCtGsc: true, // 诚通证券标识
71
- isLightOS: ua.includes("LightOS"), // 新 App 标识
72
- isIOS: utils_1.ios,
73
- isAndroid: /Android/i.test(ua),
74
- ua: ua,
75
- };
43
+ return {};
76
44
  })();
77
- /**
78
- * 解析诚通证券版本号
79
- * 从 UA 中提取 fwv/1.0.0 中的 1.0.0
80
- */
81
- var parseCtGscVersion = function (ua) {
82
- var match = ua.match(/fwv\/([\d.]+)/);
83
- return match ? match[1] : "0.0.0";
84
- };
85
45
  var actionMap = {
86
46
  /**
87
- * iOS客户端方法加载函数(诚通证券)
47
+ * iOS客户端方法加载函数(老乐赚老聚财)
88
48
  * @param {string} url
89
49
  */
90
50
  loadIOSNative: function (url) {
@@ -108,85 +68,27 @@ exports.default = {
108
68
  //是否在app内
109
69
  isApp: function () {
110
70
  var ua = navigator.userAgent;
111
- // 诚通证券 App 环境标识(按优先级匹配)
112
71
  var isAppFlags = [
113
- "LightOS", // 诚通证券新 App 标识(最优先)
114
- "ctgsc", // 诚通证券标识
115
- "crhsdk", // 通用财人汇SDK标识(兼容老版本)
72
+ "crhsdk",
116
73
  ];
117
74
  return isAppFlags.some(function (flag) { return ua.includes(flag); });
118
75
  },
119
- /**
120
- * 获取客户端版本号
121
- * 解析 UA 中的 fwv/1.0.0 字段
122
- */
123
- getVersion: function () {
124
- return parseCtGscVersion(navigator.userAgent);
125
- },
126
- // 返回到App
127
- goBack: function () {
128
- return __awaiter(this, arguments, void 0, function (params) {
129
- var backParams, error_1;
130
- if (params === void 0) { params = {}; }
131
- return __generator(this, function (_a) {
132
- switch (_a.label) {
133
- case 0:
134
- _a.trys.push([0, 2, , 3]);
135
- backParams = __assign({ type: "webpage" }, params);
136
- console.log("诚通证券调用goBack,参数:", backParams);
137
- return [4 /*yield*/, utils_1.ctBridge.bridgeCallHandler("Promise", "goback", backParams)];
138
- case 1:
139
- _a.sent();
140
- console.log("诚通证券返回App成功");
141
- return [3 /*break*/, 3];
142
- case 2:
143
- error_1 = _a.sent();
144
- console.error("诚通证券返回App失败:", error_1);
145
- throw error_1;
146
- case 3: return [2 /*return*/];
147
- }
148
- });
149
- });
150
- },
151
- // 关闭页面 closeSJKH
152
- closeSJKH: function () {
153
- return __awaiter(this, void 0, void 0, function () {
154
- var error_2;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0:
158
- _a.trys.push([0, 2, , 3]);
159
- return [4 /*yield*/, this.goBack({ type: "component" })];
160
- case 1:
161
- _a.sent();
162
- return [3 /*break*/, 3];
163
- case 2:
164
- error_2 = _a.sent();
165
- console.error("诚通证券关闭页面失败:", error_2);
166
- // 降级方案:使用 iframe 关闭
167
- if (utils_1.ios) {
168
- actionMap.loadIOSNative("objc://callIOSQuit/");
169
- }
170
- else if (window.jtoJHandle) {
171
- window.jtoJHandle.closeSJKH();
172
- }
173
- return [3 /*break*/, 3];
174
- case 3: return [2 /*return*/];
175
- }
176
- });
177
- });
178
- },
179
76
  // 拦截Android物理返回键事件,并回调给前端 --- 仅安卓
180
77
  interceptBack: function (callback) {
181
- var _a;
182
- (_a = window.jtoJHandle) === null || _a === void 0 ? void 0 : _a.interceptBack("interceptBackCallBack");
78
+ window.jtoJHandle.interceptBack("interceptBackCallBack");
183
79
  window.interceptBackCallBack = function (e) {
184
80
  callback && callback(e);
185
81
  };
186
- // 同时注册 Bridge 方式的回调
187
- utils_1.ctBridge.registerHandler("interceptBack", function (data) {
188
- callback && callback(data);
189
- });
82
+ },
83
+ // 关闭页面 closeSJKH
84
+ closeSJKH: function () {
85
+ if (utils_1.ios) {
86
+ // iphone
87
+ window.location.href = "objc://callIOSQuit/";
88
+ }
89
+ else {
90
+ window.jtoJHandle.closeSJKH();
91
+ }
190
92
  },
191
93
  /**
192
94
  * 通过pageId打开新的webview打开外部链接
@@ -199,13 +101,14 @@ exports.default = {
199
101
  cookieDomain: "",
200
102
  closeBusiness: "closeCallBack",
201
103
  module: "",
202
- identifier: "ctgsc",
104
+ identifier: "zt",
203
105
  };
204
106
  var jsonStr = JSON.stringify(jsonObj);
205
107
  if (utils_1.ios) {
108
+ // iphone
206
109
  actionMap.loadIOSNative("objc://openNewBusiness/$?".concat(jsonStr));
207
110
  }
208
- else if (window.jtoJHandle) {
111
+ else {
209
112
  window.jtoJHandle.openNewBusiness(jsonStr);
210
113
  }
211
114
  },
@@ -224,218 +127,26 @@ exports.default = {
224
127
  if (utils_1.ios) {
225
128
  actionMap.loadIOSNative("objc://openNewBusiness/$?".concat(paramsObj));
226
129
  }
227
- else if (window.jtoJHandle) {
130
+ else {
228
131
  (_b = window.jtoJHandle) === null || _b === void 0 ? void 0 : _b.openNewBusiness(paramsObj);
229
132
  }
230
133
  },
231
134
  /**
232
- * 设置原生状态栏颜色
233
135
  * @param {object} params
234
136
  * @param {string} params.color 状态栏背景颜色,如#ff0000
235
137
  * @param {string} params.wordColorStyle 状态栏文字颜色,0 白色,1 黑色
236
138
  */
237
139
  setStatusBar: function (params) {
238
140
  return __awaiter(this, void 0, void 0, function () {
239
- var error_3;
240
141
  return __generator(this, function (_a) {
241
- switch (_a.label) {
242
- case 0:
243
- console.log("诚通证券设置状态栏参数:", params);
244
- _a.label = 1;
245
- case 1:
246
- _a.trys.push([1, 3, , 4]);
247
- if (utils_1.ios) {
248
- actionMap.loadIOSNative("objc://setAppBackgroundColor/$?".concat(params.color));
249
- }
250
- else if (window.jtoJHandle) {
251
- window.jtoJHandle.setAppBackgroundColor(params.color);
252
- }
253
- // 同时尝试 Bridge 方式
254
- return [4 /*yield*/, utils_1.ctBridge.bridgeCallHandler("", "modifyStatusColor", {
255
- statusColor: params.color,
256
- })];
257
- case 2:
258
- // 同时尝试 Bridge 方式
259
- _a.sent();
260
- console.log("诚通证券设置状态栏颜色成功");
261
- return [2 /*return*/, { success: true }];
262
- case 3:
263
- error_3 = _a.sent();
264
- console.error("诚通证券设置状态栏颜色失败:", error_3);
265
- return [2 /*return*/, { success: false, error: error_3 }];
266
- case 4: return [2 /*return*/];
142
+ if (utils_1.ios) {
143
+ actionMap.loadIOSNative("objc://setAppBackgroundColor/$?".concat(params.color));
267
144
  }
268
- });
269
- });
270
- },
271
- /**
272
- * 获取状态栏颜色(老代码:getNavbar/getStatusBarColor)
273
- * - iOS: objc://getStatusBarColor/$?setNavbar
274
- * - Android: jtoJHandle.getStatusBarColor("setNavbar")
275
- * - App 回调: setNavbar(colorStr)
276
- */
277
- getStatusBarColor: function () {
278
- return new Promise(function (resolve) {
279
- window.setNavbar = function (color) {
280
- console.log("诚通证券获取状态栏颜色:", color);
281
- resolve({ color: color });
282
- };
283
- if (utils_1.ios) {
284
- actionMap.loadIOSNative("objc://getStatusBarColor/$?setNavbar");
285
- }
286
- else if (window.jtoJHandle) {
287
- window.jtoJHandle.getStatusBarColor("setNavbar");
288
- }
289
- else {
290
- resolve({ color: "" });
291
- }
292
- });
293
- },
294
- /**
295
- * 调起 App 内部模块(老代码:openExtraModule)
296
- * @param json JSON字符串 或 对象
297
- * - iOS: objc://openExtraModule/? + json
298
- * - Android: jtoJHandle.openExtraModule(json)
299
- */
300
- openExtraModule: function (json) {
301
- var jsonStr = typeof json === "string" ? json : JSON.stringify(json);
302
- console.log("诚通证券 openExtraModule:", jsonStr);
303
- if (utils_1.ios) {
304
- actionMap.loadIOSNative("objc://openExtraModule/?".concat(jsonStr));
305
- }
306
- else if (window.jtoJHandle) {
307
- window.jtoJHandle.openExtraModule(jsonStr);
308
- }
309
- },
310
- /**
311
- * App 内打开 URL(老代码:openUrl/openSDURL)
312
- * - iOS: objc://openSDURL/$?url&sdkfrom=crh
313
- * - Android: jtoJHandle.openSDURL(url + "&sdkfrom=crh")
314
- */
315
- openSDURL: function (url, sdkfrom) {
316
- if (sdkfrom === void 0) { sdkfrom = "crh"; }
317
- var finalUrl = "".concat(url, "&sdkfrom=").concat(sdkfrom);
318
- console.log("诚通证券 openSDURL:", finalUrl);
319
- if (utils_1.ios) {
320
- actionMap.loadIOSNative("objc://openSDURL/$?".concat(finalUrl));
321
- }
322
- else if (window.jtoJHandle) {
323
- window.jtoJHandle.openSDURL(finalUrl);
324
- }
325
- },
326
- /**
327
- * 跳转 App 交易页面(老代码:jumpSD)— 仅 Android
328
- * - Android: jtoJHandle.jumpSD(url, '1')
329
- */
330
- jumpSD: function (url, flag) {
331
- if (flag === void 0) { flag = "1"; }
332
- console.log("诚通证券 jumpSD:", url, flag);
333
- if (window.jtoJHandle) {
334
- window.jtoJHandle.jumpSD(url, flag);
335
- }
336
- },
337
- /**
338
- * 跳转银行卡管理页(老代码:bankCardManagement)
339
- * - iOS: objc://bankCardManagement/
340
- * - Android: jtoJHandle.bankCardManagement()
341
- */
342
- bankCardManagement: function () {
343
- console.log("诚通证券 bankCardManagement");
344
- if (utils_1.ios) {
345
- actionMap.loadIOSNative("objc://bankCardManagement/");
346
- }
347
- else if (window.jtoJHandle) {
348
- window.jtoJHandle.bankCardManagement();
349
- }
350
- },
351
- /**
352
- * 事件埋点(老代码:onEvent/dataOnEvent)
353
- * - iOS: objc://setCount/? + eventId
354
- * - Android: jtoJHandle.onEvent(eventId, ext)
355
- */
356
- onEvent: function (eventId, ext) {
357
- console.log("诚通证券 onEvent:", eventId, ext);
358
- if (utils_1.ios) {
359
- actionMap.loadIOSNative("objc://setCount/?".concat(eventId));
360
- }
361
- else if (window.jtoJHandle) {
362
- window.jtoJHandle.onEvent(eventId, ext);
363
- }
364
- },
365
- /**
366
- * 注册 JS 事件监听(老代码:registerJsEventTag)
367
- * - iOS: objc://registerJsEventTag/$? + jsonStr
368
- * - Android: jtoJHandle.registerJsEventTag(jsonStr)
369
- */
370
- registerJsEventTag: function (jsonStr) {
371
- console.log("诚通证券 registerJsEventTag:", jsonStr);
372
- if (utils_1.ios) {
373
- actionMap.loadIOSNative("objc://registerJsEventTag/$?".concat(jsonStr));
374
- }
375
- else if (window.jtoJHandle) {
376
- window.jtoJHandle.registerJsEventTag(jsonStr);
377
- }
378
- },
379
- /**
380
- * 清除 App Session(老代码:exit/clearSessionCookie)— 仅 Android
381
- * - Android: jtoJHandle.clearSessionCookie()
382
- */
383
- clearSessionCookie: function () {
384
- console.log("诚通证券 clearSessionCookie");
385
- if (window.jtoJHandle) {
386
- window.jtoJHandle.clearSessionCookie();
387
- }
388
- },
389
- /**
390
- * 获取本机手机号(老代码:getRegistMobileNo)
391
- * - iOS: objc://callIOSGetRegistMobileNo/
392
- * - Android: jtoJHandle.getRegistMobileNo()
393
- * - App 回调: getRegistMobileNoCallback(errorNo, mobileNo, channel)
394
- */
395
- getRegistMobileNo: function () {
396
- return new Promise(function (resolve) {
397
- window.getRegistMobileNoCallback = function (errorNo, mobileNo, channel) {
398
- console.log("诚通证券 getRegistMobileNo 回调:", errorNo, mobileNo, channel);
399
- resolve({ errorNo: errorNo, mobileNo: mobileNo || "", channel: channel });
400
- };
401
- if (utils_1.ios) {
402
- actionMap.loadIOSNative("objc://callIOSGetRegistMobileNo/");
403
- }
404
- else if (window.jtoJHandle) {
405
- window.jtoJHandle.getRegistMobileNo();
406
- }
407
- else {
408
- resolve({ errorNo: -1, mobileNo: "", channel: "" });
409
- }
410
- });
411
- },
412
- /**
413
- * 退出登录(老代码:exit)
414
- * - iOS: 无操作
415
- * - Android: jtoJHandle.clearSessionCookie()
416
- */
417
- exit: function () {
418
- return __awaiter(this, void 0, void 0, function () {
419
- return __generator(this, function (_a) {
420
- try {
421
- if (window.jtoJHandle) {
422
- window.jtoJHandle.clearSessionCookie();
423
- }
424
- console.log("诚通证券退出登录成功");
425
- return [2 /*return*/, { success: true }];
426
- }
427
- catch (error) {
428
- console.error("诚通证券退出登录失败:", error);
429
- return [2 /*return*/, { success: false, error: error }];
145
+ else if (window.jtoJHandle) {
146
+ window.jtoJHandle.setAppBackgroundColor(params.color);
430
147
  }
431
148
  return [2 /*return*/];
432
149
  });
433
150
  });
434
151
  },
435
- /**
436
- * 获取Bridge实例(供其他模块使用)
437
- */
438
- getBridge: function () {
439
- return utils_1.ctBridge;
440
- },
441
152
  };
@@ -84,8 +84,8 @@ var user_1 = __importDefault(require("./user")); // 用户
84
84
  var BUSINESS = /** @class */ (function () {
85
85
  function BUSINESS(sdkType) {
86
86
  this.isApp = false; //是否是app
87
- this.sdkType = sdkType; // 1 财人汇 2 财信 3 新意 4 联储 5 金圆 6 诚通
88
- this.bridge = sdkType === 2 ? utils_1.cxBridge : sdkType === 6 ? utils_1.ctBridge : utils_1.globalBridge; // 初始化Bridge实例
87
+ this.sdkType = sdkType; // 1 财人汇 2 财信 3 新意 4 联储 5 金圆
88
+ this.bridge = sdkType === 2 ? utils_1.cxBridge : utils_1.globalBridge; // 初始化Bridge实例
89
89
  }
90
90
  BUSINESS.prototype.initSdk = function () {
91
91
  return __awaiter(this, void 0, void 0, function () {
@@ -198,7 +198,6 @@ var BUSINESS = /** @class */ (function () {
198
198
  _q.sdkObj = __assign.apply(void 0, _t.concat([(_w.sent()).default]));
199
199
  console.log("sdkObj---jssdk(诚通证券)", this.sdkObj);
200
200
  this.isApp = this.sdkObj.isApp();
201
- this.webviewType = this.sdkObj.webviewType();
202
201
  _w.label = 23;
203
202
  case 23:
204
203
  // 设置Bridge实例到sdkObj中,供各模块使用
@@ -386,11 +385,11 @@ var BUSINESS = /** @class */ (function () {
386
385
  }
387
386
  return this.sdkObj.doOpenCRHSDK(params);
388
387
  };
389
- //获取Bridge实例(仅限联储证券lczq、金圆统一jy和诚通证券ctgsc使用)
388
+ //获取Bridge实例(仅限联储证券lczq和金圆统一jy使用)
390
389
  BUSINESS.prototype.getBridge = function () {
391
- // 只允许 sdkType === 4 (联储证券)sdkType === 5 (金圆统一)、sdkType === 6 (诚通证券) 使用 getBridge 方法
392
- if (+this.sdkType !== 4 && +this.sdkType !== 5 && +this.sdkType !== 6) {
393
- console.warn("getBridge method is only available for lczq (sdkType: 4), jy (sdkType: 5) or ctgsc (sdkType: 6)");
390
+ // 只允许 sdkType === 4 (联储证券)sdkType === 5 (金圆统一) 使用 getBridge 方法
391
+ if (+this.sdkType !== 4 && +this.sdkType !== 5) {
392
+ console.warn("getBridge method is only available for lczq (sdkType: 4) or jy (sdkType: 5)");
394
393
  return null;
395
394
  }
396
395
  if (!this.sdkObj.getBridge) {