@uxda/appkit 4.2.96 → 4.2.97

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.
Files changed (34) hide show
  1. package/package.json +1 -1
  2. package/src/balance/components/AccountView.vue +6 -6
  3. package/src/balance/components/BalanceCard.vue +2 -2
  4. package/src/balance/components/BalanceReminder.vue +1 -1
  5. package/src/balance/components/ConsumptionFilter.vue +1 -1
  6. package/src/balance/components/ConsumptionRules.vue +1 -1
  7. package/src/balance/components/DateFilter.vue +1 -1
  8. package/src/balance/components/DateRange.vue +1 -1
  9. package/src/balance/components/ListFilter.vue +1 -1
  10. package/src/balance/components/ListFilterPicker.vue +1 -1
  11. package/src/balance/components/PromoterCard.vue +5 -5
  12. package/src/components/dd-notice-bar/index.vue +2 -2
  13. package/src/notice/components/NoticeBanner.vue +2 -2
  14. package/src/notice/components/NoticeList.vue +2 -2
  15. package/src/notice/components/NoticeList2.vue +2 -5
  16. package/src/notice/components/NoticePopup.vue +2 -2
  17. package/src/payment/components/RechargeResult.vue +1 -1
  18. package/src/payment/components/RechargeView.vue +2 -2
  19. package/src/payment/components/TradeView.vue +2 -2
  20. package/src/register/components/SelfRegistration.vue +1 -1
  21. package/src/scenarios/components/SharePoster.vue +2 -2
  22. package/src/shared/components/AppVerify.vue +3 -3
  23. package/src/shared/components/OcrBusinessLicense.vue +1 -1
  24. package/src/shared/components/OcrIcon.vue +1 -1
  25. package/src/shared/components/PageHeader.vue +1 -1
  26. package/src/shared/tracking/README.md +2 -6
  27. package/src/shared/tracking/examples/directive-tracking-example.vue +3 -22
  28. package/src/user/components/UserAuth.vue +3 -3
  29. package/src/user/components/UserBinding.vue +4 -4
  30. package/src/user/components/UserBindingSuccess.vue +1 -1
  31. package/src/user/components/UserEntry.vue +5 -5
  32. package/src/user/components/UserFeedbackEntry.vue +3 -3
  33. package/src/user/components/UserHeadCrop.vue +2 -2
  34. package/src/user/components/UserInfo.vue +12 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxda/appkit",
3
- "version": "4.2.96",
3
+ "version": "4.2.97",
4
4
  "description": "小程序应用开发包",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.ts",
@@ -4,7 +4,7 @@
4
4
  <page-header :title="Taro.getEnv() !== 'WEB' ? '我的账户' : ''" :class="{ 'with-background': scrolled > 0 }"
5
5
  @close="onPageHeaderClose" />
6
6
  <div class="row jusify-right">
7
- <div class="small-bean-button" v-track-click="'click'" @click="onSecondBalanceButtonClick">
7
+ <div class="small-bean-button" v-track-click @click="onSecondBalanceButtonClick">
8
8
  <label class="label">收支明细</label>
9
9
  </div>
10
10
  </div>
@@ -14,11 +14,11 @@
14
14
  <img class="bean-icon" src="https://cdn.ddjf.com/static/images/bpms-workBench/gold-bean.png" />
15
15
  <div class="bean-tag tag">云豆</div>
16
16
  </div>
17
- <div v-if="!isAppEnv || (isAppEnv && !isIOS())" class="rule" v-track-click="'click'" @click="rulesPopupOpen = true">规则说明</div>
17
+ <div v-if="!isAppEnv || (isAppEnv && !isIOS())" class="rule" v-track-click @click="rulesPopupOpen = true">规则说明</div>
18
18
  </div>
19
19
  <div class="bean-counts spa-between">
20
20
  <div class="counts number">{{ formatAmount(balance.total || 0) }}</div>
21
- <div v-if="!isAppEnv || (isAppEnv && !isIOS())" class="pay" v-track-click="'click'" @click="gotoRecharge">云豆充值</div>
21
+ <div v-if="!isAppEnv || (isAppEnv && !isIOS())" class="pay" v-track-click @click="gotoRecharge">云豆充值</div>
22
22
  </div>
23
23
  </div>
24
24
  <Tip />
@@ -32,7 +32,7 @@
32
32
  <div class="item-title">
33
33
  <div>{{ item.title }}</div>
34
34
  <div class="item-title-button" v-if="item.id && (!isAppEnv || (isAppEnv && !isIOS()))">
35
- <div v-track-click="'click'" @click="gotoTrade(item)">企明星优惠充值</div>
35
+ <div v-track-click @click="gotoTrade(item)">企明星优惠充值</div>
36
36
  <img class="button-icon" src="https://cdn.ddjf.com/static/images/bpms-workBench/button-hg.svg" />
37
37
  </div>
38
38
  </div>
@@ -47,7 +47,7 @@
47
47
  <div class="item-title">
48
48
  <div>{{ item.title }}</div>
49
49
  <div class="item-title-button" v-if="item.id && (!isAppEnv || (isAppEnv && !isIOS()))">
50
- <div v-track-click="'click'" @click="gotoTrade(item)">AI审批充值</div>
50
+ <div v-track-click @click="gotoTrade(item)">AI审批充值</div>
51
51
  <img class="button-icon" src="https://cdn.ddjf.com/static/images/bpms-workBench/button-hg.svg" />
52
52
  </div>
53
53
  </div>
@@ -93,7 +93,7 @@
93
93
  src="https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-down.png" />
94
94
  </div>
95
95
  </div>
96
- <div class="search" v-track-click="'click'" @click="filterOpen = true">
96
+ <div class="search" v-track-click @click="filterOpen = true">
97
97
  <span class="text">筛选</span>
