@uxda/appkit 4.2.0 → 4.2.2

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 (118) 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 +8 -6
  5. package/dist/assets/asset-3B_CoPto +1 -0
  6. package/dist/index.js +19 -49
  7. package/package.json +79 -79
  8. package/project.config.json +15 -15
  9. package/project.tt.json +13 -13
  10. package/rollup.config.mjs +67 -67
  11. package/src/Appkit.ts +66 -66
  12. package/src/balance/api/endpoints.ts +133 -133
  13. package/src/balance/api/index.ts +106 -106
  14. package/src/balance/components/AccountView.vue +750 -750
  15. package/src/balance/components/BalanceCard.vue +215 -215
  16. package/src/balance/components/BalanceReminder.vue +85 -85
  17. package/src/balance/components/ConsumptionFilter.vue +218 -218
  18. package/src/balance/components/ConsumptionRules.vue +68 -68
  19. package/src/balance/components/DateFilter.vue +250 -250
  20. package/src/balance/components/DateRange.vue +80 -80
  21. package/src/balance/components/ListFilter.vue +62 -62
  22. package/src/balance/components/ListFilterPicker.vue +191 -191
  23. package/src/balance/components/PromoterCard.vue +237 -237
  24. package/src/balance/components/SecondBalance.vue +71 -71
  25. package/src/balance/components/Tip.vue +45 -45
  26. package/src/balance/components/index.ts +8 -8
  27. package/src/balance/types.ts +97 -97
  28. package/src/components/bt-cropper/index.vue +774 -774
  29. package/src/components/bt-cropper/utils/calcCropper.js +42 -42
  30. package/src/components/bt-cropper/utils/calcImagePosition.js +23 -23
  31. package/src/components/bt-cropper/utils/calcImageSize.js +37 -37
  32. package/src/components/bt-cropper/utils/calcPointDistance.js +12 -12
  33. package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -7
  34. package/src/components/bt-cropper/utils/ratio.js +3 -3
  35. package/src/components/bt-cropper/utils/tools.js +25 -25
  36. package/src/components/dd-area/index.vue +225 -225
  37. package/src/components/dd-icon/doc.md +21 -21
  38. package/src/components/dd-icon/index.vue +23 -23
  39. package/src/components/dd-notice-bar/index.vue +78 -78
  40. package/src/components/dd-search/doc.md +34 -34
  41. package/src/components/dd-search/index.vue +168 -168
  42. package/src/components/dd-selector/index.vue +124 -124
  43. package/src/components/dd-skeleton/doc.md +19 -19
  44. package/src/components/dd-skeleton/index.vue +36 -36
  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 -106
  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 -100
  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 +155 -155
  65. package/src/payment/components/RightsPicker.vue +105 -105
  66. package/src/payment/components/TradeView.vue +317 -317
  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 +233 -233
  75. package/src/register/components/index.ts +2 -2
  76. package/src/shared/components/AppDrawer.vue +58 -54
  77. package/src/shared/components/AppVerify.vue +128 -128
  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 +130 -130
  81. package/src/shared/components/OcrIcon.vue +202 -202
  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 -8
  85. package/src/shared/composables/useAmount.ts +46 -46
  86. package/src/shared/composables/useCountdown.ts +46 -46
  87. package/src/shared/composables/useCrypto.ts +76 -76
  88. package/src/shared/composables/useDragBox.ts +97 -97
  89. package/src/shared/composables/useEncode.ts +43 -43
  90. package/src/shared/composables/useLogger.ts +123 -123
  91. package/src/shared/composables/useSafeArea.ts +46 -46
  92. package/src/shared/composables/useTabbar.ts +24 -24
  93. package/src/shared/composables/useUpload.ts +54 -54
  94. package/src/shared/composables/useValidator.ts +32 -32
  95. package/src/shared/http/Http.ts +136 -136
  96. package/src/shared/http/index.ts +1 -1
  97. package/src/shared/http/types.ts +157 -157
  98. package/src/shared/index.ts +3 -3
  99. package/src/shared/weixin/payment.ts +38 -38
  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 -111
  103. package/src/user/components/LoginSetting.vue +114 -114
  104. package/src/user/components/UserAuth.vue +238 -238
  105. package/src/user/components/UserBinding.vue +307 -307
  106. package/src/user/components/UserBindingSuccess.vue +80 -80
  107. package/src/user/components/UserEntry.vue +133 -133
  108. package/src/user/components/UserFeedback.vue +431 -431
  109. package/src/user/components/UserFeedbackEntry.vue +192 -192
  110. package/src/user/components/UserHeadCrop.vue +65 -65
  111. package/src/user/components/UserInfo.vue +817 -732
  112. package/src/user/components/UserResourceEmpty.vue +75 -75
  113. package/src/user/components/index.ts +23 -23
  114. package/src/user/index.ts +1 -1
  115. package/stats.html +4842 -0
  116. package/tsconfig.json +30 -30
  117. package/types/global.d.ts +21 -21
  118. package/types/vue.d.ts +10 -10
