@uxda/appkit 4.1.25 → 4.1.26

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 (117) hide show
  1. package/.eslintrc.mjs +7 -7
  2. package/README.md +187 -187
  3. package/babel.config.js +12 -12
  4. package/dist/appkit.css +24 -21
  5. package/dist/index.js +1253 -1153
  6. package/package.json +77 -75
  7. package/project.config.json +15 -15
  8. package/project.tt.json +13 -13
  9. package/rollup.config.mjs +56 -56
  10. package/src/Appkit.ts +66 -66
  11. package/src/balance/api/endpoints.ts +126 -126
  12. package/src/balance/api/index.ts +106 -82
  13. package/src/balance/components/AccountView.vue +748 -748
  14. package/src/balance/components/BalanceCard.vue +205 -205
  15. package/src/balance/components/BalanceReminder.vue +85 -85
  16. package/src/balance/components/ConsumptionFilter.vue +218 -218
  17. package/src/balance/components/ConsumptionRules.vue +68 -68
  18. package/src/balance/components/DateFilter.vue +249 -230
  19. package/src/balance/components/DateRange.vue +80 -75
  20. package/src/balance/components/ListFilter.vue +63 -63
  21. package/src/balance/components/ListFilterPicker.vue +186 -186
  22. package/src/balance/components/SecondBalance.vue +71 -71
  23. package/src/balance/components/Tip.vue +45 -45
  24. package/src/balance/components/index.ts +13 -13
  25. package/src/balance/types.ts +91 -91
  26. package/src/components/bt-cropper/index.vue +774 -774
  27. package/src/components/bt-cropper/utils/calcCropper.js +42 -42
  28. package/src/components/bt-cropper/utils/calcImagePosition.js +23 -23
  29. package/src/components/bt-cropper/utils/calcImageSize.js +37 -37
  30. package/src/components/bt-cropper/utils/calcPointDistance.js +12 -12
  31. package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -7
  32. package/src/components/bt-cropper/utils/ratio.js +3 -3
  33. package/src/components/bt-cropper/utils/tools.js +25 -25
  34. package/src/components/dd-area/index.vue +225 -225
  35. package/src/components/dd-icon/doc.md +21 -21
  36. package/src/components/dd-icon/index.vue +23 -23
  37. package/src/components/dd-notice-bar/index.vue +78 -78
  38. package/src/components/dd-search/doc.md +34 -34
  39. package/src/components/dd-search/index.vue +168 -168
  40. package/src/components/dd-selector/index.vue +124 -124
  41. package/src/components/dd-skeleton/doc.md +19 -19
  42. package/src/components/dd-skeleton/index.vue +36 -36
  43. package/src/components/ocr-id/index.vue +114 -114
  44. package/src/components/ocr-id/types.d.ts +12 -12
  45. package/src/global.ts +6 -6
  46. package/src/index.ts +89 -89
  47. package/src/main.scss +1 -1
  48. package/src/notice/api/endpoints.ts +17 -17
  49. package/src/notice/api/index.ts +106 -82
  50. package/src/notice/components/NoticeBanner.vue +243 -243
  51. package/src/notice/components/NoticeEntry.vue +99 -99
  52. package/src/notice/components/NoticeList.vue +315 -315
  53. package/src/notice/components/NoticePopup.vue +162 -162
  54. package/src/notice/components/index.ts +5 -5
  55. package/src/notice/components/useCommonList.ts +86 -86
  56. package/src/notice/components/useNotice.ts +35 -35
  57. package/src/notice/index.ts +1 -1
  58. package/src/notice/types.ts +25 -25
  59. package/src/payment/api/config.ts +7 -7
  60. package/src/payment/api/endpoints.ts +103 -103
  61. package/src/payment/api/index.ts +100 -76
  62. package/src/payment/components/AmountPicker.vue +93 -93
  63. package/src/payment/components/RechargeResult.vue +69 -69
  64. package/src/payment/components/RechargeView.vue +154 -154
  65. package/src/payment/components/RightsPicker.vue +105 -105
  66. package/src/payment/components/TradeView.vue +294 -294
  67. package/src/payment/components/UserAgreement.vue +234 -234
  68. package/src/payment/components/index.ts +22 -22
  69. package/src/payment/index.ts +5 -5
  70. package/src/payment/services/index.ts +16 -16
  71. package/src/payment/services/invoke-recharge.ts +25 -25
  72. package/src/payment/services/request-payment.ts +58 -58
  73. package/src/payment/types.ts +28 -28
  74. package/src/register/components/SelfRegistration.vue +254 -254
  75. package/src/register/components/index.ts +2 -2
  76. package/src/shared/components/AppDrawer.vue +58 -58
  77. package/src/shared/components/AppVerify.vue +129 -129
  78. package/src/shared/components/DeviceVersion.vue +68 -68
  79. package/src/shared/components/EmptyView.vue +33 -33
  80. package/src/shared/components/OcrBusinessLicense.vue +133 -133
  81. package/src/shared/components/OcrIcon.vue +133 -133
  82. package/src/shared/components/PageHeader.vue +79 -79
  83. package/src/shared/components/index.ts +8 -8
  84. package/src/shared/composables/index.ts +8 -7
  85. package/src/shared/composables/useCountdown.ts +46 -46
  86. package/src/shared/composables/useCrypto.ts +76 -76
  87. package/src/shared/composables/useDragBox.ts +97 -97
  88. package/src/shared/composables/useEncode.ts +43 -43
  89. package/src/shared/composables/useLogger.ts +123 -0
  90. package/src/shared/composables/useSafeArea.ts +46 -46
  91. package/src/shared/composables/useTabbar.ts +24 -24
  92. package/src/shared/composables/useUpload.ts +54 -54
  93. package/src/shared/composables/useValidator.ts +31 -31
  94. package/src/shared/http/Http.ts +136 -136
  95. package/src/shared/http/index.ts +1 -1
  96. package/src/shared/http/types.ts +157 -157
  97. package/src/shared/index.ts +3 -3
  98. package/src/shared/weixin/payment.ts +38 -38
  99. package/src/styles/fonts.scss +2 -2
  100. package/src/styles/vars.scss +3 -3
  101. package/src/user/api/endpoints.ts +17 -17
  102. package/src/user/api/index.ts +111 -87
  103. package/src/user/components/LoginSetting.vue +114 -114
  104. package/src/user/components/UserBinding.vue +307 -307
  105. package/src/user/components/UserBindingSuccess.vue +80 -80
  106. package/src/user/components/UserEntry.vue +137 -137
  107. package/src/user/components/UserFeedback.vue +431 -431
  108. package/src/user/components/UserFeedbackEntry.vue +192 -192
  109. package/src/user/components/UserHeadCrop.vue +65 -65
  110. package/src/user/components/UserInfo.vue +637 -637
  111. package/src/user/components/UserResourceEmpty.vue +75 -75
  112. package/src/user/components/index.ts +21 -21
  113. package/src/user/index.ts +1 -1
  114. package/tsconfig.json +30 -30
  115. package/types/global.d.ts +21 -21
  116. package/types/vue.d.ts +10 -10
  117. package/dist/assets/asset-3B_CoPto +0 -1