98
98
  <img class="time-icon" src="https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-select-icon.png" />
99
99
  </div>
@@ -12,7 +12,7 @@
12
12
  <div class="bean-nums number">{{ formatAmount(balance.total || 0) }}</div>
13
13
  </div>
14
14
  <div class="card-row-right">
15
- <div class="account-info-entry" v-track-click="'click'" @click="gotoDetail">
15
+ <div class="account-info-entry" v-track-click @click="gotoDetail">
16
16
  <div class="account-info-name">账户明细</div>
17
17
  <div class="account-info-icon">
18
18
  <img class="icon"
@@ -25,7 +25,7 @@
25
25
  <div class="card-row">
26
26
  <div class="card-row-left desc">权益使用时自动扣减云豆</div>
27
27
  <div class="card-row-right">
28
- <div class="pay" v-track-click="'click'" @click="gotoRecharge">
28
+ <div class="pay" v-track-click @click="gotoRecharge">
29
29
  <div>充值</div>
30
30
  <img
31
31
  class="pay-icon"
@@ -11,7 +11,7 @@
11
11
  <nut-button class="cancel-button" @click="emit('update:modelValue', false)" block>取消</nut-button>
12
12
  </div>
13
13
  <div class="col">
14
- <nut-button block class="recharge-button" v-track-click="'click'" @click="emit('recharge')">{{ buttonText }}</nut-button>
14
+ <nut-button block class="recharge-button" v-track-click @click="emit('recharge')">{{ buttonText }}</nut-button>
15
15
  </div>
16
16
  </div>
17
17
  </div>
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
  <div class="consumption-filter-btn spa-between">
22
22
  <div class="btn" @click="reset">重置</div>
23
- <div class="btn confirm" v-track-click="{ event: 'click', elementText: '选择筛选项-确定' }" @click="onOkClick">确定</div>
23
+ <div class="btn confirm" v-track-click="'选择筛选项-确定'" @click="onOkClick">确定</div>
24
24
  </div>
25
25
  <div class="consumption-filter-bottom"></div>
26
26
  </div>
@@ -20,7 +20,7 @@
20
20
  2、产品权益的使用范围:产品权益用于大道云平台各个系统产品的消耗使用,系统包括但不限于企明星、AI审批、电子签约、蜂鸟周转系统、蜂鸟居间系统,各个系统的产品权益仅用于各产品专项使用,无法跨产品使用。
21
21
  </div>
22
22
  </div>
23
- <div class="know" v-track-click="{ event: 'click', elementText: '规则说明-我知道了' }" @click="emit('complete')">我知道了</div>
23
+ <div class="know" v-track-click="'规则说明-我知道了'" @click="emit('complete')">我知道了</div>
24
24
  </div>
25
25
  </template>
26
26
 
@@ -15,7 +15,7 @@
15
15
  </div>
16
16
  <div class="buttons spa-between">
17
17
  <div class="btn" @click="reset">重置</div>
18
- <div class="btn confirm" v-track-click="{ event: 'click', elementText: '日期选择-确定' }" @click="onOkClick">确定</div>
18
+ <div class="btn confirm" v-track-click="'日期选择-确定'" @click="onOkClick">确定</div>
19
19
  </div>
20
20
  <div class="bottom"></div>
21
21
  <nut-popup v-model:visible="datePickerOpen" class="appkit-date-filter-picker-popup" position="bottom"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="date-range" v-track-click="{ event: 'click', elementText: '日期范围-点击' }" @click="openDateRangePicker">
2
+ <div class="date-range" v-track-click="'日期范围-点击'" @click="openDateRangePicker">
3
3
  <div class="text">{{ dateRangeDisplay }}</div>
4
4
  <img style="margin-top: -2px" class="time-icon"
5
5
  src="https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-down.png" />
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="list-filter" v-track-click="{ event: 'click', elementText: '筛选-点击' }" @click="openPicker">
2
+ <div class="list-filter" v-track-click="'筛选-点击'" @click="openPicker">
3
3
  <span class="text">筛选</span>
4
4
  <img class="icon" src="https://cdn.ddjf.com/static/images/bpms-workBench/clound-bean-select-icon.png" />
5
5
  </div>
@@ -16,7 +16,7 @@
16
16
  </div>
17
17
  <div class="list-filter-picker-btn spa-between">
18
18
  <div class="btn" @click="reset">重置</div>
19
- <div class="btn confirm" v-track-click="{ event: 'click', elementText: '选择筛选项-确定' }" @click="onOkClick">确定</div>
19
+ <div class="btn confirm" v-track-click="'选择筛选项-确定'" @click="onOkClick">确定</div>
20
20
  </div>
21
21
  <div class="list-filter-picker-bottom"></div>
22
22
  </div>
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
  <slot name="tab-btn"></slot>
10
10
  </div>
11
- <div class="promoter-card-hd" v-track-click="'click'" @click="emits('blance', tab)"
11
+ <div class="promoter-card-hd" v-track-click @click="emits('blance', tab)"
12
12
  v-if="applyRecord.distributorFlag === 'Y' || applyRecord.accessCheckStatus === 'Y'">
13
13
  <div class="promoter-card-hd-num number">{{ formatAmount(promoter.allowWithdrawalBalance || 0) }}</div>
14
14
  <div class="promoter-card-hd-info">可提现余额(元)</div>
@@ -24,9 +24,9 @@
24
24
  </template>
25
25
  <template v-else>
26
26
  <div class="promoter-card-ft-info">产品销售收益(元)
27
- <IconFont class="icon" name="ask" v-track-click="{event: 'click', elementText: '产品销售收益-说明'}" @click="onHelpClick('profits')" />
27
+ <IconFont class="icon" name="ask" v-track-click="'产品销售收益-说明'" @click="onHelpClick('profits')" />
28
28
  </div>
