crh-jssdk 0.0.5 → 0.0.7

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.
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ios = exports.empty = exports.common = void 0;
40
+ exports.checkIsHarmonyOS = checkIsHarmonyOS;
41
+ exports.harmonyCallJsHandler = harmonyCallJsHandler;
42
+ //调用sdk通用方法
43
+ var common = function (promise, name) {
44
+ if (!promise) {
45
+ return function () {
46
+ return Promise.resolve([
47
+ {
48
+ code: "-1",
49
+ data: null,
50
+ msg: "jssdk\u6682\u4E0D\u652F\u6301".concat(name, "\u65B9\u6CD5, \u8BF7\u4E0E\u7BA1\u7406\u5458\u8054\u7CFB"),
51
+ },
52
+ ]);
53
+ };
54
+ }
55
+ return function () {
56
+ var params = [];
57
+ for (var _i = 0; _i < arguments.length; _i++) {
58
+ params[_i] = arguments[_i];
59
+ }
60
+ return __awaiter(void 0, void 0, void 0, function () {
61
+ var res;
62
+ return __generator(this, function (_a) {
63
+ switch (_a.label) {
64
+ case 0:
65
+ console.log("\u65B9\u6CD5:".concat(name, ";\u8BF7\u6C42\u53C2\u6570\u5982\u4E0B:").concat(JSON.stringify(params)));
66
+ return [4 /*yield*/, promise.apply(void 0, params)];
67
+ case 1:
68
+ res = _a.sent();
69
+ return [2 /*return*/, res];
70
+ }
71
+ });
72
+ });
73
+ };
74
+ };
75
+ exports.common = common;
76
+ var empty = function (name) {
77
+ return Promise.resolve([
78
+ { code: "-1", data: null, msg: "jssdk\u6682\u4E0D\u652F\u6301".concat(name, "\u65B9\u6CD5, \u8BF7\u4E0E\u7BA1\u7406\u5458\u8054\u7CFB") },
79
+ ]);
80
+ };
81
+ exports.empty = empty;
82
+ var u = navigator.userAgent;
83
+ var ios = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
84
+ exports.ios = ios;
85
+ function checkIsHarmonyOS() {
86
+ try {
87
+ if (window.HarmonyBridge && window.HarmonyBridge.callJsHandler) {
88
+ return true;
89
+ }
90
+ }
91
+ catch (e) {
92
+ console.log("获取鸿蒙标识出错");
93
+ console.log(e);
94
+ }
95
+ return false;
96
+ }
97
+ /**
98
+ * @desc 调用鸿蒙方法
99
+ * @param key
100
+ * @param data
101
+ */
102
+ function harmonyCallJsHandler(key, data) {
103
+ var params = {};
104
+ try {
105
+ if (typeof data === "string") {
106
+ params = JSON.parse(data);
107
+ }
108
+ else {
109
+ params = data;
110
+ }
111
+ }
112
+ catch (_) {
113
+ params = {};
114
+ }
115
+ console.log('调用 HarmonyBridge: ', key, JSON.stringify(params));
116
+ window.HarmonyBridge.callJsHandler(key, JSON.stringify(params));
117
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MALL = void 0;
7
+ var mall_1 = require("./mall");
8
+ Object.defineProperty(exports, "MALL", { enumerable: true, get: function () { return __importDefault(mall_1).default; } });
@@ -0,0 +1,713 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ var utils_1 = require("../common/utils");
51
+ //解析opStation
52
+ var parsOpStation = function (json) {
53
+ // 匹配任何键名为字符串并且对应值为字符串的情况
54
+ var regex = /"([^"]+)":"({[^}]+})"/g;
55
+ var result = json;
56
+ // 循环匹配所有键值对
57
+ var match;
58
+ while ((match = regex.exec(json)) !== null) {
59
+ var key = match[1];
60
+ var valueStr = match[2];
61
+ try {
62
+ var valueObj = JSON.parse(valueStr);
63
+ // 将解析后的对象替换原始字符串中的对应键值对
64
+ result = result.replace("\"".concat(key, "\":\"").concat(valueStr, "\""), "\"".concat(key, "\":").concat(JSON.stringify(valueObj)));
65
+ }
66
+ catch (e) {
67
+ console.error("\u8F6C\u4E3Ajson\u683C\u5F0F\u6709\u8BEF\uFF0Ckey\u4E3A=> \"".concat(key, "\":"), e);
68
+ }
69
+ }
70
+ return result;
71
+ };
72
+ /**
73
+ * @name 版本号比较
74
+ * @param {string} version1 版本号1
75
+ * @param {string} version2 版本号2
76
+ * @returns 1: 版本1大于版本2 | -1: 版本1小于版本2 | 0: 版本相等
77
+ */
78
+ var compareVersion = function (version1, version2) {
79
+ version1 = version1.split('.');
80
+ version2 = version2.split('.');
81
+ var n = Math.max(version1.length, version2.length);
82
+ for (var i = 0; i < n; i++) {
83
+ var code1 = version1[i] === undefined ? 0 : parseInt(version1[i], 10);
84
+ var code2 = version2[i] === undefined ? 0 : parseInt(version2[i], 10);
85
+ if (code1 > code2) {
86
+ return 1;
87
+ }
88
+ if (code1 < code2) {
89
+ return -1;
90
+ }
91
+ }
92
+ return 0;
93
+ };
94
+ var APPID = 'b5bae4daa01aa0c2';
95
+ // webview类型
96
+ var webviewType = (function () {
97
+ var ua = navigator.userAgent;
98
+ var isWTSDK = ua.includes('cxzqwtsdk');
99
+ return {
100
+ isWTSDK: isWTSDK,
101
+ // 新乐赚
102
+ isNewLeZhuan: !isWTSDK && ua.toLowerCase().includes('lezhuan'),
103
+ // 新聚财
104
+ isNewJuCai: !isWTSDK &&
105
+ !ua.includes('crhsdk') &&
106
+ (ua.includes('Android_CFZQ_JUCAI') || ua.includes('iOS_CFZQ_JUCAI')),
107
+ // 老聚财
108
+ isOldJuCai: ua.includes('crhsdk') && !ua.includes('cfzqsdk'),
109
+ isLeZhuan: (!isWTSDK && ua.toLowerCase().includes('lezhuan')) || ua.includes('cfzqsdk'),
110
+ isCRH: ua.includes('crhsdk') || ua.includes('crhapp')
111
+ };
112
+ })();
113
+ var actionMap = {
114
+ // 财信处理action地址方法
115
+ onJsOverrideUrlLoading: function (str) {
116
+ var _a, _b, _c;
117
+ if (utils_1.ios && ((_b = (_a = window.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.lzforward)) {
118
+ (_c = window.webkit.messageHandlers.lzforward) === null || _c === void 0 ? void 0 : _c.postMessage(str);
119
+ }
120
+ else if (window.MyWebView && window.MyWebView.onJsOverrideUrlLoading) {
121
+ window.MyWebView.onJsOverrideUrlLoading(str);
122
+ }
123
+ else {
124
+ window.location.href = str;
125
+ }
126
+ },
127
+ // 财信调用action路径
128
+ callAction: function (actionId, param, cbFunName) {
129
+ var url = "http://action:".concat(actionId, "/?target=2");
130
+ if (param) {
131
+ var paramStr = JSON.stringify(param);
132
+ url += "&param=".concat(encodeURIComponent(paramStr));
133
+ }
134
+ if (cbFunName) {
135
+ url += "&callback=".concat(cbFunName);
136
+ }
137
+ console.log('callAction:', url);
138
+ this.onJsOverrideUrlLoading(url);
139
+ },
140
+ // 财信聚财通过js bridge调用app接口
141
+ setupWebViewJavascriptBridge: function (callback) {
142
+ if (window.WebViewJavascriptBridge) {
143
+ callback(window.WebViewJavascriptBridge);
144
+ }
145
+ else {
146
+ document.addEventListener('WebViewJavascriptBridgeReady', function () {
147
+ callback(window.WebViewJavascriptBridge);
148
+ }, false);
149
+ if (!/android/gi.test(navigator.userAgent)) {
150
+ if (window.WebViewJavascriptBridge) {
151
+ callback(window.WebViewJavascriptBridge);
152
+ return;
153
+ }
154
+ if (window.WVJBCallbacks) {
155
+ window.WVJBCallbacks.push(callback);
156
+ return;
157
+ }
158
+ window.WVJBCallbacks = [callback];
159
+ var WVJBIframe_1 = document.createElement('iframe');
160
+ WVJBIframe_1.style.display = 'none';
161
+ WVJBIframe_1.src = 'wvjbscheme://__BRIDGE_LOADED__';
162
+ document.documentElement.appendChild(WVJBIframe_1);
163
+ setTimeout(function () {
164
+ document.documentElement.removeChild(WVJBIframe_1);
165
+ }, 0);
166
+ }
167
+ }
168
+ },
169
+ // 聚财Android调用app接口
170
+ callAndroidActionOfJvCai: function (param) {
171
+ var paramStr = JSON.stringify(param);
172
+ if (window.mobile) {
173
+ window.mobile.onActionEvent(paramStr);
174
+ }
175
+ },
176
+ // 财信调用聚财方法
177
+ callJuCaiAction: function (funName, data, callback) {
178
+ console.log('callJuCaiAction:', funName, data, callback);
179
+ if (utils_1.ios) {
180
+ this.setupWebViewJavascriptBridge(function (bridge) {
181
+ bridge.callHandler(funName, data, window[callback]);
182
+ });
183
+ }
184
+ else {
185
+ var param = {
186
+ funName: funName,
187
+ callbackFunName: callback
188
+ };
189
+ if (data) {
190
+ param.data = data;
191
+ }
192
+ this.callAndroidActionOfJvCai(param);
193
+ }
194
+ },
195
+ /**
196
+ * iOS客户端方法加载函数(老乐赚老聚财)
197
+ * @param {string} url
198
+ */
199
+ loadIOSNative: function (url) {
200
+ var iFrame = '';
201
+ iFrame = document.createElement('iframe');
202
+ iFrame.setAttribute('src', url);
203
+ iFrame.setAttribute('style', 'display:none;');
204
+ iFrame.setAttribute('height', '0px');
205
+ iFrame.setAttribute('width', '0px');
206
+ iFrame.setAttribute('frameborder', '0');
207
+ document.body.appendChild(iFrame);
208
+ iFrame.parentNode.removeChild(iFrame);
209
+ iFrame = null;
210
+ }
211
+ };
212
+ try {
213
+ if (!utils_1.ios && webviewType.isNewJuCai) {
214
+ actionMap.setupWebViewJavascriptBridge(function (bridge) {
215
+ bridge.init();
216
+ });
217
+ }
218
+ }
219
+ catch (e) {
220
+ console.log('初始化失败');
221
+ }
222
+ exports.default = {
223
+ //是否在app内
224
+ isApp: function () {
225
+ var ua = navigator.userAgent;
226
+ var isAppFlags = [
227
+ 'crhsdk',
228
+ 'crhapp',
229
+ 'cfzqsdk',
230
+ 'LeZhuan',
231
+ 'LEZHUAN',
232
+ 'Android_CFZQ_JUCAI',
233
+ 'iOS_CFZQ_JUCAI'
234
+ ];
235
+ return isAppFlags.some(function (flag) { return ua.includes(flag); });
236
+ },
237
+ // 拦截Android物理返回键事件,并回调给前端 --- 仅安卓
238
+ interceptBack: function (callback) {
239
+ window.jtoJHandle.interceptBack('interceptBackCallBack');
240
+ window.interceptBackCallBack = function (e) {
241
+ callback && callback(e);
242
+ };
243
+ },
244
+ // 关闭页面 closeSJKH
245
+ closeSJKH: function () {
246
+ if (webviewType.isNewLeZhuan) {
247
+ actionMap.callAction(3);
248
+ }
249
+ else if (webviewType.isNewJuCai) { // iphone
250
+ actionMap.callJuCaiAction('closePage', {});
251
+ }
252
+ else if (utils_1.ios) { // iphone
253
+ window.location.href = 'objc://callIOSQuit/';
254
+ }
255
+ else {
256
+ window.jtoJHandle.closeSJKH();
257
+ }
258
+ },
259
+ /**
260
+ * 通过打开新的webview打开外部链接
261
+ */
262
+ goWebview: function (pageId, url, callback) {
263
+ var jsonObj = {
264
+ indexUrl: url,
265
+ uploadPicUrl: '',
266
+ cookieDomain: '',
267
+ closeBusiness: 'closeCallBack',
268
+ module: '',
269
+ identifier: 'zt'
270
+ };
271
+ var jsonStr = JSON.stringify(jsonObj);
272
+ if (webviewType.isNewLeZhuan) {
273
+ actionMap.callAction(207, { pageId: pageId || '1', needLogin: '0' });
274
+ }
275
+ else if (webviewType.isNewJuCai) {
276
+ actionMap.callJuCaiAction('gotoClientPage', { pageId: utils_1.ios ? String(pageId) : pageId, needLogin: '0' });
277
+ }
278
+ else if (utils_1.ios) { // iphone
279
+ actionMap.loadIOSNative("objc://openNewBusiness/$?".concat(jsonStr));
280
+ }
281
+ else {
282
+ window.jtoJHandle.openNewBusiness(jsonStr);
283
+ }
284
+ },
285
+ /**
286
+ * 获取用户信息
287
+ */
288
+ getUser: function () {
289
+ var _this = this;
290
+ return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
291
+ var data, res;
292
+ return __generator(this, function (_a) {
293
+ switch (_a.label) {
294
+ case 0:
295
+ window.getUserInfoCB = function (actionId, response) {
296
+ if (response === void 0) { response = {}; }
297
+ var isLogin = false;
298
+ var isPhoneLogin = false;
299
+ var statusInfo = response;
300
+ console.log('getUserInfoCB:', actionId, response);
301
+ if (+response.ret !== 0 && !response.login_status) {
302
+ console.warn('调用失败!', 'getUserInfoCB');
303
+ }
304
+ else {
305
+ if (response.isTradeLogin === 1) {
306
+ console.log('交易已登录');
307
+ isLogin = true;
308
+ }
309
+ if (response.isSnsLogin === 1) {
310
+ console.log('手机号已登录');
311
+ isPhoneLogin = true;
312
+ }
313
+ }
314
+ resolve(__assign({}, response));
315
+ };
316
+ if (!webviewType.isNewLeZhuan) return [3 /*break*/, 1];
317
+ actionMap.callAction(909, {}, 'getUserInfoCB');
318
+ return [3 /*break*/, 6];
319
+ case 1:
320
+ if (!webviewType.isNewJuCai) return [3 /*break*/, 3];
321
+ return [4 /*yield*/, this.getDeviceInfo()];
322
+ case 2:
323
+ data = _a.sent();
324
+ // window.getUserInfoCB(null, data);
325
+ resolve(__assign({}, data));
326
+ return [3 /*break*/, 6];
327
+ case 3:
328
+ if (!webviewType.isOldJuCai) return [3 /*break*/, 5];
329
+ return [4 /*yield*/, this.jcLogin()];
330
+ case 4:
331
+ res = _a.sent();
332
+ resolve(__assign({}, res));
333
+ return [3 /*break*/, 6];
334
+ case 5:
335
+ this.businessAlertView('http://action:909/?target=2&callback=getUserInfoCB');
336
+ _a.label = 6;
337
+ case 6: return [2 /*return*/];
338
+ }
339
+ });
340
+ }); });
341
+ },
342
+ // 获取客户端用户和设备信息
343
+ getDeviceInfo: function (type) {
344
+ var _this = this;
345
+ if (type === void 0) { type = 'fetch'; }
346
+ console.log('getDeviceInfo----');
347
+ return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
348
+ var data;
349
+ var _a;
350
+ return __generator(this, function (_b) {
351
+ switch (_b.label) {
352
+ case 0:
353
+ window.getDeviceInfoCB = function (actionId, info) {
354
+ if (info === void 0) { info = {}; }
355
+ console.log('getDeviceInfo回调:', actionId, info);
356
+ /**
357
+ * info = "{"appName":"lezhuan","channel":"38106","clientId":"200030002048","deviceId":"dd2375d70947a02a","isp":"CU","mac":"1CB796216DC3","mobileType":"Android","model":"SEA-AL10","netType":"wifi","osVer":"10","phoneNo":"18888888888","resolution":"1080*2259","ret":0,"version":"5.7.0","appConfig":{"canShowMonitor":1,"dailybill":1,"globalQuotation":0,"imSwitch":1,"isShowStockNewsTag":1,"magicNineTurn":1,"onekeyLogin":1,"profitLossFlag":1,"searchMethod":2,"stockDetailNews":1},"grayRelease":{"WEALTH_TAB":0,"quotationNews":1,"CONDITION_SHEET":1}}"
358
+ */
359
+ if (typeof info === 'string') {
360
+ info = JSON.parse(info);
361
+ }
362
+ resolve(__assign({}, info));
363
+ delete window.getDeviceInfoCB;
364
+ };
365
+ if (!webviewType.isNewLeZhuan) return [3 /*break*/, 1];
366
+ actionMap.callAction(903, {}, 'getDeviceInfoCB');
367
+ return [3 /*break*/, 4];
368
+ case 1:
369
+ if (!webviewType.isNewJuCai) return [3 /*break*/, 3];
370
+ return [4 /*yield*/, this.jcLogin('fetch')];
371
+ case 2:
372
+ data = _b.sent();
373
+ console.log(data, 'data');
374
+ resolve(__assign({}, data));
375
+ return [3 /*break*/, 4];
376
+ case 3:
377
+ if (utils_1.ios) {
378
+ actionMap.loadIOSNative('objc://getDeviceInfo/?getDeviceInfoCB');
379
+ }
380
+ else {
381
+ (_a = window.jtoJHandle) === null || _a === void 0 ? void 0 : _a.getDeviceInfo('getDeviceInfoCB');
382
+ }
383
+ _b.label = 4;
384
+ case 4: return [2 /*return*/];
385
+ }
386
+ });
387
+ }); });
388
+ },
389
+ // 聚财获取登录信息或者未登录调起登录,调登录type传callback_after_login
390
+ jcLogin: function (type) {
391
+ if (type === void 0) { type = 'fetch'; }
392
+ return new Promise(function (resolve) {
393
+ if (webviewType.isNewJuCai) {
394
+ var data_1 = { info_type: 'wt', call_type: type, key_type: '' };
395
+ actionMap.setupWebViewJavascriptBridge(function (bridge) {
396
+ bridge.callHandler('getUserInfoByRsa', data_1, function (info) {
397
+ console.log('getNewJcDeviceInfoCB:', info);
398
+ var deviceInfo = {};
399
+ var mobileInfo = info.mobile_hardware
400
+ ? info.mobile_hardware.replace('HDInfo=', '').split(',')
401
+ : [];
402
+ mobileInfo.forEach(function (item) {
403
+ var index = item.indexOf(':');
404
+ deviceInfo[item.substring(0, index)] = item.substring(index + 1);
405
+ });
406
+ console.log('deviceInfo:', deviceInfo);
407
+ resolve(__assign(__assign({}, info), { deviceInfo: deviceInfo, isLogin: info.login_status === '1', token: info.param, fundAccount: '', mobile: deviceInfo.RMRN || '' }));
408
+ });
409
+ });
410
+ }
411
+ else if (webviewType.isOldJuCai) {
412
+ window.oldJuCaiLoginCB = function (token) {
413
+ console.log('oldJuCaiLoginCB:', token);
414
+ resolve({
415
+ isLogin: !!token,
416
+ token: JSON.parse(JSON.stringify(token)),
417
+ fundAccount: '',
418
+ mobile: ''
419
+ });
420
+ };
421
+ if (utils_1.ios) {
422
+ window.location.href = 'objc://getUser/?oldJuCaiLoginCB';
423
+ }
424
+ else if (window.jtoJHandle) {
425
+ window.jtoJHandle.getUser('oldJuCaiLoginCB');
426
+ }
427
+ }
428
+ });
429
+ },
430
+ // app各种方法:交易密码登录框、银证转账充值等。
431
+ // 参数格式:http://action:actionID/?target=tType&callback=funName&param=requestJSON
432
+ businessAlertView: function (url, callback) {
433
+ console.log('businessAlertView:', url, callback);
434
+ if (utils_1.ios) {
435
+ if (callback) {
436
+ url = "".concat(url, "$?").concat(callback);
437
+ }
438
+ actionMap.loadIOSNative("objc://businessAlertView/$?".concat(url));
439
+ }
440
+ else if (window.jtoJHandle) {
441
+ if (callback) {
442
+ window.jtoJHandle.businessAlertView(url, callback);
443
+ }
444
+ else {
445
+ window.jtoJHandle.businessAlertView(url);
446
+ }
447
+ }
448
+ else {
449
+ }
450
+ },
451
+ // 获取交易登录的token(弹出登录框)
452
+ getTradeLoginToken: function (appid) {
453
+ var _this = this;
454
+ var tradeParam = { appId: appid || APPID };
455
+ console.log('tradeParam:', tradeParam);
456
+ return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
457
+ var res, jcLoginRes, jcLoginRes;
458
+ return __generator(this, function (_a) {
459
+ switch (_a.label) {
460
+ case 0:
461
+ // 乐赚交易登录回调获取token准备传入u001
462
+ window.getTradeLoginTokenCB = function (actionId, response) {
463
+ console.log('getTradeLoginTokenCB:', actionId, response);
464
+ if (response.ret === 0) {
465
+ resolve(response.token);
466
+ }
467
+ else {
468
+ resolve('');
469
+ }
470
+ delete window.getTradeLoginTokenCB;
471
+ };
472
+ if (!webviewType.isNewLeZhuan) return [3 /*break*/, 1];
473
+ actionMap.callAction(209, tradeParam, 'getTradeLoginTokenCB');
474
+ return [3 /*break*/, 9];
475
+ case 1:
476
+ if (!webviewType.isNewJuCai) return [3 /*break*/, 6];
477
+ return [4 /*yield*/, this.getDeviceInfo()];
478
+ case 2:
479
+ res = _a.sent();
480
+ console.log(res, 'res');
481
+ if (!!res.isLogin) return [3 /*break*/, 4];
482
+ return [4 /*yield*/, this.jcLogin('callback_after_login')];
483
+ case 3:
484
+ jcLoginRes = _a.sent();
485
+ resolve(jcLoginRes.token);
486
+ return [3 /*break*/, 5];
487
+ case 4:
488
+ resolve(res.token);
489
+ _a.label = 5;
490
+ case 5: return [3 /*break*/, 9];
491
+ case 6:
492
+ if (!webviewType.isOldJuCai) return [3 /*break*/, 8];
493
+ return [4 /*yield*/, this.jcLogin('callback_after_login')];
494
+ case 7:
495
+ jcLoginRes = _a.sent();
496
+ resolve(jcLoginRes.token);
497
+ return [3 /*break*/, 9];
498
+ case 8:
499
+ this.businessAlertView("http://action:209/?target=2&callback=getTradeLoginTokenCB&param=".concat(encodeURIComponent(JSON.stringify(tradeParam))));
500
+ _a.label = 9;
501
+ case 9: return [2 /*return*/];
502
+ }
503
+ });
504
+ }); });
505
+ },
506
+ /**
507
+ * 获取手机号token
508
+ * @returns {string} token
509
+ */
510
+ getPhoneToken: function () {
511
+ var _this = this;
512
+ return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
513
+ var communityParam, res;
514
+ return __generator(this, function (_a) {
515
+ switch (_a.label) {
516
+ case 0:
517
+ window.communityLoginCB = function (actionId, response) {
518
+ console.log("\u793E\u533Atoken\u7684\u503C:", actionId, response.token);
519
+ if (response.ret === 0) {
520
+ resolve("".concat(response.token, ",").concat(APPID));
521
+ }
522
+ else {
523
+ resolve('');
524
+ }
525
+ };
526
+ communityParam = { appId: APPID, tokenRetry: true };
527
+ if (!webviewType.isNewLeZhuan) return [3 /*break*/, 1];
528
+ actionMap.callAction(229, communityParam, 'communityLoginCB');
529
+ return [3 /*break*/, 4];
530
+ case 1:
531
+ if (!webviewType.isNewJuCai) return [3 /*break*/, 3];
532
+ return [4 /*yield*/, this.getDeviceInfo()];
533
+ case 2:
534
+ res = _a.sent();
535
+ resolve(res.token);
536
+ return [3 /*break*/, 4];
537
+ case 3:
538
+ this.businessAlertView("http://action:229/?target=2&callback=communityLoginCB&param=".concat(encodeURIComponent(JSON.stringify(communityParam))));
539
+ _a.label = 4;
540
+ case 4: return [2 /*return*/];
541
+ }
542
+ });
543
+ }); });
544
+ },
545
+ /**
546
+ * 获取客户端版本号
547
+ */
548
+ getVersion: function () {
549
+ var ua = navigator.userAgent.toLowerCase();
550
+ var regex = '';
551
+ if (webviewType.isNewLeZhuan) {
552
+ regex = utils_1.ios ? /cfzq_lezhuan_([\d.]+)/ : /cfzq_lezhuan([\d.]+)/;
553
+ }
554
+ else if (webviewType.isNewJuCai) {
555
+ regex = /cfzq_jucai_([\d.]+)/;
556
+ }
557
+ var match = ua.match(regex);
558
+ if (match) {
559
+ var version = match[1];
560
+ return version;
561
+ }
562
+ else {
563
+ console.warn('version没有找到匹配项');
564
+ return '0.0.0';
565
+ }
566
+ },
567
+ /**
568
+ * 设置原生状态栏颜色(乐赚客户端)
569
+ * @param {object} params
570
+ * @param {string} params.color 状态栏背景颜色,如#ff0000
571
+ * @param {string} params.wordColorStyle 状态栏文字颜色,0 白色,1 黑色
572
+ */
573
+ setStatusBar: function (params) {
574
+ return __awaiter(this, void 0, void 0, function () {
575
+ var data;
576
+ return __generator(this, function (_a) {
577
+ if (webviewType.isNewLeZhuan) {
578
+ if (compareVersion('6.1.0', this.getVersion()) === 1) {
579
+ console.log('---版本号低,无法设置状态栏颜色---');
580
+ return [2 /*return*/];
581
+ }
582
+ data = {
583
+ statusColor: params.color,
584
+ isDark: params.wordColorStyle === '1'
585
+ };
586
+ actionMap.callAction(933, data);
587
+ }
588
+ else if (webviewType.isCRH) {
589
+ if (utils_1.ios) {
590
+ actionMap.loadIOSNative("objc://setAppBackgroundColor/$?".concat(params.color));
591
+ }
592
+ else if (window.jtoJHandle) {
593
+ window.jtoJHandle.setAppBackgroundColor(params.color);
594
+ }
595
+ }
596
+ return [2 /*return*/];
597
+ });
598
+ });
599
+ },
600
+ /**
601
+ * 产品收藏
602
+ * @param {object} params
603
+ * @param {string} params.versionList 支持自选的版本号
604
+ * @param {string} params.productNo 产品编号
605
+ * @param {string} params.productCode 产品代码
606
+ * @param {string} params.categoryId 产品类型
607
+ * @param {string} params.actionType 操作类型 1:收藏2:取消收藏3:查询是否收藏
608
+ * @param {string} params.callbackName 回调函数
609
+ */
610
+ setCollect: function (params) {
611
+ var _this = this;
612
+ var sdkParams = { productNo: params.productNo, productCode: params.productCode, categoryId: params.categoryId, actionType: params.actionType };
613
+ return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
614
+ var userInfo;
615
+ return __generator(this, function (_a) {
616
+ switch (_a.label) {
617
+ case 0:
618
+ if (!(params.versionList.indexOf(this.getVersion()) > -1 && webviewType.isNewLeZhuan)) return [3 /*break*/, 2];
619
+ window.callAfterFavor = function (actionId, data) {
620
+ console.log(data, 'ret');
621
+ resolve(__assign({ error_no: '0', error_info: '' }, data));
622
+ };
623
+ actionMap.callAction(909, {}, 'getUserInfo');
624
+ return [4 /*yield*/, this.getUser()];
625
+ case 1:
626
+ userInfo = _a.sent();
627
+ if (userInfo.ret !== 0 && !userInfo.login_status) {
628
+ resolve({
629
+ error_no: '-1',
630
+ error_info: '调用失败'
631
+ });
632
+ }
633
+ else {
634
+ if (userInfo.isSnsLogin === 0) {
635
+ resolve({
636
+ error_no: '-2',
637
+ error_info: '社区未登录'
638
+ });
639
+ }
640
+ else {
641
+ actionMap.callAction(107, sdkParams, 'callAfterFavor');
642
+ }
643
+ }
644
+ return [3 /*break*/, 3];
645
+ case 2:
646
+ resolve({
647
+ error_no: '-3',
648
+ error_info: '请在最新版财信证券APP中添加理财自选'
649
+ });
650
+ _a.label = 3;
651
+ case 3: return [2 /*return*/];
652
+ }
653
+ });
654
+ }); });
655
+ },
656
+ /**
657
+ * 银证转账
658
+ * @param {string} version 支持半屏转账的版本号
659
+ * @param {string} callbackName 回调函数
660
+ */
661
+ goBankTransfer: function () {
662
+ return __awaiter(this, arguments, void 0, function (version, callbackName) {
663
+ if (version === void 0) { version = '7.2.0'; }
664
+ return __generator(this, function (_a) {
665
+ if (webviewType.isNewLeZhuan) {
666
+ if (compareVersion(version, this.getVersion()) === 1) {
667
+ actionMap.callAction(218, { transType: '1' }, callbackName);
668
+ }
669
+ else {
670
+ actionMap.callAction(939, { transType: '1' }, callbackName);
671
+ }
672
+ }
673
+ else if (webviewType.isNewJuCai) {
674
+ actionMap.callJuCaiAction('gotoClientPage', { pageId: '2621', needLogin: '0' });
675
+ }
676
+ else {
677
+ this.businessAlertView('http://action:218/?target=2', '');
678
+ }
679
+ return [2 /*return*/];
680
+ });
681
+ });
682
+ },
683
+ /**
684
+ * 分享
685
+ * @param {object} params
686
+ * @param {string} params.img_url 分享展示的图片
687
+ * @param {string} params.url 分享链接
688
+ * @param {string} params.title 标题
689
+ * @param {string} params.message 内容
690
+ */
691
+ share: function (params) {
692
+ return __awaiter(this, void 0, void 0, function () {
693
+ var shareParam;
694
+ return __generator(this, function (_a) {
695
+ if (webviewType.isLeZhuan) {
696
+ shareParam = {
697
+ img_url: params.img_url,
698
+ url: params.url,
699
+ title: params.title,
700
+ message: params.message
701
+ };
702
+ if (webviewType.isNewJuCai) {
703
+ actionMap.callAction(900, shareParam, '');
704
+ }
705
+ else {
706
+ this.businessAlertView("http://action:900/?target=2&param=".concat(encodeURIComponent(JSON.stringify(shareParam))));
707
+ }
708
+ }
709
+ return [2 /*return*/];
710
+ });
711
+ });
712
+ }
713
+ };
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var utils_1 = require("../common/utils");
4
+ //解析opStation
5
+ var parsOpStation = function (json) {
6
+ // 匹配任何键名为字符串并且对应值为字符串的情况
7
+ var regex = /"([^"]+)":"({[^}]+})"/g;
8
+ var result = json;
9
+ // 循环匹配所有键值对
10
+ var match;
11
+ while ((match = regex.exec(json)) !== null) {
12
+ var key = match[1];
13
+ var valueStr = match[2];
14
+ try {
15
+ var valueObj = JSON.parse(valueStr);
16
+ // 将解析后的对象替换原始字符串中的对应键值对
17
+ result = result.replace("\"".concat(key, "\":\"").concat(valueStr, "\""), "\"".concat(key, "\":").concat(JSON.stringify(valueObj)));
18
+ }
19
+ catch (e) {
20
+ console.error("\u8F6C\u4E3Ajson\u683C\u5F0F\u6709\u8BEF\uFF0Ckey\u4E3A=> \"".concat(key, "\":"), e);
21
+ }
22
+ }
23
+ return result;
24
+ };
25
+ exports.default = {
26
+ // 获取设备信息
27
+ getDeviceInfo: function (fn) {
28
+ if (utils_1.ios) {
29
+ window.location.href = "objc://getDeviceInfo/?getDeviceInfoCallBack";
30
+ }
31
+ else if ((0, utils_1.checkIsHarmonyOS)()) {
32
+ (0, utils_1.harmonyCallJsHandler)("getDeviceInfo", {
33
+ callback: "getDeviceInfoCallBack",
34
+ });
35
+ }
36
+ else {
37
+ window.jtoJHandle.getDeviceInfo("getDeviceInfoCallBack");
38
+ }
39
+ window.getDeviceInfoCallBack = function (res) {
40
+ console.log("getDeviceInfo-sdk", res);
41
+ var data = {};
42
+ try {
43
+ data = JSON.parse(res);
44
+ }
45
+ catch (error) {
46
+ res = parsOpStation(res);
47
+ data = JSON.parse(res);
48
+ }
49
+ var real_res = {
50
+ device_id: data.deviceId || "",
51
+ app_name: data.appName || "",
52
+ net_type: data.appnettype || "",
53
+ mac: data.mac || "",
54
+ brand: data.brand || "",
55
+ mobile_tel: data.mobileNo || "",
56
+ os_version: data.osVersion || "",
57
+ imsi: data.imsi || "",
58
+ lanip: data.lanIP || "",
59
+ app_version: data.appVersion || "",
60
+ sdk_version: data.sdkVersion || "",
61
+ opStation: data.opStation || "",
62
+ };
63
+ // if (data.appVersion && navigator.userAgent.indexOf("crhapp") > -1) {
64
+ // this.the_login_register_req.device_info.app_ver = data.appVersion;
65
+ // } else {
66
+ // this.the_login_register_req.device_info.app_ver = data.sdkVersion;
67
+ // }
68
+ console.log(real_res, "real_res");
69
+ fn && fn(real_res);
70
+ };
71
+ },
72
+ // 拦截Android物理返回键事件,并回调给前端 --- 仅安卓 鸿蒙
73
+ interceptBack: function (callback) {
74
+ if ((0, utils_1.checkIsHarmonyOS)()) {
75
+ (0, utils_1.harmonyCallJsHandler)("interceptBack", {
76
+ callback: "interceptBackCallBack",
77
+ });
78
+ }
79
+ else {
80
+ window.jtoJHandle.interceptBack('interceptBackCallBack');
81
+ }
82
+ window.interceptBackCallBack = function (e) {
83
+ callback && callback(e);
84
+ };
85
+ },
86
+ // 关闭页面 closeSJKH
87
+ callQuit: function () {
88
+ if (utils_1.ios) {
89
+ window.location.href = "objc://callIOSQuit";
90
+ }
91
+ else if ((0, utils_1.checkIsHarmonyOS)()) {
92
+ (0, utils_1.harmonyCallJsHandler)("closeSJKH", '');
93
+ }
94
+ else {
95
+ window.jtoJHandle.interceptBack('closeSJKH');
96
+ }
97
+ },
98
+ goWebview: function (title, url, callback) {
99
+ var params = {
100
+ title: title,
101
+ url: url,
102
+ callback: 'openOwnPageCallBack'
103
+ };
104
+ if (utils_1.ios) {
105
+ window.location.href = "objc://openOwnPage/$?".concat(JSON.stringify(params), "\"");
106
+ }
107
+ else if ((0, utils_1.checkIsHarmonyOS)()) {
108
+ (0, utils_1.harmonyCallJsHandler)("openOwnPage", params);
109
+ }
110
+ else {
111
+ window.jtoJHandle.openOwnPage(JSON.stringify(params));
112
+ }
113
+ window.openOwnPageCallBack = function (e) {
114
+ callback && callback(e);
115
+ };
116
+ },
117
+ // 获取用户信息
118
+ getUser: function () {
119
+ return new Promise(function (resolve) {
120
+ if (utils_1.ios) {
121
+ window.location.href = "objc://getUser/?getUserCallBack";
122
+ }
123
+ else if ((0, utils_1.checkIsHarmonyOS)()) {
124
+ (0, utils_1.harmonyCallJsHandler)("getUser", {
125
+ callback: "getUserCallBack",
126
+ });
127
+ }
128
+ else if (window.jtoJHandle) {
129
+ window.jtoJHandle.getUser("getUserCallBack");
130
+ }
131
+ window.getUserInfoCallBack = function (account, pwd) {
132
+ if (account === void 0) { account = ""; }
133
+ if (pwd === void 0) { pwd = ""; }
134
+ console.log("getUser-sdk", account, pwd);
135
+ resolve({
136
+ account: account,
137
+ pwd: pwd,
138
+ });
139
+ };
140
+ });
141
+ },
142
+ // 爱建统一登录
143
+ callOtherLogin: function () {
144
+ return new Promise(function (resolve) {
145
+ if (utils_1.ios) {
146
+ window.location.href = "objc://callOtherLogin/?callOtherLoginCallBack";
147
+ }
148
+ else if ((0, utils_1.checkIsHarmonyOS)()) {
149
+ (0, utils_1.harmonyCallJsHandler)("callOtherLogin", {
150
+ callback: "callOtherLoginCallBack",
151
+ });
152
+ }
153
+ else if (window.jtoJHandle) {
154
+ window.jtoJHandle.callOtherLogin("callOtherLoginCallBack");
155
+ }
156
+ window.callOtherLoginCallBack = function (loginInfo) {
157
+ console.log("callOtherLogin-sdk", loginInfo);
158
+ resolve({
159
+ loginInfo: loginInfo
160
+ });
161
+ };
162
+ });
163
+ },
164
+ };
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ 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;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ /**
63
+ * @desc 商城sdk
64
+ * 1 财人汇app sdk
65
+ */
66
+ var utils_js_1 = require("../common/utils.js");
67
+ var MALL = /** @class */ (function () {
68
+ function MALL(sdkType) {
69
+ this.isApp = false; //是否是app
70
+ this.sdkType = sdkType; // 1 财人汇
71
+ }
72
+ MALL.prototype.initSdk = function () {
73
+ return __awaiter(this, void 0, void 0, function () {
74
+ var _a, _b;
75
+ return __generator(this, function (_c) {
76
+ switch (_c.label) {
77
+ case 0:
78
+ console.log("start initSdk");
79
+ if (!(+this.sdkType === 1)) return [3 /*break*/, 2];
80
+ _a = this;
81
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./crh-app-sdk")); })];
82
+ case 1:
83
+ _a.sdkObj = (_c.sent()).default;
84
+ return [3 /*break*/, 4];
85
+ case 2:
86
+ if (!(+this.sdkType === 2)) return [3 /*break*/, 4];
87
+ _b = this;
88
+ return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require("./crh-app-sdk-cxzq")); })];
89
+ case 3:
90
+ _b.sdkObj = (_c.sent()).default;
91
+ this.isApp = this.sdkObj.isApp();
92
+ _c.label = 4;
93
+ case 4:
94
+ console.log("sdk初始化了", this.sdkType);
95
+ return [2 /*return*/];
96
+ }
97
+ });
98
+ });
99
+ };
100
+ //获取设备信息
101
+ MALL.prototype.getDeviceInfo = function (fn) {
102
+ if (!this.sdkObj.getDeviceInfo) {
103
+ return (0, utils_js_1.empty)("getDeviceInfo");
104
+ }
105
+ return this.sdkObj.getDeviceInfo(fn);
106
+ };
107
+ //拦截Android物理返回键事件,并回调给前端 --- 仅安卓 鸿蒙
108
+ MALL.prototype.interceptBack = function (fn) {
109
+ if (!this.sdkObj.interceptBack) {
110
+ return (0, utils_js_1.empty)("interceptBack");
111
+ }
112
+ return this.sdkObj.interceptBack(fn);
113
+ };
114
+ //关闭页面
115
+ MALL.prototype.closeSJKH = function (fn) {
116
+ if (!this.sdkObj.closeSJKH) {
117
+ return (0, utils_js_1.empty)("closeSJKH");
118
+ }
119
+ return this.sdkObj.closeSJKH(fn);
120
+ };
121
+ //打开新页面
122
+ MALL.prototype.openOwnPage = function (fn) {
123
+ if (!this.sdkObj.openOwnPage) {
124
+ return (0, utils_js_1.empty)("openOwnPage");
125
+ }
126
+ return this.sdkObj.openOwnPage(fn);
127
+ };
128
+ //获取用户信息
129
+ MALL.prototype.getUserInfo = function (fn) {
130
+ if (!this.sdkObj.getUserInfo) {
131
+ return (0, utils_js_1.empty)("getUserInfo");
132
+ }
133
+ return this.sdkObj.getUserInfo(fn);
134
+ };
135
+ //调起客户端登录
136
+ MALL.prototype.callOtherLogin = function (fn) {
137
+ if (!this.sdkObj.callOtherLogin) {
138
+ return (0, utils_js_1.empty)("callOtherLogin");
139
+ }
140
+ return this.sdkObj.callOtherLogin(fn);
141
+ };
142
+ //跳转webview
143
+ MALL.prototype.goWebview = function () {
144
+ if (!this.sdkObj.goWebview) {
145
+ return (0, utils_js_1.empty)("goWebview");
146
+ }
147
+ return this.sdkObj.goWebview();
148
+ };
149
+ //获取用户信息
150
+ MALL.prototype.getUser = function () {
151
+ if (!this.sdkObj.getUser) {
152
+ return (0, utils_js_1.empty)("getUser");
153
+ }
154
+ return this.sdkObj.getUser();
155
+ };
156
+ //获取交易登录的token(弹出登录框)
157
+ MALL.prototype.getTradeLoginToken = function () {
158
+ if (!this.sdkObj.getTradeLoginToken) {
159
+ return (0, utils_js_1.empty)("getTradeLoginToken");
160
+ }
161
+ return this.sdkObj.getTradeLoginToken();
162
+ };
163
+ //获取手机号token
164
+ MALL.prototype.getPhoneToken = function () {
165
+ if (!this.sdkObj.getPhoneToken) {
166
+ return (0, utils_js_1.empty)("getPhoneToken");
167
+ }
168
+ return this.sdkObj.getPhoneToken();
169
+ };
170
+ //获取app版本
171
+ MALL.prototype.getVersion = function () {
172
+ if (!this.sdkObj.getVersion) {
173
+ return (0, utils_js_1.empty)("getVersion");
174
+ }
175
+ return this.sdkObj.getVersion();
176
+ };
177
+ //设置原生状态栏颜色(乐赚客户端)
178
+ MALL.prototype.setStatusBar = function () {
179
+ if (!this.sdkObj.setStatusBar) {
180
+ return (0, utils_js_1.empty)("setStatusBar");
181
+ }
182
+ return this.sdkObj.setStatusBar();
183
+ };
184
+ //产品收藏
185
+ MALL.prototype.setCollect = function () {
186
+ if (!this.sdkObj.setCollect) {
187
+ return (0, utils_js_1.empty)("setCollect");
188
+ }
189
+ return this.sdkObj.setCollect();
190
+ };
191
+ //银证转账
192
+ MALL.prototype.goBankTransfer = function () {
193
+ if (!this.sdkObj.goBankTransfer) {
194
+ return (0, utils_js_1.empty)("goBankTransfer");
195
+ }
196
+ return this.sdkObj.goBankTransfer();
197
+ };
198
+ //分享
199
+ MALL.prototype.share = function () {
200
+ if (!this.sdkObj.share) {
201
+ return (0, utils_js_1.empty)("share");
202
+ }
203
+ return this.sdkObj.share();
204
+ };
205
+ return MALL;
206
+ }());
207
+ exports.default = MALL;
@@ -7,6 +7,7 @@ import { common, empty } from "../common/utils.js";
7
7
  export default class MALL {
8
8
  public sdkType: number; // 初始化确定是哪种sdk 财人汇
9
9
  public sdkObj: any; //具体的sdk对象
10
+ public isApp: boolean = false; //是否是app
10
11
 
11
12
  constructor(sdkType: number) {
12
13
  this.sdkType = sdkType; // 1 财人汇
@@ -18,6 +19,7 @@ export default class MALL {
18
19
  this.sdkObj = (await import("./crh-app-sdk")).default;
19
20
  } else if (+this.sdkType === 2) {
20
21
  this.sdkObj = (await import("./crh-app-sdk-cxzq")).default;
22
+ this.isApp = this.sdkObj.isApp();
21
23
  }
22
24
  console.log("sdk初始化了", this.sdkType);
23
25
  }
@@ -69,4 +71,76 @@ export default class MALL {
69
71
  }
70
72
  return this.sdkObj.callOtherLogin(fn);
71
73
  }
