crh-jssdk 0.10.25 → 0.10.27

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/build.js ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * 构建脚本 - 编译 TypeScript 并复制资源文件
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+ const { execSync } = require('child_process');
10
+
11
+ console.log('🚀 开始构建...');
12
+
13
+ // 清理 dist 目录
14
+ console.log('🧹 清理 dist 目录...');
15
+ if (fs.existsSync('dist')) {
16
+ execSync('rm -rf dist', { stdio: 'inherit' });
17
+ }
18
+
19
+ // 编译 TypeScript
20
+ console.log('📦 编译 TypeScript...');
21
+ try {
22
+ execSync('tsc', { stdio: 'inherit' });
23
+ console.log('✅ TypeScript 编译完成');
24
+ } catch (error) {
25
+ console.error('❌ TypeScript 编译失败:', error.message);
26
+ process.exit(1);
27
+ }
28
+
29
+ // 复制资源文件
30
+ console.log('📁 复制资源文件...');
31
+ const assetsSource = 'business/assets';
32
+ const assetsTarget = 'dist/business/assets';
33
+
34
+ if (fs.existsSync(assetsSource)) {
35
+ // 确保目标目录存在
36
+ if (!fs.existsSync(path.dirname(assetsTarget))) {
37
+ fs.mkdirSync(path.dirname(assetsTarget), { recursive: true });
38
+ }
39
+
40
+ // 复制整个 assets 目录
41
+ execSync(`cp -r ${assetsSource} ${path.dirname(assetsTarget)}/`, { stdio: 'inherit' });
42
+ console.log('✅ 资源文件复制完成');
43
+ } else {
44
+ console.log('⚠️ 未找到 assets 目录,跳过复制');
45
+ }
46
+
47
+ // 复制其他可能需要复制的文件
48
+ const filesToCopy = [
49
+ 'package.json',
50
+ 'README.md'
51
+ ];
52
+
53
+ filesToCopy.forEach(file => {
54
+ if (fs.existsSync(file)) {
55
+ // 确保目标目录存在
56
+ const targetDir = path.dirname(`dist/${file}`);
57
+ if (!fs.existsSync(targetDir)) {
58
+ fs.mkdirSync(targetDir, { recursive: true });
59
+ }
60
+ fs.copyFileSync(file, `dist/${file}`);
61
+ console.log(`✅ 复制 ${file}`);
62
+ }
63
+ });
64
+
65
+ console.log('🎉 构建完成!');
66
+ console.log('📂 输出目录: dist/');
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "crh-jssdk",
3
+ "version": "0.10.27",
4
+ "description": "crh-jssdk",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "node build.js"
8
+ },
9
+ "keywords": [
10
+ "typescript"
11
+ ],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "author": "crh-fe",
16
+ "license": "ISC",
17
+ "devDependencies": {
18
+ "typescript": "^5.5.2"
19
+ }
20
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "crh-jssdk",
3
- "version": "0.10.25",
3
+ "version": "0.10.27",
4
4
  "description": "crh-jssdk",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
- "build": "tsc"
7
+ "build": "node build.js"
8
8
  },