29
- <div class="promoter-card-ft-num number" v-track-click="'click'" @click="emits('profits', tab)">
29
+ <div class="promoter-card-ft-num number" v-track-click @click="emits('profits', tab)">
30
30
  {{ formatAmount(promoter.totalIncome || 0) }}
31
31
  <img class="arrow-img" :src="arrowImg" alt="">
32
32
  </div>
@@ -37,9 +37,9 @@
37
37
  </div>
38
38
  <div class="promoter-card-ft-item" v-if="applyRecord.distributorFlag === 'Y'">
39
39
  <div class="promoter-card-ft-info">分销返佣收益(元)
40
- <IconFont class="icon" name="ask" v-track-click="{event: 'click', elementText: '分销返佣收益-说明'}" @click="onHelpClick('rebate')" />
40
+ <IconFont class="icon" name="ask" v-track-click="'分销返佣收益-说明'" @click="onHelpClick('rebate')" />
41
41
  </div>
42
- <div class="promoter-card-ft-num number" v-track-click="'click'" @click="emits('rebate', tab)">
42
+ <div class="promoter-card-ft-num number" v-track-click @click="emits('rebate', tab)">
43
43
  {{ formatAmount(promoter.totalRebateIncome || 0) }}
44
44
  <img class="arrow-img" :src="arrowImg" alt="">
45
45
  </div>
@@ -16,11 +16,11 @@ function txtClick() {
16
16
 
17
17
  <template>
18
18
  <div class="dd-notice-bar" :class="{ close: showClose }" :style="style">
19
- <div class="dd-notice-bar__txt" name="text" v-track-click="{event: 'click', elementText: '通知栏-文本'}" @click="txtClick">
19
+ <div class="dd-notice-bar__txt" name="text" v-track-click="'通知栏-文本'" @click="txtClick">
20
20
  <span v-if="text">{{ text }}</span>
21
21
  <slot></slot>
22
22
  </div>
23
- <div v-if="showClose" class="dd-notice-bar__close" v-track-click="{event: 'click', elementText: '通知栏-关闭'}" @click="close">
23
+ <div v-if="showClose" class="dd-notice-bar__close" v-track-click="'通知栏-关闭'" @click="close">
24
24
  <img
25
25
  src="https://cdn.ddjf.com/static/images/wechat-yunservice/close-icon.png"
26
26
  class="dd-notice-bar__close-img"
@@ -2,12 +2,12 @@
2
2
  <div class="notice-banner" :class="{ fixed: fixed }" :style="topStype" v-if="bannerMessages.length"
3
3
  @touchstart="onTouchStart" @touchend="onTouchEnd">
4
4
  <DdNoticeBar :class="{ show: key === activeKey }" v-for="(item, key) in bannerMessages" :key="key"
5
- :showClose="item.noticeType === 0" v-track-click="{event: 'click', elementText: '通知栏-关闭'}" @close="onClose(item, key)">
5
+ :showClose="item.noticeType === 0" v-track-click="'通知栏-关闭'" @close="onClose(item, key)">
6
6
  <img class="notice-banner-icon" src="https://cdn.ddjf.com/static/images/customer-center/notice-icon.png" alt="" />
7
7
  <div class="notice-banner-text">
8
8
  {{ item.context }}
9
9
  </div>
10
- <div class="notice-banner-btn" v-track-click="{event: 'click', elementText: '通知栏-详情'}" @click="onDetail(item)">详情</div>
10
+ <div class="notice-banner-btn" v-track-click="'通知栏-详情'" @click="onDetail(item)">详情</div>
11
11
  </DdNoticeBar>
12
12
  </div>
13
13
 
@@ -6,7 +6,7 @@
6
6
  <div class="wrapper" v-if="list.length">
7
7
  <ScrollView class="content" :scroll-y="true" :refresher-enabled="true" :refresherTriggered="isRefresh"
8
8
  @refresherrefresh="onRefresh" :lower-threshold="100" @scrolltolower="runNext" bindscroll="">
9
- <div class="card" :class="{ active: item.isRead != '1' }" v-for="(item, index) in list" :key="index" v-track-click="{event: 'click', elementText: '消息详情'}"
9
+ <div class="card" :class="{ active: item.isRead != '1' }" v-for="(item, index) in list" :key="index" v-track-click="'消息详情'"
10
10
  @click="notifyRead(item, index)">
11
11
  <div class="point"></div>
12
12
  <div>
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
  <div class="text" :class="{ gray: item.isRead == '1' }">
22
22
  <rich-text style="white-space: pre-wrap" :nodes="item.context"></rich-text>
23
- <span v-if="item.link && item.msgType == 3" class="notice-list-file" v-track-click="{event: 'click', elementText: '消息详情-附件'}" @click="onNoticeView(item.link)">
23
+ <span v-if="item.link && item.msgType == 3" class="notice-list-file" v-track-click="'消息详情-附件'" @click="onNoticeView(item.link)">
24
24
  查看附件
25
25
  </span>
26
26
  </div>
@@ -18,7 +18,7 @@
18
18
  <ns-tabs-item key="未读" tab="未读"></ns-tabs-item>
19
19
  </ns-tabs>
20
20
  <div v-if="state.list.length > 0" class="read-all">
21
- <div v-track-click="'click'" class="btn" @click="readAll">全部已读</div>
21
+ <div v-track-click class="btn" @click="readAll">全部已读</div>
22
22
  </div>
23
23
  </div>
24
24
  <ns-page-content class="mt-68px" scrollable refreshable :refresh-triggered="isRefresh"
@@ -28,10 +28,7 @@
28
28
  <template v-else>
29
29
  <ns-repeator v-slot="item" align="stretch" direction="column" :gap="10" :data="state.list"
30
30
  :show-no-more="paging.isLastPage">
31
- <ns-card v-track-click="{
32
- event: 'click',
33
- elementText: '消息详情',
34
- }" :r="5" fill="#fff" class="news-item w-full" @click="itemClick(item)">
31
+ <ns-card v-track-click="'消息详情'" :r="5" fill="#fff" class="news-item w-full" @click="itemClick(item)">
35
32
  <div v-if="item.标题" :style="{ color: item.已读 ? '#35353599' : '#353535' }" class="news-item-title">
