@uxda/appkit 4.2.82 → 4.2.84

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 (127) 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 +41 -3
  5. package/dist/index.js +994 -535
  6. package/package.json +81 -81
  7. package/project.config.json +15 -15
  8. package/project.tt.json +13 -13
  9. package/rollup.config.mjs +77 -77
  10. package/src/Appkit.ts +67 -67
  11. package/src/balance/api/endpoints.ts +133 -133
  12. package/src/balance/api/index.ts +112 -106
  13. package/src/balance/components/AccountView.vue +773 -773
  14. package/src/balance/components/BalanceCard.vue +210 -210
  15. package/src/balance/components/BalanceReminder.vue +84 -84
  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 +259 -259
  19. package/src/balance/components/DateRange.vue +111 -111
  20. package/src/balance/components/ListFilter.vue +62 -62
  21. package/src/balance/components/ListFilterPicker.vue +191 -191
  22. package/src/balance/components/PromoterCard.vue +310 -310
  23. package/src/balance/components/SecondBalance.vue +77 -77
  24. package/src/balance/components/Tip.vue +45 -45
  25. package/src/balance/components/index.ts +8 -8
  26. package/src/balance/types.ts +99 -99
  27. package/src/components/bt-cropper/index.vue +730 -730
  28. package/src/components/bt-cropper/utils/calcCropper.js +42 -42
  29. package/src/components/bt-cropper/utils/calcImagePosition.js +23 -23
  30. package/src/components/bt-cropper/utils/calcImageSize.js +37 -37
  31. package/src/components/bt-cropper/utils/calcPointDistance.js +12 -12
  32. package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -7
  33. package/src/components/bt-cropper/utils/ratio.js +3 -3
  34. package/src/components/bt-cropper/utils/tools.js +25 -25
  35. package/src/components/dd-area/index.vue +225 -225
  36. package/src/components/dd-icon/doc.md +21 -21
  37. package/src/components/dd-icon/index.vue +23 -23
  38. package/src/components/dd-notice-bar/index.vue +78 -78
  39. package/src/components/dd-search/doc.md +34 -34
  40. package/src/components/dd-search/index.vue +168 -168
  41. package/src/components/dd-selector/index.vue +124 -124
  42. package/src/components/dd-skeleton/doc.md +19 -19
  43. package/src/components/dd-skeleton/index.vue +36 -36
  44. package/src/global.ts +6 -6
  45. package/src/index.ts +93 -93
  46. package/src/main.scss +1 -1
  47. package/src/notice/api/endpoints.ts +54 -17
  48. package/src/notice/api/index.ts +115 -106
  49. package/src/notice/components/NoticeBanner.vue +247 -247
  50. package/src/notice/components/NoticeEntry.vue +99 -99
  51. package/src/notice/components/NoticeList.vue +311 -311
  52. package/src/notice/components/NoticeList2.vue +243 -0
  53. package/src/notice/components/NoticePopup.vue +163 -163
  54. package/src/notice/components/index.ts +6 -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 +95 -95
  61. package/src/payment/api/index.ts +101 -101
  62. package/src/payment/components/AmountPicker.vue +90 -90
  63. package/src/payment/components/RechargeResult.vue +69 -69
  64. package/src/payment/components/RechargeView.vue +190 -190
  65. package/src/payment/components/RightsPicker.vue +105 -105
  66. package/src/payment/components/TradeView.vue +363 -363
  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 +130 -130
  73. package/src/payment/types.ts +32 -32
  74. package/src/register/components/SelfRegistration.vue +233 -233
  75. package/src/register/components/index.ts +2 -2
  76. package/src/scenarios/components/SharePoster.vue +364 -364
  77. package/src/scenarios/components/index.ts +2 -2
  78. package/src/scenarios/components/poster-paste.vue +93 -93
  79. package/src/scenarios/components/share-poster.md +273 -273
  80. package/src/shared/components/AppDrawer.vue +53 -53
  81. package/src/shared/components/AppVerify.vue +128 -128
  82. package/src/shared/components/DeviceVersion.vue +78 -78
  83. package/src/shared/components/EmptyView.vue +33 -33
  84. package/src/shared/components/OcrBusinessLicense.vue +137 -137
  85. package/src/shared/components/OcrIcon.vue +229 -229
  86. package/src/shared/components/PageHeader.vue +84 -84
  87. package/src/shared/components/index.ts +8 -8
  88. package/src/shared/composables/index.ts +9 -9
  89. package/src/shared/composables/useAmount.ts +46 -46
  90. package/src/shared/composables/useCountdown.ts +46 -46
  91. package/src/shared/composables/useCrypto.ts +76 -76
  92. package/src/shared/composables/useDeviceEnv.ts +11 -11
  93. package/src/shared/composables/useDragBox.ts +97 -97
  94. package/src/shared/composables/useEncode.ts +43 -43
  95. package/src/shared/composables/useLogger.ts +131 -131
  96. package/src/shared/composables/useSafeArea.ts +46 -46
  97. package/src/shared/composables/useTabbar.ts +24 -24
  98. package/src/shared/composables/useUpload.ts +61 -61
  99. package/src/shared/composables/useValidator.ts +32 -32
  100. package/src/shared/composables/useWxAuth.ts +48 -48
  101. package/src/shared/http/Http.ts +148 -146
  102. package/src/shared/http/index.ts +1 -1
  103. package/src/shared/http/types.ts +163 -160
  104. package/src/shared/index.ts +8 -8
  105. package/src/shared/weixin/index.ts +9 -9
  106. package/src/shared/weixin/jssdk.ts +103 -103
  107. package/src/shared/weixin/payment.ts +38 -38
  108. package/src/styles/vars.scss +3 -3
  109. package/src/user/api/endpoints.ts +17 -17
  110. package/src/user/api/index.ts +117 -111
  111. package/src/user/components/LoginSetting.vue +114 -114
  112. package/src/user/components/UserAuth.vue +220 -220
  113. package/src/user/components/UserBinding.vue +277 -277
  114. package/src/user/components/UserBindingSuccess.vue +80 -80
  115. package/src/user/components/UserEntry.vue +139 -139
  116. package/src/user/components/UserFeedback.vue +427 -427
  117. package/src/user/components/UserFeedbackEntry.vue +175 -175
  118. package/src/user/components/UserHeadCrop.vue +65 -65
  119. package/src/user/components/UserInfo.vue +708 -708
  120. package/src/user/components/UserResourceEmpty.vue +75 -75
  121. package/src/user/components/index.ts +23 -23
  122. package/src/user/index.ts +1 -1
  123. package/src/utils/utils.ts +28 -28
  124. package/tsconfig.json +30 -30
  125. package/types/global.d.ts +22 -22
  126. package/types/vue.d.ts +10 -10
  127. /package/dist/assets/{asset-DcH8Kg-2 → asset-3B_CoPto} +0 -0
