@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,78 +1,78 @@
1
- <script setup lang="ts">
2
- const props = defineProps<{
3
- text?: string
4
- style?: {} | string
5
- showClose?: boolean
6
- }>()
7
-
8
- const emit = defineEmits(['close', 'txtClick'])
9
- function close() {
10
- emit('close')
11
- }
12
- function txtClick() {
13
- emit('txtClick')
14
- }
15
- </script>
16
-
17
- <template>
18
- <div class="dd-notice-bar" :class="{ close: showClose }" :style="style">
19
- <div class="dd-notice-bar__txt" name="text" @click="txtClick">
20
- <span v-if="text">{{ text }}</span>
21
- <slot></slot>
22
- </div>
23
- <div v-if="showClose" class="dd-notice-bar__close" @click="close">
24
- <img
25
- src="https://cdn.ddjf.com/static/images/wechat-yunservice/close-icon.png"
26
- class="dd-notice-bar__close-img"
27
- />
28
- </div>
29
- </div>
30
- </template>
31
-
32
- <style lang="scss">
33
- .dd-notice-bar {
34
- position: fixed;
35
- top: 0;
36
- left: 0;
37
- z-index: 10;
38
- font-size: 13px;
39
- color: #ea5959;
40
- display: flex;
41
- align-items: center;
42
- justify-content: center;
43
- width: 100%;
44
- min-height: 30px;
45
- line-height: 18px;
46
- padding: 6px 18px;
47
- background: #ffe8d8;
48
- box-sizing: border-box;
49
- &__close {
50
- width: 22px;
51
- height: 22px;
52
- display: flex;
53
- margin-right: -6px;
54
- margin-left: 6px;
55
- justify-content: center;
56
- align-items: center;
57
- &-img {
58
- width: 10px;
59
- height: 10px;
60
- }
61
- }
62
- &.close {
63
- justify-content: space-between;
64
- color: #fb970c;
65
- background: #fff2d8;
66
- .dd-notice-bar__txt {
67
- text-align: left;
68
- }
69
- }
70
- &__txt {
71
- flex: 1;
72
- text-align: center;
73
- opacity: 0.8;
74
- display: flex;
75
- align-items: center;
76
- }
77
- }
78
- </style>
1
+ <script setup lang="ts">
2
+ const props = defineProps<{
3
+ text?: string
4
+ style?: {} | string
5
+ showClose?: boolean
6
+ }>()
7
+
8
+ const emit = defineEmits(['close', 'txtClick'])
9
+ function close() {
10
+ emit('close')
11
+ }
12
+ function txtClick() {
13
+ emit('txtClick')
14
+ }
15
+ </script>
16
+
17
+ <template>
18
+ <div class="dd-notice-bar" :class="{ close: showClose }" :style="style">
19
+ <div class="dd-notice-bar__txt" name="text" @click="txtClick">
20
+ <span v-if="text">{{ text }}</span>
21
+ <slot></slot>
22
+ </div>
23
+ <div v-if="showClose" class="dd-notice-bar__close" @click="close">
24
+ <img
25
+ src="https://cdn.ddjf.com/static/images/wechat-yunservice/close-icon.png"
26
+ class="dd-notice-bar__close-img"
27
+ />
28
+ </div>
29
+ </div>
30
+ </template>
31
+
32
+ <style lang="scss">
33
+ .dd-notice-bar {
34
+ position: fixed;
35
+ top: 0;
36
+ left: 0;
37
+ z-index: 10;
38
+ font-size: 13px;
39
+ color: #ea5959;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ width: 100%;
44
+ min-height: 30px;
45
+ line-height: 18px;
46
+ padding: 6px 18px;
47
+ background: #ffe8d8;
48
+ box-sizing: border-box;
49
+ &__close {
50
+ width: 22px;
51
+ height: 22px;
52
+ display: flex;
53
+ margin-right: -6px;
54
+ margin-left: 6px;
55
+ justify-content: center;
56
+ align-items: center;
57
+ &-img {
58
+ width: 10px;
59
+ height: 10px;
60
+ }
61
+ }
62
+ &.close {
63
+ justify-content: space-between;
64
+ color: #fb970c;
65
+ background: #fff2d8;
66
+ .dd-notice-bar__txt {
67
+ text-align: left;
68
+ }
69
+ }
70
+ &__txt {
71
+ flex: 1;
72
+ text-align: center;
73
+ opacity: 0.8;
74
+ display: flex;
75
+ align-items: center;
76
+ }
77
+ }
78
+ </style>
@@ -1,34 +1,34 @@
1
- # ddSearch 搜索框
2
-
3
- #
4
- ## 使用
5
-
6
- ``` javascript
7
- import ddSearch from '~/components/ddSearch/index.vue'
8
- ```
9
- ``` html
10
- <dd-search
11
- :bordered="false"
12
- :inNavbar="true"
13
- :value="searchStr"
14
- placeholder="输入客户姓名"
15
- @search="onSearch"
16
- @focus="onSearchFocus" />
17
- ```
18
-
19
- ## Prop
20
-
21
- | 字段 | 说明 | 类型 | 默认值 |
22
- |-----------|-------------|---------|----------|
23
- | disabled | 是否禁用 | boolean | false |
24
- | placeholder | 输入框placeholder | string | '请输入' |
25
- | value | 绑定值 | string | '' |
26
- | bordered | 是否显示底部边框 | boolean | true |
27
- | inNavbar | 是否在导航栏中 | boolean | false |
28
-
29
- ## Events
30
-
31
- | 事件名 | 说明 | 回调参数 |
32
- |----------|----------------|--------------------|
33
- | search | 点击搜索时 | value, 搜索参数 |
34
- | focus | 输入框focus | event |
1
+ # ddSearch 搜索框
2
+
3
+ #
4
+ ## 使用
5
+
6
+ ``` javascript
7
+ import ddSearch from '~/components/ddSearch/index.vue'
8
+ ```
9
+ ``` html
10
+ <dd-search
11
+ :bordered="false"
12
+ :inNavbar="true"
13
+ :value="searchStr"
14
+ placeholder="输入客户姓名"
15
+ @search="onSearch"
16
+ @focus="onSearchFocus" />
17
+ ```
18
+
19
+ ## Prop
20
+
21
+ | 字段 | 说明 | 类型 | 默认值 |
22
+ |-----------|-------------|---------|----------|
23
+ | disabled | 是否禁用 | boolean | false |
24
+ | placeholder | 输入框placeholder | string | '请输入' |
25
+ | value | 绑定值 | string | '' |
26
+ | bordered | 是否显示底部边框 | boolean | true |
27
+ | inNavbar | 是否在导航栏中 | boolean | false |
28
+
29
+ ## Events
30
+
31
+ | 事件名 | 说明 | 回调参数 |
32
+ |----------|----------------|--------------------|
33
+ | search | 点击搜索时 | value, 搜索参数 |
34
+ | focus | 输入框focus | event |
@@ -1,168 +1,168 @@
1
- <script setup lang="ts">
2
- import { computed, ref, watchPostEffect } from 'vue'
3
-
4
- interface SearchType {
5
- disabled?: boolean
6
- placeholder?: string
7
- value?: string
8
- bordered?: boolean
9
- inNavbar?: boolean
10
- focus?: boolean
11
- }
12
- const props = withDefaults(defineProps<SearchType>(), {
13
- disabled: false,
14
- placeholder: '',
15
- bordered: true,
16
- inNavbar: false,
17
- focus: true,
18
- })
19
-
20
- watchPostEffect(() => {
21
- key.value = props.value || ''
22
- })
23
-
24
- const emit = defineEmits(['search', 'focus', 'clear'])
25
-
26
- const ph = computed(() => {
27
- return props.placeholder || '请输入'
28
- })
29
-
30
- const key = ref('')
31
- const showClear = computed(() => {
32
- return !!key.value.trim()
33
- })
34
- function onClear() {
35
- key.value = ''
36
- emit('clear', '')
37
- }
38
- function onConfirm() {
39
- if (props.disabled) return
40
- // if (key.value.trim()) {
41
- key.value = key.value.trim()
42
- emit('search', key.value)
43
- // }
44
- }
45
- function onFoucs(e) {
46
- isFoucs.value = true
47
- emit('focus', e)
48
- }
49
- function onBlur() {
50
- isFoucs.value = false
51
- }
52
- const isFoucs = ref(props.focus)
53
- </script>
54
-
55
- <template>
56
- <div
57
- class="dd-search"
58
- :class="{
59
- disabled: props.disabled,
60
- bordered: props.bordered,
61
- inNavbar: props.inNavbar,
62
- focus: !props.disabled && isFoucs,
63
- }"
64
- >
65
- <div class="dd-search__form">
66
- <div class="dd-search__prefix">
67
- <image
68
- class="full-img"
69
- src="https://cdn.ddjf.com/static/images/wx-yunservice/search-icon.png"
70
- />
71
- </div>
72
- <div class="dd-search__control">
73
- <input
74
- class="dd-search__input"
75
- type="text"
76
- :disabled="props.disabled"
77
- :placeholder="ph"
78
- v-model="key"
79
- :focus="props.focus"
80
- placeholder-class="dd-search__placeholder"
81
- cursor-spacing="50"
82
- confirm-type="search"
83
- @confirm="onConfirm"
84
- @focus="onFoucs"
85
- @blur="onBlur"
86
- />
87
- </div>
88
- <div class="dd-search__suffix" v-show="showClear" @tap="onClear">
89
- <image
90
- class="full-img"
91
- src="https://cdn.ddjf.com/static/images/wx-yunservice/clear-icon.png"
92
- />
93
- </div>
94
- </div>
95
- <div v-if="!props.inNavbar" class="dd-search__btn" @click.stop="onConfirm">搜索</div>
96
- </div>
97
- </template>
98
-
99
- <style lang="scss">
100
- .dd-search {
101
- padding: 8px 12px;
102
- display: flex;
103
- align-items: center;
104
- background: #fefefe;
105
- &.bordered {
106
- border-bottom: 1px solid #ddd;
107
- }
108
- &.inNavbar {
109
- padding: 0;
110
- width: 235px;
111
- z-index: 10;
112
- position: absolute;
113
- left: 40px;
114
- background: transparent;
115
- .dd-search__form {
116
- background: #f1f3f5;
117
- border-color: transparent;
118
- }
119
- }
120
- &.focus {
121
- .dd-search__form {
122
- border-color: var(--app-primary-color, #017fff);
123
- }
124
- }
125
- &__placeholder {
126
- color: #b4b4b4;
127
- }
128
- &__form {
129
- flex: 1;
130
- box-sizing: border-box;
131
- height: 36px;
132
- border-radius: 5px;
133
- display: flex;
134
- align-items: center;
135
- padding: 0 10px;
136
- background-color: #f1f3f5;
137
- }
138
- &__control {
139
- font-size: 13px;
140
- flex: 1;
141
- }
142
- &__input {
143
- width: 100%;
144
- box-sizing: border-box;
145
- padding: 0 10px;
146
- caret-color: var(--app-primary-color, #017fff);
147
- }
148
- &__prefix,
149
- &__suffix {
150
- width: 15px !important;
151
- height: 15px !important;
152
- }
153
- &__btn {
154
- height: 33px;
155
- line-height: 33px;
156
- padding: 0 10px;
157
- font-size: 16px;
158
- color: var(--app-primary-color, #017fff);
159
- }
160
- &.disabled &__suffix {
161
- display: none;
162
- }
163
- &.disabled &__control {
164
- flex: 1;
165
- width: fit-content;
166
- }
167
- }
168
- </style>
1
+ <script setup lang="ts">
2
+ import { computed, ref, watchPostEffect } from 'vue'
3
+
4
+ interface SearchType {
5
+ disabled?: boolean
6
+ placeholder?: string
7
+ value?: string
8
+ bordered?: boolean
9
+ inNavbar?: boolean
10
+ focus?: boolean
11
+ }
12
+ const props = withDefaults(defineProps<SearchType>(), {
13
+ disabled: false,
14
+ placeholder: '',
15
+ bordered: true,
16
+ inNavbar: false,
17
+ focus: true,
18
+ })
19
+
20
+ watchPostEffect(() => {
21
+ key.value = props.value || ''
22
+ })
23
+
24
+ const emit = defineEmits(['search', 'focus', 'clear'])
25
+
26
+ const ph = computed(() => {
27
+ return props.placeholder || '请输入'
28
+ })
29
+
30
+ const key = ref('')
31
+ const showClear = computed(() => {
32
+ return !!key.value.trim()
33
+ })
34
+ function onClear() {
35
+ key.value = ''
36
+ emit('clear', '')
37
+ }
38
+ function onConfirm() {
39
+ if (props.disabled) return
40
+ // if (key.value.trim()) {
41
+ key.value = key.value.trim()
42
+ emit('search', key.value)
43
+ // }
44
+ }
45
+ function onFoucs(e) {
46
+ isFoucs.value = true
47
+ emit('focus', e)
48
+ }
49
+ function onBlur() {
50
+ isFoucs.value = false
51
+ }
52
+ const isFoucs = ref(props.focus)
53
+ </script>
54
+
55
+ <template>
56
+ <div
57
+ class="dd-search"
58
+ :class="{
59
+ disabled: props.disabled,
60
+ bordered: props.bordered,
61
+ inNavbar: props.inNavbar,
62
+ focus: !props.disabled && isFoucs,
63
+ }"
64
+ >
65
+ <div class="dd-search__form">
66
+ <div class="dd-search__prefix">
67
+ <image
68
+ class="full-img"
69
+ src="https://cdn.ddjf.com/static/images/wx-yunservice/search-icon.png"
70
+ />
71
+ </div>
72
+ <div class="dd-search__control">
73
+ <input
74
+ class="dd-search__input"
75
+ type="text"
76
+ :disabled="props.disabled"
77
+ :placeholder="ph"
78
+ v-model="key"
79
+ :focus="props.focus"
80
+ placeholder-class="dd-search__placeholder"
81
+ cursor-spacing="50"
82
+ confirm-type="search"
83
+ @confirm="onConfirm"
84
+ @focus="onFoucs"
85
+ @blur="onBlur"
86
+ />
87
+ </div>
88
+ <div class="dd-search__suffix" v-show="showClear" @tap="onClear">
89
+ <image
90
+ class="full-img"
91
+ src="https://cdn.ddjf.com/static/images/wx-yunservice/clear-icon.png"
92
+ />
93
+ </div>
94
+ </div>
95
+ <div v-if="!props.inNavbar" class="dd-search__btn" @click.stop="onConfirm">搜索</div>
96
+ </div>
97
+ </template>
98
+
99
+ <style lang="scss">
100
+ .dd-search {
101
+ padding: 8px 12px;
102
+ display: flex;
103
+ align-items: center;
104
+ background: #fefefe;
105
+ &.bordered {
106
+ border-bottom: 1px solid #ddd;
107
+ }
108
+ &.inNavbar {
109
+ padding: 0;
110
+ width: 235px;
111
+ z-index: 10;
112
+ position: absolute;
113
+ left: 40px;
114
+ background: transparent;
115
+ .dd-search__form {
116
+ background: #f1f3f5;
117
+ border-color: transparent;
118
+ }
119
+ }
120
+ &.focus {
121
+ .dd-search__form {
122
+ border-color: var(--app-primary-color, #017fff);
123
+ }
124
+ }
125
+ &__placeholder {
126
+ color: #b4b4b4;
127
+ }
128
+ &__form {
129
+ flex: 1;
130
+ box-sizing: border-box;
131
+ height: 36px;
132
+ border-radius: 5px;
133
+ display: flex;
134
+ align-items: center;
135
+ padding: 0 10px;
136
+ background-color: #f1f3f5;
137
+ }
138
+ &__control {
139
+ font-size: 13px;
140
+ flex: 1;
141
+ }
142
+ &__input {
143
+ width: 100%;
144
+ box-sizing: border-box;
145
+ padding: 0 10px;
146
+ caret-color: var(--app-primary-color, #017fff);
147
+ }
148
+ &__prefix,
149
+ &__suffix {
150
+ width: 15px !important;
151
+ height: 15px !important;
152
+ }
153
+ &__btn {
154
+ height: 33px;
155
+ line-height: 33px;
156
+ padding: 0 10px;
157
+ font-size: 16px;
158
+ color: var(--app-primary-color, #017fff);
159
+ }
160
+ &.disabled &__suffix {
161
+ display: none;
162
+ }
163
+ &.disabled &__control {
164
+ flex: 1;
165
+ width: fit-content;
166
+ }
167
+ }
168
+ </style>