9
9
  "keywords": [
10
10
  "typescript"
@@ -1,501 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var utils_1 = require("../utils");
54
- var cx_share_png_1 = __importDefault(require("../assets/cx_share.png"));
55
- var crh_app_sdk_cxzq_1 = __importDefault(require("../profession/crh-app-sdk-cxzq"));
56
- /**
57
- * @name 版本号比较
58
- * @param {string} version1 版本号1
59
- * @param {string} version2 版本号2
60
- * @returns 1: 版本1大于版本2 | -1: 版本1小于版本2 | 0: 版本相等
61
- */
62
- var compareVersion = function (version1, version2) {
63
- version1 = version1.split(".");
64
- version2 = version2.split(".");
65
- var n = Math.max(version1.length, version2.length);
66
- for (var i = 0; i < n; i++) {
67
- var code1 = version1[i] === undefined ? 0 : parseInt(version1[i], 10);
68
- var code2 = version2[i] === undefined ? 0 : parseInt(version2[i], 10);
69
- if (code1 > code2) {
70
- return 1;
71
- }
72
- if (code1 < code2) {
73
- return -1;
74
- }
75
- }
76
- return 0;
77
- };
78
- // webview类型
79
- var webviewType = (function () {
80
- var ua = navigator.userAgent;
81
- var isWTSDK = ua.includes("cxzqwtsdk");
82
- return {
83
- isWTSDK: isWTSDK,
84
- // 新乐赚
85
- isNewLeZhuan: !isWTSDK && ua.toLowerCase().includes("lezhuan"),
86
- // 新聚财
87
- isNewJuCai: !isWTSDK &&
88
- !ua.includes("crhsdk") &&
89
- (ua.includes("Android_CFZQ_JUCAI") || ua.includes("iOS_CFZQ_JUCAI")),
90
- // 老聚财
91
- isOldJuCai: ua.includes("crhsdk") && !ua.includes("cfzqsdk"),
92
- isLeZhuan: (!isWTSDK && ua.toLowerCase().includes("lezhuan")) ||
93
- ua.includes("cfzqsdk"),
94
- isCRH: ua.includes("crhsdk") || ua.includes("crhapp"),
95
- };
96
- })();
97
- var actionMap = {
98
- // 财信处理action地址方法
99
- onJsOverrideUrlLoading: function (str) {
100
- var _a, _b, _c;
101
- if (utils_1.ios && ((_b = (_a = window.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.lzforward)) {
102
- (_c = window.webkit.messageHandlers.lzforward) === null || _c === void 0 ? void 0 : _c.postMessage(str);
103
- }
104
- else if (window.MyWebView && window.MyWebView.onJsOverrideUrlLoading) {
105
- window.MyWebView.onJsOverrideUrlLoading(str);
106
- }
107
- else if (window.HarmonyOS && window.HarmonyOS.onJsOverrideUrlLoading) {
108
- window.HarmonyOS.onJsOverrideUrlLoading(str);
109
- }
110
- else {
111
- window.location.href = str;
112
- }
113
- },
114
- // 财信调用action路径
115
- callAction: function (actionId, param, cbFunName) {
116
- var url = "http://action:".concat(actionId, "/?target=2");
117
- if (param) {
118
- var paramStr = JSON.stringify(param);
119
- url += "&param=".concat(encodeURIComponent(paramStr));
120
- }
121
- if (cbFunName) {
122
- url += "&callback=".concat(cbFunName);
123
- }
124
- console.log("callAction:", url);
125
- this.onJsOverrideUrlLoading(url);
126
- },
127
- // 财信聚财通过js bridge调用app接口
128
- setupWebViewJavascriptBridge: function (callback) {
129
- if (window.WebViewJavascriptBridge) {
130
- callback(window.WebViewJavascriptBridge);
131
- }
132
- else {
133
- document.addEventListener("WebViewJavascriptBridgeReady", function () {
134
- callback(window.WebViewJavascriptBridge);
135
- }, false);
136
- if (!/android/gi.test(navigator.userAgent)) {
137
- if (window.WebViewJavascriptBridge) {
138
- callback(window.WebViewJavascriptBridge);
139
- return;
140
- }
141
- if (window.WVJBCallbacks) {
142
- window.WVJBCallbacks.push(callback);
143
- return;
144
- }
145
- window.WVJBCallbacks = [callback];
146
- var WVJBIframe_1 = document.createElement("iframe");
147
- WVJBIframe_1.style.display = "none";
148
- WVJBIframe_1.src = "wvjbscheme://__BRIDGE_LOADED__";
149
- document.documentElement.appendChild(WVJBIframe_1);
150
- setTimeout(function () {
151
- document.documentElement.removeChild(WVJBIframe_1);
152
- }, 0);
153
- }
154
- }
155
- },
156
- // 聚财Android调用app接口
157
- callAndroidActionOfJvCai: function (param) {
158
- var paramStr = JSON.stringify(param);
159
- if (window.mobile) {
160
- window.mobile.onActionEvent(paramStr);
161
- }
162
- },
163
- // 财信调用聚财方法
164
- callJuCaiAction: function (funName, data, callback) {
165
- console.log("callJuCaiAction:", funName, data, callback);
166
- if (utils_1.ios) {
167
- this.setupWebViewJavascriptBridge(function (bridge) {
168
- bridge.callHandler(funName, data, window[callback]);
169
- });
170
- }
171
- else {
172
- var param = {
173
- funName: funName,
174
- callbackFunName: callback,
175
- };
176
- if (data) {
177
- param.data = data;
178
- }
179
- this.callAndroidActionOfJvCai(param);
180
- }
181
- },
182
- /**
183
- * iOS客户端方法加载函数(老乐赚老聚财)
184
- * @param {string} url
185
- */
186
- loadIOSNative: function (url) {
187
- var iFrame = "";
188
- iFrame = document.createElement("iframe");
189
- iFrame.setAttribute("src", url);
190
- iFrame.setAttribute("style", "display:none;");
191
- iFrame.setAttribute("height", "0px");
192
- iFrame.setAttribute("width", "0px");
193
- iFrame.setAttribute("frameborder", "0");
194
- document.body.appendChild(iFrame);
195
- iFrame.parentNode.removeChild(iFrame);
196
- iFrame = null;
197
- },
198
- };
199
- try {
200
- if (!utils_1.ios && webviewType.isNewJuCai) {
201
- actionMap.setupWebViewJavascriptBridge(function (bridge) {
202
- bridge.init();
203
- });
204
- }
205
- }
206
- catch (e) {
207
- console.log("初始化失败");
208
- }
209
- exports.default = {
210
- compareVersion: compareVersion,
211
- actionMap: actionMap,
212
- webviewType: function () {
213
- return webviewType;
214
- },
215
- //是否在app内
216
- isApp: function () {
217
- var ua = navigator.userAgent;
218
- var isAppFlags = [
219
- "crhsdk",
220
- "crhapp",
221
- "cfzqsdk",
222
- "LeZhuan",
223
- "LEZHUAN",
224
- "lezhuan",
225
- "Android_CFZQ_JUCAI",
226
- "iOS_CFZQ_JUCAI",
227
- ];
228
- return isAppFlags.some(function (flag) { return ua.includes(flag); });
229
- },
230
- // 拦截Android物理返回键事件,并回调给前端 --- 仅安卓
231
- interceptBack: function (callback) {
232
- window.jtoJHandle.interceptBack("interceptBackCallBack");
233
- window.interceptBackCallBack = function (e) {
234
- callback && callback(e);
235
- };
236
- },
237
- // 关闭页面 closeSJKH
238
- closeSJKH: function () {
239
- if (webviewType.isNewLeZhuan) {
240
- actionMap.callAction(3);
241
- }
242
- else if (webviewType.isNewJuCai) {
243
- // iphone
244
- actionMap.callJuCaiAction("closePage", {});
245
- }
246
- else if (utils_1.ios) {
247
- // iphone
248
- window.location.href = "objc://callIOSQuit/";
249
- }
250
- else {
251
- window.jtoJHandle.closeSJKH();
252
- }
253
- },
254
- /**
255
- * 跳转个股详情页
256
- */
257
- goStockDetail: function (params) {
258
- var code = params.code, market = params.market;
259
- if (webviewType.isNewLeZhuan) {
260
- actionMap.callAction(923, {
261
- code: code,
262
- market: market,
263
- });
264
- }
265
- },
266
- /**
267
- * 通过pageId打开新的webview打开外部链接
268
- */
269
- goWebview: function (params) {
270
- var sdk = params.sdk, h5 = params.h5, _a = params.h5url, h5url = _a === void 0 ? "" : _a, productCode = params.productCode;
271
- var jsonObj = {
272
- indexUrl: h5,
273
- uploadPicUrl: "",
274
- cookieDomain: "",
275
- closeBusiness: "closeCallBack",
276
- module: "",
277
- identifier: "zt",
278
- };
279
- var jsonStr = JSON.stringify(jsonObj);
280
- if (!this.isApp()) {
281
- window.location.href = h5url;
282
- return;
283
- }
284
- if (webviewType.isNewLeZhuan) {
285
- actionMap.callAction(207, __assign({ pageId: sdk || "1", needLogin: "0" }, (productCode ? { param: { productCode: productCode } } : {})));
286
- }
287
- else if (webviewType.isNewJuCai) {
288
- actionMap.callJuCaiAction("gotoClientPage", __assign({ pageId: utils_1.ios ? String(sdk) : sdk, needLogin: "0" }, (productCode ? { param: { productCode: productCode } } : {})));
289
- }
290
- else if (utils_1.ios) {
291
- // iphone
292
- actionMap.loadIOSNative("objc://openNewBusiness/$?".concat(jsonStr));
293
- }
294
- else {
295
- window.jtoJHandle.openNewBusiness(jsonStr);
296
- }
297
- },
298
- /**
299
- * 通过打开新的webview打开外部链接
300
- * @param {string} url 跳转地址
301
- * @param {boolean} needTitle 打开新webview是否需要页头1需要0不需要
302
- */
303
- goWebview2: function (_a) {
304
- var _b, _c;
305
- var _d = _a.url, url = _d === void 0 ? "" : _d, _e = _a.needTitle, needTitle = _e === void 0 ? false : _e, _f = _a.noNewWebView, noNewWebView = _f === void 0 ? false : _f;
306
- var targetUrl = url === null || url === void 0 ? void 0 : url.trim();
307
- if (!targetUrl) {
308
- console.log("targetUrl不能为空");
309
- return;
310
- }
311
- var urlParams = {};
312
- var prefix = "";
313
- if (targetUrl.includes("#")) {
314
- prefix = targetUrl.split("#")[1].includes("?") ? "&" : "?";
315
- }
316
- else {
317
- prefix = targetUrl.includes("?") ? "&" : "?";
318
- }
319
- var from = "";
320
- if (!targetUrl.includes("from=")) {
321
- from = "from=newMall";
322
- urlParams.from = "newMall";
323
- }
324
- var currentPage = window.location.hash
325
- ? (_b = window.location.hash.match(/#([^?]*)/)) === null || _b === void 0 ? void 0 : _b[1]
326
- : "/";
327
- urlParams.fromPage = currentPage;
328
- if (!noNewWebView) {
329
- // 新开webview
330
- urlParams.opentype = "newpage";
331
- }
332
- if (webviewType.isNewJuCai) {
333
- delete urlParams.opentype;
334
- }
335
- if (!needTitle && !targetUrl.includes("needtitle=")) {
336
- // 不显示原生标题栏
337
- urlParams.needtitle = "0";
338
- }
339
- if (targetUrl.includes("#") &&
340
- (urlParams.opentype || urlParams.needtitle)) {
341
- // opentype和needtitle处理,需在#号前加
342
- var tempUrl = targetUrl.split("#");
343
- var preParams = {};
344
- if (urlParams.opentype && !tempUrl[0].includes("opentype=")) {
345
- preParams.opentype = urlParams.opentype;
346
- }
347
- if (urlParams.needtitle && !tempUrl[0].includes("needtitle=")) {
348
- preParams.needtitle = urlParams.needtitle;
349
- }
350
- var fromAppTab = sessionStorage.getItem("fromAppTab") || "";
351
- if (+fromAppTab === 1 && !tempUrl[0].includes("fromAppTab=")) {
352
- preParams.fromAppTab = "1";
353
- }
354
- var urlParamsStr_1 = new URLSearchParams(preParams).toString();
355
- targetUrl = "".concat(tempUrl[0]).concat(tempUrl[0].includes("?") ? "&" : "?").concat(urlParamsStr_1, "#").concat(tempUrl[1]);
356
- }
357
- if (urlParams.opentype) {
358
- // 新开标识
359
- urlParams.isInNewWebView = "1";
360
- }
361
- /* if (+getSessionStore('fromAppTab') === 1) {
362
- urlParams.fromAppTab = '1';
363
- } */
364
- var urlParamsStr = new URLSearchParams(urlParams).toString();
365
- var mregeUrl = "".concat(targetUrl).concat(prefix).concat(urlParamsStr);
366
- console.log("goWebView:", mregeUrl);
367
- if (webviewType.isNewLeZhuan) {
368
- window.location.href = mregeUrl;
369
- }
370
- else if (webviewType.isNewJuCai) {
371
- if (urlParams.opentype) {
372
- if (utils_1.ios) {
373
- actionMap.setupWebViewJavascriptBridge(function (bridge) {
374
- bridge.callHandler("gotoNextPage", {
375
- needtitle: needTitle ? "1" : "0",
376
- url: url,
377
- }, function (data) {
378
- console.log("goWebview:", data);
379
- });
380
- });
381
- }
382
- else {
383
- // {“pageId”: “2804”, “needLogin”: “true”, “title”: “网页标题”, “url”: “http://www.baidu.com”}
384
- // pageId=2804表示跳转客户端默认webview,pageId=5002跳转客户端无标题webview;needLogin=1表示需要先登录委托,未登录委托情况下会先跳转客户端委托登录
385
- actionMap.callJuCaiAction("goWebViewPage", {
386
- pageId: needTitle ? "2804" : "5002",
387
- url: url,
388
- });
389
- }
390
- }
391
- else {
392
- // 聚财新开webview体验有问题,因此统一走location.href
393
- window.location.href = url;
394
- }
395
- }
396
- else {
397
- var paramsObj = {
398
- indexUrl: url,
399
- };
400
- paramsObj = JSON.stringify(paramsObj);
401
- if (utils_1.ios) {
402
- actionMap.loadIOSNative("objc://openNewBusiness/$?".concat(paramsObj));
403
- }
404
- else {
405
- (_c = window.jtoJHandle) === null || _c === void 0 ? void 0 : _c.openNewBusiness(paramsObj);
406
- }
407
- }
408
- },
409
- /**
410
- * 获取客户端版本号
411
- */
412
- getVersion: function () {
413
- var ua = navigator.userAgent.toLowerCase();
414
- var regex = "";
415
- if (webviewType.isNewLeZhuan) {
416
- regex = utils_1.ios || (0, utils_1.checkIsHarmonyOS)() ? /cfzq_lezhuan_([\d.]+)/ : /cfzq_lezhuan([\d.]+)/;
417
- }
418
- else if (webviewType.isNewJuCai) {
419
- regex = /cfzq_jucai_([\d.]+)/;
420
- }
421
- var match = ua.match(regex);
422
- console.log(match, "===match===");
423
- if (match) {
424
- var version = match[1];
425
- return version;
426
- }
427
- else {
428
- console.warn("version没有找到匹配项");
429
- return "0.0.0";
430
- }
431
- },
432
- /**
433
- * 设置原生状态栏颜色(乐赚客户端)
434
- * @param {object} params
435
- * @param {string} params.color 状态栏背景颜色,如#ff0000
436
- * @param {string} params.wordColorStyle 状态栏文字颜色,0 白色,1 黑色
437
- */
438
- setStatusBar: function (params) {
439
- return __awaiter(this, void 0, void 0, function () {
440
- var data;
441
- return __generator(this, function (_a) {
442
- if (webviewType.isNewLeZhuan) {
443
- if (compareVersion("6.1.0", this.getVersion()) === 1) {
444
- console.log("---版本号低,无法设置状态栏颜色---");
445
- return [2 /*return*/];
446
- }
447
- data = {
448
- statusColor: params.color,
449
- isDark: params.wordColorStyle === "1",
450
- };
451
- actionMap.callAction(933, data);
452
- }
453
- else if (webviewType.isCRH) {
454
- if (utils_1.ios) {
455
- actionMap.loadIOSNative("objc://setAppBackgroundColor/$?".concat(params.color));
456
- }
457
- else if (window.jtoJHandle) {
458
- window.jtoJHandle.setAppBackgroundColor(params.color);
459
- }
460
- }
461
- return [2 /*return*/];
462
- });
463
- });
464
- },
465
- /**
466
- * 分享
467
- * @param {object} params
468
- * @param {string} params.img_url 分享展示的图片
469
- * @param {string} params.url 分享链接
470
- * @param {string} params.title 标题
471
- * @param {string} params.message 内容
472
- */
473
- share: function (params) {
474
- var _this = this;
475
- if (webviewType.isLeZhuan) {
476
- var shareParam = {
477
- img_url: params.img_url || cx_share_png_1.default,
478
- url: params.url,
479
- title: params.title,
480
- message: params.message,
481
- };
482
- if (webviewType.isNewLeZhuan) {
483
- actionMap.callAction(900, shareParam, "");
484
- }
485
- else {
486
- crh_app_sdk_cxzq_1.default.businessAlertView("http://action:900/?target=2&param=".concat(encodeURIComponent(JSON.stringify(shareParam))));
487
- }
488
- }
489
- else {
490
- return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
491
- return __generator(this, function (_a) {
492
- resolve({
493
- error_no: "-3",
494
- error_info: "当前APP不支持分享",
495
- });
496
- return [2 /*return*/];
497
- });
498
- }); });
499
- }
500
- },
501
- };
@@ -1,290 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
54
- var utils_1 = require("../utils");
55
- exports.default = {
56
- /**
57
- * 检查是否在App环境中
58
- */
59
- isApp: function () {
60
- var ua = navigator.userAgent;
61
- console.log(ua);
62
- return (ua.includes("lczq"));
63
- },
64
- /**
65
- * 获取webview类型
66
- */
67
- webviewType: function () {
68
- var ua = navigator.userAgent;
69
- return {
70
- isLCZQ: ua.includes("lczq"),
71
- isIOS: utils_1.ios,
72
- isAndroid: /Android/i.test(ua),
73
- ua: ua,
74
- };
75
- },
76
- /**
77
- * 返回到App
78
- * @param params 返回参数
79
- */
80
- goBack: function () {
81
- return __awaiter(this, arguments, void 0, function (params) {
82
- var backParams, error_1;
83
- if (params === void 0) { params = {}; }
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- _a.trys.push([0, 2, , 3]);
88
- backParams = __assign({ type: "webpage" }, params);
89
- console.log("调用goBack,参数:", backParams);
90
- return [4 /*yield*/, utils_1.globalBridge.bridgeCallHandler("Promise", "goback", backParams)];
91
- case 1:
92
- _a.sent();
93
- console.log("返回App成功");
94
- return [3 /*break*/, 3];
95
- case 2:
96
- error_1 = _a.sent();
97
- console.error("返回App失败:", error_1);
98
- throw error_1;
99
- case 3: return [2 /*return*/];
100
- }
101
- });
102
- });
103
- },
104
- /**
105
- * 关闭当前页面
106
- */
107
- closeSJKH: function () {
108
- return __awaiter(this, void 0, void 0, function () {
109
- var error_2;
110
- return __generator(this, function (_a) {
111
- switch (_a.label) {
112
- case 0:
113
- _a.trys.push([0, 2, , 3]);
114
- return [4 /*yield*/, this.goBack({ type: "component" })];
115
- case 1:
116
- _a.sent();
117
- return [3 /*break*/, 3];
118
- case 2:
119
- error_2 = _a.sent();
120
- console.error("关闭页面失败:", error_2);
121
- return [3 /*break*/, 3];
122
- case 3: return [2 /*return*/];
123
- }
124
- });
125
- });
126
- },
127
- /**
128
- * 通过url打开新的webview打开外部链接
129
- */
130
- goWebview: function (url) {
131
- var timestamp = new Date().getTime();
132
- var pinurl = url.includes('?') ? url + '&timestamp=' + timestamp : url + '?timestamp=' + timestamp;
133
- if (utils_1.ios) {
134
- location.href = "client://hxsecurity.frame.router/browser?url=".concat(encodeURIComponent(pinurl), "&rp_flag_push_to_stack_directly=true&rp_flag_back_to_last_tab=true&rp_flag_finish_when_back_to_last_tab=true&hideNavBar=1&isHiddenNavigationBar=1");
135
- }
136
- else {
137
- location.href = "client://hxsecurity.frame.router/browser?url=".concat(encodeURIComponent(pinurl), "&rp_flag_recreate=true&rp_flag_push_to_stack_directly=true&rp_flag_finish_when_back_to_last_tab=true&hideNavBar=1&isHiddenNavigationBar=1&fontzoom=no");
138
- }
139
- },
140
- /**
141
- * 设置原生状态栏颜色
142
- * @param {object} params
143
- * @param {string} params.color 状态栏背景颜色,如#ff0000
144
- * @param {string} params.wordColorStyle 状态栏文字颜色,0 白色,1 黑色
145
- */
146
- setStatusBar: function (params) {
147
- return __awaiter(this, void 0, void 0, function () {
148
- var error_3;
149
- return __generator(this, function (_a) {
150
- switch (_a.label) {
151
- case 0:
152
- console.log("设置状态栏参数:", params);
153
- _a.label = 1;
154
- case 1:
155
- _a.trys.push([1, 3, , 4]);
156
- // 根据参考文件,使用setStatusBarState方法
157
- return [4 /*yield*/, utils_1.globalBridge.bridgeCallHandler("Promise", "modifyStatusColor", {
158
- statusColor: params.color,
159
- })];
160
- case 2:
161
- // 根据参考文件,使用setStatusBarState方法
162
- _a.sent();
163
- console.log("设置状态栏颜色成功");
164
- return [2 /*return*/, { success: true }];
165
- case 3:
166
- error_3 = _a.sent();
167
- console.error("设置状态栏颜色失败:", error_3);
168
- throw error_3;
169
- case 4: return [2 /*return*/];
170
- }
171
- });
172
- });
173
- },
174
- /**
175
- * 分享功能
176
- * @param params 分享参数
177
- */
178
- share: function (params) {
179
- return __awaiter(this, void 0, void 0, function () {
180
- var shareParams, result, error_4;
181
- return __generator(this, function (_a) {
182
- switch (_a.label) {
183
- case 0:
184
- _a.trys.push([0, 2, , 3]);
185
- shareParams = __assign({ type: "1", bmpRes: "3" }, params);
186
- console.log("调用分享,参数:", shareParams);
187
- return [4 /*yield*/, utils_1.globalBridge.bridgeCallHandler("Promise", "hexinShare", shareParams)];
188
- case 1:
189
- result = _a.sent();
190
- console.log("分享调用成功:", result);
191
- return [2 /*return*/, result];
192
- case 2:
193
- error_4 = _a.sent();
194
- console.error("分享失败:", error_4);
195
- throw error_4;
196
- case 3: return [2 /*return*/];
197
- }
198
- });
199
- });
200
- },
201
- /**
202
- * 保存图片到相册
203
- * @param imageData 图片的base64格式字符串
204
- */
205
- saveImageToAlbum: function (imageData) {
206
- return __awaiter(this, void 0, void 0, function () {
207
- var params, result, error_5;
208
- return __generator(this, function (_a) {
209
- switch (_a.label) {
210
- case 0:
211
- _a.trys.push([0, 2, , 3]);
212
- params = { imageData: imageData };
213
- console.log("保存图片到相册");
214
- return [4 /*yield*/, utils_1.globalBridge.bridgeCallHandler("Promise", "saveImageToAlbum", params)];
215
- case 1:
216
- result = _a.sent();
217
- console.log("保存图片成功:", result);
218
- return [2 /*return*/, result];
219
- case 2:
220
- error_5 = _a.sent();
221
- console.error("保存图片失败:", error_5);
222
- throw error_5;
223
- case 3: return [2 /*return*/];
224
- }
225
- });
226
- });
227
- },
228
- /**
229
- * 拦截Android物理返回键事件,并回调给前端 --- 仅安卓
230
- */
231
- interceptBack: function (callback) {
232
- try {
233
- // 联储证券实现
234
- utils_1.globalBridge.registerHandler("interceptBack", function (data) {
235
- callback && callback(data);
236
- });
237
- }
238
- catch (error) {
239
- console.error("拦截返回键失败:", error);
240
- }
241
- },
242
- /**
243
- * 跳转个股详情页
244
- */
245
- goStockDetail: function (params, type) {
246
- if (type === void 0) { type = "StockSnap"; }
247
- var code = params.code, market = params.market;
248
- var instanceId = "hxqRequestBridge" + Math.floor(Math.random() * 999 + 1);
249
- var data = {
250
- instanceId: instanceId,
251
- type: type,
252
- params: {
253
- stockCode: code,
254
- stockmarket: market,
255
- },
256
- cancel: "",
257
- subscribe: ""
258
- };
259
- try {
260
- utils_1.globalBridge.bridgeCallHandler("", "hxqRequestBridge", data);
261
- }
262
- catch (error) {
263
- console.error("跳转个股详情失败:", error);
264
- }
265
- },
266
- /**
267
- * 获取客户端版本号
268
- */
269
- getVersion: function () {
270
- var ua = navigator.userAgent.toLowerCase();
271
- var regex = "";
272
- regex = /lczq[/_]([\d.]+)/;
273
- var match = ua.match(regex);
274
- console.log(match, "===match===");
275
- if (match) {
276
- var version = match[1];
277
- return version;
278
- }
279
- else {
280
- console.warn("version没有找到匹配项");
281
- return "0.0.0";
282
- }
283
- },
284
- /**
285
- * 获取Bridge实例(供其他模块使用)
286
- */
287
- getBridge: function () {
288
- return utils_1.globalBridge;
289
- },
290
- };
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var utils_1 = require("../utils");
4
- exports.default = {
5
- // 拦截Android物理返回键事件,并回调给前端 --- 仅安卓 鸿蒙
6
- interceptBack: function (callback) {
7
- if ((0, utils_1.checkIsHarmonyOS)()) {
8
- (0, utils_1.harmonyCallJsHandler)("interceptBack", {
9
- callback: "interceptBackCallBack",
10
- });
11
- }
12
- else {
13
- window.jtoJHandle.interceptBack('interceptBackCallBack');
14
- }
15
- window.interceptBackCallBack = function (e) {
16
- callback && callback(e);
17
- };
18
- },
19
- // 关闭页面 closeSJKH
20
- callQuit: function () {
21
- if (utils_1.ios) {
22
- window.location.href = "objc://callIOSQuit";
23
- }
24
- else if ((0, utils_1.checkIsHarmonyOS)()) {
25
- (0, utils_1.harmonyCallJsHandler)("closeSJKH", '');
26
- }
27
- else {
28
- window.jtoJHandle.interceptBack('closeSJKH');
29
- }
30
- },
31
- goWebview: function (title, url, callback) {
32
- var params = {
33
- title: title,
34
- url: url,
35
- callback: 'openOwnPageCallBack'
36
- };
37
- if (utils_1.ios) {
38
- window.location.href = "objc://openOwnPage/$?".concat(JSON.stringify(params), "\"");
39
- }
40
- else if ((0, utils_1.checkIsHarmonyOS)()) {
41
- (0, utils_1.harmonyCallJsHandler)("openOwnPage", params);
42
- }
43
- else {
44
- window.jtoJHandle.openOwnPage(JSON.stringify(params));
45
- }
46
- window.openOwnPageCallBack = function (e) {
47
- callback && callback(e);
48
- };
49
- }
50
- };