36
33
  <img v-if="item.是公告" class="news-item-title-icon"
37
34
  src="https://cdn.ddjf.com/static/images/loan-manage-app/ic_msg_system_notice.webp" />
@@ -6,12 +6,12 @@
6
6
  </div>
7
7
  <div class="notice-popup-bd">
8
8
  <div style="white-space: pre-wrap">{{ message.context.replace('【系统公告】 ', '') }}</div>
9
- <div v-if="message.jumpUrl || message.link" class="notice-popup-bd-link" v-track-click="'click'" @click="toViewAttachment">
9
+ <div v-if="message.jumpUrl || message.link" class="notice-popup-bd-link" v-track-click @click="toViewAttachment">
10
10
  点击查看附件
11
11
  </div>
12
12
  </div>
13
13
  <div class="notice-popup-ft">
14
- <div class="notice-popup-ft-btn" v-track-click="{event: 'click', elementText: '系统公告-我知道了'}" @click="onClose">我知道了</div>
14
+ <div class="notice-popup-ft-btn" v-track-click="'系统公告-我知道了'" @click="onClose">我知道了</div>
15
15
  </div>
16
16
  </nut-popup>
17
17
  </template>
@@ -5,7 +5,7 @@
5
5
  <h2>{{views[type][0]}}成功</h2>
6
6
  <div class="caption" v-if="payMethod == 'bean'">权益已到账</div>
7
7
  <div class="caption" v-else>{{views[type][1]}}将在1分钟之内到账</div>
8
- <nut-button class="back-button" type="default" v-track-click="'click'" @click="onBackClick">返回</nut-button>
8
+ <nut-button class="back-button" type="default" v-track-click @click="onBackClick">返回</nut-button>
9
9
  </div>
10
10
  </div>
11
11
  </template>
@@ -5,10 +5,10 @@
5
5
  </view>
6
6
  <view class="amount-footer">
7
7
  <view class="agreement">
8
- <nut-checkbox v-model="state.agreed">我已阅读并同意<a v-track-click="'click'" class="link inline"
8
+ <nut-checkbox v-model="state.agreed">我已阅读并同意<a v-track-click class="link inline"
9
9
  @click="onAgreementLinkClick">《大道云平台云豆充值服务协议》</a></nut-checkbox>
10
10
  </view>
11
- <nut-button block shape="square" :loading="state.buttonLoading" v-track-click="'click'" @click="onPayClick"
11
+ <nut-button block shape="square" :loading="state.buttonLoading" v-track-click @click="onPayClick"
12
12
  class="recharge-button">立即充值</nut-button>
13
13
  </view>
14
14
  </view>
@@ -21,7 +21,7 @@
21
21
 
22
22
  <view class="amount-footer">
23
23
  <view class="agreement" v-if="!selectBean">
24
- <nut-checkbox v-model="state.agreed">我已阅读并同意<a v-track-click="'click'" class="link inline"
24
+ <nut-checkbox v-model="state.agreed">我已阅读并同意<a v-track-click class="link inline"
25
25
  @click="onAgreementLinkClick">《大道云平台云豆充值服务协议》</a></nut-checkbox>
26
26
  </view>
27
27
  <div class="buy-amount">
@@ -31,7 +31,7 @@
31
31
  <i>¥</i>{{ formatAmount(currentAmount) }}
32
32
  </span>
33
33
  </div>
34
- <nut-button block shape="square" :loading="state.buttonLoading" v-track-click="'click'" @click="onPayClick"
34
+ <nut-button block shape="square" :loading="state.buttonLoading" v-track-click @click="onPayClick"
35
35
  class="recharge-button">购买</nut-button>
36
36
  </div>
37
37
  </view>
@@ -155,7 +155,7 @@ async function submit() {
155
155
  </nut-form>
156
156
  </div>
157
157
  <div class="self-registration-bottom">
158
- <nut-button block type="primary" class="experience-button" v-track-click="'click'" @click="submit">立即体验</nut-button>
158
+ <nut-button block type="primary" class="experience-button" v-track-click @click="submit">立即体验</nut-button>
159
159
  </div>
160
160
  </div>
161
161
  </template>
@@ -60,10 +60,10 @@
60
60
  </div>
61
61
  <div class="line"></div>
62
62
  <div class="bottom">
63
- <nut-button class="cancel-btn" v-track-click="{ event: 'click', elementText: '海报分享-取消' }" @click="onCancelClick"
63
+ <nut-button class="cancel-btn" v-track-click="'海报分享-取消'" @click="onCancelClick"
64
64
  >取消</nut-button
65
65
  >
66
- <nut-button type="primary" v-track-click="{ event: 'click', elementText: '海报分享-确定' }" @click="onPosterShare">确定</nut-button>
66
+ <nut-button type="primary" v-track-click="'海报分享-确定'" @click="onPosterShare">确定</nut-button>
67
67
  </div>
68
68
  </div>
69
69
  <canvas
@@ -12,13 +12,13 @@
12
12
  }]">
13
13
  </ns-input>
14
14
  <div class="form-btn">
