@uxda/appkit 4.3.40 → 4.3.42

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 (139) hide show
  1. package/.cursor/skills/appkit-build-update-component-rules/SKILL.md +54 -54
  2. package/.cursor/skills/appkit-sync-component-rules/SKILL.md +60 -60
  3. package/.eslintrc.mjs +7 -7
  4. package/Appkit/347/273/204/344/273/266/344/275/277/347/224/250/350/247/204/345/210/231.md +2002 -2002
  5. package/PROJECT_DOCS.md +150 -142
  6. package/README.md +194 -194
  7. package/babel.config.js +12 -12
  8. package/dist/appkit.css +3 -3
  9. package/dist/index.js +4 -4
  10. package/package.json +82 -82
  11. package/project.config.json +15 -15
  12. package/project.tt.json +13 -13
  13. package/rollup.config.mjs +81 -81
  14. package/src/Appkit.ts +72 -72
  15. package/src/balance/api/endpoints.ts +134 -134
  16. package/src/balance/api/index.ts +118 -118
  17. package/src/balance/components/AccountView.vue +850 -850
  18. package/src/balance/components/BalanceCard.vue +210 -210
  19. package/src/balance/components/BalanceReminder.vue +84 -84
  20. package/src/balance/components/ConsumptionFilter.vue +218 -218
  21. package/src/balance/components/ConsumptionRules.vue +68 -68
  22. package/src/balance/components/DateFilter.vue +259 -259
  23. package/src/balance/components/DateRange.vue +111 -111
  24. package/src/balance/components/ListFilter.vue +62 -62
  25. package/src/balance/components/ListFilterPicker.vue +191 -191
  26. package/src/balance/components/PromoterCard.vue +308 -308
  27. package/src/balance/components/SecondBalance.vue +77 -77
  28. package/src/balance/components/Tip.vue +45 -45
  29. package/src/balance/components/index.ts +8 -8
  30. package/src/balance/types.ts +99 -99
  31. package/src/components/bt-cropper/index.vue +730 -730
  32. package/src/components/bt-cropper/utils/calcCropper.js +42 -42
  33. package/src/components/bt-cropper/utils/calcImagePosition.js +23 -23
  34. package/src/components/bt-cropper/utils/calcImageSize.js +37 -37
  35. package/src/components/bt-cropper/utils/calcPointDistance.js +12 -12
  36. package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -7
  37. package/src/components/bt-cropper/utils/ratio.js +3 -3
  38. package/src/components/bt-cropper/utils/tools.js +25 -25
  39. package/src/components/dd-area/index.vue +225 -225
  40. package/src/components/dd-icon/doc.md +21 -21
  41. package/src/components/dd-icon/index.vue +23 -23
  42. package/src/components/dd-notice-bar/index.vue +78 -78
  43. package/src/components/dd-search/doc.md +34 -34
  44. package/src/components/dd-search/index.vue +168 -168
  45. package/src/components/dd-selector/index.vue +124 -124
  46. package/src/components/dd-skeleton/doc.md +19 -19
  47. package/src/components/dd-skeleton/index.vue +36 -36
  48. package/src/global.ts +6 -6
  49. package/src/index.ts +101 -101
  50. package/src/main.scss +1 -1
  51. package/src/notice/api/endpoints.ts +54 -54
  52. package/src/notice/api/index.ts +121 -121
  53. package/src/notice/components/NoticeBanner.vue +247 -247
  54. package/src/notice/components/NoticeEntry.vue +99 -99
  55. package/src/notice/components/NoticeList.vue +311 -311
  56. package/src/notice/components/NoticeList2.vue +401 -401
  57. package/src/notice/components/NoticePopup.vue +163 -163
  58. package/src/notice/components/index.ts +6 -6
  59. package/src/notice/components/useCommonList.ts +87 -87
  60. package/src/notice/components/useNotice.ts +35 -35
  61. package/src/notice/index.ts +1 -1
  62. package/src/notice/types.ts +25 -25
  63. package/src/payment/api/config.ts +7 -7
  64. package/src/payment/api/endpoints.ts +112 -112
  65. package/src/payment/api/index.ts +108 -108
  66. package/src/payment/components/AmountPicker.vue +56 -56
  67. package/src/payment/components/RechargeResult.vue +68 -68
  68. package/src/payment/components/RechargeView.vue +420 -420
  69. package/src/payment/components/RightsPicker.vue +105 -105
  70. package/src/payment/components/TradeView.vue +627 -627
  71. package/src/payment/components/UserAgreement.vue +234 -234
  72. package/src/payment/components/index.ts +22 -22
  73. package/src/payment/components/recharge-amount.spec.ts +54 -54
  74. package/src/payment/components/recharge-amount.ts +67 -67
  75. package/src/payment/index.ts +5 -5
  76. package/src/payment/services/index.ts +16 -16
  77. package/src/payment/services/invoke-recharge.ts +25 -25
  78. package/src/payment/services/request-payment.ts +136 -136
  79. package/src/payment/types.ts +34 -34
  80. package/src/register/components/SelfRegistration.vue +233 -233
  81. package/src/register/components/index.ts +2 -2
  82. package/src/scenarios/components/SharePoster.vue +364 -364
  83. package/src/scenarios/components/index.ts +2 -2
  84. package/src/scenarios/components/poster-paste.vue +93 -93
  85. package/src/scenarios/components/share-poster.md +273 -273
  86. package/src/shared/components/AppDrawer.vue +53 -53
  87. package/src/shared/components/AppVerify.vue +137 -137
  88. package/src/shared/components/DeviceVersion.vue +78 -78
  89. package/src/shared/components/EmptyView.vue +33 -33
  90. package/src/shared/components/OcrBank.vue +202 -202
  91. package/src/shared/components/OcrBusinessLicense.vue +120 -120
  92. package/src/shared/components/OcrIcon.vue +267 -267
  93. package/src/shared/components/OcrInvoice.vue +323 -323
  94. package/src/shared/components/OfficeDocx.vue +33 -33
  95. package/src/shared/components/OfficePdf.vue +35 -35
  96. package/src/shared/components/PageHeader.vue +84 -84
  97. package/src/shared/components/index.ts +12 -12
  98. package/src/shared/composables/index.ts +10 -10
  99. package/src/shared/composables/useAmount.ts +46 -46
  100. package/src/shared/composables/useCompress.ts +64 -64
  101. package/src/shared/composables/useCountdown.ts +46 -46
  102. package/src/shared/composables/useCrypto.ts +76 -76
  103. package/src/shared/composables/useDeviceEnv.ts +61 -61
  104. package/src/shared/composables/useDragBox.ts +97 -97
  105. package/src/shared/composables/useEncode.ts +43 -43
  106. package/src/shared/composables/useLogger.ts +149 -149
  107. package/src/shared/composables/useSafeArea.ts +46 -46
  108. package/src/shared/composables/useTabbar.ts +24 -24
  109. package/src/shared/composables/useUpload.ts +106 -106
  110. package/src/shared/composables/useValidator.ts +32 -32
  111. package/src/shared/composables/useWxAuth.ts +49 -49
  112. package/src/shared/http/Http.ts +149 -149
  113. package/src/shared/http/index.ts +1 -1
  114. package/src/shared/http/types.ts +163 -163
  115. package/src/shared/index.ts +9 -9
  116. package/src/shared/tracking/directives/index.ts +40 -40
  117. package/src/shared/tracking/examples/page-tracking-template.vue +27 -27
  118. package/src/shared/weixin/index.ts +9 -9
  119. package/src/shared/weixin/jssdk.ts +104 -104
  120. package/src/shared/weixin/payment.ts +38 -38
  121. package/src/styles/vars.scss +3 -3
  122. package/src/user/api/endpoints.ts +17 -17
  123. package/src/user/api/index.ts +123 -123
  124. package/src/user/components/LoginSetting.vue +114 -114
  125. package/src/user/components/UserAuth.vue +218 -218
  126. package/src/user/components/UserBinding.vue +277 -277
  127. package/src/user/components/UserBindingSuccess.vue +80 -80
  128. package/src/user/components/UserEntry.vue +139 -139
  129. package/src/user/components/UserFeedback.vue +428 -428
  130. package/src/user/components/UserFeedbackEntry.vue +175 -175
  131. package/src/user/components/UserHeadCrop.vue +65 -65
  132. package/src/user/components/UserInfo.vue +711 -711
  133. package/src/user/components/UserResourceEmpty.vue +75 -75
  134. package/src/user/components/index.ts +23 -23
  135. package/src/user/index.ts +1 -1
  136. package/src/utils/utils.ts +33 -33
  137. package/tsconfig.json +30 -30
  138. package/types/global.d.ts +23 -23
  139. package/types/vue.d.ts +10 -10