@@ -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,133 +1,133 @@
1
- <template>
2
- <div class="user-entry">
3
- <div class="user-entry-head">
4
- <img class="user-entry-head-img" @click="toUser" mode="aspectFit" v-if="avatar" :src="avatar" alt="" />
5
- <img class="user-entry-head-img" mode="aspectFit" @click="toUser1" v-else
6
- src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png" alt="" />
7
- </div>
8
- <div class="user-entry-bd">
9
- <div v-if="!mobile" class="user-entry-bd-bigtxt" @click="toLogin">
10
- 请登录
11
- <span class="user-entry-bd-arrow">></span>
12
- </div>
13
- <template v-else>
14
- <div @click="toUser" class="user-entry-bd-txt">
15
- {{ name }}
16
- <span class="user-entry-bd-arrow">></span>
17
- </div>
18
- <div @click="toUser" class="user-entry-bd-smalltxt">{{ encodePhone(mobile) }}</div>
19
- </template>
20
- </div>
21
- </div>
22
- </template>
23
-
24
- <script lang="ts" setup>
25
- import { useEncode } from '../../shared/composables/useEncode'
26
-
27
- const props = withDefaults(
28
- defineProps<{
29
- avatar?: string
30
- mobile?: string
31
- name?: string
32
- }>(),
33
- {
34
- avatar: '',
35
- mobile: '',
36
- name: '',
37
- }
38
- )
39
-
40
- const { encodePhone } = useEncode()
41
-
42
- // 登录后,点击前往个人资料页
43
- function toUser() {
44
- emits('jump')
45
- }
46
-
47
- function toUser1() {
48
- props.mobile && toUser()
49
- }
50
-
51
- // 未登录时,点击前往登录
52
- function toLogin() {
53
- emits('login')
54
- }
55
-
56
- // 父组件事件
57
- const emits = defineEmits(['jump', 'login'])
58
- </script>
59
-
60
- <style lang="scss">
61
- .user-entry {
62
- position: absolute;
63
- left: 0;
64
- top: 125px;
65
- transform: translateY(-50%);
66
- display: flex;
67
- padding: 0 22px;
68
- align-items: center;
69
- width: 100%;
70
-
71
- &-head {
72
- position: relative;
73
- width: 62px;
74
- height: 62px;
75
- margin-right: 8px;
76
-
77
- &-img {
78
- width: 100%;
79
- height: 100%;
80
- overflow: hidden;
81
- border-radius: 50%;
82
- border: 1.5px solid #fff;
83
- }
84
-
85
- &-icon {
86
- position: absolute;
87
- width: 15px;
88
- height: 15px;
89
- bottom: 2px;
90
- left: 48px;
91
- background: url('https://cdn.ddjf.com/static/images/wx-yunservice/edit-icon.png') center;
92
- background-size: cover;
93
- }
94
- }
95
-
96
- &-bd {
97
- color: #fff;
98
-
99
- &-bigtxt {
100
- display: flex;
101
- align-items: center;
102
- font-size: 20px;
103
- font-weight: 500;
104
- line-height: 28px;
105
- margin-left: 10px;
106
-
107
- &-icon {
108
- width: 20px;
109
- }
110
- }
111
-
112
- &-txt {
113
- font-size: 20px;
114
- font-weight: 500;
115
- line-height: 25px;
116
- margin-bottom: 5px;
117
- display: flex;
118
- align-items: center;
119
- }
120
-
121
- &-smalltxt {
122
- margin-top: 0;
123
- font-size: 15px;
124
- line-height: 21px;
125
- }
126
-
127
- &-arrow {
128
- font-size: 12px;
129
- margin-left: 8px;
130
- }
131
- }
132
- }
133
- </style>
1
+ <template>
2
+ <div class="user-entry">
3
+ <div class="user-entry-head">
4
+ <img class="user-entry-head-img" @click="toUser" mode="aspectFit" v-if="avatar" :src="avatar" alt="" />
5
+ <img class="user-entry-head-img" mode="aspectFit" @click="toUser1" v-else
6
+ src="https://cdn.ddjf.com/static/images/wx-yunservice/account-head.png" alt="" />
7
+ </div>
8
+ <div class="user-entry-bd">
9
+ <div v-if="!mobile" class="user-entry-bd-bigtxt" @click="toLogin">
10
+ 请登录
11
+ <span class="user-entry-bd-arrow">></span>
12
+ </div>
13
+ <template v-else>
14
+ <div @click="toUser" class="user-entry-bd-txt">
15
+ {{ name }}
16
+ <span class="user-entry-bd-arrow">></span>
17
+ </div>
18
+ <div @click="toUser" class="user-entry-bd-smalltxt">{{ encodePhone(mobile) }}</div>
19
+ </template>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script lang="ts" setup>
25
+ import { useEncode } from '../../shared/composables/useEncode'
26
+
27
+ const props = withDefaults(
28
+ defineProps<{
29
+ avatar?: string
30
+ mobile?: string
31
+ name?: string
32
+ }>(),
33
+ {
34
+ avatar: '',
35
+ mobile: '',
36
+ name: '',
37
+ }
38
+ )
39
+
40
+ const { encodePhone } = useEncode()
41
+
42
+ // 登录后,点击前往个人资料页
43
+ function toUser() {
44
+ emits('jump')
45
+ }
46
+
47
+ function toUser1() {
48
+ props.mobile && toUser()
49
+ }
50
+
51
+ // 未登录时,点击前往登录
52
+ function toLogin() {
53
+ emits('login')
54
+ }
55
+
56
+ // 父组件事件
57
+ const emits = defineEmits(['jump', 'login'])
58
+ </script>
59
+
60
+ <style lang="scss">
61
+ .user-entry {
62
+ position: absolute;
63
+ left: 0;
64
+ top: 125px;
65
+ transform: translateY(-50%);
66
+ display: flex;
67
+ padding: 0 22px;
68
+ align-items: center;
69
+ width: 100%;
70
+
71
+ &-head {
72
+ position: relative;
73
+ width: 62px;
74
+ height: 62px;
75
+ margin-right: 8px;
76
+
77
+ &-img {
78
+ width: 100%;
79
+ height: 100%;
80
+ overflow: hidden;
81
+ border-radius: 50%;
82
+ border: 1.5px solid #fff;
83
+ }
84
+
85
+ &-icon {
86
+ position: absolute;
87
+ width: 15px;
88
+ height: 15px;
89
+ bottom: 2px;
90
+ left: 48px;
91
+ background: url('https://cdn.ddjf.com/static/images/wx-yunservice/edit-icon.png') center;
92
+ background-size: cover;
93
+ }
94
+ }
95
+
96
+ &-bd {
97
+ color: #fff;
98
+
99
+ &-bigtxt {
100
+ display: flex;
101
+ align-items: center;
102
+ font-size: 20px;
103
+ font-weight: 500;
104
+ line-height: 28px;
105
+ margin-left: 10px;
106
+
107
+ &-icon {
108
+ width: 20px;
109
+ }
110
+ }
111
+
112
+ &-txt {
113
+ font-size: 20px;
114
+ font-weight: 500;
115
+ line-height: 25px;
116
+ margin-bottom: 5px;
117
+ display: flex;
118
+ align-items: center;
119
+ }
120
+
121
+ &-smalltxt {
122
+ margin-top: 0;
123
+ font-size: 15px;
124
+ line-height: 21px;
125
+ }
126
+
127
+ &-arrow {
128
+ font-size: 12px;
129
+ margin-left: 8px;
130
+ }
131
+ }
132
+ }
133
+ </style>