cloudcc-ccdk 0.8.1 → 0.8.3

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/README.md CHANGED
@@ -1,3 +1,18 @@
1
+ #### 发布版本:0.8.3
2
+ #### 更新日期:2023/04/24
3
+ #### 更新内容:
4
+ * 修复
5
+ * 修复初始化CCAxios参数合并问题
6
+
7
+ #### 发布版本:0.8.2
8
+ #### 更新日期:2023/04/23
9
+ #### 更新内容:
10
+ * 迭代
11
+ * 添加CCAxios。
12
+ * CCAxios日志和错误上报支持配置
13
+ * 修复
14
+ * 修复CCBus无法单独解绑一个事件的问题
15
+
1
16
  #### 发布版本:0.8.1
2
17
  #### 更新日期:2023/04/13
3
18
  #### 更新内容:
package/lib/ccdk.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import Vue from 'vue';
2
2
  import CryptoJS from 'crypto-js';
3
- import axios from 'axios';
4
- import { Message, MessageBox, Notification } from 'element-ui';
3
+ import axios, { AxiosError } from 'axios';
4
+ import cloneDeep$1 from 'lodash/cloneDeep';
5
5
  import Cookies from 'js-cookie';
6
+ import { Message, MessageBox, Notification } from 'element-ui';
6
7
 
7
8
  /**
8
9
  * 加密
@@ -104,29 +105,531 @@ var CCApplication = /*#__PURE__*/Object.freeze({
104
105
  setApplication: setApplication
105
106
  });
106
107
 