15
- <ns-button v-if="!sent" size="xs" variant="plain" color="primary" v-track-click="{ event: 'click', elementText: '手机号验证-获取验证码' }" @click="send" label="获取验证码" />
15
+ <ns-button v-if="!sent" size="xs" variant="plain" color="primary" v-track-click="'手机号验证-获取验证码'" @click="send" label="获取验证码" />
16
16
  <div class="caption" v-if="sent">{{ countdown }}s后重新发送</div>
17
17
  </div>
18
18
  </ns-form>
19
19
  <div class="row buttons">
20
- <ns-button class="cancel-btn" v-track-click="{ event: 'click', elementText: '手机号验证-取消' }" @click="emits('cancel')">取消</ns-button>
21
- <ns-button color="primary" v-track-click="{ event: 'click', elementText: '手机号验证-确认' }" @click="onOk">确认</ns-button>
20
+ <ns-button class="cancel-btn" v-track-click="'手机号验证-取消'" @click="emits('cancel')">取消</ns-button>
21
+ <ns-button color="primary" v-track-click="'手机号验证-确认'" @click="onOk">确认</ns-button>
22
22
  </div>
23
23
  </div>
24
24
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div :class="['ocr-business-license', disabled ? 'disabled' : '']" class="ocr-icon" v-track-click="{ event: 'click', elementText: '营业执照识别-点击' }" @click="onIconClick">
2
+ <div :class="['ocr-business-license', disabled ? 'disabled' : '']" class="ocr-icon" v-track-click="'营业执照识别-点击'" @click="onIconClick">
3
3
  <ns-icon name="https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" />
4
4
  </div>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="ocr-icon" :class="[disabled ? 'disabled' : '']" v-track-click="{ event: 'click', elementText: '身份证识别-点击' }" @click="onPhotograph">
2
+ <div class="ocr-icon" :class="[disabled ? 'disabled' : '']" v-track-click="'身份证识别-点击'" @click="onPhotograph">
3
3
  <slot name="icon">
4
4
  <ns-icon name="https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" />
5
5
  </slot>
@@ -4,7 +4,7 @@
4
4
  `color-mode-${colorMode}`
5
5
  ]" :style="cssVars">
6
6
  <h1 class="page-title" v-if="title">{{ title }}</h1>
7
- <view class="back-button" v-track-click="{ event: 'click', elementText: '页面头部-返回' }" @click="onBackButtonClick"></view>
7
+ <view class="back-button" v-track-click="'页面头部-返回'" @click="onBackButtonClick"></view>
8
8
  <slot></slot>
9
9
  </div>
10
10
  </template>
@@ -273,16 +273,12 @@ const handleClick = async () => {
273
273
  </view>
274
274
 
275
275
  <!-- 基础点击埋点 -->
276
- <button v-track-click="'button_click'">
276
+ <button v-track-click=>
277
277
  点击按钮
278
278
  </button>
279
279
 
280
280
  <!-- 自定义点击埋点 -->
281
- <button v-track-click="{
282
- event: 'custom_click',
283
- data: { buttonType: 'primary', value: 123 },
284
- elementId: 'submit-btn',
285
- }">
281
+ <button v-track-click="'自定义文本'">
286
282
  自定义点击按钮
287
283
  </button>
288
284
 
@@ -23,30 +23,14 @@
23
23
  <text class="section-title">点击埋点</text>
24
24
  <view class="content">
25
25
  <!-- 基础点击埋点 -->
26
- <button v-track-click="'basic_click'" class="btn">基础点击埋点</button>
26
+ <button v-track-click class="btn">基础点击埋点</button>
27
27
 
28
28
  <!-- 带数据的点击埋点 -->
29
29
  <button
30
- v-track-click="{
31
- event: 'custom_click',
32
- data: { buttonType: 'primary', value: 123 },
33
- }"
30
+ v-track-click="'自定义数据点击埋点'"
34
31
  class="btn">
35
32
  自定义数据点击埋点
36
33
  </button>
37
-
38
- <!-- 带元素信息的点击埋点 -->
39
- <button
40
- id="custom-btn"
41
- v-track-click="{
42
- event: 'element_click',
43
- elementId: 'custom-btn',
44
- elementText: '自定义元素信息',
45
- data: { action: 'submit' },
46
- }"
47
- class="btn btn-secondary">
48
- 自定义元素信息点击埋点
49
- </button>
50
34
  </view>
51
35
  </view>
52
36
 
@@ -78,10 +62,7 @@
78
62
  <view class="content">
79
63
  <view v-track-page="{ pageTitle: '组合示例页面' }" v-track-scroll="{ threshold: 0.5 }">
80
64
  <button
81
- v-track-click="{
82
- event: 'combo_click',
83
- data: { combo: true },
84
- }"
65
+ v-track-click="'组合埋点按钮'"
85
66
  class="btn">
86
67
  组合埋点按钮
87
68
  </button>
@@ -32,10 +32,10 @@
32
32
  <div class="user-auth-footer">
33
33
  <div v-if="!已认证" class="checkbox-row">
34
34
  <ns-checkbox style="font-size: 11px" v-model="formData.同意">我已阅读并同意</ns-checkbox>
35
- <span v-track-click="{ event: 'click', elementText: '用户认证-个人信息授权协议' }" @click="showAgreement" class="book">《个人信息授权协议》</span>
35
+ <span v-track-click="'用户认证-个人信息授权协议'" @click="showAgreement" class="book">《个人信息授权协议》</span>
36
36
  </div>
37
- <ns-button v-if="!已认证" class="btn" v-track-click="{ event: 'click', elementText: '用户认证-立即认证' }" color="#163391" type="primary" @click="toSubmit">立即认证</ns-button>
38
- <ns-button v-else class="btn" v-track-click="{ event: 'click', elementText: '用户认证-返回' }" color="#163391" type="primary" @click="toBack">返回</ns-button>
37
+ <ns-button v-if="!已认证" class="btn" v-track-click="'用户认证-立即认证'" color="#163391" type="primary" @click="toSubmit">立即认证</ns-button>
38
+ <ns-button v-else class="btn" v-track-click="'用户认证-返回'" color="#163391" type="primary" @click="toBack">返回</ns-button>
39
39
  </div>
