resolver-egretimp-plus 0.1.122 → 0.1.123

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.
@@ -63,3 +63,20 @@
63
63
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
64
64
  * @license MIT
65
65
  **/
66
+
67
+ /** @preserve
68
+ * Counter block mode compatible with Dr Brian Gladman fileenc.c
69
+ * derived from CryptoJS.mode.CTR
70
+ * Jan Hruby jhruby.web@gmail.com
71
+ */
72
+
73
+ /** @preserve
74
+ (c) 2012 by Cédric Mesnil. All rights reserved.
75
+
76
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
77
+
78
+ - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
79
+ - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
80
+
81
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
82
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "resolver-egretimp-plus",
3
- "version": "0.1.122",
3
+ "version": "0.1.123",
4
4
  "description": "交付体验渲染",
5
5
  "main": "./dist/web/index.js",
6
6
  "module": "./dist/web/index.js",
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <span class="custom-component-plain" :class="classObj" @click.stop.self="clickAction">{{ props.formatter?.(value) ?? value }}</span>
2
+ <span class="custom-component-plain" v-bind="currentPorps" @click.stop.self="clickAction">{{ props.formatter?.(value) ?? value }}</span>
3
3
  </template>
4
4
  <script setup>
5
5
  import { findComponent } from '../../utils/common';
6
6
  import { commonPropsType, PLAIN_TYPE_OPTIONS_COLUMNS } from '../../utils/const' // 这边不能用utils/index去引用,因为这个组件在utils/render.js中被引入了,会造成循环引用
7
- import { computed, defineModel, defineProps, inject, getCurrentInstance, watch, nextTick } from 'vue'
7
+ import { computed, defineModel, defineProps, inject, getCurrentInstance, watch, nextTick, useAttrs } from 'vue'
8
8
  import dayjs from 'dayjs'
9
9
  import { isNaN } from '../../utils/is';
10
10
  import { useFormItem } from 'element-plus'
@@ -13,6 +13,7 @@ defineOptions({
13
13
  inheritAttrs: false
14
14
  })
15
15
 
16
+ const attrs = useAttrs()
16
17
  const { formItem: elFormItem } = useFormItem()
17
18
  const modelValue = defineModel()
18
19
  const props = defineProps({
@@ -144,6 +145,13 @@ const classObj = computed(() => ([
144
145
  }
145
146
  ]))
146
147
 
148
+ const currentPorps = computed(() => {
149
+ return {
150
+ style: attrs.style,
151
+ class: classObj.value
152
+ }
153
+ })
154
+
147
155
 
148
156
  const appContext = getCurrentInstance()?.appContext
149
157
  const buttonActions = inject('buttonActions', {})
@@ -152,7 +152,9 @@ export default {
152
152
  }
153
153
  return porpsObj
154
154
  })
155
-
155
+ const multiPmPageMetaList = computed(() => {
156
+ return props.config.multiPmPageMetaList || []
157
+ })
156
158
  const getCompEvents = (comp) => {
157
159
  let emitKeys = comp.emits || {}
158
160
  if(!Array.isArray(emitKeys)) {
@@ -385,9 +387,6 @@ export default {
385
387
  modelValue.value[idx] = val
386
388
  }
387
389
 
388
- const multiPmPageMetaList = computed(() => {
389
- return props.config.multiPmPageMetaList || []
390
- })
391
390
 
392
391
  /**
393
392
  * 设置 multiPmPageMetaList 的值
@@ -1,7 +1,8 @@
1
+ import CryptoJs from 'crypto-js';
1
2
  import { decrypt as aesDecrypt, encrypt as aesEncrypt } from 'crypto-js/aes';
2
3
  import UTF8 from 'crypto-js/enc-utf8';
3
4
  import pkcs7 from 'crypto-js/pad-pkcs7';
4
- import CTR from 'crypto-js/mode-ctr';
5
+ // import CTR from 'crypto-js/mode-ctr';
5
6
  import Base64 from 'crypto-js/enc-base64';
6
7
  import MD5 from 'crypto-js/md5';
7
8
  import SHA256 from 'crypto-js/sha256';
@@ -17,7 +18,7 @@ class AesEncryption {
17
18
 
18
19
  get getOptions() {
19
20
  return {
20
- mode: CTR,
21
+ mode: CryptoJs.mode.CBC,
21
22
  padding: pkcs7,
22
23
  iv: this.iv,
23
24
  };
@@ -1,7 +1,7 @@
1
1
  import { getCodeMapRules } from '../rules/rulesDriver.js'
2
2
  import SimpleFormItemPc from '../components/simpleFormItemPc'
3
3
  import { resolveAssetComponents, findComponent, compareComponet, normalPixel, isPlainObject, hasOwn, isFnStr, normalCapitalizeComponent, capitalize, camelize, formatDate, definePrivatelyProp, extend, getPathVal, cloneDeep, generateUniqueId} from './common.js'
4
- import { resolveComponent, inject, watch, unref, markRaw } from 'vue'
4
+ import { resolveComponent, inject, watch, unref, markRaw, reactive } from 'vue'
5
5
  import CustomComponentColH5 from '../components/packages-H5/CustomComponentColH5.vue'
6
6
  import {
7
7
  commonPropsType,
@@ -229,13 +229,18 @@ export function normalConfig({
229
229
  parentDynamicMapComp,
230
230
  noParsePageMetaList,
231
231
  changeConfig,
232
+ notParseConfig,
232
233
  }, config, hireRelat = '', mapComp = {}, needformItem = false, dynamicHireRelat = '', unWatchsList = []) {
234
+
233
235
  const metaCode = config.metaCode || ''
234
- hireRelat += hireRelat ? `->${metaCode}` : metaCode
235
236
  dynamicHireRelat += dynamicHireRelat ? `->${metaCode}` : metaCode
236
-
237
+ hireRelat += hireRelat ? `->${metaCode}` : metaCode
237
238
  const originMetaType = config.metaType
238
- const metaType = normalMetaType(config.metaType)
239
+ let metaType = originMetaType
240
+
241
+ if (!notParseConfig) {
242
+ metaType = normalMetaType(config.metaType)
243
+ }
239
244
 
240
245
  // 这个对象是不可以被配置进行覆盖
241
246
  const extendNativeObj = {
@@ -247,83 +252,80 @@ export function normalConfig({
247
252
  wrapVm: null, // 当前组件的实例(也就是analysisComponent)
248
253
  hireRelat,
249
254
  parent: null, // 这个是执行过程中,动态获取的
250
- dynamicHireRelat: '', // 这个也是执行过程中,动态获取的层级
251
255
  }
252
256
 
253
257
  if (OPEN_DATA_RULES) {
254
- extendNativeObj.dynamicHireRelat = dynamicHireRelat
255
258
  if (changeConfig) {
256
259
  // 设置multiPmPageMetaList的时候,如果数组变了,如果数组中的值变换了位置,需要对dynamicMapComp设置正确的映射
257
260
  correctConfigDynamicMap(dynamicMapComp, dynamicHireRelat)
258
261
  }
262
+ config.dynamicHireRelat = dynamicHireRelat
259
263
  dynamicMapComp[dynamicHireRelat] = config
260
264
  definePrivatelyProp(config, '_rootValue', rootValue)
261
265
  definePrivatelyProp(config, 'refValue', useVmodels(config).modelValue)
262
266
  }
263
267
 
264
- let extendAttrObj = parseExtendAttr(config)
265
- let extendObj = {
266
- removeCol: findComponent(NOT_NEED_COL_ITEM_META_TYPE, extendAttrObj.renderby) !== -1 || findComponent(NOT_NEED_COL_ITEM_META_TYPE, metaType) !== -1,
267
- needformItem: (findComponent(NOT_NEED_FORM_ITEM_META_TYPE, extendAttrObj.renderby) !== -1 || findComponent(NOT_NEED_FORM_ITEM_META_TYPE, metaType) !== -1) ? false : needformItem, // 表示这个配置项对应的渲染组件是否需要formItem进行包装 移动端是cmi-form-item
268
- }
269
- if (config.defStyle) {
270
- extendObj.style = parseDefStyle(config.defStyle)
271
- }
272
- // 组件是根据数据进行动态循环渲染,这边需要进行特殊处理,确保config配置项独立
273
- if (findComponent(MULTI_PAGE_META_LIST_TYPES, extendAttrObj.renderby) !== -1 || findComponent(MULTI_PAGE_META_LIST_TYPES, metaType) !== -1) {
274
- extendObj.multiPmPageMetaList = []
275
- }
276
- // let pageConfig = {
277
- // ...extendObj,
278
- // ...config,
279
- // ...extendAttrObj,
280
- // ...extendNativeObj,
281
- // }
282
-
283
- extend(config, extendObj, true)
284
- extend(config, extendAttrObj)
285
- extend(config, extendNativeObj)
268
+ if (!notParseConfig) {
269
+ let extendAttrObj = parseExtendAttr(config)
270
+ let extendObj = {
271
+ removeCol: findComponent(NOT_NEED_COL_ITEM_META_TYPE, extendAttrObj.renderby) !== -1 || findComponent(NOT_NEED_COL_ITEM_META_TYPE, metaType) !== -1,
272
+ needformItem: (findComponent(NOT_NEED_FORM_ITEM_META_TYPE, extendAttrObj.renderby) !== -1 || findComponent(NOT_NEED_FORM_ITEM_META_TYPE, metaType) !== -1) ? false : needformItem, // 表示这个配置项对应的渲染组件是否需要formItem进行包装 移动端是cmi-form-item
273
+ }
274
+ if (config.defStyle) {
275
+ extendObj.style = parseDefStyle(config.defStyle)
276
+ }
277
+ // 组件是根据数据进行动态循环渲染,这边需要进行特殊处理,确保config配置项独立
278
+ if (isCycleConfig({renderby: extendAttrObj.renderby, metaType})) {
279
+ extendObj.multiPmPageMetaList = reactive([])
280
+ }
281
+
282
+ extend(config, extendObj, true)
283
+ extend(config, extendAttrObj)
284
+ extend(config, extendNativeObj)
285
+ }
286
286
 
287
287
  let pageConfig = config
288
288
 
289
- if (originMetaType == 'textarea') {
290
- pageConfig.type = 'textarea'
291
- }
292
- if (originMetaType == 'time-range') {
293
- pageConfig['isRange'] = true
294
- }
295
- if (originMetaType == 'date-range') {
296
- pageConfig.type = 'daterange'
297
- }
298
- if (originMetaType == 'card' && !hasOwn(pageConfig, 'needWrap')) {
299
- pageConfig.needWrap = '1'
300
- }
301
- // 在详情的情况下,配置组件是否显示
302
- if (mode === MODE.DETAIL) {
303
- if (pageConfig.detailExtendAttr) {
304
- const detailExtendAttrObj = parseExtendAttr({
305
- extendAttr: typeof pageConfig.detailExtendAttr === 'string' ? pageConfig.detailExtendAttr : JSON.stringify(pageConfig.detailExtendAttr),
306
- metaCode: `detail-${pageConfig.metaCode}`
307
- })
308
- extend(pageConfig, detailExtendAttrObj)
289
+ if (!notParseConfig) {
290
+ if (originMetaType == 'textarea') {
291
+ pageConfig.type = 'textarea'
292
+ }
293
+ if (originMetaType == 'time-range') {
294
+ pageConfig['isRange'] = true
295
+ }
296
+ if (originMetaType == 'date-range') {
297
+ pageConfig.type = 'daterange'
298
+ }
299
+ if (originMetaType == 'card' && !hasOwn(pageConfig, 'needWrap')) {
300
+ pageConfig.needWrap = '1'
301
+ }
302
+ // 在详情的情况下,配置组件是否显示
303
+ if (mode === MODE.DETAIL) {
304
+ if (pageConfig.detailExtendAttr) {
305
+ const detailExtendAttrObj = parseExtendAttr({
306
+ extendAttr: typeof pageConfig.detailExtendAttr === 'string' ? pageConfig.detailExtendAttr : JSON.stringify(pageConfig.detailExtendAttr),
307
+ metaCode: `detail-${pageConfig.metaCode}`
308
+ })
309
+ extend(pageConfig, detailExtendAttrObj)
309
310
 
311
+ }
312
+ pageConfig.hidden = pageConfig.detailHidden || pageConfig.hidden
310
313
  }
311
- pageConfig.hidden = pageConfig.detailHidden || pageConfig.hidden
312
- }
313
- // 在日志的情况下,配置组件是否显示
314
- if (mode === MODE.LOG) {
315
- if (pageConfig.logExtendAttr) {
316
- const logExtendAttrObj = parseExtendAttr({
317
- extendAttr: typeof pageConfig.logExtendAttr === 'string' ? pageConfig.logExtendAttr : JSON.stringify(pageConfig.logExtendAttr),
318
- metaCode: `log-${pageConfig.metaCode}`
319
- })
320
- extend(pageConfig, logExtendAttrObj)
314
+ // 在日志的情况下,配置组件是否显示
315
+ if (mode === MODE.LOG) {
316
+ if (pageConfig.logExtendAttr) {
317
+ const logExtendAttrObj = parseExtendAttr({
318
+ extendAttr: typeof pageConfig.logExtendAttr === 'string' ? pageConfig.logExtendAttr : JSON.stringify(pageConfig.logExtendAttr),
319
+ metaCode: `log-${pageConfig.metaCode}`
320
+ })
321
+ extend(pageConfig, logExtendAttrObj)
322
+ }
323
+ pageConfig.hidden = pageConfig.logHidden || pageConfig.hidden
321
324
  }
322
- pageConfig.hidden = pageConfig.logHidden || pageConfig.hidden
323
- }
324
325
 
325
- mapComp[hireRelat] = pageConfig
326
- parsePolyfillConfigs({ polyfillConfigs, instance, parentRootValue, parentDynamicMapComp }, pageConfig)
326
+ mapComp[hireRelat] = pageConfig
327
+ parsePolyfillConfigs({ polyfillConfigs, instance, parentRootValue, parentDynamicMapComp }, pageConfig)
328
+ }
327
329
 
328
330
  if (!OPEN_DATA_RULES) {
329
331
  // 如果有子项,需要进行递归遍历
@@ -356,13 +358,18 @@ export function normalConfig({
356
358
 
357
359
  function normalPmPageMetaList(config) {
358
360
  const isCycleFlag = isCycleConfig(config)
359
- config.pmPageMetaList = simpleNormalPmPageMetaList(config.pmPageMetaList, dynamicHireRelat, unWatchsList, isCycleFlag)
361
+ config.pmPageMetaList = simpleNormalPmPageMetaList({
362
+ pmPageMetaList: config.pmPageMetaList,
363
+ dynamicHireRelat,
364
+ unWatchsList,
365
+ noParsePageMetaList: isCycleFlag,
366
+ changeConfig
367
+ })
360
368
 
361
369
  definePrivatelyProp(config, '_rowColumnConfgsMap', markRaw(new Map()))
362
370
  config._unPageMetaListWatch?.() // 删除当前的监听
363
371
  if (isCycleFlag) {
364
372
  const currentUnWatchsList = [...unWatchsList]
365
- definePrivatelyProp(config, 'multiPmPageMetaList', [])
366
373
 
367
374
  // 这边先执行,因为当前的_unWatchs里面只放子级的watch
368
375
  const oldUnWatchsList = [...currentUnWatchsList]
@@ -375,7 +382,7 @@ export function normalConfig({
375
382
  const list = getPathVal(unref(rootValue), config.dynamicHireRelat, '->')
376
383
  if (list && list.length) {
377
384
  const cbFns = []
378
- config.multiPmPageMetaList = list.map((row, idx) => {
385
+ const pageMetaList = list.map((row, idx) => {
379
386
  const columnsCgs = config._rowColumnConfgsMap.get(row)
380
387
  if (columnsCgs) {
381
388
  columnsCgs.forEach(config => {
@@ -401,13 +408,22 @@ export function normalConfig({
401
408
  definePrivatelyProp(ret, 'parent', config) // 这边手动设置一下,防止组件复用的时候不会刷新,造成parent的丢失
402
409
  return ret
403
410
  })
411
+ retColumnConfigs = reactive(retColumnConfigs)
404
412
  cbFns.push(() => {
405
- simpleNormalPmPageMetaList(retColumnConfigs, `${config.dynamicHireRelat}[${idx}]`, currentUnWatchsList, false, true)
413
+ simpleNormalPmPageMetaList({
414
+ pmPageMetaList: retColumnConfigs,
415
+ dynamicHireRelat: `${config.dynamicHireRelat}[${idx}]`,
416
+ unWatchsList: currentUnWatchsList,
417
+ noParsePageMetaList: false,
418
+ changeConfig: true,
419
+ notParseConfig: true,
420
+ })
406
421
  })
407
422
  config._rowColumnConfgsMap.set(row, retColumnConfigs)
408
423
  return retColumnConfigs
409
424
  }
410
425
  })
426
+ config.multiPmPageMetaList = reactive(pageMetaList)
411
427
  cbFns.forEach(cb => cb())
412
428
 
413
429
  const mapKeys = config._rowColumnConfgsMap.keys()
@@ -424,6 +440,7 @@ export function normalConfig({
424
440
  }, {
425
441
  immediate: true,
426
442
  deep: true,
443
+ // flush: 'sync'
427
444
  })
428
445
 
429
446
  oldUnWatchsList?.forEach(list => {
@@ -431,7 +448,7 @@ export function normalConfig({
431
448
  })
432
449
  }
433
450
 
434
- function simpleNormalPmPageMetaList(pmPageMetaList, dynamicHireRelat, unWatchsList, noParsePageMetaList, changeConfig) {
451
+ function simpleNormalPmPageMetaList({pmPageMetaList, dynamicHireRelat, unWatchsList, noParsePageMetaList, changeConfig, notParseConfig}) {
435
452
  return pmPageMetaList.map(metaItem => {
436
453
  const { pageConfig } = normalConfig({
437
454
  requestTraceId,
@@ -450,6 +467,7 @@ export function normalConfig({
450
467
  parentDynamicMapComp,
451
468
  noParsePageMetaList,
452
469
  changeConfig,
470
+ notParseConfig,
453
471
  }, metaItem, hireRelat, mapComp, needformItem || [FORM_META_TYPE, FORM_META_TYPE_H5].includes(metaType), dynamicHireRelat, unWatchsList)
454
472
  return pageConfig
455
473
  })?.sort((a, b) => a.seqNo - b.seqNo)
@@ -550,13 +568,13 @@ export function isPlainColumn(config, disabled) {
550
568
  export function canHiddenConfig(config) {
551
569
  let retFlag = OPEN_DATA_RULES && config.hidden == '1'
552
570
  if (!retFlag) return false
553
-
571
+
554
572
  let travseConfigs = [config]
555
573
  let currentConfig = null
556
574
  while(travseConfigs.length) {
557
575
  currentConfig = travseConfigs.shift()
558
576
  // 如果子级别中有onVnodeMounted、onMounted中一个有值,就表示需要进行渲染
559
- if (currentConfig.onVnodeMounted || currentConfig.onMounted) {
577
+ if (currentConfig.onVnodeMounted || currentConfig.onMounted || currentConfig.immediateClickEvent) {
560
578
  return false
561
579
  }
562
580
  if (isCycleConfig(currentConfig)) {
@@ -85,7 +85,7 @@ export function initInterceptors(messageInstance) {
85
85
  )
86
86
  }
87
87
 
88
- const encryptKey = '%cmi_lcp@10086#'
88
+ const encryptKey = '%cmi_lcp@10086#S'
89
89
  export function buildInRequest(url, data, config = {}) {
90
90
  const randomUuidStr = `${data.busiIdentityId}_${data.requestTraceId}`
91
91
  const reqConfig = {