crh-jssdk 1.0.37 → 1.0.39
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/business/base/crh-app-sdk-dyqhzq.js +470 -0
- package/dist/business/index.js +66 -34
- package/dist/business/profession/crh-app-sdk-cctgsc.js +1 -14
- package/dist/business/profession/crh-app-sdk-dyqhzq.js +198 -0
- package/dist/business/user/crh-app-sdk-cctgsc.js +14 -66
- package/dist/business/user/crh-app-sdk-dyqhzq.js +231 -0
- package/dist/business/utils/bridge.js +5 -3
- package/dist/business/utils/index.js +2 -1
- package/package.json +8 -2
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description 东亚前海基础模块 - Bridge版本
|
|
4
|
+
* 基于WebViewJavascriptBridge实现基础功能
|
|
5
|
+
* 东亚前海券商,通过 ua 中包含 qsid/401 来判断
|
|
6
|
+
*/
|
|
7
|
+
var __assign = (this && this.__assign) || function () {
|
|
8
|
+
__assign = Object.assign || function(t) {
|
|
9
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
10
|
+
s = arguments[i];
|
|
11
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
12
|
+
t[p] = s[p];
|
|
13
|
+
}
|
|
14
|
+
return t;
|
|
15
|
+
};
|
|
16
|
+
return __assign.apply(this, arguments);
|
|
17
|
+
};
|
|
18
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
19
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
20
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
21
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
22
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
23
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
24
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
28
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
29
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
30
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
31
|
+
function step(op) {
|
|
32
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
33
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
34
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
35
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
36
|
+
switch (op[0]) {
|
|
37
|
+
case 0: case 1: t = op; break;
|
|
38
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
39
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
40
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
41
|
+
default:
|
|
42
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
43
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
44
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
45
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
46
|
+
if (t[2]) _.ops.pop();
|
|
47
|
+
_.trys.pop(); continue;
|
|
48
|
+
}
|
|
49
|
+
op = body.call(thisArg, _);
|
|
50
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
51
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
+
var utils_1 = require("../utils");
|
|
56
|
+
exports.default = {
|
|
57
|
+
/**
|
|
58
|
+
* 检查是否在App环境中
|
|
59
|
+
* 通过 ua 中是否包含 qsid/401 来判断是否是东亚前海券商
|
|
60
|
+
*/
|
|
61
|
+
isApp: function () {
|
|
62
|
+
var ua = navigator.userAgent;
|
|
63
|
+
console.log("东亚前海 UA:", ua);
|
|
64
|
+
return ua.includes("qsid/591");
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* 获取webview类型
|
|
68
|
+
*/
|
|
69
|
+
webviewType: function () {
|
|
70
|
+
var ua = navigator.userAgent;
|
|
71
|
+
return {
|
|
72
|
+
isDYQHZQ: ua.includes("qsid/591"), // 东亚前海
|
|
73
|
+
isIOS: utils_1.ios,
|
|
74
|
+
isAndroid: /Android/i.test(ua),
|
|
75
|
+
ua: ua,
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
/**
|
|
79
|
+
* 返回到App
|
|
80
|
+
* @param params 返回参数
|
|
81
|
+
*/
|
|
82
|
+
goBack: function () {
|
|
83
|
+
return __awaiter(this, arguments, void 0, function (params) {
|
|
84
|
+
var backParams, error_1;
|
|
85
|
+
if (params === void 0) { params = {}; }
|
|
86
|
+
return __generator(this, function (_a) {
|
|
87
|
+
switch (_a.label) {
|
|
88
|
+
case 0:
|
|
89
|
+
_a.trys.push([0, 2, , 3]);
|
|
90
|
+
backParams = __assign({ type: "webpage" }, params);
|
|
91
|
+
console.log("东亚前海调用goBack,参数:", backParams);
|
|
92
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "goback", backParams)];
|
|
93
|
+
case 1:
|
|
94
|
+
_a.sent();
|
|
95
|
+
console.log("东亚前海返回App成功");
|
|
96
|
+
return [3 /*break*/, 3];
|
|
97
|
+
case 2:
|
|
98
|
+
error_1 = _a.sent();
|
|
99
|
+
console.error("东亚前海返回App失败:", error_1);
|
|
100
|
+
throw error_1;
|
|
101
|
+
case 3: return [2 /*return*/];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
/**
|
|
107
|
+
* 关闭当前页面
|
|
108
|
+
*/
|
|
109
|
+
closeSJKH: function () {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
111
|
+
var error_2;
|
|
112
|
+
return __generator(this, function (_a) {
|
|
113
|
+
switch (_a.label) {
|
|
114
|
+
case 0:
|
|
115
|
+
_a.trys.push([0, 2, , 3]);
|
|
116
|
+
return [4 /*yield*/, this.goBack({ type: "component" })];
|
|
117
|
+
case 1:
|
|
118
|
+
_a.sent();
|
|
119
|
+
return [3 /*break*/, 3];
|
|
120
|
+
case 2:
|
|
121
|
+
error_2 = _a.sent();
|
|
122
|
+
console.error("东亚前海关闭页面失败:", error_2);
|
|
123
|
+
return [3 /*break*/, 3];
|
|
124
|
+
case 3: return [2 /*return*/];
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
},
|
|
129
|
+
/**
|
|
130
|
+
* 跳转到客户端页面(通过JSBridge)
|
|
131
|
+
* @param url 完整跳转链接,与中台路由格式一样
|
|
132
|
+
* @param needTitle 是否显示原生标题栏
|
|
133
|
+
*/
|
|
134
|
+
goWebview: function (params) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
+
var url, _a, needTitle, _b, isWt, gotoUrl, error_3;
|
|
137
|
+
return __generator(this, function (_c) {
|
|
138
|
+
switch (_c.label) {
|
|
139
|
+
case 0:
|
|
140
|
+
url = params.url, _a = params.needTitle, needTitle = _a === void 0 ? true : _a, _b = params.isWt, isWt = _b === void 0 ? false : _b;
|
|
141
|
+
_c.label = 1;
|
|
142
|
+
case 1:
|
|
143
|
+
_c.trys.push([1, 9, , 10]);
|
|
144
|
+
if (!isWt) return [3 /*break*/, 5];
|
|
145
|
+
if (!utils_1.ios) return [3 /*break*/, 2];
|
|
146
|
+
window.location.href = url;
|
|
147
|
+
return [3 /*break*/, 4];
|
|
148
|
+
case 2: return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "gotoNextPage", {
|
|
149
|
+
url: url,
|
|
150
|
+
})];
|
|
151
|
+
case 3:
|
|
152
|
+
_c.sent();
|
|
153
|
+
_c.label = 4;
|
|
154
|
+
case 4: return [2 /*return*/];
|
|
155
|
+
case 5:
|
|
156
|
+
console.log("---ios");
|
|
157
|
+
if (!utils_1.ios) return [3 /*break*/, 6];
|
|
158
|
+
window.location.href = "client://hxsecurity.frame.router/5032?url=".concat(url, "&rp_flag_push_to_stack_directly=1&isHiddenNavigationBar=1&isHiddenBottomBar=1&isNeedWtLogin=1");
|
|
159
|
+
return [2 /*return*/];
|
|
160
|
+
case 6:
|
|
161
|
+
gotoUrl = "client.html?action=ymtz^webid=9995^url=".concat(url, "^isHiddenNavigationBar=").concat(needTitle ? 1 : 0, "^isHiddenBottomBar=1^isNeedWtLogin=1");
|
|
162
|
+
console.log("gotoUrl", gotoUrl);
|
|
163
|
+
console.log("gotoUrl----11", "client.html?action=ymtz^webid=9995^url=".concat(encodeURIComponent(url), "^isHiddenNavigationBar=").concat(needTitle ? 1 : 0, "^isHiddenBottomBar=1^isNeedWtLogin=1"));
|
|
164
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "gotoNextPage", {
|
|
165
|
+
url: gotoUrl,
|
|
166
|
+
})];
|
|
167
|
+
case 7: return [2 /*return*/, _c.sent()];
|
|
168
|
+
case 8: return [3 /*break*/, 10];
|
|
169
|
+
case 9:
|
|
170
|
+
error_3 = _c.sent();
|
|
171
|
+
console.error("东亚前海跳转客户端页面失败:", error_3);
|
|
172
|
+
return [2 /*return*/, { success: false }];
|
|
173
|
+
case 10: return [2 /*return*/];
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
},
|
|
178
|
+
/**
|
|
179
|
+
* 设置原生状态栏颜色
|
|
180
|
+
* 对外统一接口:color(背景色)
|
|
181
|
+
* 内部转换为东亚前海原生接口所需参数
|
|
182
|
+
* @param {object} params
|
|
183
|
+
* @param {string} params.color 状态栏背景颜色,如#ff0000
|
|
184
|
+
*/
|
|
185
|
+
setStatusBar: function (params) {
|
|
186
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
187
|
+
var bridgeParams;
|
|
188
|
+
return __generator(this, function (_a) {
|
|
189
|
+
console.log("东亚前海设置状态栏参数:", params);
|
|
190
|
+
try {
|
|
191
|
+
bridgeParams = {};
|
|
192
|
+
if (utils_1.ios) {
|
|
193
|
+
if (params.color) {
|
|
194
|
+
bridgeParams.statusColor = params.color;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
bridgeParams.statusColorMode = "white";
|
|
199
|
+
}
|
|
200
|
+
console.log("东亚前海调用 modifyStatusColor,参数:", bridgeParams);
|
|
201
|
+
utils_1.dyqhzqBridge.bridgeCallHandler("", "modifyStatusColor", bridgeParams);
|
|
202
|
+
console.log("东亚前海设置状态栏颜色成功");
|
|
203
|
+
return [2 /*return*/, { success: true }];
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
console.error("东亚前海设置状态栏颜色失败:", error);
|
|
207
|
+
throw error;
|
|
208
|
+
}
|
|
209
|
+
return [2 /*return*/];
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
},
|
|
213
|
+
/**
|
|
214
|
+
* 判断颜色是否为浅色
|
|
215
|
+
* 基于颜色的亮度判断:亮度 > 0.5 为浅色
|
|
216
|
+
* @param color 颜色值,如 #ffffff
|
|
217
|
+
*/
|
|
218
|
+
isLightColor: function (color) {
|
|
219
|
+
var hex = color.replace("#", "");
|
|
220
|
+
var r, g, b;
|
|
221
|
+
if (hex.length === 3) {
|
|
222
|
+
r = parseInt(hex[0] + hex[0], 16);
|
|
223
|
+
g = parseInt(hex[1] + hex[1], 16);
|
|
224
|
+
b = parseInt(hex[2] + hex[2], 16);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
r = parseInt(hex.substring(0, 2), 16);
|
|
228
|
+
g = parseInt(hex.substring(2, 4), 16);
|
|
229
|
+
b = parseInt(hex.substring(4, 6), 16);
|
|
230
|
+
}
|
|
231
|
+
var brightness = (r * 299 + g * 587 + b * 114) / 1000;
|
|
232
|
+
return brightness > 128;
|
|
233
|
+
},
|
|
234
|
+
/**
|
|
235
|
+
* 分享功能
|
|
236
|
+
* @param params 分享参数
|
|
237
|
+
*/
|
|
238
|
+
share: function (params) {
|
|
239
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
240
|
+
var shareParams, result, error_4;
|
|
241
|
+
return __generator(this, function (_a) {
|
|
242
|
+
switch (_a.label) {
|
|
243
|
+
case 0:
|
|
244
|
+
_a.trys.push([0, 2, , 3]);
|
|
245
|
+
shareParams = __assign({ type: "1", bmpRes: "3" }, params);
|
|
246
|
+
console.log("东亚前海调用分享,参数:", shareParams);
|
|
247
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "hexinShare", shareParams)];
|
|
248
|
+
case 1:
|
|
249
|
+
result = _a.sent();
|
|
250
|
+
console.log("东亚前海分享调用成功:", result);
|
|
251
|
+
return [2 /*return*/, result];
|
|
252
|
+
case 2:
|
|
253
|
+
error_4 = _a.sent();
|
|
254
|
+
console.error("东亚前海分享失败:", error_4);
|
|
255
|
+
throw error_4;
|
|
256
|
+
case 3: return [2 /*return*/];
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
},
|
|
261
|
+
/**
|
|
262
|
+
* 保存图片到相册
|
|
263
|
+
* @param imageData 图片的base64格式字符串
|
|
264
|
+
*/
|
|
265
|
+
saveImageToAlbum: function (imageData) {
|
|
266
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
267
|
+
var params, result, error_5;
|
|
268
|
+
return __generator(this, function (_a) {
|
|
269
|
+
switch (_a.label) {
|
|
270
|
+
case 0:
|
|
271
|
+
_a.trys.push([0, 2, , 3]);
|
|
272
|
+
params = { imageData: imageData };
|
|
273
|
+
console.log("东亚前海保存图片到相册");
|
|
274
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "saveImageToAlbum", params)];
|
|
275
|
+
case 1:
|
|
276
|
+
result = _a.sent();
|
|
277
|
+
console.log("东亚前海保存图片成功:", result);
|
|
278
|
+
return [2 /*return*/, result];
|
|
279
|
+
case 2:
|
|
280
|
+
error_5 = _a.sent();
|
|
281
|
+
console.error("东亚前海保存图片失败:", error_5);
|
|
282
|
+
throw error_5;
|
|
283
|
+
case 3: return [2 /*return*/];
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
},
|
|
288
|
+
/**
|
|
289
|
+
* 拦截Android物理返回键事件,并回调给前端 --- 仅安卓
|
|
290
|
+
*/
|
|
291
|
+
interceptBack: function (callback) {
|
|
292
|
+
try {
|
|
293
|
+
utils_1.dyqhzqBridge.registerHandler("interceptBack", function (data) {
|
|
294
|
+
callback && callback(data);
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
console.error("东亚前海拦截返回键失败:", error);
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
/**
|
|
302
|
+
* 注册APP物理返回键拦截监听器
|
|
303
|
+
* @param callback 回调函数,当用户点击物理返回键时触发
|
|
304
|
+
*/
|
|
305
|
+
registerPhysicalReturnListener: function (callback) {
|
|
306
|
+
try {
|
|
307
|
+
console.log("东亚前海注册物理返回键拦截监听器");
|
|
308
|
+
utils_1.dyqhzqBridge.registerHandler("clientPhysicalReturn", function (data) {
|
|
309
|
+
console.log("东亚前海收到物理返回键事件:", data);
|
|
310
|
+
if (typeof callback === "function") {
|
|
311
|
+
callback();
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
console.log("东亚前海物理返回键拦截监听器注册成功");
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
console.error("东亚前海注册物理返回键拦截监听器失败:", error);
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
/**
|
|
321
|
+
* 跳转个股详情页
|
|
322
|
+
*/
|
|
323
|
+
goStockDetail: function (params) {
|
|
324
|
+
var stockcode = params.stockcode, stockmarket = params.stockmarket;
|
|
325
|
+
try {
|
|
326
|
+
console.error("东亚前海跳转个股详情数据:", stockcode, stockmarket);
|
|
327
|
+
utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "HXJumpToStockFenshi", {
|
|
328
|
+
stockcode: stockcode,
|
|
329
|
+
stockmarket: stockmarket,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
console.error("东亚前海跳转个股详情失败:", error);
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
/**
|
|
337
|
+
* 获取客户端版本号
|
|
338
|
+
* 通过解析ua获取版本信息
|
|
339
|
+
*/
|
|
340
|
+
getVersion: function () {
|
|
341
|
+
var ua = navigator.userAgent.toLowerCase();
|
|
342
|
+
var regex = "";
|
|
343
|
+
regex = /qsid[\/_]?401[\/_]?([\d.]+)/;
|
|
344
|
+
var match = ua.match(regex);
|
|
345
|
+
console.log(match, "===东亚前海版本match===");
|
|
346
|
+
if (match) {
|
|
347
|
+
var version = match[1];
|
|
348
|
+
return version;
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
console.warn("东亚前海version没有找到匹配项");
|
|
352
|
+
return "0.0.0";
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
/**
|
|
356
|
+
* 关注公众号
|
|
357
|
+
* @param appid 公众号的appid,默认为wxf45c81345f5ea70e
|
|
358
|
+
*/
|
|
359
|
+
followOfficialAccount: function () {
|
|
360
|
+
return __awaiter(this, arguments, void 0, function (appid) {
|
|
361
|
+
var params, result, error_6;
|
|
362
|
+
if (appid === void 0) { appid = "wxf45c81345f5ea70e"; }
|
|
363
|
+
return __generator(this, function (_a) {
|
|
364
|
+
switch (_a.label) {
|
|
365
|
+
case 0:
|
|
366
|
+
_a.trys.push([0, 2, , 3]);
|
|
367
|
+
params = {
|
|
368
|
+
jumptype: "1",
|
|
369
|
+
downloadurl: "weixin://dl/officialaccounts?appid=".concat(appid),
|
|
370
|
+
};
|
|
371
|
+
console.log("东亚前海调用关注公众号,参数:", params);
|
|
372
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("", "startApplication", params)];
|
|
373
|
+
case 1:
|
|
374
|
+
result = _a.sent();
|
|
375
|
+
console.log("东亚前海关注公众号调用成功:", result);
|
|
376
|
+
return [2 /*return*/, result];
|
|
377
|
+
case 2:
|
|
378
|
+
error_6 = _a.sent();
|
|
379
|
+
console.error("东亚前海关注公众号失败:", error_6);
|
|
380
|
+
throw error_6;
|
|
381
|
+
case 3: return [2 /*return*/];
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
});
|
|
385
|
+
},
|
|
386
|
+
/**
|
|
387
|
+
* 在app内打开pdf文件
|
|
388
|
+
*/
|
|
389
|
+
openPDFFile: function (url, title) {
|
|
390
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
391
|
+
var typeList, type, params;
|
|
392
|
+
return __generator(this, function (_a) {
|
|
393
|
+
console.log("东亚前海 HXDownloadFile title", title);
|
|
394
|
+
typeList = url.split(".");
|
|
395
|
+
type = "PDF";
|
|
396
|
+
params = {
|
|
397
|
+
url: url,
|
|
398
|
+
filetype: type,
|
|
399
|
+
title: title,
|
|
400
|
+
pdfFileName: title,
|
|
401
|
+
};
|
|
402
|
+
console.log("东亚前海 HXDownloadFile", params);
|
|
403
|
+
utils_1.dyqhzqBridge
|
|
404
|
+
.bridgeCallHandler("Promise", "HXDownloadFile", params)
|
|
405
|
+
.then(function () {
|
|
406
|
+
console.log("东亚前海 HXDownloadFile success");
|
|
407
|
+
})
|
|
408
|
+
.catch(function (err) {
|
|
409
|
+
console.error("东亚前海 HXDownloadFile error", err);
|
|
410
|
+
});
|
|
411
|
+
return [2 /*return*/];
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
},
|
|
415
|
+
/**
|
|
416
|
+
* 在app内打开浏览器
|
|
417
|
+
* @param url 浏览器地址
|
|
418
|
+
*/
|
|
419
|
+
doOpenBrowser: function (url) {
|
|
420
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
421
|
+
return __generator(this, function (_a) {
|
|
422
|
+
console.log("东亚前海要调用doOpenBrowser了", url);
|
|
423
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
424
|
+
utils_1.dyqhzqBridge
|
|
425
|
+
.bridgeCallHandler("Promise", "doOpenBrowser", { url: url })
|
|
426
|
+
.then(function () {
|
|
427
|
+
console.log("东亚前海 doOpenBrowser---resolve");
|
|
428
|
+
resolve(void 0);
|
|
429
|
+
})
|
|
430
|
+
.catch(function (err) {
|
|
431
|
+
console.log(err, "东亚前海 doOpenBrowser---reject");
|
|
432
|
+
reject(err);
|
|
433
|
+
});
|
|
434
|
+
})];
|
|
435
|
+
});
|
|
436
|
+
});
|
|
437
|
+
},
|
|
438
|
+
/**
|
|
439
|
+
* 跳转财人汇SDK页面(东亚前海定制)
|
|
440
|
+
* @param params 跳转参数
|
|
441
|
+
*/
|
|
442
|
+
doOpenCRHSDK: function (params) {
|
|
443
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
444
|
+
var result, error_7;
|
|
445
|
+
return __generator(this, function (_a) {
|
|
446
|
+
switch (_a.label) {
|
|
447
|
+
case 0:
|
|
448
|
+
_a.trys.push([0, 2, , 3]);
|
|
449
|
+
console.log("东亚前海调用doOpenCRHSDK,参数:", params);
|
|
450
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "doOpenCRHSDK", params)];
|
|
451
|
+
case 1:
|
|
452
|
+
result = _a.sent();
|
|
453
|
+
console.log("东亚前海doOpenCRHSDK调用成功:", result);
|
|
454
|
+
return [2 /*return*/, result];
|
|
455
|
+
case 2:
|
|
456
|
+
error_7 = _a.sent();
|
|
457
|
+
console.error("东亚前海doOpenCRHSDK失败:", error_7);
|
|
458
|
+
throw error_7;
|
|
459
|
+
case 3: return [2 /*return*/];
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
});
|
|
463
|
+
},
|
|
464
|
+
/**
|
|
465
|
+
* 获取Bridge实例(供其他模块使用)
|
|
466
|
+
*/
|
|
467
|
+
getBridge: function () {
|
|
468
|
+
return utils_1.dyqhzqBridge;
|
|
469
|
+
},
|
|
470
|
+
};
|
package/dist/business/index.js
CHANGED
|
@@ -81,68 +81,78 @@ var utils_1 = require("./utils");
|
|
|
81
81
|
var base_1 = __importDefault(require("./base")); // 基础
|
|
82
82
|
var profession_1 = __importDefault(require("./profession")); // 业务
|
|
83
83
|
var user_1 = __importDefault(require("./user")); // 用户
|
|
84
|
+
//SDK版本号,运行时读取package.json的version
|
|
85
|
+
var SDK_VERSION = "";
|
|
86
|
+
try {
|
|
87
|
+
SDK_VERSION = require("../../package.json").version;
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
console.warn("获取SDK版本号失败:", e);
|
|
91
|
+
}
|
|
84
92
|
var BUSINESS = /** @class */ (function () {
|
|
85
93
|
function BUSINESS(sdkType) {
|
|
94
|
+
this.sdkObj = {}; //具体的sdk对象
|
|
86
95
|
this.isApp = false; //是否是app
|
|
87
|
-
this.
|
|
96
|
+
this.version = SDK_VERSION; //SDK版本号(crh-jssdk包版本)
|
|
97
|
+
this.sdkType = sdkType; // 1 财人汇 2 财信 3 新意 4 联储 5 金圆 6 诚通 7 东亚前海
|
|
88
98
|
this.bridge = sdkType === 2 ? utils_1.cxBridge : utils_1.globalBridge; // 初始化Bridge实例
|
|
89
99
|
}
|
|
90
100
|
BUSINESS.prototype.initSdk = function () {
|
|
91
101
|
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
-
var Obj, _a, _b, _c, _d, _e, _f, error_1, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
93
|
-
var
|
|
94
|
-
return __generator(this, function (
|
|
95
|
-
switch (
|
|
102
|
+
var Obj, _a, _b, _c, _d, _e, _f, error_1, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
103
|
+
var _y, _z;
|
|
104
|
+
return __generator(this, function (_0) {
|
|
105
|
+
switch (_0.label) {
|
|
96
106
|
case 0:
|
|
97
107
|
console.log("start initSdk");
|
|
98
108
|
Obj = __assign(__assign(__assign({}, base_1.default), profession_1.default), user_1.default);
|
|
99
109
|
if (!(+this.sdkType === 1)) return [3 /*break*/, 1];
|
|
100
110
|
this.sdkObj = Obj;
|
|
101
|
-
return [3 /*break*/,
|
|
111
|
+
return [3 /*break*/, 27];
|
|
102
112
|
case 1:
|
|
103
113
|
if (!(+this.sdkType === 2)) return [3 /*break*/, 5];
|
|
104
114
|
_a = this;
|
|
105
115
|
_b = [__assign({}, Obj)];
|
|
106
116
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-cxzq")); })];
|
|
107
117
|
case 2:
|
|
108
|
-
_c = [__assign.apply(void 0, _b.concat([(
|
|
118
|
+
_c = [__assign.apply(void 0, _b.concat([(_0.sent()).default]))];
|
|
109
119
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-cxzq")); })];
|
|
110
120
|
case 3:
|
|
111
|
-
_d = [__assign.apply(void 0, _c.concat([(
|
|
121
|
+
_d = [__assign.apply(void 0, _c.concat([(_0.sent()).default]))];
|
|
112
122
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-cxzq")); })];
|
|
113
123
|
case 4:
|
|
114
|
-
_a.sdkObj = __assign.apply(void 0, _d.concat([(
|
|
124
|
+
_a.sdkObj = __assign.apply(void 0, _d.concat([(_0.sent()).default]));
|
|
115
125
|
console.log(this.sdkObj, "sdkObj---jssdk");
|
|
116
126
|
this.isApp = this.sdkObj.isApp();
|
|
117
127
|
this.webviewType = this.sdkObj.webviewType();
|
|
118
|
-
return [3 /*break*/,
|
|
128
|
+
return [3 /*break*/, 27];
|
|
119
129
|
case 5:
|
|
120
130
|
if (!(+this.sdkType === 3)) return [3 /*break*/, 7];
|
|
121
131
|
_e = this;
|
|
122
132
|
_f = [{}];
|
|
123
133
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-cy")); })];
|
|
124
134
|
case 6:
|
|
125
|
-
_e.sdkObj = __assign.apply(void 0, _f.concat([(
|
|
135
|
+
_e.sdkObj = __assign.apply(void 0, _f.concat([(_0.sent()).default]));
|
|
126
136
|
console.log(this.sdkObj, "sdkObj---jssdk");
|
|
127
137
|
this.isApp = this.sdkObj.isApp();
|
|
128
138
|
this.webviewType = this.sdkObj.webviewType();
|
|
129
|
-
return [3 /*break*/,
|
|
139
|
+
return [3 /*break*/, 27];
|
|
130
140
|
case 7:
|
|
131
141
|
if (!(+this.sdkType === 4)) return [3 /*break*/, 15];
|
|
132
142
|
console.log("初始化联储证券SDK...");
|
|
133
143
|
if (!(typeof window !== "undefined" &&
|
|
134
144
|
window.ClientTHS &&
|
|
135
145
|
typeof window.ClientTHS.init === "function")) return [3 /*break*/, 11];
|
|
136
|
-
|
|
146
|
+
_0.label = 8;
|
|
137
147
|
case 8:
|
|
138
|
-
|
|
139
|
-
return [4 /*yield*/, ((
|
|
148
|
+
_0.trys.push([8, 10, , 11]);
|
|
149
|
+
return [4 /*yield*/, ((_z = (_y = window.ClientTHS).init) === null || _z === void 0 ? void 0 : _z.call(_y))];
|
|
140
150
|
case 9:
|
|
141
|
-
|
|
151
|
+
_0.sent();
|
|
142
152
|
console.log("ClientTHS初始化完成");
|
|
143
153
|
return [3 /*break*/, 11];
|
|
144
154
|
case 10:
|
|
145
|
-
error_1 =
|
|
155
|
+
error_1 = _0.sent();
|
|
146
156
|
console.error("ClientTHS初始化失败:", error_1);
|
|
147
157
|
return [3 /*break*/, 11];
|
|
148
158
|
case 11:
|
|
@@ -151,18 +161,18 @@ var BUSINESS = /** @class */ (function () {
|
|
|
151
161
|
_h = [__assign({}, Obj)];
|
|
152
162
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-lczq")); })];
|
|
153
163
|
case 12:
|
|
154
|
-
_j = [__assign.apply(void 0, _h.concat([(
|
|
164
|
+
_j = [__assign.apply(void 0, _h.concat([(_0.sent()).default]))];
|
|
155
165
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-lczq")); })];
|
|
156
166
|
case 13:
|
|
157
|
-
_k = [__assign.apply(void 0, _j.concat([(
|
|
167
|
+
_k = [__assign.apply(void 0, _j.concat([(_0.sent()).default]))];
|
|
158
168
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-lczq")); })];
|
|
159
169
|
case 14:
|
|
160
170
|
// 联储证券使用Bridge版本
|
|
161
|
-
_g.sdkObj = __assign.apply(void 0, _k.concat([(
|
|
171
|
+
_g.sdkObj = __assign.apply(void 0, _k.concat([(_0.sent()).default]));
|
|
162
172
|
console.log("sdkObj---jssdk(Bridge版本)", this.sdkObj);
|
|
163
173
|
this.isApp = this.sdkObj.isApp();
|
|
164
174
|
this.webviewType = this.sdkObj.webviewType();
|
|
165
|
-
return [3 /*break*/,
|
|
175
|
+
return [3 /*break*/, 27];
|
|
166
176
|
case 15:
|
|
167
177
|
if (!(+this.sdkType === 5)) return [3 /*break*/, 19];
|
|
168
178
|
console.log("初始化金圆统一SDK...");
|
|
@@ -171,35 +181,55 @@ var BUSINESS = /** @class */ (function () {
|
|
|
171
181
|
_m = [__assign({}, Obj)];
|
|
172
182
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-jy")); })];
|
|
173
183
|
case 16:
|
|
174
|
-
_o = [__assign.apply(void 0, _m.concat([(
|
|
184
|
+
_o = [__assign.apply(void 0, _m.concat([(_0.sent()).default]))];
|
|
175
185
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-jy")); })];
|
|
176
186
|
case 17:
|
|
177
|
-
_p = [__assign.apply(void 0, _o.concat([(
|
|
187
|
+
_p = [__assign.apply(void 0, _o.concat([(_0.sent()).default]))];
|
|
178
188
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-jy")); })];
|
|
179
189
|
case 18:
|
|
180
190
|
// 金圆统一使用Bridge版本
|
|
181
|
-
_l.sdkObj = __assign.apply(void 0, _p.concat([(
|
|
191
|
+
_l.sdkObj = __assign.apply(void 0, _p.concat([(_0.sent()).default]));
|
|
182
192
|
console.log("sdkObj---jssdk(金圆统一)", this.sdkObj);
|
|
183
193
|
this.isApp = this.sdkObj.isApp();
|
|
184
194
|
this.webviewType = this.sdkObj.webviewType();
|
|
185
|
-
return [3 /*break*/,
|
|
195
|
+
return [3 /*break*/, 27];
|
|
186
196
|
case 19:
|
|
187
197
|
if (!(+this.sdkType === 6)) return [3 /*break*/, 23];
|
|
188
198
|
_q = this;
|
|
189
199
|
_r = [__assign({}, Obj)];
|
|
190
200
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-cctgsc")); })];
|
|
191
201
|
case 20:
|
|
192
|
-
_s = [__assign.apply(void 0, _r.concat([(
|
|
202
|
+
_s = [__assign.apply(void 0, _r.concat([(_0.sent()).default]))];
|
|
193
203
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-cctgsc")); })];
|
|
194
204
|
case 21:
|
|
195
|
-
_t = [__assign.apply(void 0, _s.concat([(
|
|
205
|
+
_t = [__assign.apply(void 0, _s.concat([(_0.sent()).default]))];
|
|
196
206
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-cctgsc")); })];
|
|
197
207
|
case 22:
|
|
198
|
-
_q.sdkObj = __assign.apply(void 0, _t.concat([(
|
|
208
|
+
_q.sdkObj = __assign.apply(void 0, _t.concat([(_0.sent()).default]));
|
|
199
209
|
console.log("sdkObj---jssdk(诚通证券)", this.sdkObj);
|
|
200
210
|
this.isApp = this.sdkObj.isApp();
|
|
201
|
-
|
|
211
|
+
return [3 /*break*/, 27];
|
|
202
212
|
case 23:
|
|
213
|
+
if (!(+this.sdkType === 7)) return [3 /*break*/, 27];
|
|
214
|
+
console.log("初始化东亚前海SDK...");
|
|
215
|
+
// 东亚前海与金圆统一使用相同的Bridge版本
|
|
216
|
+
_u = this;
|
|
217
|
+
_v = [__assign({}, Obj)];
|
|
218
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./base/crh-app-sdk-dyqhzq")); })];
|
|
219
|
+
case 24:
|
|
220
|
+
_w = [__assign.apply(void 0, _v.concat([(_0.sent()).default]))];
|
|
221
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./user/crh-app-sdk-dyqhzq")); })];
|
|
222
|
+
case 25:
|
|
223
|
+
_x = [__assign.apply(void 0, _w.concat([(_0.sent()).default]))];
|
|
224
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./profession/crh-app-sdk-dyqhzq")); })];
|
|
225
|
+
case 26:
|
|
226
|
+
// 东亚前海与金圆统一使用相同的Bridge版本
|
|
227
|
+
_u.sdkObj = __assign.apply(void 0, _x.concat([(_0.sent()).default]));
|
|
228
|
+
console.log("sdkObj---jssdk(东亚前海)", this.sdkObj);
|
|
229
|
+
this.isApp = this.sdkObj.isApp();
|
|
230
|
+
this.webviewType = this.sdkObj.webviewType();
|
|
231
|
+
_0.label = 27;
|
|
232
|
+
case 27:
|
|
203
233
|
// 设置Bridge实例到sdkObj中,供各模块使用
|
|
204
234
|
if (this.sdkObj) {
|
|
205
235
|
this.sdkObj.bridge = this.bridge;
|
|
@@ -378,18 +408,20 @@ var BUSINESS = /** @class */ (function () {
|
|
|
378
408
|
}
|
|
379
409
|
return this.sdkObj.doOpenBrowser(url);
|
|
380
410
|
};
|
|
381
|
-
//跳转财人汇SDK页面(仅限金圆统一jy使用)
|
|
411
|
+
//跳转财人汇SDK页面(仅限金圆统一jy和东亚前海dyqhzq使用)
|
|
382
412
|
BUSINESS.prototype.doOpenCRHSDK = function (params) {
|
|
383
413
|
if (!this.sdkObj.doOpenCRHSDK) {
|
|
384
414
|
return (0, utils_1.empty)("doOpenCRHSDK");
|
|
385
415
|
}
|
|
386
416
|
return this.sdkObj.doOpenCRHSDK(params);
|
|
387
417
|
};
|
|
388
|
-
//获取Bridge实例(仅限联储证券lczq
|
|
418
|
+
//获取Bridge实例(仅限联储证券lczq、金圆统一jy和东亚前海dyqhzq使用)
|
|
389
419
|
BUSINESS.prototype.getBridge = function () {
|
|
390
|
-
// 只允许 sdkType === 4 (联储证券) 和 sdkType ===
|
|
391
|
-
if (+this.sdkType !== 4 &&
|
|
392
|
-
|
|
420
|
+
// 只允许 sdkType === 4 (联储证券)、sdkType === 5 (金圆统一) 和 sdkType === 7 (东亚前海) 使用
|
|
421
|
+
if (+this.sdkType !== 4 &&
|
|
422
|
+
+this.sdkType !== 5 &&
|
|
423
|
+
+this.sdkType !== 7) {
|
|
424
|
+
console.warn("getBridge method is only available for lczq (sdkType: 4), jy (sdkType: 5) or dyqhzq (sdkType: 7)");
|
|
393
425
|
return null;
|
|
394
426
|
}
|
|
395
427
|
if (!this.sdkObj.getBridge) {
|
|
@@ -166,21 +166,8 @@ exports.default = {
|
|
|
166
166
|
return __generator(this, function (_b) {
|
|
167
167
|
window.getDeviceInfoCB = function (jsonStr) {
|
|
168
168
|
console.log(jsonStr);
|
|
169
|
-
var obj = JSON.parse(jsonStr);
|
|
170
|
-
var appDeviceInfo = {};
|
|
171
|
-
if (obj.mac) { // 如果mac为空则取deviceId iphone取不到mac
|
|
172
|
-
appDeviceInfo.mac_address = obj.mac.replace(/:/g, '');
|
|
173
|
-
}
|
|
174
|
-
if (obj.deviceId && obj.deviceId !== null && obj.deviceId !== 'null') { // deviceId或为空则取mac的值 android逻辑
|
|
175
|
-
appDeviceInfo.device_id = obj.deviceId.replace(/AndroidId|IMEI|null/g, '');
|
|
176
|
-
}
|
|
177
|
-
appDeviceInfo.imsi = obj.imsi;
|
|
178
|
-
appDeviceInfo.ICCID = obj.ICCID;
|
|
179
|
-
appDeviceInfo.lanIP = obj.lanIP || obj.ipAddress;
|
|
180
|
-
appDeviceInfo.mobileNo = obj.mobileNo;
|
|
181
|
-
appDeviceInfo.appVersion = obj.appVersion;
|
|
182
169
|
resolve({
|
|
183
|
-
info:
|
|
170
|
+
info: jsonStr,
|
|
184
171
|
});
|
|
185
172
|
delete window.getDeviceInfoCB;
|
|
186
173
|
};
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description 东亚前海业务模块 - Bridge版本
|
|
4
|
+
* 基于WebViewJavascriptBridge实现业务功能
|
|
5
|
+
*/
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
var utils_1 = require("../utils");
|
|
58
|
+
var crh_app_sdk_dyqhzq_1 = __importDefault(require("../base/crh-app-sdk-dyqhzq"));
|
|
59
|
+
exports.default = {
|
|
60
|
+
/**
|
|
61
|
+
* 获取客户端用户和设备信息
|
|
62
|
+
* @param type 调用类型:'fetch'仅获取信息,'login'未登录时拉起登录
|
|
63
|
+
*/
|
|
64
|
+
getDeviceInfo: function () {
|
|
65
|
+
return __awaiter(this, arguments, void 0, function (type) {
|
|
66
|
+
var params, response, deviceInfo_1, mobileInfo, error_1;
|
|
67
|
+
if (type === void 0) { type = "fetch"; }
|
|
68
|
+
return __generator(this, function (_a) {
|
|
69
|
+
switch (_a.label) {
|
|
70
|
+
case 0:
|
|
71
|
+
console.log("东亚前海 getDeviceInfo----");
|
|
72
|
+
_a.label = 1;
|
|
73
|
+
case 1:
|
|
74
|
+
_a.trys.push([1, 3, , 4]);
|
|
75
|
+
params = {
|
|
76
|
+
info_type: "wt",
|
|
77
|
+
call_type: type,
|
|
78
|
+
info_complete_check: "0",
|
|
79
|
+
key_type: "",
|
|
80
|
+
needEncryptTraceInfo: true,
|
|
81
|
+
};
|
|
82
|
+
console.log("东亚前海调用getDeviceInfo,参数:", params);
|
|
83
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "getUserInfoByRsa", params)];
|
|
84
|
+
case 2:
|
|
85
|
+
response = _a.sent();
|
|
86
|
+
console.log("东亚前海 getDeviceInfo 返回:", response);
|
|
87
|
+
deviceInfo_1 = {};
|
|
88
|
+
if (response && response.mobile_hardware) {
|
|
89
|
+
mobileInfo = response.mobile_hardware
|
|
90
|
+
.replace("HDInfo=", "")
|
|
91
|
+
.split(",");
|
|
92
|
+
mobileInfo.forEach(function (item) {
|
|
93
|
+
var index = item.indexOf(":");
|
|
94
|
+
if (index > 0) {
|
|
95
|
+
deviceInfo_1[item.substring(0, index)] = item.substring(index + 1);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return [2 /*return*/, __assign(__assign({}, response), { deviceInfo: deviceInfo_1, isLogin: (response === null || response === void 0 ? void 0 : response.login_status) === "1", token: (response === null || response === void 0 ? void 0 : response.param) || "", fundAccount: "", mobile: deviceInfo_1.RMRN || "" })];
|
|
100
|
+
case 3:
|
|
101
|
+
error_1 = _a.sent();
|
|
102
|
+
console.error("东亚前海获取设备信息失败:", error_1);
|
|
103
|
+
return [2 /*return*/, {
|
|
104
|
+
error: (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || "未知错误",
|
|
105
|
+
}];
|
|
106
|
+
case 4: return [2 /*return*/];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* 银证转账
|
|
113
|
+
* @param version 支持半屏转账的版本号
|
|
114
|
+
* @param callbackName 回调函数
|
|
115
|
+
*/
|
|
116
|
+
goBankTransfer: function () {
|
|
117
|
+
return __awaiter(this, arguments, void 0, function (version, callbackName) {
|
|
118
|
+
if (version === void 0) { version = "7.2.0"; }
|
|
119
|
+
return __generator(this, function (_a) {
|
|
120
|
+
try {
|
|
121
|
+
console.log("东亚前海调用银证转账");
|
|
122
|
+
location.href = "client://hxsecurity.frame.router/jiaoyi_dyh_yzzz";
|
|
123
|
+
return [2 /*return*/, { success: true }];
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error("东亚前海银证转账失败:", error);
|
|
127
|
+
return [2 /*return*/, { success: false, error: error }];
|
|
128
|
+
}
|
|
129
|
+
return [2 /*return*/];
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
},
|
|
133
|
+
/**
|
|
134
|
+
* app各种方法:交易密码登录框、银证转账充值等
|
|
135
|
+
* @param url action路径
|
|
136
|
+
* @param callback 回调函数
|
|
137
|
+
*/
|
|
138
|
+
businessAlertView: function (url, callback) {
|
|
139
|
+
console.log("东亚前海 businessAlertView:", url, callback);
|
|
140
|
+
return Promise.resolve({
|
|
141
|
+
error_no: "-1",
|
|
142
|
+
error_info: "东亚前海暂不支持该方法",
|
|
143
|
+
});
|
|
144
|
+
},
|
|
145
|
+
/**
|
|
146
|
+
* 产品收藏
|
|
147
|
+
* @param params 收藏参数
|
|
148
|
+
*/
|
|
149
|
+
setCollect: function (params) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
151
|
+
return __generator(this, function (_a) {
|
|
152
|
+
console.log("东亚前海 setCollect", params);
|
|
153
|
+
return [2 /*return*/, Promise.resolve({
|
|
154
|
+
error_no: "-1",
|
|
155
|
+
error_info: "东亚前海暂不支持产品收藏功能",
|
|
156
|
+
})];
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
},
|
|
160
|
+
/**
|
|
161
|
+
* 查询产品收藏
|
|
162
|
+
* @param params 查询参数
|
|
163
|
+
*/
|
|
164
|
+
queryCollect: function (params) {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
166
|
+
return __generator(this, function (_a) {
|
|
167
|
+
console.log("东亚前海 queryCollect", params);
|
|
168
|
+
return [2 /*return*/, Promise.resolve({
|
|
169
|
+
error_no: "-1",
|
|
170
|
+
error_info: "东亚前海暂不支持产品收藏功能",
|
|
171
|
+
})];
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
/**
|
|
176
|
+
* 设置原生状态栏颜色
|
|
177
|
+
* @param params 状态栏参数
|
|
178
|
+
*/
|
|
179
|
+
setStatusBar: function (params) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
181
|
+
return __generator(this, function (_a) {
|
|
182
|
+
console.log("东亚前海 profession setStatusBar", params);
|
|
183
|
+
return [2 /*return*/, crh_app_sdk_dyqhzq_1.default.setStatusBar(params)];
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
/**
|
|
188
|
+
* 跳转财人汇SDK页面(东亚前海定制)
|
|
189
|
+
* @param params 跳转参数
|
|
190
|
+
*/
|
|
191
|
+
doOpenCRHSDK: function (params) {
|
|
192
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
193
|
+
return __generator(this, function (_a) {
|
|
194
|
+
return [2 /*return*/, crh_app_sdk_dyqhzq_1.default.doOpenCRHSDK(params)];
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
},
|
|
198
|
+
};
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -88,48 +77,6 @@ exports.default = {
|
|
|
88
77
|
});
|
|
89
78
|
}); });
|
|
90
79
|
},
|
|
91
|
-
// 聚财获取登录信息或者未登录调起登录,调登录type传callback_after_login
|
|
92
|
-
jcLogin: function (type) {
|
|
93
|
-
if (type === void 0) { type = "fetch"; }
|
|
94
|
-
return new Promise(function (resolve) {
|
|
95
|
-
if (crh_app_sdk_cxzq_1.default.webviewType().isNewJuCai) {
|
|
96
|
-
var data_1 = { info_type: "wt", call_type: type, key_type: "" };
|
|
97
|
-
crh_app_sdk_cxzq_1.default.actionMap.setupWebViewJavascriptBridge(function (bridge) {
|
|
98
|
-
bridge.callHandler("getUserInfoByRsa", data_1, function (info) {
|
|
99
|
-
console.log("getNewJcDeviceInfoCB:", info);
|
|
100
|
-
var deviceInfo = {};
|
|
101
|
-
var mobileInfo = info.mobile_hardware
|
|
102
|
-
? info.mobile_hardware.replace("HDInfo=", "").split(",")
|
|
103
|
-
: [];
|
|
104
|
-
mobileInfo.forEach(function (item) {
|
|
105
|
-
var index = item.indexOf(":");
|
|
106
|
-
deviceInfo[item.substring(0, index)] = item.substring(index + 1);
|
|
107
|
-
});
|
|
108
|
-
console.log("deviceInfo:", deviceInfo);
|
|
109
|
-
resolve(__assign(__assign({}, info), { deviceInfo: deviceInfo, isLogin: info.login_status === "1", token: info.param, fundAccount: "", mobile: deviceInfo.RMRN || "" }));
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
else if (crh_app_sdk_cxzq_1.default.webviewType().isOldJuCai) {
|
|
114
|
-
window.oldJuCaiLoginCB = function (token) {
|
|
115
|
-
console.log("oldJuCaiLoginCB:", token);
|
|
116
|
-
resolve({
|
|
117
|
-
isLogin: !!token,
|
|
118
|
-
token: JSON.parse(JSON.stringify(token)),
|
|
119
|
-
fundAccount: "",
|
|
120
|
-
mobile: "",
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
if (utils_1.ios) {
|
|
124
|
-
window.location.href = "objc://getUser/?oldJuCaiLoginCB";
|
|
125
|
-
}
|
|
126
|
-
else if (window.jtoJHandle) {
|
|
127
|
-
window.jtoJHandle.getUser("oldJuCaiLoginCB");
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
},
|
|
132
|
-
// app各种方法:交易密码登录框、银证转账充值等。
|
|
133
80
|
// 参数格式:http://action:actionID/?target=tType&callback=funName¶m=requestJSON
|
|
134
81
|
businessAlertView: function (url, callback) {
|
|
135
82
|
console.log("businessAlertView:", url, callback);
|
|
@@ -158,19 +105,20 @@ exports.default = {
|
|
|
158
105
|
// 乐赚交易登录回调获取token准备传入u001
|
|
159
106
|
window.userLogin = function (username, password, onUse, loginFlag) {
|
|
160
107
|
console.log("userLogin:", username, password, onUse, loginFlag);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
108
|
+
if (username !== '' && username !== 'null' && username !== '(null)' && loginFlag !== '1') {
|
|
109
|
+
resolve({
|
|
110
|
+
username: username,
|
|
111
|
+
password: password,
|
|
112
|
+
login_status: '1',
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
resolve({
|
|
117
|
+
username: username,
|
|
118
|
+
password: password,
|
|
119
|
+
login_status: '0',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
174
122
|
};
|
|
175
123
|
if (utils_1.ios) {
|
|
176
124
|
window.location.href = "objc://crhLogin/?userLogin";
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @description 东亚前海用户模块 - Bridge版本
|
|
4
|
+
* 基于WebViewJavascriptBridge实现与东亚前海App的通信
|
|
5
|
+
*/
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
var utils_1 = require("../utils");
|
|
55
|
+
// 东亚前海 AppId,与金圆统一配置一致
|
|
56
|
+
var APPID = "b5bae4daa01aa0c2";
|
|
57
|
+
exports.default = {
|
|
58
|
+
/**
|
|
59
|
+
* 获取用户登录信息(静默获取,不会弹窗)
|
|
60
|
+
* @param callType 调用类型:'fetch'仅获取信息,'login'未登录时拉起登录
|
|
61
|
+
* @param callback 可选回调函数,收到用户信息后触发
|
|
62
|
+
* @returns 用户信息,包含加密的param字段(需后端解密)
|
|
63
|
+
*/
|
|
64
|
+
getUser: function () {
|
|
65
|
+
return __awaiter(this, arguments, void 0, function (callType, callback) {
|
|
66
|
+
var extractResult, params, response, error_1;
|
|
67
|
+
if (callType === void 0) { callType = "fetch"; }
|
|
68
|
+
return __generator(this, function (_a) {
|
|
69
|
+
switch (_a.label) {
|
|
70
|
+
case 0:
|
|
71
|
+
extractResult = function (response) {
|
|
72
|
+
if (!response) {
|
|
73
|
+
return {
|
|
74
|
+
login_status: "0",
|
|
75
|
+
isLogin: false,
|
|
76
|
+
token: "",
|
|
77
|
+
fundAccount: "",
|
|
78
|
+
mobile: "",
|
|
79
|
+
error: "无响应",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
var encryptedParam = response.param || "";
|
|
83
|
+
if (response.login_status === "0") {
|
|
84
|
+
return {
|
|
85
|
+
login_status: "0",
|
|
86
|
+
isLogin: false,
|
|
87
|
+
token: encryptedParam,
|
|
88
|
+
param: encryptedParam,
|
|
89
|
+
fundAccount: "",
|
|
90
|
+
mobile: "",
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
else if (response.login_status === "1") {
|
|
94
|
+
return __assign(__assign({}, response), { isLogin: true, token: encryptedParam, param: encryptedParam, fundAccount: "", mobile: "" });
|
|
95
|
+
}
|
|
96
|
+
return __assign(__assign({}, response), { isLogin: false, token: encryptedParam, param: encryptedParam, mobile: "" });
|
|
97
|
+
};
|
|
98
|
+
params = {
|
|
99
|
+
info_type: "wt",
|
|
100
|
+
call_type: "login",
|
|
101
|
+
key_type: "crh_mall",
|
|
102
|
+
};
|
|
103
|
+
console.log("getUser:", params);
|
|
104
|
+
if (callback) {
|
|
105
|
+
utils_1.dyqhzqBridge.bridgeCallHandlerCallback("getUserInfoByRsa", params, function (response) {
|
|
106
|
+
console.log("东亚前海 getUser 返回:", response);
|
|
107
|
+
callback(extractResult(response));
|
|
108
|
+
});
|
|
109
|
+
return [2 /*return*/, extractResult({})];
|
|
110
|
+
}
|
|
111
|
+
_a.label = 1;
|
|
112
|
+
case 1:
|
|
113
|
+
_a.trys.push([1, 3, , 4]);
|
|
114
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "getUserInfoByRsa", params)];
|
|
115
|
+
case 2:
|
|
116
|
+
response = _a.sent();
|
|
117
|
+
console.log("东亚前海 getUser 返回:", response);
|
|
118
|
+
return [2 /*return*/, extractResult(response)];
|
|
119
|
+
case 3:
|
|
120
|
+
error_1 = _a.sent();
|
|
121
|
+
console.error("东亚前海获取用户信息失败:", error_1);
|
|
122
|
+
return [2 /*return*/, {
|
|
123
|
+
login_status: "0",
|
|
124
|
+
isLogin: false,
|
|
125
|
+
token: "",
|
|
126
|
+
fundAccount: "",
|
|
127
|
+
mobile: "",
|
|
128
|
+
error: (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || "未知错误",
|
|
129
|
+
}];
|
|
130
|
+
case 4: return [2 /*return*/];
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
/**
|
|
136
|
+
* 获取交易登录Token(未登录时会弹出登录框)
|
|
137
|
+
* 返回加密的param字段,传入 tradeFlowLogin 接口进行登录
|
|
138
|
+
* @param appidOrOptions 应用ID字符串,或包含appId和accountType的对象
|
|
139
|
+
* @param callback 可选回调函数,登录完成后会收到token参数
|
|
140
|
+
* @returns 加密的token字符串(param),用于传给后端解密登录
|
|
141
|
+
*/
|
|
142
|
+
getTradeLoginToken: function (appidOrOptions, callback) {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
144
|
+
var appId, params, extractToken_1, response, error_2;
|
|
145
|
+
return __generator(this, function (_a) {
|
|
146
|
+
switch (_a.label) {
|
|
147
|
+
case 0:
|
|
148
|
+
_a.trys.push([0, 2, , 3]);
|
|
149
|
+
appId = APPID;
|
|
150
|
+
if (typeof appidOrOptions === "string") {
|
|
151
|
+
appId = appidOrOptions;
|
|
152
|
+
}
|
|
153
|
+
else if (appidOrOptions && typeof appidOrOptions === "object") {
|
|
154
|
+
appId = appidOrOptions.appId || APPID;
|
|
155
|
+
}
|
|
156
|
+
params = {
|
|
157
|
+
info_type: "wt",
|
|
158
|
+
call_type: "login",
|
|
159
|
+
key_type: "crh_mall",
|
|
160
|
+
};
|
|
161
|
+
console.log("东亚前海获取交易登录Token,参数:", params);
|
|
162
|
+
extractToken_1 = function (response) {
|
|
163
|
+
if (response && response.login_status === "1" && response.param) {
|
|
164
|
+
console.log("东亚前海获取交易Token成功,返回加密param");
|
|
165
|
+
return response.param;
|
|
166
|
+
}
|
|
167
|
+
console.log("东亚前海获取交易Token失败,响应:", response);
|
|
168
|
+
return "";
|
|
169
|
+
};
|
|
170
|
+
if (callback) {
|
|
171
|
+
utils_1.dyqhzqBridge.bridgeCallHandlerCallback("getUserInfoByRsa", params, function (response) {
|
|
172
|
+
callback(extractToken_1(response));
|
|
173
|
+
});
|
|
174
|
+
return [2 /*return*/, ""];
|
|
175
|
+
}
|
|
176
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "getUserInfoByRsa", params)];
|
|
177
|
+
case 1:
|
|
178
|
+
response = _a.sent();
|
|
179
|
+
console.log("东亚前海 getUserInfoByRsa 登录响应:", response);
|
|
180
|
+
return [2 /*return*/, extractToken_1(response)];
|
|
181
|
+
case 2:
|
|
182
|
+
error_2 = _a.sent();
|
|
183
|
+
console.error("东亚前海获取交易登录Token失败:", error_2);
|
|
184
|
+
if (callback) {
|
|
185
|
+
callback("");
|
|
186
|
+
}
|
|
187
|
+
return [2 /*return*/, ""];
|
|
188
|
+
case 3: return [2 /*return*/];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
},
|
|
193
|
+
/**
|
|
194
|
+
* 获取手机号Token
|
|
195
|
+
* @returns 加密的token字符串
|
|
196
|
+
*/
|
|
197
|
+
getPhoneToken: function () {
|
|
198
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
199
|
+
var params, response, error_3;
|
|
200
|
+
return __generator(this, function (_a) {
|
|
201
|
+
switch (_a.label) {
|
|
202
|
+
case 0:
|
|
203
|
+
_a.trys.push([0, 2, , 3]);
|
|
204
|
+
params = {
|
|
205
|
+
info_type: "hq",
|
|
206
|
+
call_type: "fetch",
|
|
207
|
+
key_type: utils_1.ios ? "bh_zhfx" : "",
|
|
208
|
+
};
|
|
209
|
+
console.log("东亚前海获取手机号Token,参数:", params);
|
|
210
|
+
return [4 /*yield*/, utils_1.dyqhzqBridge.bridgeCallHandler("Promise", "getUserInfoByRsa", params)];
|
|
211
|
+
case 1:
|
|
212
|
+
response = _a.sent();
|
|
213
|
+
if (response && response.param) {
|
|
214
|
+
console.log("东亚前海获取手机号Token成功");
|
|
215
|
+
return [2 /*return*/, "".concat(response.param, ",").concat(APPID)];
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
console.log("东亚前海获取手机号Token失败");
|
|
219
|
+
return [2 /*return*/, ""];
|
|
220
|
+
}
|
|
221
|
+
return [3 /*break*/, 3];
|
|
222
|
+
case 2:
|
|
223
|
+
error_3 = _a.sent();
|
|
224
|
+
console.error("东亚前海获取手机号Token失败:", error_3);
|
|
225
|
+
return [2 /*return*/, ""];
|
|
226
|
+
case 3: return [2 /*return*/];
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
},
|
|
231
|
+
};
|
|
@@ -42,7 +42,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.JYClientTHS = exports.cxBridge = exports.jyBridge = exports.globalBridge = exports.CxBridge = exports.Bridge = exports.JYBridge = void 0;
|
|
45
|
+
exports.JYClientTHS = exports.cxBridge = exports.dyqhzqBridge = exports.jyBridge = exports.globalBridge = exports.CxBridge = exports.Bridge = exports.JYBridge = void 0;
|
|
46
46
|
// 在脚本加载时立即初始化全局标记
|
|
47
47
|
if (typeof window !== 'undefined') {
|
|
48
48
|
window.WVJBCallbacks = window.WVJBCallbacks || [];
|
|
@@ -192,9 +192,9 @@ var JYClientTHS = {
|
|
|
192
192
|
};
|
|
193
193
|
exports.JYClientTHS = JYClientTHS;
|
|
194
194
|
/**
|
|
195
|
-
*
|
|
195
|
+
* 金圆统一、东亚前海专用Bridge类
|
|
196
196
|
* 使用ClientTHS方式进行桥接通信
|
|
197
|
-
* sdkType: 5
|
|
197
|
+
* sdkType: 5(金圆统一)、7(东亚前海)
|
|
198
198
|
*/
|
|
199
199
|
var JYBridge = /** @class */ (function () {
|
|
200
200
|
function JYBridge() {
|
|
@@ -806,6 +806,8 @@ exports.CxBridge = CxBridge;
|
|
|
806
806
|
exports.globalBridge = new Bridge();
|
|
807
807
|
// 金圆统一专用Bridge实例
|
|
808
808
|
exports.jyBridge = new JYBridge();
|
|
809
|
+
// 东亚前海与金圆统一使用相同的ClientTHS Bridge协议
|
|
810
|
+
exports.dyqhzqBridge = exports.jyBridge;
|
|
809
811
|
// 诚通证券专用Bridge实例
|
|
810
812
|
exports.cxBridge = new CxBridge();
|
|
811
813
|
// 导出给window对象,方便调试
|
|
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.JYClientTHS = exports.jyBridge = exports.JYBridge = exports.globalBridge = exports.Bridge = exports.cxBridge = exports.getContractTime = exports.parsOpStation = exports.ios = exports.empty = exports.common = void 0;
|
|
39
|
+
exports.JYClientTHS = exports.jyBridge = exports.JYBridge = exports.globalBridge = exports.dyqhzqBridge = exports.Bridge = exports.cxBridge = exports.getContractTime = exports.parsOpStation = exports.ios = exports.empty = exports.common = void 0;
|
|
40
40
|
exports.checkIsHarmonyOS = checkIsHarmonyOS;
|
|
41
41
|
exports.harmonyCallJsHandler = harmonyCallJsHandler;
|
|
42
42
|
//调用sdk通用方法
|
|
@@ -167,6 +167,7 @@ exports.getContractTime = getContractTime;
|
|
|
167
167
|
var bridge_1 = require("./bridge");
|
|
168
168
|
Object.defineProperty(exports, "cxBridge", { enumerable: true, get: function () { return bridge_1.cxBridge; } });
|
|
169
169
|
Object.defineProperty(exports, "Bridge", { enumerable: true, get: function () { return bridge_1.Bridge; } });
|
|
170
|
+
Object.defineProperty(exports, "dyqhzqBridge", { enumerable: true, get: function () { return bridge_1.dyqhzqBridge; } });
|
|
170
171
|
Object.defineProperty(exports, "globalBridge", { enumerable: true, get: function () { return bridge_1.globalBridge; } });
|
|
171
172
|
Object.defineProperty(exports, "JYBridge", { enumerable: true, get: function () { return bridge_1.JYBridge; } });
|
|
172
173
|
Object.defineProperty(exports, "jyBridge", { enumerable: true, get: function () { return bridge_1.jyBridge; } });
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crh-jssdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.39",
|
|
4
4
|
"description": "crh-jssdk",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"build": "node build.js"
|
|
7
|
+
"build": "node build.js",
|
|
8
|
+
"release": "bumpp --commit --tag --push && npm publish",
|
|
9
|
+
"release:patch": "bumpp patch --commit --tag --push && npm publish",
|
|
10
|
+
"release:minor": "bumpp minor --commit --tag --push && npm publish",
|
|
11
|
+
"release:major": "bumpp major --commit --tag --push && npm publish",
|
|
12
|
+
"prepublishOnly": "npm run build"
|
|
8
13
|
},
|
|
9
14
|
"keywords": [
|
|
10
15
|
"typescript"
|
|
@@ -15,6 +20,7 @@
|
|
|
15
20
|
"author": "crh-fe",
|
|
16
21
|
"license": "ISC",
|
|
17
22
|
"devDependencies": {
|
|
23
|
+
"bumpp": "^12.2.0",
|
|
18
24
|
"typescript": "^5.5.2"
|
|
19
25
|
},
|
|
20
26
|
"files": [
|