108
+ /**
109
+ * 获得一级域名
110
+ * 比如:xx.com、xx.cn、xx.com.cn、xx.net.cn、xx.org.cn
111
+ */
112
+ function getDomain() {
113
+ // 倒数第二位域名
114
+ let lastTow = document.domain.split('.').slice(-2, -1)[0];
115
+ // 如果倒数第二位是这些关键字,那么需要取倒数三位域名
116
+ if (lastTow == 'com' || lastTow == 'org' || lastTow == 'net') {
117
+ return "." + document.domain.split('.').slice(-3).join('.')
118
+ } else {
119
+ return "." + document.domain.split('.').slice(-2).join('.')
120
+ }
121
+ }
122
+
123
+ /**
124
+ * 获得16位标识
125
+ * @returns 16位标识
126
+ */
127
+ function getUuid() {
128
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
129
+ var r = (Math.random() * 16) | 0,
130
+ v = c == 'x' ? r : (r & 0x3) | 0x8;
131
+ return v.toString(16);
132
+ });
133
+ }
134
+
135
+ function getBinding() {
136
+ let binding = window.$CCDK.CCToken.getToken();
137
+ if (!binding) {
138
+ window.open(window.Glod.LOGIN_URL, '_self');
139
+ // this.reLogin();
140
+ } else {
141
+ // 刷新有效期,而且有的老功能,依赖这个binding了
142
+ Cookies.set('binding', binding, { expires: 1 / 12 });
143
+ Cookies.set('JSESSIONID', binding, { expires: 1 / 12 });
144
+ }
145
+ return binding
146
+ }
147
+
148
+ var CCUtils = /*#__PURE__*/Object.freeze({
149
+ __proto__: null,
150
+ getDomain: getDomain,
151
+ getUuid: getUuid,
152
+ getBinding: getBinding
153
+ });
154
+
155
+ const toStr = Object.prototype.toString;
156
+
157
+ const TypeEnum = {
158
+ 'FUNCTION': '[object Function]',
159
+ 'ARRAY': '[object Array]',
160
+ };
161
+
162
+ // 是否是一个函数
163
+ const isFn = (value) => toStr.call(value) === TypeEnum.FUNCTION;
164
+
165
+ // 是否是生产环境
166
+ const isProduction = () => true ;
167
+
168
+ // 延时
169
+ const delay = (waitTime = 1000) => new Promise(resolve => setTimeout(resolve, waitTime));
170
+
171
+ // 是否是超时请求
172
+ const isTimeout = (error = {
173
+ code: '',
174
+ message: ''
175
+ }) => {
176
+ return error.code === AxiosError.ECONNABORTED && error.message.includes('timeout')
177
+ };
178
+
179
+ // 格式换请求体
180
+ const formateData = data => {
181
+ return {
182
+ head: {
183
+ appType: "lightning-main",
184
+ appVersion: "1.1.1",
185
+ accessToken: getBinding(),
186
+ source: "lightning-main"
187
+ },
188
+ body: {
189
+ ...data
190
+ }
191
+ }
192
+ };
193
+ /**
194
+ * 深度合并
195
+ * @param {object} source 合并的基础对象
196
+ * @param {object} target 新的数据
197
+ */
198
+ const deepMerge = (source, target) => {
199
+ const res = cloneDeep(source);
200
+ for (let key in target) {
201
+ if (target.hasOwnProperty(key)) {
202
+ res[key] = isObject(target[key])
203
+ ? deepMerge(res[key], target[key])
204
+ : target[key];
205
+ }
206
+ }
207
+ return res
208
+ };
209
+
210
+ /**
211
+ * LRU算法
212
+ * @param {number} capacity 最大缓存容量
213
+ */
214
+ const LRUCache = function (capacity) {
215
+ this.capacity = capacity;
216
+ this.cache = new Map();
217
+ };
218
+
219
+ /**
220
+ * 获取指定key的缓存
221
+ * @param {string} key 缓存的key
222
+ */
223
+ LRUCache.prototype.get = function (key) {
224
+ var cacheTemp = this.cache,
225
+ curTemp = cacheTemp.get(key);
226
+ if (curTemp || curTemp === 0) {
227
+ cacheTemp.delete(key);
228
+ cacheTemp.set(key, curTemp);
229
+ return curTemp
230
+ }
231
+ return null
232
+ };
233
+
234
+ /**
235
+ * 指定key添加缓存
236
+ * @param {string} key 缓存的key
237
+ * @param {object} value 缓存的值
238
+ */
239
+ LRUCache.prototype.put = function (key, value) {
240
+ var cacheTemp = this.cache;
241
+ if (cacheTemp.get(key)) {
242
+ cacheTemp.delete(key);
243
+ } else if (cacheTemp.size >= this.capacity) {
244
+ cacheTemp.delete(cacheTemp.keys().next().value);
245
+ }
246
+ cacheTemp.set(key, value);
247
+ };
248
+
249
+ class CCAxios {
250
+ constructor(opt) {
251
+ this.options = opt;
252
+ this.axiosInstance = axios.create(opt);
253
+ this.setupInterceptors();
254
+ this.cachePool = new LRUCache(20);
255
+ // FIXME:区分构造函数参数和接口级别的参数
256
+ }
257
+
258
+ //获取拦截器
259
+ getTransform() {
260
+ const { transform } = this.options;
261
+ return transform;
262
+ }
263
+
264
+ //准备拦截器
265
+ setupInterceptors() {
266
+ const transform = this.getTransform();
267
+ if (!transform) {
268
+ return;
269
+ }
270
+ const {
271
+ requestInterceptors,
272
+ requestInterceptorsCatch,
273
+ responseInterceptors,
274
+ responseInterceptorsCatch,
275
+ } = transform;
276
+ // 请求拦截器
277
+ this.axiosInstance.interceptors.request.use(requestInterceptors, undefined);
278
+ // 请求拦截器错误处理
279
+ requestInterceptorsCatch
280
+ && isFn(requestInterceptorsCatch)
281
+ && this.axiosInstance.interceptors.request.use(undefined, requestInterceptorsCatch);
282
+
283
+ // 响应拦截器
284
+ this.axiosInstance.interceptors.response.use(responseInterceptors, undefined);
285
+ // 响应拦截器错误处理
286
+ responseInterceptorsCatch
287
+ && isFn(responseInterceptorsCatch)
288
+ && this.axiosInstance.interceptors.response.use(undefined, (error) => {
289
+ return responseInterceptorsCatch(this.axiosInstance, error)
290
+ });
291
+ }
292
+ get(config, options = {}) {
293
+ return this.request({ ...config, method: 'GET', }, options)
294
+ }
295
+ post(config, options = {}) {
296
+ const { envType } = options;
297
+ // 公有云专用接口,在私有云不请求
298
+ if ("public" == envType && "private" == window.Glod["ENV_TYPE"]) {
299
+ return new Promise(() => { })
300
+ }
301
+ // 私有云专用接口,在公有云不请求
302
+ if ("private" == envType && "private" != window.Glod["ENV_TYPE"]) {
303
+ return new Promise(() => { })
304
+ }
305
+ return this.request({ ...config, method: 'POST', }, options)
306
+ }
307
+ postFormat(config, options = {}) {
308
+ return this.request({ ...config, method: 'POST', data: formateData(config.data) }, options)
309
+ }
310
+ postParams(config, options = {}) {
311
+ return this.request({ ...config, method: 'POST', params: config.data }, options)
312
+ }
313
+
314
+ // FIXME:如果初始化时配置了重试那么所有get接口都重试了
315
+ // options是接口级定义的参数
316
+ request(config, options) {
317
+ const transform = this.getTransform();
318
+ const conf = config,
319
+ { requestOptions } = this.options;
320
+ requestOptions.cache = false;
321
+ requestOptions.cacheKey = '';
322
+ requestOptions.retryRequest = {
323
+ isOpenRetry: false,
324
+ count: 5,
325
+ waitTime: 1000
326
+ };
327
+
328
+ const opt = Object.assign({}, requestOptions, options);
329
+ conf.requestOptions = opt;
330
+
331
+ const retPromise = new Promise((resolve, reject) => {
332
+ this.axiosInstance(conf)
333
+ .then(res => {
334
+ const { transformResponseHook } = transform;
335
+ if (transformResponseHook && isFn(transformResponseHook)) {
336
+ try {
337
+ const ret = transformResponseHook(res, opt, this.cachePool);
338
+ resolve(ret);
339
+ } catch (err) {
340
+ reject(err || new Error('request error!'));
341
+ }
342
+ return;
343
+ }
344
+ resolve(res);
345
+ })
346
+ .catch(err => {
347
+ reject(err);
348
+ });
349
+ });
350
+ // 缓存
351
+ retPromise.cache = (callback) => {
352
+ const { cache, cacheKey } = opt;
353
+ const cacheData = (cache && this.cachePool.get([cacheKey]));
354
+ callback(cacheData ? cacheData : null);
355
+ return retPromise
356
+ };
357
+ return retPromise
358
+ }
359
+ }
360
+
361
+ // 使用全局弹窗进行提示
362
+ const createErrorModal = (response, options) => {
363
+ const { message } = options;
364
+ let temp;
365
+ if (response.name === 'AxiosError') {
366
+ temp = response.response;
367
+ temp.data.returnInfo = response.returnInfo || message || temp.error || '';
368
+ temp.data.returnCode = response.code || temp.status;
369
+ temp.data.requestId = response.config.headers.requestId;
370
+ } else {
371
+ temp = response;
372
+ temp.data.requestId = response.config.headers.requestId;
373
+ }
374
+ // 存在全局错误弹窗时才调用
375
+ isFn(Vue.prototype.$ErrorDialog) && Vue.prototype.$ErrorDialog({
376
+ response: temp
377
+ });
378
+ };
379
+
380
+ const createMessage = Message;
381
+
382
+ // 需要上报的errorType
383
+ const needReportErrorType = ['901', '999'];
384
+
385
+ function checkStatus(error, status, msg, errorMessageMode = 'modal') {
386
+ // const errorMsg = errorMsgMap[status] || {
387
+ // label: "message.error.object.contactadministrators"
388
+ // }
389
+ // let errMessage = '',
390
+ // label = '';
391
+
392
+ // label = errorMsg.label;
393
+ // [400, 401].includes(status) && msg && (label = msg)
394
+ let errMessage = "message.error.object.contactadministrators"; //系统异常,请联系系统管理员获取帮助。
395
+
396
+ if (status === 401) {
397
+ //重新登录相关逻辑
398
+ window.open(window.Glod.LOGIN_URL, '_self');
399
+ }
400
+
401
+ {
402
+ if (errorMessageMode === 'modal') {
403
+ createErrorModal(error, { message: errMessage });
404
+ } else if (errorMessageMode === 'message') {
405
+ createMessage.error(errMessage);
406
+ }
407
+ }
408
+ }
409
+
410
+ /**
411
+ * 接口请求重试
412
+ * @param {object} AxiosInstance实例
413
+ * @param {error} AxiosError对象
414
+ */
415
+ const retry = async (instance, error) => {
416
+ const { config } = error,
417
+ { waitTime, count = 5} = config.requestOptions || {};
418
+ config.__retryCount = config.__retryCount || 0;
419
+ if(count <= config.__retryCount ) {
420
+ return Promise.reject(error)
421
+ }
422
+
423
+ config.__retryCount++;
424
+
425
+ await delay(waitTime);
426
+ //请求返回后config的header不正确造成重试请求失败,删除返回headers采用默认headers
427
+ delete config.headers;
428
+ return instance(config)
429
+ };
430
+
431
+ const transform = {
432
+ // 请求拦截器
433
+ requestInterceptors(config) {
434
+ // 设置日志请求头信息
435
+ config.headers.requestId = window.$CCDK.CCUtils.getUuid();
436
+ config.headers.requestIdProducer = "browser";
437
+ config.headers.accessToken = window.$CCDK.CCToken.getToken();
438
+ return config
439
+ },
440
+ // 响应拦截器
441
+ responseInterceptors(response) {
442
+ const { data, config } = response,
443
+ { errorType, result } = data;
444
+ //失败
445
+ if (!result) {
446
+ if (needReportErrorType.includes(errorType) && isProduction()) {
447
+ const { errorReporter } = config.requestOptions;
448
+ //如果存在错误上报对象,则上报错误
449
+ if (errorReporter && isFn(errorReporter)) {
450
+ errorReporter(response);
451
+ }
452
+ }
453
+ return response
454
+ }
455
+ // 成功
456
+ // 生产环境上报日志
457
+ const { infoReporter } = config.requestOptions;
458
+ //如果存在日志上报对象,则上报日志
459
+ if (infoReporter && isFn(infoReporter)) {
460
+ infoReporter(response);
461
+ }
462
+ // 返回数据 外面处理
463
+ return response
464
+ },
465
+ // 响应拦截器异常处理,处理的错误类型包括: 服务器直接跑出异常、超时、网络错误
466
+ async responseInterceptorsCatch(axiosInstance, error) {
467
+ const { response, config } = error || {};
468
+
469
+ let err = "",
470
+ msg = "",
471
+ mode = "modal";
472
+ try {
473
+ err = error.toString(),
474
+ msg = response.data.error,
475
+ mode = config.requestOptions.errorMessageMode;
476
+ } catch (e) { }
477
+
478
+ let errorMessageMode = ['message', 'modal'].includes(mode) && mode || 'modal',
479
+ errMessage = '';
480
+
481
+ // 是否是取消的请求
482
+ if (axios.isCancel(error)) {
483
+ return Promise.reject(error)
484
+ }
485
+
486
+ try {
487
+ //如果存在错误上报对象,则上报错误
488
+ if (isProduction()) {
489
+ // 接口级的错误上报方式会覆盖实例初始化时的错误上报
490
+ const { errorReporter } = config.requestOptions;
491
+ if (errorReporter && isFn(errorReporter)) {
492
+ errorReporter(error);
493
+ }
494
+ }
495
+ // 处理超时
496
+ if (isTimeout(error)) {
497
+ errMessage = 'c2487';
498
+ }
499
+ // 处理网络错误
500
+ if (err && err.includes('Network Error')) {
501
+ errMessage = 'c929';
502
+ }
503
+
504
+ if (errMessage) {
505
+ if (errorMessageMode === 'modal') {
506
+ createErrorModal({
507
+ ...error,
508
+ response: {
509
+ data: {
510
+ returnInfo: error.message,
511
+ returnCode: error.code,
512
+ requestId: error.config.headers.requestId
513
+ },
514
+ config: error.config
515
+ }
516
+ }, { message: errMessage });
517
+ } else if (errorMessageMode === 'message') {
518
+ createMessage.error(errMessage);
519
+ }
520
+ return Promise.reject(error)
521
+ }
522
+ } catch (error) {
523
+ throw new Error(error);
524
+ }
525
+ // 根据status处理其他类型错误
526
+ checkStatus(error, error && error.response.status, msg, errorMessageMode);
527
+
528
+ // 接口重试操作
529
+ const { isOpenRetry } = config;
530
+ isOpenRetry && config.method && config.method.toUpperCase() === "GET" && retry(axiosInstance, error);
531
+
532
+ return Promise.reject(error);
533
+ },
534
+ // 响应数据处理,包含解密和数据返回结构设置
535
+ transformResponseHook(response, options, cachePool) {
536
+ const { data } = response;
537
+ const { errorType, result } = data;
538
+ // 失败
539
+ // 501异常处理
540
+ const businessLogicError = (response) => {
541
+ const { errorMessageMode, silent } = response.config.requestOptions;
542
+ // 接口如果设置了出现异常不提醒,则不提醒
543
+ if (silent) return;
544
+ // 根据errorMessageMode来判断显示错误弹窗的ui
545
+ if (errorMessageMode === 'modal') {
546
+ createErrorModal(response, { message: '业务出错' });
547
+ } else if (errorMessageMode === 'message') {
548
+ createMessage.error(response && response.data && response.data.returnInfo || '业务出错');
549
+ }
550
+ };
551
+ if (!result) {
552
+ switch (errorType) {
553
+ case '901':
554
+ createErrorModal(response, { message: '系统错误' });
555
+ break;
556
+ case '999':
557
+ break;
558
+ case '501':
559
+ default:
560
+ businessLogicError(response);
561
+ break;
562
+ }
563
+ return Promise.reject(response)
564
+ }
565
+ // 成功
566
+ const { isReturnNativeResponse, cache, cacheKey } = options;
567
+ // 直接返回
568
+ if (isReturnNativeResponse) {
569
+ cache && cacheKey && (cachePool.put(cacheKey, response));
570
+ return response
571
+ }
572
+ cache && cacheKey && (cachePool.put(cacheKey, data));
573
+ return data
574
+ }
575
+ };
576
+
577
+
578
+ function createAxios(opt) {
579
+ return new CCAxios(deepMerge({
580
+ timeout: 60 * 1000,
581
+ headers: {
582
+ 'Content-Type': 'application/json;charset=UTF-8',
583
+ },
584
+ transform: cloneDeep$1(transform),
585
+ requestOptions: {
586
+ envType: '',
587
+ errorMessageMode: 'modal',
588
+ //是否静默错误提示
589
+ silent: false,
590
+ // 接口是否需要缓存
591
+ cache: false,
592
+ // 接口重试相关
593
+ retryRequest: {
594
+ isOpenRetry: false,
595
+ count: 5,
596
+ waitTime: 100,
597
+ },
598
+ // 是否返回原生响应头 比如:需要获取响应头时使用该属性
599
+ isReturnNativeResponse: false,
600
+ }
601
+ }, opt || {}))
602
+ }
603
+
604
+ var CCHttp$1 = /*#__PURE__*/Object.freeze({
605
+ __proto__: null,
606
+ createAxios: createAxios
607
+ });
608
+
107
609
  window.ccBus = new Vue;