40
40
  </ns-page-content>
41
41
  </ns-page>
@@ -17,7 +17,7 @@
17
17
  <nut-form-item label="验证码" label-align="left">
18
18
  <nut-input v-model="authState.code" placeholder="请输入验证码" :max-length="6" input-align="right">
19
19
  <template #right>
20
- <nut-button :disabled="countdownActive" class="user-binding-codebtn" type="default" v-track-click="{ event: 'click', elementText: '换绑手机-获取验证码' }" @click="onAuthCode">{{
20
+ <nut-button :disabled="countdownActive" class="user-binding-codebtn" type="default" v-track-click="'换绑手机-获取验证码'" @click="onAuthCode">{{
21
21
  countdownText }}</nut-button>
22
22
  </template>
23
23
  </nut-input>
@@ -25,7 +25,7 @@
25
25
  </nut-form>
26
26
 
27
27
  <nut-button class="user-binding-btn" :disabled="!authState.code" block type="primary"
28
- v-track-click="{ event: 'click', elementText: '换绑手机-提交' }" @click="onAuth">提交</nut-button>
28
+ v-track-click="'换绑手机-提交'" @click="onAuth">提交</nut-button>
29
29
  </div>
30
30
 
31
31
  <div class="user-binding-layout user-binding-inputlayout" style="flex: 1" v-else>
@@ -36,7 +36,7 @@
36
36
  <nut-form-item label="验证码" label-align="left">
37
37
  <nut-input v-model="bindingState.code" placeholder="请输入验证码" :max-length="6" input-align="right">
38
38
  <template #right>
39
- <nut-button :disabled="countdownActive1" class="user-binding-codebtn" type="default" v-track-click="{ event: 'click', elementText: '换绑手机-获取验证码' }"
39
+ <nut-button :disabled="countdownActive1" class="user-binding-codebtn" type="default" v-track-click="'换绑手机-获取验证码'"
40
40
  @click="onBindingCode">{{ countdownText1 }}</nut-button>
41
41
  </template>
42
42
  </nut-input>
@@ -44,7 +44,7 @@
44
44
  </nut-form>
45
45
 
46
46
  <nut-button class="user-binding-btn" :disabled="!bindingState.code || !bindingState.mobile" block type="primary"
47
- v-track-click="{ event: 'click', elementText: '换绑手机-提交' }" @click="onBinding">提交</nut-button>
47
+ v-track-click="'换绑手机-提交'" @click="onBinding">提交</nut-button>
48
48
  </div>
49
49
  </div>
50
50
  </template>
@@ -11,7 +11,7 @@
11
11
  <div class="user-binding-success-sbtn" @click="showEncode = !showEncode">
12
12
  {{ showEncode ? '显示' : '隐藏' }}
13
13
  </div>
14
- <nut-button class="user-binding-success-btn" type="primary" v-track-click="'click'" @click="toBinding"
14
+ <nut-button class="user-binding-success-btn" type="primary" v-track-click @click="toBinding"
15
15
  >换绑手机号码</nut-button
16
16
  >
17
17
  </div>
@@ -1,23 +1,23 @@
1
1
  <template>
2
2
  <div class="user-entry">
3
3
  <div class="user-entry-head">
4
- <img class="user-entry-head-img" v-track-click="{ event: 'click', elementText: '用户入口-头像' }" @click="toUser" mode="aspectFit" v-if="avatar" :src="avatar" alt="" />
5
- <img class="user-entry-head-img" v-track-click="{ event: 'click', elementText: '用户入口-头像' }" mode="aspectFit" @click="toUser1" v-else
4
+ <img class="user-entry-head-img" v-track-click="'用户入口-头像'" @click="toUser" mode="aspectFit" v-if="avatar" :src="avatar" alt="" />
5
+ <img class="user-entry-head-img" v-track-click="'用户入口-头像'" mode="aspectFit" @click="toUser1" v-else
6
6
  src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png" alt="" />
7
7
  </div>
8
8
  <div class="user-entry-bd">
9
- <div v-if="!mobile" class="user-entry-bd-bigtxt" v-track-click="{ event: 'click', elementText: '用户入口-请登录' }" @click="toLogin">
9
+ <div v-if="!mobile" class="user-entry-bd-bigtxt" v-track-click="'用户入口-请登录'" @click="toLogin">
10
10
  请登录
11
11
  <span class="user-entry-bd-arrow"><img style="width: 100%; height: 100%;"
12
12
  src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjgwODA2IDIuMDU4MDZDNi4wNTIxNCAxLjgxMzk4IDYuNDQ3ODYgMS44MTM5OCA2LjY5MTk0IDIuMDU4MDZMMTQuMTkxOSA5LjU1ODA2QzE0LjQzNiA5LjgwMjE0IDE0LjQzNiAxMC4xOTc5IDE0LjE5MTkgMTAuNDQxOUw2LjY5MTk0IDE3Ljk0MTlDNi40NDc4NiAxOC4xODYgNi4wNTIxNCAxOC4xODYgNS44MDgwNiAxNy45NDE5QzUuNTYzOTggMTcuNjk3OSA1LjU2Mzk4IDE3LjMwMjEgNS44MDgwNiAxNy4wNTgxTDEyLjg2NjEgMTBMNS44MDgwNiAyLjk0MTk0QzUuNTYzOTggMi42OTc4NiA1LjU2Mzk4IDIuMzAyMTQgNS44MDgwNiAyLjA1ODA2WiIgZmlsbD0iIzM1MzUzNSIvPgo8L3N2Zz4K" /></span>
13
13
  </div>
14
14
  <template v-else>
15
- <div v-track-click="{ event: 'click', elementText: '用户入口-用户名' }" @click="toUser" class="user-entry-bd-txt">
15
+ <div v-track-click="'用户入口-用户名'" @click="toUser" class="user-entry-bd-txt">
16
16
  {{ name }}
17
17
  <span class="user-entry-bd-arrow"><img style="width: 100%; height: 100%;"
18
18
  src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjgwODA2IDIuMDU4MDZDNi4wNTIxNCAxLjgxMzk4IDYuNDQ3ODYgMS44MTM5OCA2LjY5MTk0IDIuMDU4MDZMMTQuMTkxOSA5LjU1ODA2QzE0LjQzNiA5LjgwMjE0IDE0LjQzNiAxMC4xOTc5IDE0LjE5MTkgMTAuNDQxOUw2LjY5MTk0IDE3Ljk0MTlDNi40NDc4NiAxOC4xODYgNi4wNTIxNCAxOC4xODYgNS44MDgwNiAxNy45NDE5QzUuNTYzOTggMTcuNjk3OSA1LjU2Mzk4IDE3LjMwMjEgNS44MDgwNiAxNy4wNTgxTDEyLjg2NjEgMTBMNS44MDgwNiAyLjk0MTk0QzUuNTYzOTggMi42OTc4NiA1LjU2Mzk4IDIuMzAyMTQgNS44MDgwNiAyLjA1ODA2WiIgZmlsbD0iIzM1MzUzNSIvPgo8L3N2Zz4K" /></span>
19
19
  </div>
20
- <div v-track-click="{ event: 'click', elementText: '用户入口-手机号' }" @click="toUser" class="user-entry-bd-smalltxt">{{ encodePhone(mobile) }}</div>
20
+ <div v-track-click="'用户入口-手机号'" @click="toUser" class="user-entry-bd-smalltxt">{{ encodePhone(mobile) }}</div>
21
21
  </template>
22
22
  </div>
23
23
  </div>
@@ -1,15 +1,15 @@
1
1
  <template>
2
2
  <div :style="dragStyle" @touchstart="onDragStart" @touchmove="onDragMoveHandler" @touchend="onDragEndHandler"
3
- class="user-feedback-entry" v-track-click="{ event: 'click', elementText: '反馈入口-点击' }" @click="onJump" v-if="!hasStorage">
3
+ class="user-feedback-entry" v-track-click="'反馈入口-点击'" @click="onJump" v-if="!hasStorage">
4
4
  <img class="user-feedback-entry-icon" mode="aspectFit"
5
5
  src="https://cdn.ddjf.com/static/images/customer-center/feedback.png" />
6
6
  <div>反馈</div>
7
7
  </div>
8
8
  <div :style="dragStyle1" @touchstart="onDragStart1" @touchmove="onDragMoveHandler1" @touchend="onDragEndHandler1"
9
9
  class="user-feedback-entry hasStorage" v-else>
10
- <img class="user-feedback-entry-icon" v-track-click="{ event: 'click', elementText: '反馈入口-点击' }" @click="onJump" mode="aspectFit"
10
+ <img class="user-feedback-entry-icon" v-track-click="'反馈入口-点击'" @click="onJump" mode="aspectFit"
11
11
  src="https://cdn.ddjf.com/static/images/customer-center/feedback-icon.png" />
12
- <div class="user-feedback-entry-close" v-track-click="{ event: 'click', elementText: '反馈入口-关闭' }" @click="onClose">
12
+ <div class="user-feedback-entry-close" v-track-click="'反馈入口-关闭'" @click="onClose">
13
13
  <img class="user-feedback-entry-close-img"
14
14
  src="https://cdn.ddjf.com/static/images/customer-center/close-filled.png" />
15
15
  </div>
@@ -2,8 +2,8 @@
2
2
  <div class="user-head-crop">
3
3
  <bt-cropper ref="cropperRef" :imageSrc="params.src" :ratio="1">
4
4
  <div class="user-head-crop-btns">
5
- <div class="cbtn" v-track-click="{ event: 'click', elementText: '头像裁剪-取消' }" @click="onCancel">取消</div>
6
- <div class="cbtn comfirmBtn" v-track-click="{ event: 'click', elementText: '头像裁剪-确定' }" @click="onConfirm">确定</div>
5
+ <div class="cbtn" v-track-click="'头像裁剪-取消'" @click="onCancel">取消</div>
6
+ <div class="cbtn comfirmBtn" v-track-click="'头像裁剪-确定'" @click="onConfirm">确定</div>
7
7
  </div>
8
8
  </bt-cropper>
9
9
  </div>
@@ -4,7 +4,7 @@
4
4
  <div v-else class="user-info-wrap">
5
5
  <div class="user-info-tit">账号信息</div>
6
6
  <div class="user-info-head">
7
- <div class="user-info-head-avatar" v-track-click="{ event: 'click', elementText: '用户信息-头像' }" @click="avatarVisible = true">
7
+ <div class="user-info-head-avatar" v-track-click="'用户信息-头像'" @click="avatarVisible = true">
8
8
  <img class="user-info-head-img" mode="aspectFit" v-if="userInfo.avatar" :src="userInfo.avatar" alt="" />
9
9
  <img class="user-info-head-img" mode="aspectFit" v-else
10
10
  src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png" alt="" />
@@ -14,11 +14,11 @@
14
14
  alt="" />
15
15
  </div>
16
16
  </div>
17
- <nut-cell title="登录手机号" is-link :desc="encodePhone(userInfo.mobile || '')" v-track-click="{ event: 'click', elementText: '用户信息-登录手机号' }" @click="toBinding" />
18
- <nut-cell v-if="props.isPersonal" title="昵称" is-link v-track-click="{ event: 'click', elementText: '用户信息-昵称' }" @click="onNickNameChange"
17
+ <nut-cell title="登录手机号" is-link :desc="encodePhone(userInfo.mobile || '')" v-track-click="'用户信息-登录手机号'" @click="toBinding" />
18
+ <nut-cell v-if="props.isPersonal" title="昵称" is-link v-track-click="'用户信息-昵称'" @click="onNickNameChange"
19
19
  :desc="userInfo?.nickName || '--'" />
20
20
  <nut-cell v-else title="昵称" :desc="userInfo?.nickName || '--'" />
21
- <nut-cell title="认证信息" is-link v-track-click="{ event: 'click', elementText: '用户信息-认证信息' }" @click="toAuth">
21
+ <nut-cell title="认证信息" is-link v-track-click="'用户信息-认证信息'" @click="toAuth">
22
22
  <template #desc>
23
23
  <span v-if="userInfo?.verifyResult === 1">已认证</span>
24
24
  <span v-if="userInfo?.verifyResult === 0" style="color: #e8523f">已失效,重新认证</span>
@@ -42,7 +42,7 @@
42
42
  <div class="user-info-team-item-app-tag" v-for="(aitem, akey) in item.appRoleInfo || []" :key="akey">
43
43
  {{ aitem.appAbbr }}
44
44
  </div>
45
- <div class="user-info-team-item-role-btn" v-track-click="{ event: 'click', elementText: '用户信息-角色详情' }" @click="toShowRole(item)">
45
+ <div class="user-info-team-item-role-btn" v-track-click="'用户信息-角色详情'" @click="toShowRole(item)">
46
46
  角色详情
47
47
  <img :class="{ showRole: item.showRole }" class="user-info-team-item-role-btn-icon"
48
48
  src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4IDlMMTIgMTVMNiA5IiBzdHJva2U9IiMwMTdGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo="
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  <div class="user-info-team-item-user">
63
63
  {{ item.fullName }}
64
- <img v-track-click="{ event: 'click', elementText: '用户信息-用户名' }" @click="toUserNameChange(item)" class="user-info-team-item-user-icon"
64
+ <img v-track-click="'用户信息-用户名'" @click="toUserNameChange(item)" class="user-info-team-item-user-icon"
65
65
  src="https://cdn.ddjf.com/static/images/appkit/edit.png" alt="" />
66
66
  </div>
67
67
  <div class="user-info-team-item-dept">
@@ -74,7 +74,7 @@
74
74
  </div>
75
75
 
76
76
  <div class="user-info-ft">
77
- <nut-button v-if="!isApp()" class="user-info-ft-btn" style="width: 100%; margin-top: 12px" v-track-click="{ event: 'click', elementText: '用户信息-退出登录' }" @click="toLogout" plain
77
+ <nut-button v-if="!isApp()" class="user-info-ft-btn" style="width: 100%; margin-top: 12px" v-track-click="'用户信息-退出登录'" @click="toLogout" plain
78
78
  type="primary">退出登录</nut-button>
79
79
  </div>
80
80
  </div>
@@ -85,10 +85,10 @@
85
85
  @cancel="onUserNameCancel">
86
86
  <nut-input :max-length="20" placeholder="请输入新的用户名" v-model="userState.value" />
87
87
  <template #footer>
88
- <nut-button class="change-username-popup-cancel" type="default" v-track-click="{ event: 'click', elementText: '用户信息-修改用户名-取消' }" @click="onUserNameCancel">
88
+ <nut-button class="change-username-popup-cancel" type="default" v-track-click="'用户信息-修改用户名-取消'" @click="onUserNameCancel">
89
89
  取消
90
90
  </nut-button>
91
- <nut-button class="change-username-popup-ok" type="primary" v-track-click="{ event: 'click', elementText: '用户信息-修改用户名-确定' }" @click="onUserNameOk">
91
+ <nut-button class="change-username-popup-ok" type="primary" v-track-click="'用户信息-修改用户名-确定'" @click="onUserNameOk">
92
92
  确定
93
93
  </nut-button>
94
94
  </template>
@@ -106,10 +106,10 @@
106
106
  " :max-length="20" placeholder="请输入新的昵称" type="nickname" />
107
107
 
108
108
  <template #footer>
109
- <nut-button class="change-username-popup-cancel" type="default" v-track-click="{ event: 'click', elementText: '用户信息-修改昵称-取消' }" @click="onNickNameCancel">
109
+ <nut-button class="change-username-popup-cancel" type="default" v-track-click="'用户信息-修改昵称-取消'" @click="onNickNameCancel">
110
110
  取消
111
111
  </nut-button>
112
- <nut-button class="change-username-popup-ok" type="primary" v-track-click="{ event: 'click', elementText: '用户信息-修改昵称-确定' }" @click="onNickNameOk">
112
+ <nut-button class="change-username-popup-ok" type="primary" v-track-click="'用户信息-修改昵称-确定'" @click="onNickNameOk">
113
113
  确定
114
114
  </nut-button>
115
115
  </template>
@@ -122,7 +122,7 @@
122
122
  <img class="upload-avatar-popup-avatar" mode="aspectFit" v-if="userInfo.avatar" :src="userInfo.avatar" alt="" />
123
123
  <img class="upload-avatar-popup-avatar" mode="aspectFit" v-else
124
124
  src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png" alt="" />
125
- <div class="upload-avatar-popup-btn" v-track-click="{ event: 'click', elementText: '用户信息-更换头像' }" @click="toUpload">更换头像</div>
125
+ <div class="upload-avatar-popup-btn" v-track-click="'用户信息-更换头像'" @click="toUpload">更换头像</div>
126
126
  </div>
127
127
  </nut-popup>
128
128
  </template>