74
+
75
+ //跳转webview
76
+ public goWebview() {
77
+ if (!this.sdkObj.goWebview) {
78
+ return empty("goWebview");
79
+ }
80
+ return this.sdkObj.goWebview();
81
+ }
82
+
83
+ //获取用户信息
84
+ public getUser() {
85
+ if (!this.sdkObj.getUser) {
86
+ return empty("getUser");
87
+ }
88
+ return this.sdkObj.getUser();
89
+ }
90
+
91
+ //获取交易登录的token(弹出登录框)
92
+ public getTradeLoginToken() {
93
+ if (!this.sdkObj.getTradeLoginToken) {
94
+ return empty("getTradeLoginToken");
95
+ }
96
+ return this.sdkObj.getTradeLoginToken();
97
+ }
98
+
99
+ //获取手机号token
100
+ public getPhoneToken() {
101
+ if (!this.sdkObj.getPhoneToken) {
102
+ return empty("getPhoneToken");
103
+ }
104
+ return this.sdkObj.getPhoneToken();
105
+ }
106
+
107
+ //获取app版本
108
+ public getVersion() {
109
+ if (!this.sdkObj.getVersion) {
110
+ return empty("getVersion");
111
+ }
112
+ return this.sdkObj.getVersion();
113
+ }
114
+
115
+ //设置原生状态栏颜色(乐赚客户端)
116
+ public setStatusBar() {
117
+ if (!this.sdkObj.setStatusBar) {
118
+ return empty("setStatusBar");
119
+ }
120
+ return this.sdkObj.setStatusBar();
121
+ }
122
+
123
+ //产品收藏
124
+ public setCollect() {
125
+ if (!this.sdkObj.setCollect) {
126
+ return empty("setCollect");
127
+ }
128
+ return this.sdkObj.setCollect();
129
+ }
130
+
131
+ //银证转账
132
+ public goBankTransfer() {
133
+ if (!this.sdkObj.goBankTransfer) {
134
+ return empty("goBankTransfer");
135
+ }
136
+ return this.sdkObj.goBankTransfer();
137
+ }
138
+
139
+ //分享
140
+ public share() {
141
+ if (!this.sdkObj.share) {
142
+ return empty("share");
143
+ }
144
+ return this.sdkObj.share();
145
+ }
72
146
  }
package/index.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var index_1 = require("./business/index");
19
+ function JSSDK(system, sdkType) {
20
+ var System = null;
21
+ if (system === 'mall') {
22
+ System = index_1.MALL;
23
+ }
24
+ return /** @class */ (function (_super) {
25
+ __extends(class_1, _super);
26
+ function class_1(option) {
27
+ var _this = _super.call(this, option) || this;
28
+ _this.sdkType = sdkType;
29
+ return _this;
30
+ }
31
+ return class_1;
32
+ }(System));
33
+ }
34
+ exports.default = JSSDK;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crh-jssdk",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "crh-jssdk",
5
5
  "main": "index.js",
6
6
  "scripts": {