@@ -1,80 +1,80 @@
1
- <template>
2
- <div class="user-binding-success">
3
- <img
4
- class="user-binding-success-icon"
5
- src="https://cdn.ddjf.com/static/images/customer-center/phone-icon.png"
6
- alt=""
7
- />
8
- <div class="user-binding-success-info">
9
- {{ showEncode ? encodePhone(params.mobile || '') : params.mobile }}
10
- </div>
11
- <div class="user-binding-success-sbtn" @click="showEncode = !showEncode">
12
- {{ showEncode ? '显示' : '隐藏' }}
13
- </div>
14
- <nut-button class="user-binding-success-btn" type="primary" @click="toBinding"
15
- >换绑手机号码</nut-button
16
- >
17
- </div>
18
- </template>
19
-
20
- <script lang="ts" setup>
21
- import { onMounted, ref } from 'vue'
22
- import { useRouter } from '@tarojs/taro'
23
- import Taro from '@tarojs/taro'
24
- import { useEncode } from '../../shared/composables/useEncode'
25
-
26
- const { params } = useRouter()
27
- const { encodePhone } = useEncode()
28
-
29
- onMounted(() => {
30
- if (!params.mobile) {
31
- return Taro.showToast({ title: '路径缺少mobile参数', icon: 'none' })
32
- }
33
- })
34
-
35
- const showEncode = ref(true)
36
-
37
- // 前往换绑手机号
38
- function toBinding() {
39
- emits('binding', params.mobile)
40
- }
41
-
42
- // 父组件事件
43
- const emits = defineEmits(['binding'])
44
- </script>
45
-
46
- <style lang="scss">
47
- .user-binding-success {
48
- height: 100vh;
49
- display: flex;
50
- flex-direction: column;
51
- align-items: center;
52
- box-sizing: border-box;
53
- background: #fff;
54
- &-icon {
55
- margin-top: 80px;
56
- width: 50px;
57
- height: 50px;
58
- margin-bottom: 30px;
59
- }
60
- &-info {
61
- font-size: 30px;
62
- color: #000000;
63
- font-weight: bold;
64
- margin-bottom: 15px;
65
- }
66
- &-sbtn {
67
- padding: 0 15px;
68
- color: #017fff;
69
- font-size: 16px;
70
- }
71
- &-btn {
72
- margin-top: 80px;
73
- width: 296px;
74
- font-size: 16px;
75
- background: var(--app-primary-color, #017fff);
76
- height: 40px;
77
- line-height: 38px;
78
- }
79
- }
80
- </style>
1
+ <template>
2
+ <div class="user-binding-success">
3
+ <img
4
+ class="user-binding-success-icon"
5
+ src="https://cdn.ddjf.com/static/images/customer-center/phone-icon.png"
6
+ alt=""
7
+ />
8
+ <div class="user-binding-success-info">
9
+ {{ showEncode ? encodePhone(params.mobile || '') : params.mobile }}
10
+ </div>
11
+ <div class="user-binding-success-sbtn" @click="showEncode = !showEncode">
12
+ {{ showEncode ? '显示' : '隐藏' }}
13
+ </div>
14
+ <nut-button class="user-binding-success-btn" type="primary" @click="toBinding"
15
+ >换绑手机号码</nut-button
16
+ >
17
+ </div>
18
+ </template>
19
+
20
+ <script lang="ts" setup>
21
+ import { onMounted, ref } from 'vue'
22
+ import { useRouter } from '@tarojs/taro'
23
+ import Taro from '@tarojs/taro'
24
+ import { useEncode } from '../../shared/composables/useEncode'
25
+
26
+ const { params } = useRouter()
27
+ const { encodePhone } = useEncode()
28
+
29
+ onMounted(() => {
30
+ if (!params.mobile) {
31
+ return Taro.showToast({ title: '路径缺少mobile参数', icon: 'none' })
32
+ }
33
+ })
34
+
35
+ const showEncode = ref(true)
36
+
37
+ // 前往换绑手机号
38
+ function toBinding() {
39
+ emits('binding', params.mobile)
40
+ }
41
+
42
+ // 父组件事件
43
+ const emits = defineEmits(['binding'])
44
+ </script>
45
+
46
+ <style lang="scss">
47
+ .user-binding-success {
48
+ height: 100vh;
49
+ display: flex;
50
+ flex-direction: column;
51
+ align-items: center;
52
+ box-sizing: border-box;
53
+ background: #fff;
54
+ &-icon {
55
+ margin-top: 80px;
56
+ width: 50px;
57
+ height: 50px;
58
+ margin-bottom: 30px;
59
+ }
60
+ &-info {
61
+ font-size: 30px;
62
+ color: #000000;
63
+ font-weight: bold;
64
+ margin-bottom: 15px;
65
+ }
66
+ &-sbtn {
67
+ padding: 0 15px;
68
+ color: #017fff;
69
+ font-size: 16px;
70
+ }
71
+ &-btn {
72
+ margin-top: 80px;
73
+ width: 296px;
74
+ font-size: 16px;
75
+ background: var(--app-primary-color, #017fff);
76
+ height: 40px;
77
+ line-height: 38px;
78
+ }
79
+ }
80
+ </style>
@@ -1,137 +1,137 @@
1
- <template>
2
- <div class="user-entry">
3
- <div class="user-entry-head">
4
- <img
5
- class="user-entry-head-img"
6
- @click="toUser"
7
- mode="aspectFit"
8
- v-if="avatar"
9
- :src="avatar"
10
- alt=""
11
- />
12
- <img
13
- class="user-entry-head-img"
14
- mode="aspectFit"
15
- @click="toUser1"
16
- v-else
17
- src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png"
18
- alt=""
19
- />
20
- </div>
21
- <div class="user-entry-bd">
22
- <div v-if="!mobile" class="user-entry-bd-bigtxt" @click="toLogin">
23
- 请登录
24
- <span class="user-entry-bd-arrow">></span>
25
- </div>
26
- <template v-else>
27
- <div @click="toUser" class="user-entry-bd-txt">
28
- {{ name }}
29
- <span class="user-entry-bd-arrow">></span>
30
- </div>
31
- <div @click="toUser" class="user-entry-bd-smalltxt">{{ encodePhone(mobile) }}</div>
32
- </template>
33
- </div>
34
- </div>
35
- </template>
36
-
37
- <script lang="ts" setup>
38
- import { useEncode } from '../../shared/composables/useEncode'
39
-
40
- const props = withDefaults(
41
- defineProps<{
42
- avatar?: string
43
- mobile?: string
44
- name?: string
45
- }>(),
46
- {
47
- avatar: '',
48
- mobile: '',
49
- name: '',
50
- }
51
- )
52
-
53
- const { encodePhone } = useEncode()
54
-
55
- // 登录后,点击前往个人资料页
56
- function toUser() {
57
- emits('jump')
58
- }
59
-
60
- function toUser1() {
61
- props.mobile && toUser()
62
- }
63
-
64
- // 未登录时,点击前往登录
65
- function toLogin() {
66
- emits('login')
67
- }
68
-
69
- // 父组件事件
70
- const emits = defineEmits(['jump', 'login'])
71
- </script>
72
-
73
- <style lang="scss">
74
- .user-entry {
75
- position: absolute;
76
- left: 0;
77
- top: 130px;
78
- transform: translateY(-50%);
79
- display: flex;
80
- padding: 0 22px;
81
- align-items: center;
82
- width: 100%;
83
- &-head {
84
- position: relative;
85
- width: 62px;
86
- height: 62px;
87
- margin-right: 8px;
88
- &-img {
89
- width: 100%;
90
- height: 100%;
91
- overflow: hidden;
92
- border-radius: 50%;
93
- border: 1.5px solid #fff;
94
- }
95
- &-icon {
96
- position: absolute;
97
- width: 15px;
98
- height: 15px;
99
- bottom: 2px;
100
- left: 48px;
101
- background: url('https://cdn.ddjf.com/static/images/wx-yunservice/edit-icon.png') center;
102
- background-size: cover;
103
- }
104
- }
105
- &-bd {
106
- color: #fff;
107
- &-bigtxt {
108
- display: flex;
109
- align-items: center;
110
- font-size: 20px;
111
- font-weight: 500;
112
- line-height: 28px;
113
- margin-left: 10px;
114
- &-icon {
115
- width: 20px;
116
- }
117
- }
118
- &-txt {
119
- font-size: 20px;
120
- font-weight: 500;
121
- line-height: 25px;
122
- margin-bottom: 5px;
123
- display: flex;
124
- align-items: center;
125
- }
126
- &-smalltxt {
127
- margin-top: 0;
128
- font-size: 15px;
129
- line-height: 21px;
130
- }
131
- &-arrow {
132
- font-size: 12px;
133
- margin-left: 8px;
134
- }
135
- }
136
- }
137
- </style>
1
+ <template>
2
+ <div class="user-entry">
3
+ <div class="user-entry-head">
4
+ <img
5
+ class="user-entry-head-img"
6
+ @click="toUser"
7
+ mode="aspectFit"
8
+ v-if="avatar"
9
+ :src="avatar"
10
+ alt=""
11
+ />
12
+ <img
13
+ class="user-entry-head-img"
14
+ mode="aspectFit"
15
+ @click="toUser1"
16
+ v-else
17
+ src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png"
18
+ alt=""
19
+ />
20
+ </div>
21
+ <div class="user-entry-bd">
22
+ <div v-if="!mobile" class="user-entry-bd-bigtxt" @click="toLogin">
23
+ 请登录
24
+ <span class="user-entry-bd-arrow">></span>
25
+ </div>
26
+ <template v-else>
27
+ <div @click="toUser" class="user-entry-bd-txt">
28
+ {{ name }}
29
+ <span class="user-entry-bd-arrow">></span>
30
+ </div>
31
+ <div @click="toUser" class="user-entry-bd-smalltxt">{{ encodePhone(mobile) }}</div>
32
+ </template>
33
+ </div>
34
+ </div>
35
+ </template>
36
+
37
+ <script lang="ts" setup>
38
+ import { useEncode } from '../../shared/composables/useEncode'
39
+
40
+ const props = withDefaults(
41
+ defineProps<{
42
+ avatar?: string
43
+ mobile?: string
44
+ name?: string
45
+ }>(),
46
+ {
47
+ avatar: '',
48
+ mobile: '',
49
+ name: '',
50
+ }
51
+ )
52
+
53
+ const { encodePhone } = useEncode()
54
+
55
+ // 登录后,点击前往个人资料页
56
+ function toUser() {
57
+ emits('jump')
58
+ }
59
+
60
+ function toUser1() {
61
+ props.mobile && toUser()
62
+ }
63
+
64
+ // 未登录时,点击前往登录
65
+ function toLogin() {
66
+ emits('login')
67
+ }
68
+
69
+ // 父组件事件
70
+ const emits = defineEmits(['jump', 'login'])
71
+ </script>
72
+
73
+ <style lang="scss">
74
+ .user-entry {
75
+ position: absolute;
76
+ left: 0;
77
+ top: 130px;
78
+ transform: translateY(-50%);
79
+ display: flex;
80
+ padding: 0 22px;
81
+ align-items: center;
82
+ width: 100%;
83
+ &-head {
84
+ position: relative;
85
+ width: 62px;
86
+ height: 62px;
87
+ margin-right: 8px;
88
+ &-img {
89
+ width: 100%;
90
+ height: 100%;
91
+ overflow: hidden;
92
+ border-radius: 50%;
93
+ border: 1.5px solid #fff;
94
+ }
95
+ &-icon {
96
+ position: absolute;
97
+ width: 15px;
98
+ height: 15px;
99
+ bottom: 2px;
100
+ left: 48px;
101
+ background: url('https://cdn.ddjf.com/static/images/wx-yunservice/edit-icon.png') center;
102
+ background-size: cover;
103
+ }
104
+ }
105
+ &-bd {
106
+ color: #fff;
107
+ &-bigtxt {
108
+ display: flex;
109
+ align-items: center;
110
+ font-size: 20px;
111
+ font-weight: 500;
112
+ line-height: 28px;
113
+ margin-left: 10px;
114
+ &-icon {
115
+ width: 20px;
116
+ }
117
+ }
118
+ &-txt {
119
+ font-size: 20px;
120
+ font-weight: 500;
121
+ line-height: 25px;
122
+ margin-bottom: 5px;
123
+ display: flex;
124
+ align-items: center;
125
+ }
126
+ &-smalltxt {
127
+ margin-top: 0;
128
+ font-size: 15px;
129
+ line-height: 21px;
130
+ }
131
+ &-arrow {
132
+ font-size: 12px;
133
+ margin-left: 8px;
134
+ }
135
+ }
136
+ }
137
+ </style>