package/project.tt.json CHANGED
@@ -1,13 +1,13 @@
1
- {
2
- "miniprogramRoot": "./",
3
- "projectname": "appkit",
4
- "description": "",
5
- "appid": "touristappid",
6
- "setting": {
7
- "urlCheck": true,
8
- "es6": false,
9
- "postcss": false,
10
- "minified": false
11
- },
12
- "compileType": "miniprogram"
13
- }
1
+ {
2
+ "miniprogramRoot": "./",
3
+ "projectname": "appkit",
4
+ "description": "",
5
+ "appid": "touristappid",
6
+ "setting": {
7
+ "urlCheck": true,
8
+ "es6": false,
9
+ "postcss": false,
10
+ "minified": false
11
+ },
12
+ "compileType": "miniprogram"
13
+ }
package/rollup.config.mjs CHANGED
@@ -1,81 +1,81 @@
1
- import vue from 'rollup-plugin-vue';
2
- import css from 'rollup-plugin-css-only';
3
- import esbuild from 'rollup-plugin-esbuild';
4
- import postcss from 'rollup-plugin-postcss';
5
- import atImport from 'postcss-import';
6
- import NutUIResolver from '@nutui/auto-import-resolver';
7
- import Components from 'unplugin-vue-components/rollup';
8
- import { visualizer } from 'rollup-plugin-visualizer';
9
-
10
- export default [
11
- {
12
- input: 'src/index.ts',
13
- output: [
14
- {
15
- format: 'es',
16
- name: 'AppKit',
17
- exports: 'named',
18
- globals: {
19
- vue: 'Vue',
20
- },
21
- dir: 'dist',
22
- },
23
- ],
24
- plugins: [
25
- css(),
26
- vue({
27
- css: false,
28
- defaultLang: {
29
- script: 'ts',
30
- style: 'scss',
31
- },
32
- }),
33
- postcss({
34
- include: /\.scss/,
35
- extract: 'appkit.css',
36
- plugins: [
37
- atImport(),
38
- {
39
- postcssPlugin: 'remove-charset',
40
- Once(root) {
41
- root.walkAtRules('charset', (rule) => {
42
- rule.remove();
43
- });
44
- },
45
- },
46
- ],
47
- }),
48
- esbuild({}),
49
- Components({
50
- resolvers: [NutUIResolver({ taro: true })],
51
- }),
52
- visualizer(),
53
- ],
54
- external: [
55
- 'vue',
56
- '@tarojs/components',
57
- '@tarojs/shared',
58
- '@nutui/nutui',
59
- '@nutui/nutui-taro',
60
- '@uxda/nutshell',
61
- 'dayjs',
62
- 'validator',
63
- 'dsbridge',
64
- '@vue-office/docx',
65
- '@vue-office/pdf',
66
- 'vue-demi'
67
- ],
68
- },
69
- // {
70
- // input: './src/main.scss',
71
- // output: {
72
- // file: 'dist/main.css',
73
- // },
74
- // plugins: [
75
- // postcss({
76
- // use: ['sass'],
77
- // extract: resolve('./dist/styles.css'),
78
- // })
79
- // ]
80
- // },
81
- ];
1
+ import vue from 'rollup-plugin-vue';
2
+ import css from 'rollup-plugin-css-only';
3
+ import esbuild from 'rollup-plugin-esbuild';
4
+ import postcss from 'rollup-plugin-postcss';
5
+ import atImport from 'postcss-import';
6
+ import NutUIResolver from '@nutui/auto-import-resolver';
7
+ import Components from 'unplugin-vue-components/rollup';
8
+ import { visualizer } from 'rollup-plugin-visualizer';
9
+
10
+ export default [
11
+ {
12
+ input: 'src/index.ts',
13
+ output: [
14
+ {
15
+ format: 'es',
16
+ name: 'AppKit',
17
+ exports: 'named',
18
+ globals: {
19
+ vue: 'Vue',
20
+ },
21
+ dir: 'dist',
22
+ },
23
+ ],
24
+ plugins: [
25
+ css(),
26
+ vue({
27
+ css: false,
28
+ defaultLang: {
29
+ script: 'ts',
30
+ style: 'scss',
31
+ },
32
+ }),
33
+ postcss({
34
+ include: /\.scss/,
35
+ extract: 'appkit.css',
36
+ plugins: [
37
+ atImport(),
38
+ {
39
+ postcssPlugin: 'remove-charset',
40
+ Once(root) {
41
+ root.walkAtRules('charset', (rule) => {
42
+ rule.remove();
43
+ });
44
+ },
45
+ },
46
+ ],
47
+ }),
48
+ esbuild({}),
49
+ Components({
50
+ resolvers: [NutUIResolver({ taro: true })],
51
+ }),
52
+ visualizer(),
53
+ ],
54
+ external: [
55
+ 'vue',
56
+ '@tarojs/components',
57
+ '@tarojs/shared',
58
+ '@nutui/nutui',
59
+ '@nutui/nutui-taro',
60
+ '@uxda/nutshell',
61
+ 'dayjs',
62
+ 'validator',
63
+ 'dsbridge',
64
+ '@vue-office/docx',
65
+ '@vue-office/pdf',
66
+ 'vue-demi'
67
+ ],
68
+ },
69
+ // {
70
+ // input: './src/main.scss',
71
+ // output: {
72
+ // file: 'dist/main.css',
73
+ // },
74
+ // plugins: [
75
+ // postcss({
76
+ // use: ['sass'],
77
+ // extract: resolve('./dist/styles.css'),
78
+ // })
79
+ // ]
80
+ // },
81
+ ];
package/src/Appkit.ts CHANGED
@@ -1,72 +1,72 @@
1
- import { PaymentParams, RechargeParams } from './payment/types'
2
- import { globalData } from './global'
3
- import { Directive } from 'vue'
4
-
5
- /**
6
- * options for useAppKit
7
- */
8
- export type AppKitOptions = {
9
- /**
10
- * 应用
11
- */
12
- app(): string
13
- /**
14
- * 租户
15
- */
16
- tenant(): string
17
- /**
18
- * token 获取方法
19
- * 由使用场景提供
20
- */
21
- token(): string
22
- /**
23
- * 临时 token 获取方法
24
- * 由使用场景提供
25
- */
26
- tempToken: () => string
27
- /**
28
- * 临时 appcode 获取方法
29
- * 由使用场景提供
30
- */
31
- baseUrl(): string
32
-
33
- 401(): void
34
- /**
35
- * http灰度标记
36
- */
37
- gray(): string
38
- /**
39
- * 自定义指令
40
- */
41
- directives?: Record<string, Directive>
42
- }
43
-
44
- export type DollarApp = {
45
- setToken: (token: () => string) => void
46
- setTempToken: (token: () => string) => void
47
- requestPayment: (options: PaymentParams) => void
48
- invokeRecharge: (options: RechargeParams) => void
49
- getSdkConfig: (appCode: string, url: string) => void
50
- }
51
-
52
- /**
53
- * 用来记忆使用场景传递的 options
54
- */
55
- const appKitOptions: AppKitOptions = {
56
- app: () => '',
57
- tenant: () => '',
58
- token: () => '',
59
- tempToken: () => '',
60
- baseUrl: () => '',
61
- 401() {},
62
- gray: () => '',
63
- }
64
-
65
- const useAppKitOptions = () => {
66
- if (!globalData.$appKitOptions) {
67
- globalData.$appKitOptions = appKitOptions
68
- }
69
- return globalData.$appKitOptions as AppKitOptions
70
- }
71
-
72
- export { useAppKitOptions }
1
+ import { PaymentParams, RechargeParams } from './payment/types'
2
+ import { globalData } from './global'
3
+ import { Directive } from 'vue'
4
+
5
+ /**
6
+ * options for useAppKit
7
+ */
8
+ export type AppKitOptions = {
9
+ /**
10
+ * 应用
11
+ */
12
+ app(): string
13
+ /**
14
+ * 租户
15
+ */
16
+ tenant(): string
17
+ /**
18
+ * token 获取方法
19
+ * 由使用场景提供
20
+ */
21
+ token(): string
22
+ /**
23
+ * 临时 token 获取方法
24
+ * 由使用场景提供
25
+ */
26
+ tempToken: () => string
27
+ /**
28
+ * 临时 appcode 获取方法
29
+ * 由使用场景提供
30
+ */
31
+ baseUrl(): string
32
+
33
+ 401(): void
34
+ /**
35
+ * http灰度标记
36
+ */
37
+ gray(): string
38
+ /**
39
+ * 自定义指令
40
+ */
41
+ directives?: Record<string, Directive>
42
+ }
43
+
44
+ export type DollarApp = {
45
+ setToken: (token: () => string) => void
46
+ setTempToken: (token: () => string) => void
47
+ requestPayment: (options: PaymentParams) => void
48
+ invokeRecharge: (options: RechargeParams) => void
49
+ getSdkConfig: (appCode: string, url: string) => void
50
+ }
51
+
52
+ /**
53
+ * 用来记忆使用场景传递的 options
54
+ */
55
+ const appKitOptions: AppKitOptions = {
56
+ app: () => '',
57
+ tenant: () => '',
58
+ token: () => '',
59
+ tempToken: () => '',
60
+ baseUrl: () => '',
61
+ 401() {},
62
+ gray: () => '',
63
+ }
64
+
65
+ const useAppKitOptions = () => {
66
+ if (!globalData.$appKitOptions) {
67
+ globalData.$appKitOptions = appKitOptions
68
+ }
69
+ return globalData.$appKitOptions as AppKitOptions
70
+ }
71
+
72
+ export { useAppKitOptions }
@@ -1,134 +1,134 @@
1
- import { HttpEndpoints } from '../../shared/http'
2
- import { 账户流水筛选项, ConsumptionType } from '../types'
3
-
4
- type OnlyApp = {
5
- app: string
6
- }
7
-
8
- type AndApp<T> = OnlyApp & T
9
-
10
- /**
11
- * 流水交易类型映射
12
- */
13
- const typeMappings: Record<string, ConsumptionType> = {
14
- CZ: '充值',
15
- JF: '缴费',
16
- FE: '返额',
17
- ZJ: '增加',
18
- KJ: '扣减',
19
- XH: '消耗',
20
- TH: '退回',
21
- ZS: '赠送',
22
- HG: '换购',
23
- }
24
-
25
- /**
26
- * 映射还能反过来
27
- */
28
- const typeMappingsReversed = Object.fromEntries(
29
- Object.entries(typeMappings).map(([x, y]) => [y, x])
30
- )
31
-
32
- const positionMappings = {
33
- common: '云豆',
34
- rights: '小云豆',
35
- gift: '权益',
36
- }
37
-
38
- const positionMappingsReversed = Object.fromEntries(
39
- Object.entries(positionMappings).map(([x, y]) => [y, x])
40
- )
41
-
42
- const directionMappings = {
43
- 0: '收入',
44
- 1: '支出',
45
- }
46
-
47
- const directionMappingsReversed = Object.fromEntries(
48
- Object.entries(directionMappings).map(([x, y]) => [y, x])
49
- )
50
-
51
- const endpointsList: HttpEndpoints = {
52
- 获取余额明细: {
53
- path: '/ac-app/account/info/detail/app', // /app
54
- translate: (data: OnlyApp) => ({
55
- appCode: data.app || '',
56
- }),
57
- transform(result: any) {
58
- return {
59
- total: result.commonAccount,
60
- privileges: result.rightsAccountBalList.map((r: any) => ({
61
- title: r.rightsName,
62
- count: r.rightsAccount,
63
- unit: r.rightsUnit,
64
- appCode: r.appCode,
65
- code: r.rightsCode,
66
- id: r.activityId,
67
- })),
68
- }
69
- },
70
- },
71
- 获取账户流水: {
72
- path: '/ac-app/account/record/detail/mobile',
73
- translate: (data: AndApp<账户流水筛选项>) => {
74
- return {
75
- appCode: data.app,
76
- accountType: positionMappingsReversed[data.账户类型] || '',
77
- inOrOut: directionMappingsReversed[data.收入还是支出] || '',
78
- changeType: typeMappingsReversed[data.交易类型] || '',
79
- operateTimeStart: data.dateFrom || '',
80
- operateTimeEnd: data.dateTo || '',
81
- rightsCode: data.权益类目,
82
- pageNum: data.page,
83
- pageSize: 15,
84
- }
85
- },
86
- transform(response: any) {
87
- const data = response.list.map((d: any) => ({
88
- 账户类型: positionMappings[d.accountType],
89
- 交易类型: typeMappings[d.changeType],
90
- 收入还是支出: directionMappings[d.inOrOut],
91
- amount: d.changeValue,
92
- title: d.rightsName,
93
- time: Date.parse(d.operateTime), // 后台返回的是日期字符串,这里格式化成 timestamp
94
- description: d.remark,
95
- }))
96
- return data
97
- },
98
- },
99
- 获取权益类目: {
100
- path: '/ac-app/rights/item/list',
101
- translate: (data: OnlyApp) => ({
102
- appCode: data.app,
103
- }),
104
- // translate (data: ConsumptionFiltering) {
105
- // // return { appCode: data.appCode }
106
- // },
107
- transform: (data: any[]) =>
108
- data.map((d) => ({
109
- name: d.rightsName,
110
- code: d.rightsCode,
111
- })),
112
- },
113
- 获取推广方账户信息: {
114
- path: '/promoact/app/promoter/getPromoterAccountInfo', // /app
115
- translate: (data: OnlyApp) => data,
116
- transform(result: any) {
117
- return result
118
- },
119
- },
120
- }
121
-
122
- const endpoints = Object.fromEntries(
123
- Object.entries(endpointsList).map(([name, def]) => [name, def.path])
124
- )
125
-
126
- const translates = Object.fromEntries(
127
- Object.entries(endpointsList).map(([, def]) => [def.path, def.translate])
128
- )
129
-
130
- const transforms = Object.fromEntries(
131
- Object.entries(endpointsList).map(([, def]) => [def.path, def.transform])
132
- )
133
-
134
- export { endpoints, translates, transforms }
1
+ import { HttpEndpoints } from '../../shared/http'
2
+ import { 账户流水筛选项, ConsumptionType } from '../types'
3
+
4
+ type OnlyApp = {
5
+ app: string
6
+ }
7
+
8
+ type AndApp<T> = OnlyApp & T
9
+
10
+ /**
11
+ * 流水交易类型映射
12
+ */
13
+ const typeMappings: Record<string, ConsumptionType> = {
14
+ CZ: '充值',
15
+ JF: '缴费',
16
+ FE: '返额',
17
+ ZJ: '增加',
18
+ KJ: '扣减',
19
+ XH: '消耗',
20
+ TH: '退回',
21
+ ZS: '赠送',
22
+ HG: '换购',
23
+ }
24
+
25
+ /**
26
+ * 映射还能反过来
27
+ */
28
+ const typeMappingsReversed = Object.fromEntries(
29
+ Object.entries(typeMappings).map(([x, y]) => [y, x])
30
+ )
31
+
32
+ const positionMappings = {
33
+ common: '云豆',
34
+ rights: '小云豆',
35
+ gift: '权益',
36
+ }
37
+
38
+ const positionMappingsReversed = Object.fromEntries(
39
+ Object.entries(positionMappings).map(([x, y]) => [y, x])
40
+ )
41
+
42
+ const directionMappings = {
43
+ 0: '收入',
44
+ 1: '支出',
45
+ }
46
+
47
+ const directionMappingsReversed = Object.fromEntries(
48
+ Object.entries(directionMappings).map(([x, y]) => [y, x])
49
+ )
50
+
51
+ const endpointsList: HttpEndpoints = {
52
+ 获取余额明细: {
53
+ path: '/ac-app/account/info/detail/app', // /app
54
+ translate: (data: OnlyApp) => ({
55
+ appCode: data.app || '',
56
+ }),
57
+ transform(result: any) {
58
+ return {
59
+ total: result.commonAccount,
60
+ privileges: result.rightsAccountBalList.map((r: any) => ({
61
+ title: r.rightsName,
62
+ count: r.rightsAccount,
63
+ unit: r.rightsUnit,
64
+ appCode: r.appCode,
65
+ code: r.rightsCode,
66
+ id: r.activityId,
67
+ })),
68
+ }
69
+ },
70
+ },
71
+ 获取账户流水: {
72
+ path: '/ac-app/account/record/detail/mobile',
73
+ translate: (data: AndApp<账户流水筛选项>) => {
74
+ return {
75
+ appCode: data.app,
76
+ accountType: positionMappingsReversed[data.账户类型] || '',
77
+ inOrOut: directionMappingsReversed[data.收入还是支出] || '',
78
+ changeType: typeMappingsReversed[data.交易类型] || '',
79
+ operateTimeStart: data.dateFrom || '',
80
+ operateTimeEnd: data.dateTo || '',
81
+ rightsCode: data.权益类目,
82
+ pageNum: data.page,
83
+ pageSize: 15,
84
+ }
85
+ },
86
+ transform(response: any) {
87
+ const data = response.list.map((d: any) => ({
88
+ 账户类型: positionMappings[d.accountType],
89
+ 交易类型: typeMappings[d.changeType],
90
+ 收入还是支出: directionMappings[d.inOrOut],
91
+ amount: d.changeValue,
92
+ title: d.rightsName,
93
+ time: Date.parse(d.operateTime), // 后台返回的是日期字符串,这里格式化成 timestamp
94
+ description: d.remark,
95
+ }))
96
+ return data
97
+ },
98
+ },
99
+ 获取权益类目: {
100
+ path: '/ac-app/rights/item/list',
101
+ translate: (data: OnlyApp) => ({
102
+ appCode: data.app,
103
+ }),
104
+ // translate (data: ConsumptionFiltering) {
105
+ // // return { appCode: data.appCode }
106
+ // },
107
+ transform: (data: any[]) =>
108
+ data.map((d) => ({
109
+ name: d.rightsName,
110
+ code: d.rightsCode,
111
+ })),
112
+ },
113
+ 获取推广方账户信息: {
114
+ path: '/promoact/app/promoter/getPromoterAccountInfo', // /app
115
+ translate: (data: OnlyApp) => data,
116
+ transform(result: any) {
117
+ return result
118
+ },
119
+ },
120
+ }
121
+
122
+ const endpoints = Object.fromEntries(
123
+ Object.entries(endpointsList).map(([name, def]) => [name, def.path])
124
+ )
125
+
126
+ const translates = Object.fromEntries(
127
+ Object.entries(endpointsList).map(([, def]) => [def.path, def.translate])
128
+ )
129
+
130
+ const transforms = Object.fromEntries(
131
+ Object.entries(endpointsList).map(([, def]) => [def.path, def.transform])
132
+ )
133
+
134
+ export { endpoints, translates, transforms }