@uxda/appkit 1.2.50 → 1.2.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/appkit.css CHANGED
@@ -1267,6 +1267,7 @@ page {
1267
1267
  display: -webkit-box;
1268
1268
  -webkit-line-clamp: 1;
1269
1269
  -webkit-box-orient: vertical;
1270
+ text-align: left;
1270
1271
  }
1271
1272
  .notice-banner-btn {
1272
1273
  color: #017fff;
package/dist/index.js CHANGED
@@ -3560,7 +3560,6 @@ var script$2 = /* @__PURE__ */ defineComponent({
3560
3560
  emits: ["close", "view"],
3561
3561
  setup(__props, { emit: __emit }) {
3562
3562
  const props = __props;
3563
- const { toReadFun, noticeClick } = useNotice();
3564
3563
  const showPopup = ref(true);
3565
3564
  onMounted(() => {
3566
3565
  });
@@ -3568,11 +3567,9 @@ var script$2 = /* @__PURE__ */ defineComponent({
3568
3567
  showPopup.value = false;
3569
3568
  emits("close");
3570
3569
  }
3571
- function toAllSystemNotice() {
3572
- noticeClick(props.message, () => {
3573
- onClose();
3574
- emits("view", props.message.id);
3575
- });
3570
+ function toViewAttachment() {
3571
+ onClose();
3572
+ emits("view", props.message.jumpUrl || props.message.link);
3576
3573
  }
3577
3574
  async function onClose() {
3578
3575
  const $http = useHttp();
@@ -3580,9 +3577,6 @@ var script$2 = /* @__PURE__ */ defineComponent({
3580
3577
  device: "MINI",
3581
3578
  receiveId: props.message.id
3582
3579
  }).then(() => {
3583
- if (props.message.isRead === 0) {
3584
- toReadFun([props.message.id]);
3585
- }
3586
3580
  onCancel();
3587
3581
  });
3588
3582
  }
@@ -3604,10 +3598,11 @@ var script$2 = /* @__PURE__ */ defineComponent({
3604
3598
  1
3605
3599
  /* TEXT */
3606
3600
  ),
3607
- createElementVNode("div", {
3601
+ _ctx.message.jumpUrl || _ctx.message.link ? (openBlock(), createElementBlock("div", {
3602
+ key: 0,
3608
3603
  class: "notice-popup-bd-link",
3609
- onClick: toAllSystemNotice
3610
- }, "\u70B9\u51FB\u67E5\u770B\u9644\u4EF6")
3604
+ onClick: toViewAttachment
3605
+ }, " \u70B9\u51FB\u67E5\u770B\u9644\u4EF6 ")) : createCommentVNode("v-if", true)
3611
3606
  ]),
3612
3607
  createElementVNode("div", { class: "notice-popup-ft" }, [
3613
3608
  createElementVNode("div", {
@@ -3625,8 +3620,7 @@ var script$2 = /* @__PURE__ */ defineComponent({
3625
3620
 
3626
3621
  script$2.__file = "src/notice/components/NoticePopup.vue";
3627
3622
 
3628
- const _hoisted_1$1 = { class: "notice-banner" };
3629
- const _hoisted_2$1 = /* @__PURE__ */ createElementVNode(
3623
+ const _hoisted_1$1 = /* @__PURE__ */ createElementVNode(
3630
3624
  "img",
3631
3625
  {
3632
3626
  class: "notice-banner-icon",
@@ -3637,13 +3631,15 @@ const _hoisted_2$1 = /* @__PURE__ */ createElementVNode(
3637
3631
  -1
3638
3632
  /* HOISTED */
3639
3633
  );
3640
- const _hoisted_3 = { class: "notice-banner-text" };
3634
+ const _hoisted_2$1 = { class: "notice-banner-text" };
3635
+ const _hoisted_3 = ["onClick"];
3641
3636
  var script$1 = /* @__PURE__ */ defineComponent({
3642
3637
  __name: "NoticeBanner",
3643
3638
  props: {
3644
- app: { type: String, required: true, default: "" }
3639
+ app: { type: String, required: true, default: "" },
3640
+ bannerStyle: { type: null, required: false, default: "" }
3645
3641
  },
3646
- emits: ["detail", "close"],
3642
+ emits: ["detail", "close", "view"],
3647
3643
  setup(__props, { emit: __emit }) {
3648
3644
  const props = __props;
3649
3645
  const { toReadFun, noticeClick } = useNotice();
@@ -3665,11 +3661,11 @@ var script$1 = /* @__PURE__ */ defineComponent({
3665
3661
  }).then((result) => {
3666
3662
  bannerMessages.value = (result || []).filter((item) => item.noticeType !== void 0);
3667
3663
  popMessages.value = (result || []).filter((item) => item.isPop);
3668
- startMessage();
3664
+ startMessageCarousel();
3669
3665
  });
3670
3666
  }
3671
3667
  let interval = null;
3672
- function startMessage() {
3668
+ function startMessageCarousel() {
3673
3669
  clearInterval(interval);
3674
3670
  if (bannerMessages.value.length > 1) {
3675
3671
  interval = setInterval(() => {
@@ -3688,6 +3684,7 @@ var script$1 = /* @__PURE__ */ defineComponent({
3688
3684
  }
3689
3685
  }
3690
3686
  function onClose(item, index) {
3687
+ clearInterval(interval);
3691
3688
  const $http = useHttp();
3692
3689
  $http.post("/cas/msg/setMsgStatus", {
3693
3690
  device: "PC",
@@ -3700,16 +3697,17 @@ var script$1 = /* @__PURE__ */ defineComponent({
3700
3697
  icon: "none"
3701
3698
  });
3702
3699
  bannerMessages.value.splice(index, 1);
3703
- startMessage();
3704
- if (item.isRead === 0) {
3705
- toReadFun([item.id]);
3706
- }
3700
+ startMessageCarousel();
3701
+ }).catch(() => {
3702
+ startMessageCarousel();
3707
3703
  });
3708
3704
  }
3709
- function onDetail(item) {
3710
- noticeClick(item, (url) => {
3711
- emits("detail", url);
3712
- });
3705
+ async function onDetail(item) {
3706
+ await noticeClick(item);
3707
+ emits("detail", item);
3708
+ }
3709
+ function onView(item) {
3710
+ emits("view", item.link);
3713
3711
  }
3714
3712
  const emits = __emit;
3715
3713
  return (_ctx, _cache) => {
@@ -3717,39 +3715,49 @@ var script$1 = /* @__PURE__ */ defineComponent({
3717
3715
  Fragment,
3718
3716
  null,
3719
3717
  [
3720
- createElementVNode("div", _hoisted_1$1, [
3721
- (openBlock(true), createElementBlock(
3722
- Fragment,
3723
- null,
3724
- renderList(bannerMessages.value, (item, key) => {
3725
- return openBlock(), createBlock(script$l, {
3726
- class: normalizeClass({ show: key === activeKey.value }),
3727
- key,
3728
- showClose: item.noticeType === 0,
3729
- onClose: ($event) => onClose(item, key)
3730
- }, {
3731
- default: withCtx(() => [
3732
- _hoisted_2$1,
3733
- createElementVNode(
3734
- "div",
3735
- _hoisted_3,
3736
- toDisplayString(item.context),
3737
- 1
3738
- /* TEXT */
3739
- ),
3740
- createElementVNode("div", {
3741
- class: "notice-banner-btn",
3742
- onClick: onDetail
3743
- }, "\u8BE6\u60C5")
3744
- ]),
3745
- _: 2
3746
- /* DYNAMIC */
3747
- }, 1032, ["class", "showClose", "onClose"]);
3748
- }),
3749
- 128
3750
- /* KEYED_FRAGMENT */
3751
- ))
3752
- ]),
3718
+ bannerMessages.value.length ? (openBlock(), createElementBlock(
3719
+ "div",
3720
+ {
3721
+ key: 0,
3722
+ class: "notice-banner",
3723
+ style: normalizeStyle(_ctx.bannerStyle)
3724
+ },
3725
+ [
3726
+ (openBlock(true), createElementBlock(
3727
+ Fragment,
3728
+ null,
3729
+ renderList(bannerMessages.value, (item, key) => {
3730
+ return openBlock(), createBlock(script$l, {
3731
+ class: normalizeClass({ show: key === activeKey.value }),
3732
+ key,
3733
+ showClose: item.noticeType === 0,
3734
+ onClose: ($event) => onClose(item, key)
3735
+ }, {
3736
+ default: withCtx(() => [
3737
+ _hoisted_1$1,
3738
+ createElementVNode(
3739
+ "div",
3740
+ _hoisted_2$1,
3741
+ toDisplayString(item.context),
3742
+ 1
3743
+ /* TEXT */
3744
+ ),
3745
+ createElementVNode("div", {
3746
+ class: "notice-banner-btn",
3747
+ onClick: ($event) => onDetail(item)
3748
+ }, "\u8BE6\u60C5", 8, _hoisted_3)
3749
+ ]),
3750
+ _: 2
3751
+ /* DYNAMIC */
3752
+ }, 1032, ["class", "showClose", "onClose"]);
3753
+ }),
3754
+ 128
3755
+ /* KEYED_FRAGMENT */
3756
+ ))
3757
+ ],
3758
+ 4
3759
+ /* STYLE */
3760
+ )) : createCommentVNode("v-if", true),
3753
3761
  createCommentVNode(" \u7CFB\u7EDF\u516C\u544A\u5F3A\u5236\u5F39\u6846 "),
3754
3762
  (openBlock(true), createElementBlock(
3755
3763
  Fragment,
@@ -3758,8 +3766,9 @@ var script$1 = /* @__PURE__ */ defineComponent({
3758
3766
  return openBlock(), createBlock(script$2, {
3759
3767
  key,
3760
3768
  message: item,
3761
- onClose: ($event) => popMessages.value.splice(key, 1)
3762
- }, null, 8, ["message", "onClose"]);
3769
+ onClose: ($event) => popMessages.value.splice(key, 1),
3770
+ onView: ($event) => onView(item)
3771
+ }, null, 8, ["message", "onClose", "onView"]);
3763
3772
  }),
3764
3773
  128
3765
3774
  /* KEYED_FRAGMENT */
@@ -3828,10 +3837,11 @@ var script = /* @__PURE__ */ defineComponent({
3828
3837
  loginRuleTip.value = "";
3829
3838
  emits("show", loginRuleTip.value);
3830
3839
  return;
3840
+ } else if (result.status) {
3841
+ showLoginRule.value = true;
3842
+ loginRuleTip.value = result.message;
3843
+ emits("show", loginRuleTip.value);
3831
3844
  }
3832
- showLoginRule.value = true;
3833
- loginRuleTip.value = result.message;
3834
- emits("show", loginRuleTip.value);
3835
3845
  });
3836
3846
  }, 100);
3837
3847
  const emits = __emit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxda/appkit",
3
- "version": "1.2.50",
3
+ "version": "1.2.54",
4
4
  "description": "小程序应用开发包",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.ts",
@@ -72,11 +72,11 @@ const checkLoginTimeRule = debounce(() => {
72
72
  loginRuleTip.value = ''
73
73
  emits('show', loginRuleTip.value)
74
74
  return
75
+ } else if (result.status) {
76
+ showLoginRule.value = true
77
+ loginRuleTip.value = result.message
78
+ emits('show', loginRuleTip.value)
75
79
  }
76
-
77
- showLoginRule.value = true
78
- loginRuleTip.value = result.message
79
- emits('show', loginRuleTip.value)
80
80
  })
81
81
  }, 100)
82
82
 
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="notice-banner">
2
+ <div class="notice-banner" :style="bannerStyle" v-if="bannerMessages.length">
3
3
  <DdNoticeBar
4
4
  :class="{ show: key === activeKey }"
5
5
  v-for="(item, key) in bannerMessages"
@@ -15,13 +15,13 @@
15
15
  <div class="notice-banner-text">
16
16
  {{ item.context }}
17
17
  </div>
18
- <div class="notice-banner-btn" @click="onDetail">详情</div>
18
+ <div class="notice-banner-btn" @click="onDetail(item)">详情</div>
19
19
  </DdNoticeBar>
20
20
  </div>
21
21
 
22
22
  <!-- 系统公告强制弹框 -->
23
23
  <template v-for="(item, key) in popMessages" :key="key">
24
- <NoticePopup :message="item" @close="popMessages.splice(key, 1)" />
24
+ <NoticePopup :message="item" @close="popMessages.splice(key, 1)" @view="onView(item)" />
25
25
  </template>
26
26
  </template>
27
27
 
@@ -37,9 +37,11 @@ import { useNotice } from './useNotice'
37
37
  const props = withDefaults(
38
38
  defineProps<{
39
39
  app: string
40
+ bannerStyle?: any
40
41
  }>(),
41
42
  {
42
43
  app: '',
44
+ bannerStyle: '',
43
45
  }
44
46
  )
45
47
 
@@ -66,126 +68,16 @@ async function queryNoticeMsg() {
66
68
  tenantId: appkitOptions.tenant(),
67
69
  })
68
70
  .then((result) => {
69
- // const result = [
70
- // {
71
- // id: 92989,
72
- // appCode: 'loankit',
73
- // sendType: 11,
74
- // isRead: 1,
75
- // receiveTime: 1718189848000,
76
- // textId: 173545,
77
- // title: '测试消息',
78
- // context:
79
- // '尊敬的客户,为给您提供更加丰富和优质的金融产品及服为给您提供更加丰富和优质的金融产品及服',
80
- // businessId: '123123',
81
- // link: 'www.baidu.com',
82
- // miniLink: 'www.baidu.com',
83
- // appLink: '',
84
- // source: '测试',
85
- // msgType: 3,
86
- // userName: 'gao',
87
- // deviceType: 0,
88
- // customerName: '',
89
- // userId: '1580078112058789890',
90
- // sendTenant: '',
91
- // receiveTenant: '',
92
- // popDevice: '',
93
- // isPop: 1,
94
- // expiryTime: '2025-06-09 14:35:28',
95
- // noticeType: 0,
96
- // noticeStatus: '0',
97
- // },
98
- // {
99
- // id: 92989,
100
- // appCode: 'loankit',
101
- // sendType: 11,
102
- // isRead: 1,
103
- // receiveTime: 1718189848000,
104
- // textId: 173545,
105
- // title: '测试消息',
106
- // context: '你好呀,我111',
107
- // businessId: '123123',
108
- // link: 'www.baidu.com',
109
- // miniLink: 'www.baidu.com',
110
- // appLink: '',
111
- // source: '测试',
112
- // msgType: 3,
113
- // userName: 'gao',
114
- // deviceType: 0,
115
- // customerName: '',
116
- // userId: '1580078112058789890',
117
- // sendTenant: '',
118
- // receiveTenant: '',
119
- // popDevice: '',
120
- // isPop: 1,
121
- // expiryTime: '2025-06-09 14:35:28',
122
- // noticeType: 0,
123
- // noticeStatus: '0',
124
- // },
125
- // {
126
- // id: 92989,
127
- // appCode: 'loankit',
128
- // sendType: 11,
129
- // isRead: 1,
130
- // receiveTime: 1718189848000,
131
- // textId: 173545,
132
- // title: '测试消息',
133
- // context: '你好呀,我222',
134
- // businessId: '123123',
135
- // link: 'www.baidu.com',
136
- // miniLink: 'www.baidu.com',
137
- // appLink: '',
138
- // source: '测试',
139
- // msgType: 3,
140
- // userName: 'gao',
141
- // deviceType: 0,
142
- // customerName: '',
143
- // userId: '1580078112058789890',
144
- // sendTenant: '',
145
- // receiveTenant: '',
146
- // popDevice: '',
147
- // isPop: 1,
148
- // expiryTime: '2025-06-09 14:35:28',
149
- // noticeType: 0,
150
- // noticeStatus: '0',
151
- // },
152
- // {
153
- // id: 92989,
154
- // appCode: 'loankit',
155
- // sendType: 11,
156
- // isRead: 1,
157
- // receiveTime: 1718189848000,
158
- // textId: 173545,
159
- // title: '测试消息',
160
- // context: '你好呀,我333',
161
- // businessId: '123123',
162
- // link: 'www.baidu.com',
163
- // miniLink: 'www.baidu.com',
164
- // appLink: '',
165
- // source: '测试',
166
- // msgType: 3,
167
- // userName: 'gao',
168
- // deviceType: 0,
169
- // customerName: '',
170
- // userId: '1580078112058789890',
171
- // sendTenant: '',
172
- // receiveTenant: '',
173
- // popDevice: '',
174
- // isPop: 1,
175
- // expiryTime: '2025-06-09 14:35:28',
176
- // noticeType: 0,
177
- // noticeStatus: '0',
178
- // },
179
- // ]
180
71
  bannerMessages.value = (result || []).filter((item: any) => item.noticeType !== undefined)
181
72
  popMessages.value = (result || []).filter((item: any) => item.isPop)
182
- startMessage()
73
+
74
+ startMessageCarousel()
183
75
  })
184
76
  }
185
77
 
186
78
  let interval: any = null
187
79
  // 启动消息轮播
188
- function startMessage() {
80
+ function startMessageCarousel() {
189
81
  clearInterval(interval)
190
82
  if (bannerMessages.value.length > 1) {
191
83
  interval = setInterval(() => {
@@ -206,6 +98,8 @@ function startMessageCalc() {
206
98
 
207
99
  // 关闭横幅
208
100
  function onClose(item: any, index: number) {
101
+ clearInterval(interval)
102
+
209
103
  const $http = useHttp()
210
104
  $http
211
105
  .post('/cas/msg/setMsgStatus', {
@@ -221,29 +115,38 @@ function onClose(item: any, index: number) {
221
115
  })
222
116
  bannerMessages.value.splice(index, 1)
223
117
 
224
- startMessage()
118
+ startMessageCarousel()
225
119
 
226
- if (item.isRead === 0) {
227
- toReadFun([item.id])
228
- }
120
+ // if (item.isRead === 0) {
121
+ // toReadFun([item.id])
122
+ // }
123
+ })
124
+ .catch(() => {
125
+ startMessageCarousel()
229
126
  })
230
127
  }
231
128
 
232
129
  // 跳转详情
233
- function onDetail(item) {
234
- noticeClick(item, (url) => {
235
- emits('detail', url)
236
- })
130
+ async function onDetail(item) {
131
+ await noticeClick(item)
132
+
133
+ emits('detail', item)
134
+ }
135
+
136
+ // 查看附件(webview跳转)
137
+ function onView(item) {
138
+ emits('view', item.link)
237
139
  }
238
140
 
239
141
  // 父组件事件
240
- const emits = defineEmits(['detail', 'close'])
142
+ const emits = defineEmits(['detail', 'close', 'view'])
241
143
  </script>
242
144
 
243
145
  <style lang="scss">
244
146
  .notice-banner {
245
147
  height: 30px;
246
148
  margin-bottom: 8px;
149
+
247
150
  .dd-notice-bar {
248
151
  position: relative;
249
152
  background: #f2f3ff;
@@ -281,6 +184,7 @@ const emits = defineEmits(['detail', 'close'])
281
184
  display: -webkit-box;
282
185
  -webkit-line-clamp: 1;
283
186
  -webkit-box-orient: vertical;
187
+ text-align: left;
284
188
  }
285
189
  &-btn {
286
190
  color: #017fff;
@@ -14,7 +14,13 @@
14
14
  </div>
15
15
  <div class="notice-popup-bd">
16
16
  {{ message.context }}
17
- <div class="notice-popup-bd-link" @click="toAllSystemNotice">点击查看附件</div>
17
+ <div
18
+ v-if="message.jumpUrl || message.link"
19
+ class="notice-popup-bd-link"
20
+ @click="toViewAttachment"
21
+ >
22
+ 点击查看附件
23
+ </div>
18
24
  </div>
19
25
  <div class="notice-popup-ft">
20
26
  <div class="notice-popup-ft-btn" @click="onClose">我知道了</div>
@@ -36,7 +42,7 @@ const props = withDefaults(
36
42
  }
37
43
  )
38
44
 
39
- const { toReadFun, noticeClick } = useNotice()
45
+ const { noticeClick } = useNotice()
40
46
  const showPopup = ref(true)
41
47
 
42
48
  onMounted(() => {})
@@ -48,13 +54,11 @@ function onCancel() {
48
54
  emits('close')
49
55
  }
50
56
 
51
- // 查看全部系统公告
52
- function toAllSystemNotice() {
53
- noticeClick(props.message, () => {
54
- onClose()
57
+ // 查看附件
58
+ function toViewAttachment() {
59
+ onClose()
55
60
 
56
- emits('view', props.message.id)
57
- })
61
+ emits('view', props.message.jumpUrl || props.message.link)
58
62
  }
59
63
 
60
64
  // 关闭弹框
@@ -67,9 +71,9 @@ async function onClose() {
67
71
  receiveId: props.message.id,
68
72
  })
69
73
  .then(() => {
70
- if (props.message.isRead === 0) {
71
- toReadFun([props.message.id])
72
- }
74
+ // if (props.message.isRead === 0) {
75
+ // toReadFun([props.message.id])
76
+ // }
73
77
  onCancel()
74
78
  })
75
79
  }
@@ -2,7 +2,7 @@ import { useHttp } from '../api'
2
2
 
3
3
  export function useNotice() {
4
4
  // 点击消息时
5
- async function noticeClick(item: any, cb: Function) {
5
+ async function noticeClick(item: any, cb?: Function) {
6
6
  if (item.isRead === 0) {
7
7
  await toReadFun([item.id ?? item.msgId])
8
8
  }