@@ -1,225 +1,225 @@
1
- <!--* NAME: index-->
2
- <!--* AUTHOR: yanglong-->
3
- <!--* UPDATE: 2022-02-21 17:43-->
4
- <!--* TIP: 微信原生实现多列选择器-->
5
- <script setup lang="ts">
6
- import { computed, ref, watch } from 'vue'
7
- import Taro, {getStorageSync} from '@tarojs/taro'
8
- import DdIcon from '../dd-icon/index.vue'
9
-
10
- interface AreaItem {
11
- value: string
12
- shortId: string
13
- label: string
14
- children: AreaItem[]
15
- }
16
-
17
- export type AreaType = 'province' | 'city' | 'region'
18
-
19
- export interface PropsType {
20
- value?: string // 地址code
21
- rightIcon?: boolean
22
- placeholder?: string
23
- disabled?: boolean
24
- type?: AreaType
25
- formatter?: (values: AreaItem[]) => string
26
- }
27
-
28
- const props = withDefaults(defineProps<PropsType>(), {
29
- value: '',
30
- rightIcon: true,
31
- placeholder: '请选择',
32
- disabled: false,
33
- type: 'region',
34
- formatter: (values: AreaItem[]) => values.map((item: AreaItem) => item.label).join(''),
35
- })
36
- const emit = defineEmits(['update:value', 'change', 'cancel'])
37
-
38
- const areaFormatOptions = computed<AreaItem[]>(() => {
39
- const { province_list, city_list, county_list } = JSON.parse(getStorageSync('wechat_area'))
40
- const map = new Map()
41
- city_list.forEach((item: any) => {
42
- const provinceShortId = item.id.slice(0, 2)
43
- if (!map.has(provinceShortId)) {
44
- map.set(provinceShortId, [])
45
- }
46
- map.get(provinceShortId).push({
47
- ...item,
48
- shortId: item.id.slice(0, 4),
49
- })
50
- })
51
- county_list.forEach((item: any) => {
52
- const cityShortId = item.id.slice(0, 4)
53
- if (!map.has(cityShortId)) {
54
- map.set(cityShortId, [])
55
- }
56
- map.get(cityShortId).push({
57
- ...item,
58
- shortId: item.id,
59
- })
60
- })
61
- return province_list.map((province: any) => {
62
- const provinceShortId = province.id.slice(0, 2)
63
- return {
64
- value: province.id,
65
- shortId: provinceShortId,
66
- label: province.name,
67
- children:
68
- (map.get(provinceShortId) || []).map((city: any) => ({
69
- value: city.id,
70
- shortId: city.shortId,
71
- label: city.name,
72
- children:
73
- (map.get(city.shortId) || []).map((region: any) => ({
74
- value: region.id,
75
- shortId: region.shortId,
76
- label: region.name,
77
- children: [],
78
- })) || [],
79
- })) || [],
80
- }
81
- })
82
- })
83
-
84
- const tmpSelectedIndex = ref<number[]>([0, 0, 0])
85
- const selectedIndex = ref<number[]>([0, 0, 0])
86
- const selectedItem = ref<AreaItem[]>([])
87
-
88
- const options = computed<AreaItem[][]>(() => {
89
- const provinceOption = areaFormatOptions.value
90
- if (props.type === 'province') {
91
- return [provinceOption]
92
- }
93
- const cityOption = (provinceOption[tmpSelectedIndex.value[0]] || {}).children || []
94
- if (props.type === 'city') {
95
- return [provinceOption, cityOption]
96
- }
97
- const regionOption = (cityOption[tmpSelectedIndex.value[1]] || {}).children || []
98
- return [provinceOption, cityOption, regionOption]
99
- })
100
-
101
- function init() {
102
- selectedIndex.value = findIndexByValue()
103
- tmpSelectedIndex.value = [...selectedIndex.value]
104
- if (props.value) {
105
- const items: any = []
106
- for (let index = 0; index < options.value.length; index++) {
107
- const item = (options.value[index] || {})[selectedIndex.value[index]]
108
- if (item) {
109
- items.push(item)
110
- }
111
- }
112
- selectedItem.value = items
113
- }
114
- }
115
-
116
- function findIndexByValue() {
117
- if (props.value) {
118
- const provinceId = props.value.slice(0, 2).toString().padEnd(6, '0')
119
- const cityId = props.value.slice(0, 4).toString().padEnd(6, '0')
120
- const regionId = props.value.toString()
121
- for (let provinceIndex = 0; provinceIndex < areaFormatOptions.value.length; provinceIndex++) {
122
- const province = areaFormatOptions.value[provinceIndex]
123
- if (provinceId == province.value) {
124
- for (let cityIndex = 0; cityIndex < province.children.length; cityIndex++) {
125
- const city = province.children[cityIndex]
126
- if (cityId == city.value) {
127
- for (let regionIndex = 0; regionIndex < city.children.length; regionIndex++) {
128
- const region = city.children[regionIndex]
129
- if (regionId == region.value) {
130
- return [provinceIndex, cityIndex, regionIndex]
131
- }
132
- }
133
- return [provinceIndex, cityIndex, 0]
134
- }
135
- }
136
- return [provinceIndex, 0, 0]
137
- }
138
- }
139
- }
140
- return [0, 0, 0]
141
- }
142
-
143
- function onChange() {
144
- const lastSelectedIndex = options.value.length - 1
145
- const result: any = {
146
- values: [],
147
- labels: [],
148
- }
149
- for (let index = 0; index <= lastSelectedIndex; index++) {
150
- const item = (options.value[index] || {})[tmpSelectedIndex.value[index]]
151
- if (item) {
152
- result.values.push(item.value)
153
- result.labels.push(item.label)
154
- }
155
- }
156
- emit('update:value', result.values[result.values.length - 1])
157
- emit('change', result)
158
- console.log(result)
159
- }
160
-
161
- function onCancel(e: any) {
162
- init()
163
- emit('cancel', e)
164
- }
165
-
166
- function onColumnChange({ detail: { column, value } }) {
167
- const resetIndex = Array.from({ length: tmpSelectedIndex.value.length - column - 1 }).fill(0)
168
- tmpSelectedIndex.value = [...tmpSelectedIndex.value.slice(0, column), value, ...resetIndex]
169
- console.log(tmpSelectedIndex.value)
170
- }
171
-
172
- watch(
173
- () => props.value,
174
- () => {
175
- init()
176
- },
177
- { deep: true, immediate: true }
178
- )
179
- </script>
180
-
181
- <template>
182
- <picker
183
- :range="options"
184
- range-key="label"
185
- :value="tmpSelectedIndex"
186
- mode="multiSelector"
187
- @columnchange="onColumnChange"
188
- @change="onChange"
189
- @cancel="onCancel"
190
- style="flex: 1"
191
- :disabled="props.disabled"
192
- >
193
- <div class="dd-area">
194
- <div :class="props.value && !props.disabled ? 'dd-area-value' : 'dd-area-label'">
195
- {{ props.value ? props.formatter(selectedItem) : props.placeholder }}
196
- </div>
197
- <slot name="icon">
198
- <DdIcon
199
- v-if="props.rightIcon"
200
- name="icon-arrow"
201
- size="11px"
202
- :color="props.value !== '' && !props.disabled ? '#353535' : '#DFDFDF'"
203
- class="icon-arrow"
204
- />
205
- </slot>
206
- </div>
207
- </picker>
208
- </template>
209
-
210
- <style lang="scss">
211
- .dd-area {
212
- display: flex;
213
- justify-content: flex-end;
214
- align-items: center;
215
-
216
- &-value {
217
- text-align: right;
218
- color: black;
219
- }
220
-
221
- &-label {
222
- color: var(--placeholder-color);
223
- }
224
- }
225
- </style>
1
+ <!--* NAME: index-->
2
+ <!--* AUTHOR: yanglong-->
3
+ <!--* UPDATE: 2022-02-21 17:43-->
4
+ <!--* TIP: 微信原生实现多列选择器-->
5
+ <script setup lang="ts">
6
+ import { computed, ref, watch } from 'vue'
7
+ import Taro, {getStorageSync} from '@tarojs/taro'
8
+ import DdIcon from '../dd-icon/index.vue'
9
+
10
+ interface AreaItem {
11
+ value: string
12
+ shortId: string
13
+ label: string
14
+ children: AreaItem[]
15
+ }
16
+
17
+ export type AreaType = 'province' | 'city' | 'region'
18
+
19
+ export interface PropsType {
20
+ value?: string // 地址code
21
+ rightIcon?: boolean
22
+ placeholder?: string
23
+ disabled?: boolean
24
+ type?: AreaType
25
+ formatter?: (values: AreaItem[]) => string
26
+ }
27
+
28
+ const props = withDefaults(defineProps<PropsType>(), {
29
+ value: '',
30
+ rightIcon: true,
31
+ placeholder: '请选择',
32
+ disabled: false,
33
+ type: 'region',
34
+ formatter: (values: AreaItem[]) => values.map((item: AreaItem) => item.label).join(''),
35
+ })
36
+ const emit = defineEmits(['update:value', 'change', 'cancel'])
37
+
38
+ const areaFormatOptions = computed<AreaItem[]>(() => {
39
+ const { province_list, city_list, county_list } = JSON.parse(getStorageSync('wechat_area'))
40
+ const map = new Map()
41
+ city_list.forEach((item: any) => {
42
+ const provinceShortId = item.id.slice(0, 2)
43
+ if (!map.has(provinceShortId)) {
44
+ map.set(provinceShortId, [])
45
+ }
46
+ map.get(provinceShortId).push({
47
+ ...item,
48
+ shortId: item.id.slice(0, 4),
49
+ })
50
+ })
51
+ county_list.forEach((item: any) => {
52
+ const cityShortId = item.id.slice(0, 4)
53
+ if (!map.has(cityShortId)) {
54
+ map.set(cityShortId, [])
55
+ }
56
+ map.get(cityShortId).push({
57
+ ...item,
58
+ shortId: item.id,
59
+ })
60
+ })
61
+ return province_list.map((province: any) => {
62
+ const provinceShortId = province.id.slice(0, 2)
63
+ return {
64
+ value: province.id,
65
+ shortId: provinceShortId,
66
+ label: province.name,
67
+ children:
68
+ (map.get(provinceShortId) || []).map((city: any) => ({
69
+ value: city.id,
70
+ shortId: city.shortId,
71
+ label: city.name,
72
+ children:
73
+ (map.get(city.shortId) || []).map((region: any) => ({
74
+ value: region.id,
75
+ shortId: region.shortId,
76
+ label: region.name,
77
+ children: [],
78
+ })) || [],
79
+ })) || [],
80
+ }
81
+ })
82
+ })
83
+
84
+ const tmpSelectedIndex = ref<number[]>([0, 0, 0])
85
+ const selectedIndex = ref<number[]>([0, 0, 0])
86
+ const selectedItem = ref<AreaItem[]>([])
87
+
88
+ const options = computed<AreaItem[][]>(() => {
89
+ const provinceOption = areaFormatOptions.value
90
+ if (props.type === 'province') {
91
+ return [provinceOption]
92
+ }
93
+ const cityOption = (provinceOption[tmpSelectedIndex.value[0]] || {}).children || []
94
+ if (props.type === 'city') {
95
+ return [provinceOption, cityOption]
96
+ }
97
+ const regionOption = (cityOption[tmpSelectedIndex.value[1]] || {}).children || []
98
+ return [provinceOption, cityOption, regionOption]
99
+ })
100
+
101
+ function init() {
102
+ selectedIndex.value = findIndexByValue()
103
+ tmpSelectedIndex.value = [...selectedIndex.value]
104
+ if (props.value) {
105
+ const items: any = []
106
+ for (let index = 0; index < options.value.length; index++) {
107
+ const item = (options.value[index] || {})[selectedIndex.value[index]]
108
+ if (item) {
109
+ items.push(item)
110
+ }
111
+ }
112
+ selectedItem.value = items
113
+ }
114
+ }
115
+
116
+ function findIndexByValue() {
117
+ if (props.value) {
118
+ const provinceId = props.value.slice(0, 2).toString().padEnd(6, '0')
119
+ const cityId = props.value.slice(0, 4).toString().padEnd(6, '0')
120
+ const regionId = props.value.toString()
121
+ for (let provinceIndex = 0; provinceIndex < areaFormatOptions.value.length; provinceIndex++) {
122
+ const province = areaFormatOptions.value[provinceIndex]
123
+ if (provinceId == province.value) {
124
+ for (let cityIndex = 0; cityIndex < province.children.length; cityIndex++) {
125
+ const city = province.children[cityIndex]
126
+ if (cityId == city.value) {
127
+ for (let regionIndex = 0; regionIndex < city.children.length; regionIndex++) {
128
+ const region = city.children[regionIndex]
129
+ if (regionId == region.value) {
130
+ return [provinceIndex, cityIndex, regionIndex]
131
+ }
132
+ }
133
+ return [provinceIndex, cityIndex, 0]
134
+ }
135
+ }
136
+ return [provinceIndex, 0, 0]
137
+ }
138
+ }
139
+ }
140
+ return [0, 0, 0]
141
+ }
142
+
143
+ function onChange() {
144
+ const lastSelectedIndex = options.value.length - 1
145
+ const result: any = {
146
+ values: [],
147
+ labels: [],
148
+ }
149
+ for (let index = 0; index <= lastSelectedIndex; index++) {
150
+ const item = (options.value[index] || {})[tmpSelectedIndex.value[index]]
151
+ if (item) {
152
+ result.values.push(item.value)
153
+ result.labels.push(item.label)
154
+ }
155
+ }
156
+ emit('update:value', result.values[result.values.length - 1])
157
+ emit('change', result)
158
+ console.log(result)
159
+ }
160
+
161
+ function onCancel(e: any) {
162
+ init()
163
+ emit('cancel', e)
164
+ }
165
+
166
+ function onColumnChange({ detail: { column, value } }) {
167
+ const resetIndex = Array.from({ length: tmpSelectedIndex.value.length - column - 1 }).fill(0)
168
+ tmpSelectedIndex.value = [...tmpSelectedIndex.value.slice(0, column), value, ...resetIndex]
169
+ console.log(tmpSelectedIndex.value)
170
+ }
171
+
172
+ watch(
173
+ () => props.value,
174
+ () => {
175
+ init()
176
+ },
177
+ { deep: true, immediate: true }
178
+ )
179
+ </script>
180
+
181
+ <template>
182
+ <picker
183
+ :range="options"
184
+ range-key="label"
185
+ :value="tmpSelectedIndex"
186
+ mode="multiSelector"
187
+ @columnchange="onColumnChange"
188
+ @change="onChange"
189
+ @cancel="onCancel"
190
+ style="flex: 1"
191
+ :disabled="props.disabled"
192
+ >
193
+ <div class="dd-area">
194
+ <div :class="props.value && !props.disabled ? 'dd-area-value' : 'dd-area-label'">
195
+ {{ props.value ? props.formatter(selectedItem) : props.placeholder }}
196
+ </div>
197
+ <slot name="icon">
198
+ <DdIcon
199
+ v-if="props.rightIcon"
200
+ name="icon-arrow"
201
+ size="11px"
202
+ :color="props.value !== '' && !props.disabled ? '#353535' : '#DFDFDF'"
203
+ class="icon-arrow"
204
+ />
205
+ </slot>
206
+ </div>
207
+ </picker>
208
+ </template>
209
+
210
+ <style lang="scss">
211
+ .dd-area {
212
+ display: flex;
213
+ justify-content: flex-end;
214
+ align-items: center;
215
+
216
+ &-value {
217
+ text-align: right;
218
+ color: black;
219
+ }
220
+
221
+ &-label {
222
+ color: var(--placeholder-color);
223
+ }
224
+ }
225
+ </style>
@@ -1,21 +1,21 @@
1
- # ddIcon 空内容展示
2
- ### 使用iconfont图标
3
-
4
- #
5
- ## 使用
6
-
7
- ``` javascript
8
- import ddIcon from '~/components/ddIcon/index.vue'
9
- ```
10
- ``` html
11
- <dd-icon name="icon-arrow" size="11px" color="#DFDFDF" />
12
- ```
13
-
14
- ## Prop
15
-
16
- | 字段 | 说明 | 类型 | 默认值 |
17
- |-----------|-------------|---------|----------|
18
- | name | icon名称 | string | '' |
19
- | color | icon颜色 | string | inherit |
20
- | size | icon字体大小 | string | 16px |
21
- | weight | icon字体字重 | string | normal |
1
+ # ddIcon 空内容展示
2
+ ### 使用iconfont图标
3
+
4
+ #
5
+ ## 使用
6
+
7
+ ``` javascript
8
+ import ddIcon from '~/components/ddIcon/index.vue'
9
+ ```
10
+ ``` html
11
+ <dd-icon name="icon-arrow" size="11px" color="#DFDFDF" />
12
+ ```
13
+
14
+ ## Prop
15
+
16
+ | 字段 | 说明 | 类型 | 默认值 |
17
+ |-----------|-------------|---------|----------|
18
+ | name | icon名称 | string | '' |
19
+ | color | icon颜色 | string | inherit |
20
+ | size | icon字体大小 | string | 16px |
21
+ | weight | icon字体字重 | string | normal |
@@ -1,23 +1,23 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue'
3
- const props = withDefaults(
4
- defineProps<{
5
- name: string
6
- color?: string
7
- size?: string
8
- weight?: string
9
- }>(),
10
- {
11
- color: 'inherit',
12
- size: '16px',
13
- weight: 'normal',
14
- }
15
- )
16
- const styles = computed(() => {
17
- return `color: ${props.color}; font-size: ${props.size}; font-weight: ${props.weight};`
18
- })
19
- </script>
20
-
21
- <template>
22
- <view class="iconfont" :class="name" :style="styles"></view>
23
- </template>
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ const props = withDefaults(
4
+ defineProps<{
5
+ name: string
6
+ color?: string
7
+ size?: string
8
+ weight?: string
9
+ }>(),
10
+ {
11
+ color: 'inherit',
12
+ size: '16px',
13
+ weight: 'normal',
14
+ }
15
+ )
16
+ const styles = computed(() => {
17
+ return `color: ${props.color}; font-size: ${props.size}; font-weight: ${props.weight};`
18
+ })
19
+ </script>
20
+
21
+ <template>
22
+ <view class="iconfont" :class="name" :style="styles"></view>
23
+ </template>