108
610
  /**
109
611
  * 发布信息
110
612
  * @param {string} event 事件名称
111
613
  * @param {...any} args 参数列表
112
614
  */
113
- function $emit(event, ...args) {
114
- window.ccBus.$emit(event, ...args);
615
+ function $emit( ...args) {
616
+ window.ccBus.$emit( ...args);
115
617
  }
116
618
  /**
117
619
  * 订阅消息
118
620
  * @param {string} event 事件名称
119
621
  * @param {function} callback 回调方法
120
622
  */
121
- function $on(event, callback) {
122
- window.ccBus.$on(event, callback);
623
+ function $on(...args) {
624
+ window.ccBus.$on(...args);
123
625
  }
124
626
  /**
125
627
  * 取消订阅
126
628
  * @param {string} event 事件名称
629
+ * @param { function | function[] | undefined } callbacks 需要解除监听的事件
127
630
  */
128
- function $off(event) {
129
- window.ccBus.$off(event);
631
+ function $off(...args) {
632
+ window.ccBus.$off(...args);
130
633
  }
131
634
 
132
635
  var CCBus = /*#__PURE__*/Object.freeze({
@@ -519,7 +1022,7 @@ function getHttpErrorInfo(error = {}) {
519
1022
  // 请求地址url
520
1023
  "requestUrl": config.baseURL + config.url,
521
1024
  // 请求id
522
- "requestId": config.headers ? config.headers.requestId : "",
1025
+ "requestId": config.headers ? config.headers.requestId : window.$CCDK.CCUtils.getUuid(),
523
1026
  // 请求id类型
524
1027
  "requestIdProducer": config.headers ? config.headers.requestIdProducer : "",
525
1028
  // 请求体
@@ -559,7 +1062,7 @@ function getHttpInfo(response) {
559
1062
  // 请求地址url
560
1063
  "requestUrl": response.request ? response.request.responseURL : "",
561
1064
  // 请求id
562
- "requestId": response.config.headers ? response.config.headers.requestId : "",
1065
+ "requestId": response.config.headers ? response.config.headers.requestId : window.$CCDK.CCUtils.getUuid(),
563
1066
  // 请求id类型
564
1067
  "requestIdProducer": response.config.headers ? response.config.headers.requestIdProducer : "",
565
1068
  // 请求体
@@ -584,12 +1087,17 @@ function getHttpInfo(response) {
584
1087
  * @param {object} logInfo 日志信息
585
1088
  */
586
1089
  function reportLog(url, response, type = "info", logInfo = {}) {
587
- axios.post(url,
588
- {
589
- ...getBaseInfo(),
590
- ...(type === "info" ? getHttpInfo(response) : getHttpErrorInfo(response)),
591
- ...logInfo
592
- });
1090
+ // 某些情况下获取不到用户信息,可能是刚登陆,获取用户信息接口还没返回
1091
+ let userInfo = getBaseInfo();
1092
+ if ("未知用户" != userInfo.userName && userInfo.userName) {
1093
+ axios.post(url,
1094
+ {
1095
+ ...userInfo,
1096
+ ...(type === "info" ? getHttpInfo(response) : getHttpErrorInfo(response)),
1097
+ ...logInfo
1098
+ });
1099
+ }
1100
+
593
1101
  }
594
1102
  /**
595
1103
  * 上报info日志
@@ -608,13 +1116,46 @@ function reportInfoLog(logInfo, response) {
608
1116
  function reportErrorLog(logInfo, response) {
609
1117
  logInfo.recordType = "dev";
610
1118
  reportLog(window.Glod['ccex-log'] + "/ccerrorlog", response, "error", logInfo);
1119
+ }
1120
+
1121
+
1122
+ /**
1123
+ * CC错误日志上报
1124
+ * @param {object} error 响应体
1125
+ * @param {object} options 配置信息
1126
+ */
1127
+ function reportCCError(error, options = { serviceName: "lightning-main" }) {
1128
+ if (process.env.NODE_ENV == 'production' && "1" === window.Glod['CC_LOG_LEVEL'] || "2" === window.Glod['CC_LOG_LEVEL']) {
1129
+ window.$CCDK.CCLog.reportLog(window.Glod['ccex-log'] + "/ccerrorlog", error, "error", options);
1130
+ }
1131
+ }
1132
+ /**
1133
+ * CC常规日志上报
1134
+ * @param {object} response 响应体
1135
+ * @param {object} options 配置信息
1136
+ */
1137
+ function reportCCInfo(response, options = { serviceName: "lightning-main" }) {
1138
+ if (process.env.NODE_ENV == 'production' && "2" === window.Glod['CC_LOG_LEVEL']) {
1139
+ if (response.config.data) {
1140
+ try {
1141
+ let data = JSON.parse(response.config.data);
1142
+ if (data.head && data.head.accessToken) {
1143
+ data.head.accessToken = "******";
1144
+ response.config.data = JSON.stringify(data);
1145
+ }
1146
+ } catch (e) { }
1147
+ }
1148
+ window.$CCDK.CCLog.reportLog(window.Glod['ccex-log'] + "/systeminfolog", response, "info", options);
1149
+ }
611
1150
  }
612
1151
 
613
1152
  var CCLog = /*#__PURE__*/Object.freeze({
614
1153
  __proto__: null,
615
1154
  reportLog: reportLog,
616
1155
  reportInfoLog: reportInfoLog,
617
- reportErrorLog: reportErrorLog
1156
+ reportErrorLog: reportErrorLog,
1157
+ reportCCError: reportCCError,
1158
+ reportCCInfo: reportCCInfo
618
1159
  });
619
1160
 
620
1161
  /**
@@ -1130,53 +1671,6 @@ var CCSide = /*#__PURE__*/Object.freeze({
1130
1671
  close: close
1131
1672
  });
1132
1673
 
1133
- /**
1134
- * 获得一级域名
1135
- * 比如:xx.com、xx.cn、xx.com.cn、xx.net.cn、xx.org.cn
1136
- */
1137
- function getDomain() {
1138
- // 倒数第二位域名
1139
- let lastTow = document.domain.split('.').slice(-2, -1)[0];
1140
- // 如果倒数第二位是这些关键字,那么需要取倒数三位域名
1141
- if (lastTow == 'com' || lastTow == 'org' || lastTow == 'net') {
1142
- return "." + document.domain.split('.').slice(-3).join('.')
1143
- } else {
1144
- return "." + document.domain.split('.').slice(-2).join('.')
1145
- }
1146
- }
1147
-
1148
- /**
1149
- * 获得16位标识
1150
- * @returns 16位标识
1151
- */
1152
- function getUuid() {
1153
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
1154
- var r = (Math.random() * 16) | 0,
1155
- v = c == 'x' ? r : (r & 0x3) | 0x8;
1156
- return v.toString(16);
1157
- });
1158
- }
1159
-
1160
- function getBinding() {
1161
- let binding = window.$CCDK.CCToken.getToken();
1162
- if (!binding) {
1163
- window.open(window.Glod.LOGIN_URL, '_self');
1164
- // this.reLogin();
1165
- } else {
1166
- // 刷新有效期,而且有的老功能,依赖这个binding了
1167
- Cookies.set('binding', binding, { expires: 1 / 12 });
1168
- Cookies.set('JSESSIONID', binding, { expires: 1 / 12 });
1169
- }
1170
- return binding
1171
- }
1172
-
1173
- var CCUtils = /*#__PURE__*/Object.freeze({
1174
- __proto__: null,
1175
- getDomain: getDomain,
1176
- getUuid: getUuid,
1177
- getBinding: getBinding
1178
- });
1179
-
1180
1674
  // cookie存储标识
1181
1675
  const TOKEN = "cc_token";
1182
1676
  /**
@@ -1266,7 +1760,7 @@ var CCUser = /*#__PURE__*/Object.freeze({
1266
1760
  getUserInfo: getUserInfo
1267
1761
  });
1268
1762
 
1269
- let CCDK = { CCApplication, CCUser, CCCrypto: Crypto, CCToken, CCConfig, CCLoad, CCLog, CCMenu, CCUtils, CCHttp, CCObject, CCPage, CCSentry, CCSide, CCBus, CCCall, CCCommon, CCMessage };
1763
+ let CCDK = { CCApplication, CCAxios: CCHttp$1, CCUser, CCCrypto: Crypto, CCToken, CCConfig, CCLoad, CCLog, CCMenu, CCUtils, CCHttp, CCObject, CCPage, CCSentry, CCSide, CCBus, CCCall, CCCommon, CCMessage };
1270
1764
  Vue.prototype.$CCDK = CCDK;
1271
1765
  window.$CCDK = CCDK;
1272
1766
 
package/lib/ccdk.min.js CHANGED
@@ -1 +1 @@
1
- import Vue from"vue";import CryptoJS from"crypto-js";import axios from"axios";import{Message,MessageBox,Notification}from"element-ui";import Cookies from"js-cookie";function getAesString(data,key,iv){key=CryptoJS.enc.Utf8.parse(key);iv=CryptoJS.enc.Utf8.parse(iv);let encrypted=CryptoJS.AES.encrypt(data,key,{iv:iv,padding:CryptoJS.pad.Pkcs7});return encrypted.toString()}function getDAesString(encrypted,key,iv){key=CryptoJS.enc.Utf8.parse(key);iv=CryptoJS.enc.Utf8.parse(iv);let decrypted=CryptoJS.AES.decrypt(encrypted,key,{iv:iv,padding:CryptoJS.pad.Pkcs7});return decrypted.toString(CryptoJS.enc.Utf8)}function encrypt(data,key="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",iv=1){data=JSON.stringify(data);var encrypted=getAesString(data,key,iv);return encrypted}function decrypt(data,key="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",iv=1){try{var decryptedStr=getDAesString(data,key,iv);if(!decryptedStr)return null;return JSON.parse(decryptedStr)}catch(error){console.trace("解密密码错误",error);return null}}var Crypto=Object.freeze({__proto__:null,encrypt:encrypt,decrypt:decrypt});const APPLICATION_DETAIL="applicaton_current";function getApplicaton(){let detail=localStorage.getItem(Crypto.encrypt(APPLICATION_DETAIL));if(detail){return JSON.parse(detail)}return""}function setApplication(detail=""){if(detail){localStorage.setItem(Crypto.encrypt(APPLICATION_DETAIL),JSON.stringify(detail))}}var CCApplication=Object.freeze({__proto__:null,getApplicaton:getApplicaton,setApplication:setApplication});window.ccBus=new Vue;function $emit(event,...args){window.ccBus.$emit(event,...args)}function $on(event,callback){window.ccBus.$on(event,callback)}function $off(event){window.ccBus.$off(event)}var CCBus=Object.freeze({__proto__:null,$emit:$emit,$on:$on,$off:$off});let ccCall=new Map;let currentCall;function init$1(id,callClient){if(id&&callClient){ccCall.set(id,callClient);currentCall=callClient;return currentCall}}function call(id,options){let call;if(id){call=ccCall.get(id)}else{call=currentCall}if(call){call.call(options)}return call}function openCallPanel(id,options){let call;if(id){call=ccCall.get(id)}else{call=currentCall}if(call){call.openCallPanel(options)}return call}var CCCall=Object.freeze({__proto__:null,init:init$1,call:call,openCallPanel:openCallPanel});function reportError(response){if("1"===window.Glod["CC_LOG_LEVEL"]||"2"===window.Glod["CC_LOG_LEVEL"]){window.$CCDK.CCLog.reportLog(window.Glod["ccex-log"]+"/ccerrorlog",response,"error",{serviceName:"lightning-custom-page"})}}function reportInfo(response){if("2"===window.Glod["CC_LOG_LEVEL"]){window.$CCDK.CCLog.reportLog(window.Glod["ccex-log"]+"/systeminfolog",response,"info",{serviceName:"lightning-custom-page"})}}const service$1=axios.create({timeout:60*1e3,headers:{"Content-Type":"application/json; charset=utf-8"}});service$1.interceptors.request.use(config=>{config.headers.accessToken=window.$CCDK.CCToken.getToken();config.headers.requestId=window.$CCDK.CCUtils.getUuid();config.headers.requestIdProducer="browser";return config},error=>{Promise.reject(error)});service$1.interceptors.response.use(response=>{if(response.data.result){reportInfo(response);return response.data}else{reportError(response);return Promise.reject(response)}},error=>{if(error){reportError(error.response)}return Promise.reject(error)});var http={get:(url,data={},responseType="")=>{return service$1({url:url,method:"get",params:data,responseType:responseType})},post:(url,data={},responseType="")=>{return service$1({url:url,method:"post",data:data,responseType:responseType})}};function post$1(className,methodName,params){return http.post(window.$CCDK.CCConfig.getSvc()["ccex-apitsf"]+"/api/openCall/common",{className:className,methodName:methodName,params:params})}var CCCommon=Object.freeze({__proto__:null,post:post$1});function getBaseUrl(){return window.gw.BASE_URL}function getGw(){return window.gw}function getSvc(){return window.Glod}function getCDNUrl(){return window.Glod.CDN_URL}var CCConfig=Object.freeze({__proto__:null,getBaseUrl:getBaseUrl,getGw:getGw,getSvc:getSvc,getCDNUrl:getCDNUrl});const service=axios.create({timeout:6e4,headers:{"Content-Type":"application/json; charset=utf-8"}});service.interceptors.request.use(config=>{config.headers["accessToken"]=window.$CCDK.CCToken.getToken();return config},error=>{Promise.reject(error)});service.interceptors.response.use(response=>{const code=response.data.code||200;if(code!==200){return Promise.reject(null==response.data.msg?"未知异常":response.data.msg)}else{return response.data}},error=>{return Promise.reject(error)});function get(url,data={},responseType=""){return service({url:url,method:"get",params:data,responseType:responseType})}function post(url,data={},responseType=""){return service({url:url,method:"post",data:data,responseType:responseType})}function put(url,data={}){return service({url:url,method:"put",data:data})}function postParams(url,data={}){return service({url:url,method:"post",params:data})}function patch(url,data={}){return service({url:url,method:"patch",data:data})}var CCHttp=Object.freeze({__proto__:null,get:get,post:post,put:put,patch:patch,postParams:postParams});function loadJs(src,scriptOption){return new Promise((resolve,reject)=>{let scriptTemp=document.createElement("script");if(scriptOption){Object.assign(scriptTemp,scriptOption)}scriptTemp.type="text/javascript";scriptTemp.src=src;document.body.appendChild(scriptTemp);scriptTemp.onload=()=>{resolve()};scriptTemp.onerror=()=>{reject()}})}function createLoadJsComponent(){Vue.component("cc-load-script",{render:function(createElement){var self=this;return createElement("script",{attrs:{type:"text/javascript",src:this.src},on:{load:function(event){self.$emit("load",event)},error:function(event){self.$emit("error",event)},readystatechange:function(event){if(this.readyState=="complete"){self.$emit("load",event)}}}})},props:{src:{type:String,required:true}}})}var CCLoad=Object.freeze({__proto__:null,loadJs:loadJs,createLoadJsComponent:createLoadJsComponent});function getBaseInfo(){let userInfo=window.$CCDK.CCUser.getUserInfo();let old={userName:userInfo.loginName||"未知用户",userId:userInfo.userId,orgId:userInfo.orgId,orgName:userInfo.orgName,serviceName:"未知应用",recordType:"paltfrom",logType:"front",operateTime:(new Date).valueOf(),cccode:"hidden",displayLevel:"2"};return old}function getHttpErrorInfo(error={}){let{config={},data={}}=error;if(config){return{requestUrl:config.baseURL+config.url,requestId:config.headers?config.headers.requestId:"",requestIdProducer:config.headers?config.headers.requestIdProducer:"",requestParameter:config.data,errorMessage:error.message||data.returnInfo||"未知错误",requestResult:"失败",errorLevel:"2",printStackTraceInfo:(error.message||data.returnInfo||"未知错误")+"\n"+config.data}}else{return{}}}function getHttpInfo(response){if(response){if(window.performance){let per=performance.getEntriesByName(response.request.responseURL,"resource");if(per.length>0){response.spendTime=per[0].fetchStart>0?per[0].responseEnd-per[0].fetchStart:"0"}}return{spendTime:response.spendTime||"0",requestUrl:response.request?response.request.responseURL:"",requestId:response.config.headers?response.config.headers.requestId:"",requestIdProducer:response.config.headers?response.config.headers.requestIdProducer:"",requestParameter:response.config.data,infoMessage:response.request.responseURL+". took:"+(response.spendTime||0).toFixed(0)+"ms"+"\n"+(response.config.data||""),requestResult:response.data.result?"成功":"失败",infoType:"info"}}else{return{}}}function reportLog(url,response,type="info",logInfo={}){axios.post(url,{...getBaseInfo(),...type==="info"?getHttpInfo(response):getHttpErrorInfo(response),...logInfo})}function reportInfoLog(logInfo,response){logInfo.recordType="dev";reportLog(window.Glod["ccex-log"]+"/systeminfolog",response,"info",logInfo)}function reportErrorLog(logInfo,response){logInfo.recordType="dev";reportLog(window.Glod["ccex-log"]+"/ccerrorlog",response,"error",logInfo)}var CCLog=Object.freeze({__proto__:null,reportLog:reportLog,reportInfoLog:reportInfoLog,reportErrorLog:reportErrorLog});function addMenu1(options){window.$CCDK.CCBus.$emit("addMenu1",options)}function addMenu2(options){window.$CCDK.CCBus.$emit("addMenu2",options)}function deleteMenu1(options){window.$CCDK.CCBus.$emit("deleteMenu1",options)}function deleteMenu2(options){window.$CCDK.CCBus.$emit("deleteMenu2",options)}function refreshMenu1(options){window.$CCDK.CCBus.$emit("refreshMenu1",options)}function refreshMenu2(options){window.$CCDK.CCBus.$emit("refreshMenu2",options)}function replaceMenu1(options){window.$CCDK.CCBus.$emit("replaceMenu1",options)}function replaceMenu2(options){window.$CCDK.CCBus.$emit("replaceMenu2",options)}function reOpenMenu1(options){window.$CCDK.CCBus.$emit("reOpenMenu1",options)}function reOpenMenu2(options){window.$CCDK.CCBus.$emit("reOpenMenu2",options)}var CCMenu=Object.freeze({__proto__:null,addMenu1:addMenu1,addMenu2:addMenu2,deleteMenu1:deleteMenu1,deleteMenu2:deleteMenu2,refreshMenu1:refreshMenu1,refreshMenu2:refreshMenu2,replaceMenu1:replaceMenu1,replaceMenu2:replaceMenu2,reOpenMenu1:reOpenMenu1,reOpenMenu2:reOpenMenu2});function showMessage(text,type="info",duration=3e3,showClose=false,center=false){Message({message:text,type:type,duration:duration,showClose:showClose,center:center})}function showConfirm(text,title,options={},confirm=()=>{},reject=()=>{}){MessageBox.confirm(text,title,options).then(()=>{confirm()}).catch(()=>{reject()})}function showNotification(options={}){Notification(options)}var CCMessage=Object.freeze({__proto__:null,showMessage:showMessage,showConfirm:showConfirm,showNotification:showNotification});const OBJECT_DETAIL="cc_object_detail";const OBJECT="cc_object";const OBJECT_LIST="cc_object_list";function getObject(){let detail=localStorage.getItem(Crypto.encrypt(OBJECT));if(detail){return JSON.parse(detail)}return""}function setObject(detail=""){if(detail){localStorage.setItem(Crypto.encrypt(OBJECT),JSON.stringify(detail))}}function getObjectDetail(apiname){let detail=localStorage.getItem(Crypto.encrypt(OBJECT_DETAIL));if(detail){if(apiname){let detailObj=JSON.parse(detail).detail;let targetField=undefined;if(Array.isArray(detailObj)){targetField=detailObj.find(item=>item.apiname===apiname)}return targetField}else{return JSON.parse(detail)}}return""}function setObjectDetail(detail=""){if(detail){if(Array.isArray(detail.detail)){let data=[];detail.detail.forEach(item=>{if(item&&Array.isArray(item.data)){item.data.forEach(itemData=>{if(itemData.left&&!Array.isArray(itemData.left)){data.push(itemData.left)}if(itemData.right&&!Array.isArray(itemData.right)){data.push(itemData.right)}})}});if(data.length>0){detail.detail=data}}localStorage.setItem(Crypto.encrypt(OBJECT_DETAIL),JSON.stringify(detail))}}function setObjectList(detail={}){if(detail.ids){localStorage.setItem(Crypto.encrypt(OBJECT_LIST),JSON.stringify(detail))}}function getObjectList(){let detail=localStorage.getItem(Crypto.encrypt(OBJECT_LIST));if(detail){return JSON.parse(detail)}return{ids:[]}}var CCObject=Object.freeze({__proto__:null,getObjectList:getObjectList,setObjectList:setObjectList,getObject:getObject,setObject:setObject,getObjectDetail:getObjectDetail,setObjectDetail:setObjectDetail});let pageList=new Map;function openListPage(obj,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openListPage",pageId,obj,options);return pageId}function openDetailPage(obj,id,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openDetailPage",pageId,obj,id,options);return pageId}function openCreatePage(obj,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openCreatePage",pageId,obj,options);return pageId}function openEditPage(obj,id,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openEditPage",pageId,obj,id,options);return pageId}function openCustomPage(obj,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openCustomPage",pageId,obj,options);return pageId}function reOpenPage(pageId,options){let page;if(pageId){page=pageList.get(pageId)}if(page){page.reOpenPage();if(options.refresh){page.refresh()}}}function addPage(id,page){if(id&&page){pageList.set(id,page)}}function deletePage(pageId){if(pageId){pageList.delete(pageId)}}function updatePage(id,page){if(id&&page){pageList.set(id,page)}}function searchPage(pageId){return pageList.get(pageId)}function close$1(pageId=""){let page;if(pageId==="all"){page=[...pageList.values()];page.forEach(item=>{if(item){item.close()}})}else if(pageId){page=pageList.get(pageId)}else{let currentMenuTree=JSON.parse(localStorage.getItem("current_page"));if(currentMenuTree){if(currentMenuTree.level2Id){page=pageList.get(currentMenuTree.level2Id)}else{page=pageList.get(currentMenuTree.id)}}}if(page){page.close()}}function refresh(){window.$CCDK.CCBus.$emit("refresh")}function getCurrentPage(){let currentMenuTree=localStorage.getItem("current_page");if(currentMenuTree){return JSON.parse(currentMenuTree)}return""}var CCPage=Object.freeze({__proto__:null,openListPage:openListPage,openDetailPage:openDetailPage,openCreatePage:openCreatePage,openEditPage:openEditPage,openCustomPage:openCustomPage,reOpenPage:reOpenPage,addPage:addPage,deletePage:deletePage,updatePage:updatePage,searchPage:searchPage,close:close$1,refresh:refresh,getCurrentPage:getCurrentPage});function initUserInfo(sentry){let ccUser=window.$CCDK.CCUser.getUserInfo();sentry.setTag("orgId",ccUser.orgId);sentry.setUser({username:ccUser.userName,id:ccUser.userId})}function reportMemory(sentry){if(performance.memory){let memeryMsg="内存监控:jsHeapSizeLimit="+(performance.memory.jsHeapSizeLimit/1024/1024).toFixed(2)+"mb、"+"totalJSHeapSize="+(performance.memory.totalJSHeapSize/1024/1024).toFixed(2)+"mb、"+"usedJSHeapSize="+(performance.memory.usedJSHeapSize/1024/1024).toFixed(2)+"mb";initUserInfo(sentry);sentry.withScope(function(scope){sentry.setTag("usedJSHeapSize",(performance.memory.usedJSHeapSize/1024/1024).toFixed(2));scope.setFingerprint(["内存监控"]);sentry.captureMessage(memeryMsg)})}}function reportHttpException(sentry,error){initUserInfo(sentry);sentry.withScope(function(scope){scope.setFingerprint(["接口未捕获异常response"]);sentry.captureException(error)})}var CCSentry=Object.freeze({__proto__:null,reportMemory:reportMemory,reportHttpException:reportHttpException});function init(options){window.$CCDK.CCBus.$emit("initSide",options)}function open(){window.$CCDK.CCBus.$emit("openSide")}function close(){window.$CCDK.CCBus.$emit("closeSide")}var CCSide=Object.freeze({__proto__:null,init:init,open:open,close:close});function getDomain(){let lastTow=document.domain.split(".").slice(-2,-1)[0];if(lastTow=="com"||lastTow=="org"||lastTow=="net"){return"."+document.domain.split(".").slice(-3).join(".")}else{return"."+document.domain.split(".").slice(-2).join(".")}}function getUuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0,v=c=="x"?r:r&3|8;return v.toString(16)})}function getBinding(){let binding=window.$CCDK.CCToken.getToken();if(!binding){window.open(window.Glod.LOGIN_URL,"_self")}else{Cookies.set("binding",binding,{expires:1/12});Cookies.set("JSESSIONID",binding,{expires:1/12})}return binding}var CCUtils=Object.freeze({__proto__:null,getDomain:getDomain,getUuid:getUuid,getBinding:getBinding});const TOKEN="cc_token";function getUrlQuery(name){var reg=new RegExp(name+"=([^&]*)(&|$)");var r=window.location.href.match(reg);let res=null;if(r!=null)res=r[1].trim();return res}function getToken(urlName="binding",cookieName=TOKEN){let token=getUrlQuery(urlName)||Cookies.get(Crypto.encrypt(cookieName))||Cookies.get(urlName||TOKEN);if(token){setToken(token,cookieName)}return token}function setToken(token,cookieName=TOKEN,domain=getDomain()){Cookies.set(Crypto.encrypt(cookieName),token,{domain:domain,expires:1/12});Cookies.set(Crypto.encrypt(cookieName),token,{expires:1/12})}function clearToken(cookieName=TOKEN,domain=getDomain()){Cookies.remove(Crypto.encrypt(cookieName),{domain:domain});Cookies.remove(Crypto.encrypt(cookieName))}var CCToken=Object.freeze({__proto__:null,setToken:setToken,getToken:getToken,clearToken:clearToken,getUrlQuery:getUrlQuery});const USER_INFO="cc_user_info";function setUserInfo(userInfo,domain=getDomain()){Cookies.set(Crypto.encrypt(USER_INFO),Crypto.encrypt(userInfo),{domain:domain,expires:1/12});Cookies.set(Crypto.encrypt(USER_INFO),Crypto.encrypt(userInfo),{expires:1/12})}function getUserInfo(){let encryptUserInfo=Cookies.get(Crypto.encrypt(USER_INFO));if(encryptUserInfo){return Crypto.decrypt(encryptUserInfo)}else{return""}}var CCUser=Object.freeze({__proto__:null,setUserInfo:setUserInfo,getUserInfo:getUserInfo});let CCDK={CCApplication:CCApplication,CCUser:CCUser,CCCrypto:Crypto,CCToken:CCToken,CCConfig:CCConfig,CCLoad:CCLoad,CCLog:CCLog,CCMenu:CCMenu,CCUtils:CCUtils,CCHttp:CCHttp,CCObject:CCObject,CCPage:CCPage,CCSentry:CCSentry,CCSide:CCSide,CCBus:CCBus,CCCall:CCCall,CCCommon:CCCommon,CCMessage:CCMessage};Vue.prototype.$CCDK=CCDK;window.$CCDK=CCDK;export{CCDK as default};
1
+ import Vue from"vue";import CryptoJS from"crypto-js";import axios,{AxiosError}from"axios";import cloneDeep$1 from"lodash/cloneDeep";import Cookies from"js-cookie";import{Message,MessageBox,Notification}from"element-ui";function getAesString(data,key,iv){key=CryptoJS.enc.Utf8.parse(key);iv=CryptoJS.enc.Utf8.parse(iv);let encrypted=CryptoJS.AES.encrypt(data,key,{iv:iv,padding:CryptoJS.pad.Pkcs7});return encrypted.toString()}function getDAesString(encrypted,key,iv){key=CryptoJS.enc.Utf8.parse(key);iv=CryptoJS.enc.Utf8.parse(iv);let decrypted=CryptoJS.AES.decrypt(encrypted,key,{iv:iv,padding:CryptoJS.pad.Pkcs7});return decrypted.toString(CryptoJS.enc.Utf8)}function encrypt(data,key="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",iv=1){data=JSON.stringify(data);var encrypted=getAesString(data,key,iv);return encrypted}function decrypt(data,key="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",iv=1){try{var decryptedStr=getDAesString(data,key,iv);if(!decryptedStr)return null;return JSON.parse(decryptedStr)}catch(error){console.trace("解密密码错误",error);return null}}var Crypto=Object.freeze({__proto__:null,encrypt:encrypt,decrypt:decrypt});const APPLICATION_DETAIL="applicaton_current";function getApplicaton(){let detail=localStorage.getItem(Crypto.encrypt(APPLICATION_DETAIL));if(detail){return JSON.parse(detail)}return""}function setApplication(detail=""){if(detail){localStorage.setItem(Crypto.encrypt(APPLICATION_DETAIL),JSON.stringify(detail))}}var CCApplication=Object.freeze({__proto__:null,getApplicaton:getApplicaton,setApplication:setApplication});function getDomain(){let lastTow=document.domain.split(".").slice(-2,-1)[0];if(lastTow=="com"||lastTow=="org"||lastTow=="net"){return"."+document.domain.split(".").slice(-3).join(".")}else{return"."+document.domain.split(".").slice(-2).join(".")}}function getUuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0,v=c=="x"?r:r&3|8;return v.toString(16)})}function getBinding(){let binding=window.$CCDK.CCToken.getToken();if(!binding){window.open(window.Glod.LOGIN_URL,"_self")}else{Cookies.set("binding",binding,{expires:1/12});Cookies.set("JSESSIONID",binding,{expires:1/12})}return binding}var CCUtils=Object.freeze({__proto__:null,getDomain:getDomain,getUuid:getUuid,getBinding:getBinding});const toStr=Object.prototype.toString;const TypeEnum={FUNCTION:"[object Function]",ARRAY:"[object Array]"};const isFn=value=>toStr.call(value)===TypeEnum.FUNCTION;const isProduction=()=>true;const delay=(waitTime=1e3)=>new Promise(resolve=>setTimeout(resolve,waitTime));const isTimeout=(error={code:"",message:""})=>{return error.code===AxiosError.ECONNABORTED&&error.message.includes("timeout")};const formateData=data=>{return{head:{appType:"lightning-main",appVersion:"1.1.1",accessToken:getBinding(),source:"lightning-main"},body:{...data}}};const deepMerge=(source,target)=>{const res=cloneDeep(source);for(let key in target){if(target.hasOwnProperty(key)){res[key]=isObject(target[key])?deepMerge(res[key],target[key]):target[key]}}return res};const LRUCache=function(capacity){this.capacity=capacity;this.cache=new Map};LRUCache.prototype.get=function(key){var cacheTemp=this.cache,curTemp=cacheTemp.get(key);if(curTemp||curTemp===0){cacheTemp.delete(key);cacheTemp.set(key,curTemp);return curTemp}return null};LRUCache.prototype.put=function(key,value){var cacheTemp=this.cache;if(cacheTemp.get(key)){cacheTemp.delete(key)}else if(cacheTemp.size>=this.capacity){cacheTemp.delete(cacheTemp.keys().next().value)}cacheTemp.set(key,value)};class CCAxios{constructor(opt){this.options=opt;this.axiosInstance=axios.create(opt);this.setupInterceptors();this.cachePool=new LRUCache(20)}getTransform(){const{transform}=this.options;return transform}setupInterceptors(){const transform=this.getTransform();if(!transform){return}const{requestInterceptors,requestInterceptorsCatch,responseInterceptors,responseInterceptorsCatch}=transform;this.axiosInstance.interceptors.request.use(requestInterceptors,undefined);requestInterceptorsCatch&&isFn(requestInterceptorsCatch)&&this.axiosInstance.interceptors.request.use(undefined,requestInterceptorsCatch);this.axiosInstance.interceptors.response.use(responseInterceptors,undefined);responseInterceptorsCatch&&isFn(responseInterceptorsCatch)&&this.axiosInstance.interceptors.response.use(undefined,error=>{return responseInterceptorsCatch(this.axiosInstance,error)})}get(config,options={}){return this.request({...config,method:"GET"},options)}post(config,options={}){const{envType}=options;if("public"==envType&&"private"==window.Glod["ENV_TYPE"]){return new Promise(()=>{})}if("private"==envType&&"private"!=window.Glod["ENV_TYPE"]){return new Promise(()=>{})}return this.request({...config,method:"POST"},options)}postFormat(config,options={}){return this.request({...config,method:"POST",data:formateData(config.data)},options)}postParams(config,options={}){return this.request({...config,method:"POST",params:config.data},options)}request(config,options){const transform=this.getTransform();const conf=config,{requestOptions}=this.options;requestOptions.cache=false;requestOptions.cacheKey="";requestOptions.retryRequest={isOpenRetry:false,count:5,waitTime:1e3};const opt=Object.assign({},requestOptions,options);conf.requestOptions=opt;const retPromise=new Promise((resolve,reject)=>{this.axiosInstance(conf).then(res=>{const{transformResponseHook}=transform;if(transformResponseHook&&isFn(transformResponseHook)){try{const ret=transformResponseHook(res,opt,this.cachePool);resolve(ret)}catch(err){reject(err||new Error("request error!"))}return}resolve(res)}).catch(err=>{reject(err)})});retPromise.cache=callback=>{const{cache,cacheKey}=opt;const cacheData=cache&&this.cachePool.get([cacheKey]);callback(cacheData?cacheData:null);return retPromise};return retPromise}}const createErrorModal=(response,options)=>{const{message}=options;let temp;if(response.name==="AxiosError"){temp=response.response;temp.data.returnInfo=response.returnInfo||message||temp.error||"";temp.data.returnCode=response.code||temp.status;temp.data.requestId=response.config.headers.requestId}else{temp=response;temp.data.requestId=response.config.headers.requestId}isFn(Vue.prototype.$ErrorDialog)&&Vue.prototype.$ErrorDialog({response:temp})};const createMessage=Message;const needReportErrorType=["901","999"];function checkStatus(error,status,msg,errorMessageMode="modal"){let errMessage="message.error.object.contactadministrators";if(status===401){window.open(window.Glod.LOGIN_URL,"_self")}{if(errorMessageMode==="modal"){createErrorModal(error,{message:errMessage})}else if(errorMessageMode==="message"){createMessage.error(errMessage)}}}const retry=async(instance,error)=>{const{config}=error,{waitTime,count=5}=config.requestOptions||{};config.__retryCount=config.__retryCount||0;if(count<=config.__retryCount){return Promise.reject(error)}config.__retryCount++;await delay(waitTime);delete config.headers;return instance(config)};const transform={requestInterceptors(config){config.headers.requestId=window.$CCDK.CCUtils.getUuid();config.headers.requestIdProducer="browser";config.headers.accessToken=window.$CCDK.CCToken.getToken();return config},responseInterceptors(response){const{data,config}=response,{errorType,result}=data;if(!result){if(needReportErrorType.includes(errorType)&&isProduction()){const{errorReporter}=config.requestOptions;if(errorReporter&&isFn(errorReporter)){errorReporter(response)}}return response}const{infoReporter}=config.requestOptions;if(infoReporter&&isFn(infoReporter)){infoReporter(response)}return response},async responseInterceptorsCatch(axiosInstance,error){const{response,config}=error||{};let err="",msg="",mode="modal";try{err=error.toString(),msg=response.data.error,mode=config.requestOptions.errorMessageMode}catch(e){}let errorMessageMode=["message","modal"].includes(mode)&&mode||"modal",errMessage="";if(axios.isCancel(error)){return Promise.reject(error)}try{if(isProduction()){const{errorReporter}=config.requestOptions;if(errorReporter&&isFn(errorReporter)){errorReporter(error)}}if(isTimeout(error)){errMessage="c2487"}if(err&&err.includes("Network Error")){errMessage="c929"}if(errMessage){if(errorMessageMode==="modal"){createErrorModal({...error,response:{data:{returnInfo:error.message,returnCode:error.code,requestId:error.config.headers.requestId},config:error.config}},{message:errMessage})}else if(errorMessageMode==="message"){createMessage.error(errMessage)}return Promise.reject(error)}}catch(error){throw new Error(error)}checkStatus(error,error&&error.response.status,msg,errorMessageMode);const{isOpenRetry}=config;isOpenRetry&&config.method&&config.method.toUpperCase()==="GET"&&retry(axiosInstance,error);return Promise.reject(error)},transformResponseHook(response,options,cachePool){const{data}=response;const{errorType,result}=data;const businessLogicError=response=>{const{errorMessageMode,silent}=response.config.requestOptions;if(silent)return;if(errorMessageMode==="modal"){createErrorModal(response,{message:"业务出错"})}else if(errorMessageMode==="message"){createMessage.error(response&&response.data&&response.data.returnInfo||"业务出错")}};if(!result){switch(errorType){case"901":createErrorModal(response,{message:"系统错误"});break;case"999":break;case"501":default:businessLogicError(response);break}return Promise.reject(response)}const{isReturnNativeResponse,cache,cacheKey}=options;if(isReturnNativeResponse){cache&&cacheKey&&cachePool.put(cacheKey,response);return response}cache&&cacheKey&&cachePool.put(cacheKey,data);return data}};function createAxios(opt){return new CCAxios(deepMerge({timeout:60*1e3,headers:{"Content-Type":"application/json;charset=UTF-8"},transform:cloneDeep$1(transform),requestOptions:{envType:"",errorMessageMode:"modal",silent:false,cache:false,retryRequest:{isOpenRetry:false,count:5,waitTime:100},isReturnNativeResponse:false}},opt||{}))}var CCHttp$1=Object.freeze({__proto__:null,createAxios:createAxios});window.ccBus=new Vue;function $emit(...args){window.ccBus.$emit(...args)}function $on(...args){window.ccBus.$on(...args)}function $off(...args){window.ccBus.$off(...args)}var CCBus=Object.freeze({__proto__:null,$emit:$emit,$on:$on,$off:$off});let ccCall=new Map;let currentCall;function init$1(id,callClient){if(id&&callClient){ccCall.set(id,callClient);currentCall=callClient;return currentCall}}function call(id,options){let call;if(id){call=ccCall.get(id)}else{call=currentCall}if(call){call.call(options)}return call}function openCallPanel(id,options){let call;if(id){call=ccCall.get(id)}else{call=currentCall}if(call){call.openCallPanel(options)}return call}var CCCall=Object.freeze({__proto__:null,init:init$1,call:call,openCallPanel:openCallPanel});function reportError(response){if("1"===window.Glod["CC_LOG_LEVEL"]||"2"===window.Glod["CC_LOG_LEVEL"]){window.$CCDK.CCLog.reportLog(window.Glod["ccex-log"]+"/ccerrorlog",response,"error",{serviceName:"lightning-custom-page"})}}function reportInfo(response){if("2"===window.Glod["CC_LOG_LEVEL"]){window.$CCDK.CCLog.reportLog(window.Glod["ccex-log"]+"/systeminfolog",response,"info",{serviceName:"lightning-custom-page"})}}const service$1=axios.create({timeout:60*1e3,headers:{"Content-Type":"application/json; charset=utf-8"}});service$1.interceptors.request.use(config=>{config.headers.accessToken=window.$CCDK.CCToken.getToken();config.headers.requestId=window.$CCDK.CCUtils.getUuid();config.headers.requestIdProducer="browser";return config},error=>{Promise.reject(error)});service$1.interceptors.response.use(response=>{if(response.data.result){reportInfo(response);return response.data}else{reportError(response);return Promise.reject(response)}},error=>{if(error){reportError(error.response)}return Promise.reject(error)});var http={get:(url,data={},responseType="")=>{return service$1({url:url,method:"get",params:data,responseType:responseType})},post:(url,data={},responseType="")=>{return service$1({url:url,method:"post",data:data,responseType:responseType})}};function post$1(className,methodName,params){return http.post(window.$CCDK.CCConfig.getSvc()["ccex-apitsf"]+"/api/openCall/common",{className:className,methodName:methodName,params:params})}var CCCommon=Object.freeze({__proto__:null,post:post$1});function getBaseUrl(){return window.gw.BASE_URL}function getGw(){return window.gw}function getSvc(){return window.Glod}function getCDNUrl(){return window.Glod.CDN_URL}var CCConfig=Object.freeze({__proto__:null,getBaseUrl:getBaseUrl,getGw:getGw,getSvc:getSvc,getCDNUrl:getCDNUrl});const service=axios.create({timeout:6e4,headers:{"Content-Type":"application/json; charset=utf-8"}});service.interceptors.request.use(config=>{config.headers["accessToken"]=window.$CCDK.CCToken.getToken();return config},error=>{Promise.reject(error)});service.interceptors.response.use(response=>{const code=response.data.code||200;if(code!==200){return Promise.reject(null==response.data.msg?"未知异常":response.data.msg)}else{return response.data}},error=>{return Promise.reject(error)});function get(url,data={},responseType=""){return service({url:url,method:"get",params:data,responseType:responseType})}function post(url,data={},responseType=""){return service({url:url,method:"post",data:data,responseType:responseType})}function put(url,data={}){return service({url:url,method:"put",data:data})}function postParams(url,data={}){return service({url:url,method:"post",params:data})}function patch(url,data={}){return service({url:url,method:"patch",data:data})}var CCHttp=Object.freeze({__proto__:null,get:get,post:post,put:put,patch:patch,postParams:postParams});function loadJs(src,scriptOption){return new Promise((resolve,reject)=>{let scriptTemp=document.createElement("script");if(scriptOption){Object.assign(scriptTemp,scriptOption)}scriptTemp.type="text/javascript";scriptTemp.src=src;document.body.appendChild(scriptTemp);scriptTemp.onload=()=>{resolve()};scriptTemp.onerror=()=>{reject()}})}function createLoadJsComponent(){Vue.component("cc-load-script",{render:function(createElement){var self=this;return createElement("script",{attrs:{type:"text/javascript",src:this.src},on:{load:function(event){self.$emit("load",event)},error:function(event){self.$emit("error",event)},readystatechange:function(event){if(this.readyState=="complete"){self.$emit("load",event)}}}})},props:{src:{type:String,required:true}}})}var CCLoad=Object.freeze({__proto__:null,loadJs:loadJs,createLoadJsComponent:createLoadJsComponent});function getBaseInfo(){let userInfo=window.$CCDK.CCUser.getUserInfo();let old={userName:userInfo.loginName||"未知用户",userId:userInfo.userId,orgId:userInfo.orgId,orgName:userInfo.orgName,serviceName:"未知应用",recordType:"paltfrom",logType:"front",operateTime:(new Date).valueOf(),cccode:"hidden",displayLevel:"2"};return old}function getHttpErrorInfo(error={}){let{config={},data={}}=error;if(config){return{requestUrl:config.baseURL+config.url,requestId:config.headers?config.headers.requestId:window.$CCDK.CCUtils.getUuid(),requestIdProducer:config.headers?config.headers.requestIdProducer:"",requestParameter:config.data,errorMessage:error.message||data.returnInfo||"未知错误",requestResult:"失败",errorLevel:"2",printStackTraceInfo:(error.message||data.returnInfo||"未知错误")+"\n"+config.data}}else{return{}}}function getHttpInfo(response){if(response){if(window.performance){let per=performance.getEntriesByName(response.request.responseURL,"resource");if(per.length>0){response.spendTime=per[0].fetchStart>0?per[0].responseEnd-per[0].fetchStart:"0"}}return{spendTime:response.spendTime||"0",requestUrl:response.request?response.request.responseURL:"",requestId:response.config.headers?response.config.headers.requestId:window.$CCDK.CCUtils.getUuid(),requestIdProducer:response.config.headers?response.config.headers.requestIdProducer:"",requestParameter:response.config.data,infoMessage:response.request.responseURL+". took:"+(response.spendTime||0).toFixed(0)+"ms"+"\n"+(response.config.data||""),requestResult:response.data.result?"成功":"失败",infoType:"info"}}else{return{}}}function reportLog(url,response,type="info",logInfo={}){let userInfo=getBaseInfo();if("未知用户"!=userInfo.userName&&userInfo.userName){axios.post(url,{...userInfo,...type==="info"?getHttpInfo(response):getHttpErrorInfo(response),...logInfo})}}function reportInfoLog(logInfo,response){logInfo.recordType="dev";reportLog(window.Glod["ccex-log"]+"/systeminfolog",response,"info",logInfo)}function reportErrorLog(logInfo,response){logInfo.recordType="dev";reportLog(window.Glod["ccex-log"]+"/ccerrorlog",response,"error",logInfo)}function reportCCError(error,options={serviceName:"lightning-main"}){if(process.env.NODE_ENV=="production"&&"1"===window.Glod["CC_LOG_LEVEL"]||"2"===window.Glod["CC_LOG_LEVEL"]){window.$CCDK.CCLog.reportLog(window.Glod["ccex-log"]+"/ccerrorlog",error,"error",options)}}function reportCCInfo(response,options={serviceName:"lightning-main"}){if(process.env.NODE_ENV=="production"&&"2"===window.Glod["CC_LOG_LEVEL"]){if(response.config.data){try{let data=JSON.parse(response.config.data);if(data.head&&data.head.accessToken){data.head.accessToken="******";response.config.data=JSON.stringify(data)}}catch(e){}}window.$CCDK.CCLog.reportLog(window.Glod["ccex-log"]+"/systeminfolog",response,"info",options)}}var CCLog=Object.freeze({__proto__:null,reportLog:reportLog,reportInfoLog:reportInfoLog,reportErrorLog:reportErrorLog,reportCCError:reportCCError,reportCCInfo:reportCCInfo});function addMenu1(options){window.$CCDK.CCBus.$emit("addMenu1",options)}function addMenu2(options){window.$CCDK.CCBus.$emit("addMenu2",options)}function deleteMenu1(options){window.$CCDK.CCBus.$emit("deleteMenu1",options)}function deleteMenu2(options){window.$CCDK.CCBus.$emit("deleteMenu2",options)}function refreshMenu1(options){window.$CCDK.CCBus.$emit("refreshMenu1",options)}function refreshMenu2(options){window.$CCDK.CCBus.$emit("refreshMenu2",options)}function replaceMenu1(options){window.$CCDK.CCBus.$emit("replaceMenu1",options)}function replaceMenu2(options){window.$CCDK.CCBus.$emit("replaceMenu2",options)}function reOpenMenu1(options){window.$CCDK.CCBus.$emit("reOpenMenu1",options)}function reOpenMenu2(options){window.$CCDK.CCBus.$emit("reOpenMenu2",options)}var CCMenu=Object.freeze({__proto__:null,addMenu1:addMenu1,addMenu2:addMenu2,deleteMenu1:deleteMenu1,deleteMenu2:deleteMenu2,refreshMenu1:refreshMenu1,refreshMenu2:refreshMenu2,replaceMenu1:replaceMenu1,replaceMenu2:replaceMenu2,reOpenMenu1:reOpenMenu1,reOpenMenu2:reOpenMenu2});function showMessage(text,type="info",duration=3e3,showClose=false,center=false){Message({message:text,type:type,duration:duration,showClose:showClose,center:center})}function showConfirm(text,title,options={},confirm=()=>{},reject=()=>{}){MessageBox.confirm(text,title,options).then(()=>{confirm()}).catch(()=>{reject()})}function showNotification(options={}){Notification(options)}var CCMessage=Object.freeze({__proto__:null,showMessage:showMessage,showConfirm:showConfirm,showNotification:showNotification});const OBJECT_DETAIL="cc_object_detail";const OBJECT="cc_object";const OBJECT_LIST="cc_object_list";function getObject(){let detail=localStorage.getItem(Crypto.encrypt(OBJECT));if(detail){return JSON.parse(detail)}return""}function setObject(detail=""){if(detail){localStorage.setItem(Crypto.encrypt(OBJECT),JSON.stringify(detail))}}function getObjectDetail(apiname){let detail=localStorage.getItem(Crypto.encrypt(OBJECT_DETAIL));if(detail){if(apiname){let detailObj=JSON.parse(detail).detail;let targetField=undefined;if(Array.isArray(detailObj)){targetField=detailObj.find(item=>item.apiname===apiname)}return targetField}else{return JSON.parse(detail)}}return""}function setObjectDetail(detail=""){if(detail){if(Array.isArray(detail.detail)){let data=[];detail.detail.forEach(item=>{if(item&&Array.isArray(item.data)){item.data.forEach(itemData=>{if(itemData.left&&!Array.isArray(itemData.left)){data.push(itemData.left)}if(itemData.right&&!Array.isArray(itemData.right)){data.push(itemData.right)}})}});if(data.length>0){detail.detail=data}}localStorage.setItem(Crypto.encrypt(OBJECT_DETAIL),JSON.stringify(detail))}}function setObjectList(detail={}){if(detail.ids){localStorage.setItem(Crypto.encrypt(OBJECT_LIST),JSON.stringify(detail))}}function getObjectList(){let detail=localStorage.getItem(Crypto.encrypt(OBJECT_LIST));if(detail){return JSON.parse(detail)}return{ids:[]}}var CCObject=Object.freeze({__proto__:null,getObjectList:getObjectList,setObjectList:setObjectList,getObject:getObject,setObject:setObject,getObjectDetail:getObjectDetail,setObjectDetail:setObjectDetail});let pageList=new Map;function openListPage(obj,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openListPage",pageId,obj,options);return pageId}function openDetailPage(obj,id,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openDetailPage",pageId,obj,id,options);return pageId}function openCreatePage(obj,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openCreatePage",pageId,obj,options);return pageId}function openEditPage(obj,id,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openEditPage",pageId,obj,id,options);return pageId}function openCustomPage(obj,options={}){let pageId=options.pageId||Math.random().toString(16).slice(2);window.$CCDK.CCBus.$emit("openCustomPage",pageId,obj,options);return pageId}function reOpenPage(pageId,options){let page;if(pageId){page=pageList.get(pageId)}if(page){page.reOpenPage();if(options.refresh){page.refresh()}}}function addPage(id,page){if(id&&page){pageList.set(id,page)}}function deletePage(pageId){if(pageId){pageList.delete(pageId)}}function updatePage(id,page){if(id&&page){pageList.set(id,page)}}function searchPage(pageId){return pageList.get(pageId)}function close$1(pageId=""){let page;if(pageId==="all"){page=[...pageList.values()];page.forEach(item=>{if(item){item.close()}})}else if(pageId){page=pageList.get(pageId)}else{let currentMenuTree=JSON.parse(localStorage.getItem("current_page"));if(currentMenuTree){if(currentMenuTree.level2Id){page=pageList.get(currentMenuTree.level2Id)}else{page=pageList.get(currentMenuTree.id)}}}if(page){page.close()}}function refresh(){window.$CCDK.CCBus.$emit("refresh")}function getCurrentPage(){let currentMenuTree=localStorage.getItem("current_page");if(currentMenuTree){return JSON.parse(currentMenuTree)}return""}var CCPage=Object.freeze({__proto__:null,openListPage:openListPage,openDetailPage:openDetailPage,openCreatePage:openCreatePage,openEditPage:openEditPage,openCustomPage:openCustomPage,reOpenPage:reOpenPage,addPage:addPage,deletePage:deletePage,updatePage:updatePage,searchPage:searchPage,close:close$1,refresh:refresh,getCurrentPage:getCurrentPage});function initUserInfo(sentry){let ccUser=window.$CCDK.CCUser.getUserInfo();sentry.setTag("orgId",ccUser.orgId);sentry.setUser({username:ccUser.userName,id:ccUser.userId})}function reportMemory(sentry){if(performance.memory){let memeryMsg="内存监控:jsHeapSizeLimit="+(performance.memory.jsHeapSizeLimit/1024/1024).toFixed(2)+"mb、"+"totalJSHeapSize="+(performance.memory.totalJSHeapSize/1024/1024).toFixed(2)+"mb、"+"usedJSHeapSize="+(performance.memory.usedJSHeapSize/1024/1024).toFixed(2)+"mb";initUserInfo(sentry);sentry.withScope(function(scope){sentry.setTag("usedJSHeapSize",(performance.memory.usedJSHeapSize/1024/1024).toFixed(2));scope.setFingerprint(["内存监控"]);sentry.captureMessage(memeryMsg)})}}function reportHttpException(sentry,error){initUserInfo(sentry);sentry.withScope(function(scope){scope.setFingerprint(["接口未捕获异常response"]);sentry.captureException(error)})}var CCSentry=Object.freeze({__proto__:null,reportMemory:reportMemory,reportHttpException:reportHttpException});function init(options){window.$CCDK.CCBus.$emit("initSide",options)}function open(){window.$CCDK.CCBus.$emit("openSide")}function close(){window.$CCDK.CCBus.$emit("closeSide")}var CCSide=Object.freeze({__proto__:null,init:init,open:open,close:close});const TOKEN="cc_token";function getUrlQuery(name){var reg=new RegExp(name+"=([^&]*)(&|$)");var r=window.location.href.match(reg);let res=null;if(r!=null)res=r[1].trim();return res}function getToken(urlName="binding",cookieName=TOKEN){let token=getUrlQuery(urlName)||Cookies.get(Crypto.encrypt(cookieName))||Cookies.get(urlName||TOKEN);if(token){setToken(token,cookieName)}return token}function setToken(token,cookieName=TOKEN,domain=getDomain()){Cookies.set(Crypto.encrypt(cookieName),token,{domain:domain,expires:1/12});Cookies.set(Crypto.encrypt(cookieName),token,{expires:1/12})}function clearToken(cookieName=TOKEN,domain=getDomain()){Cookies.remove(Crypto.encrypt(cookieName),{domain:domain});Cookies.remove(Crypto.encrypt(cookieName))}var CCToken=Object.freeze({__proto__:null,setToken:setToken,getToken:getToken,clearToken:clearToken,getUrlQuery:getUrlQuery});const USER_INFO="cc_user_info";function setUserInfo(userInfo,domain=getDomain()){Cookies.set(Crypto.encrypt(USER_INFO),Crypto.encrypt(userInfo),{domain:domain,expires:1/12});Cookies.set(Crypto.encrypt(USER_INFO),Crypto.encrypt(userInfo),{expires:1/12})}function getUserInfo(){let encryptUserInfo=Cookies.get(Crypto.encrypt(USER_INFO));if(encryptUserInfo){return Crypto.decrypt(encryptUserInfo)}else{return""}}var CCUser=Object.freeze({__proto__:null,setUserInfo:setUserInfo,getUserInfo:getUserInfo});let CCDK={CCApplication:CCApplication,CCAxios:CCHttp$1,CCUser:CCUser,CCCrypto:Crypto,CCToken:CCToken,CCConfig:CCConfig,CCLoad:CCLoad,CCLog:CCLog,CCMenu:CCMenu,CCUtils:CCUtils,CCHttp:CCHttp,CCObject:CCObject,CCPage:CCPage,CCSentry:CCSentry,CCSide:CCSide,CCBus:CCBus,CCCall:CCCall,CCCommon:CCCommon,CCMessage:CCMessage};Vue.prototype.$CCDK=CCDK;window.$CCDK=CCDK;export{CCDK as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudcc-ccdk",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "",
5
5
  "main": "lib/ccdk-min.js",
6
6
  "scripts": {