@uxda/appkit 4.3.8 → 4.3.11
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.
- package/.eslintrc.mjs +7 -7
- package/COMPONENT_USAGE.md +1523 -1523
- package/PROJECT_DOCS.md +142 -142
- package/README.md +187 -187
- package/babel.config.js +12 -12
- package/dist/appkit.css +3 -48
- package/dist/index.js +84 -152
- package/package.json +82 -79
- package/project.config.json +15 -15
- package/project.tt.json +13 -13
- package/rollup.config.mjs +78 -78
- package/src/Appkit.ts +72 -72
- package/src/balance/api/endpoints.ts +133 -133
- package/src/balance/api/index.ts +118 -118
- package/src/balance/components/AccountView.vue +770 -770
- package/src/balance/components/BalanceCard.vue +210 -210
- package/src/balance/components/BalanceReminder.vue +84 -84
- package/src/balance/components/ConsumptionFilter.vue +218 -218
- package/src/balance/components/ConsumptionRules.vue +68 -68
- package/src/balance/components/DateFilter.vue +259 -259
- package/src/balance/components/DateRange.vue +111 -111
- package/src/balance/components/ListFilter.vue +62 -62
- package/src/balance/components/ListFilterPicker.vue +191 -191
- package/src/balance/components/PromoterCard.vue +307 -307
- package/src/balance/components/SecondBalance.vue +77 -77
- package/src/balance/components/Tip.vue +45 -45
- package/src/balance/components/index.ts +8 -8
- package/src/balance/types.ts +99 -99
- package/src/components/bt-cropper/index.vue +730 -730
- package/src/components/bt-cropper/utils/calcCropper.js +42 -42
- package/src/components/bt-cropper/utils/calcImagePosition.js +23 -23
- package/src/components/bt-cropper/utils/calcImageSize.js +37 -37
- package/src/components/bt-cropper/utils/calcPointDistance.js +12 -12
- package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -7
- package/src/components/bt-cropper/utils/ratio.js +3 -3
- package/src/components/bt-cropper/utils/tools.js +25 -25
- package/src/components/dd-area/index.vue +225 -225
- package/src/components/dd-icon/doc.md +21 -21
- package/src/components/dd-icon/index.vue +23 -23
- package/src/components/dd-notice-bar/index.vue +78 -78
- package/src/components/dd-search/doc.md +34 -34
- package/src/components/dd-search/index.vue +168 -168
- package/src/components/dd-selector/index.vue +124 -124
- package/src/components/dd-skeleton/doc.md +19 -19
- package/src/components/dd-skeleton/index.vue +36 -36
- package/src/global.ts +6 -6
- package/src/index.ts +101 -101
- package/src/main.scss +1 -1
- package/src/notice/api/endpoints.ts +54 -54
- package/src/notice/api/index.ts +121 -121
- package/src/notice/components/NoticeBanner.vue +247 -247
- package/src/notice/components/NoticeEntry.vue +99 -99
- package/src/notice/components/NoticeList.vue +311 -311
- package/src/notice/components/NoticeList2.vue +240 -400
- package/src/notice/components/NoticePopup.vue +163 -163
- package/src/notice/components/index.ts +6 -6
- package/src/notice/components/useCommonList.ts +86 -86
- package/src/notice/components/useNotice.ts +35 -35
- package/src/notice/index.ts +1 -1
- package/src/notice/types.ts +25 -25
- package/src/payment/api/config.ts +7 -7
- package/src/payment/api/endpoints.ts +96 -96
- package/src/payment/api/index.ts +107 -107
- package/src/payment/components/AmountPicker.vue +90 -90
- package/src/payment/components/RechargeResult.vue +69 -69
- package/src/payment/components/RechargeView.vue +195 -191
- package/src/payment/components/RightsPicker.vue +105 -105
- package/src/payment/components/TradeView.vue +365 -363
- package/src/payment/components/UserAgreement.vue +234 -234
- package/src/payment/components/index.ts +22 -22
- package/src/payment/index.ts +5 -5
- package/src/payment/services/index.ts +16 -16
- package/src/payment/services/invoke-recharge.ts +25 -25
- package/src/payment/services/request-payment.ts +130 -130
- package/src/payment/types.ts +33 -33
- package/src/register/components/SelfRegistration.vue +233 -233
- package/src/register/components/index.ts +2 -2
- package/src/scenarios/components/SharePoster.vue +364 -364
- package/src/scenarios/components/index.ts +2 -2
- package/src/scenarios/components/poster-paste.vue +93 -93
- package/src/scenarios/components/share-poster.md +273 -273
- package/src/shared/components/AppDrawer.vue +53 -53
- package/src/shared/components/AppVerify.vue +128 -128
- package/src/shared/components/DeviceVersion.vue +78 -78
- package/src/shared/components/EmptyView.vue +33 -33
- package/src/shared/components/OcrBusinessLicense.vue +137 -137
- package/src/shared/components/OcrIcon.vue +229 -229
- package/src/shared/components/PageHeader.vue +84 -84
- package/src/shared/components/index.ts +8 -8
- package/src/shared/composables/index.ts +9 -9
- package/src/shared/composables/useAmount.ts +46 -46
- package/src/shared/composables/useCountdown.ts +46 -46
- package/src/shared/composables/useCrypto.ts +76 -76
- package/src/shared/composables/useDeviceEnv.ts +26 -26
- package/src/shared/composables/useDragBox.ts +97 -97
- package/src/shared/composables/useEncode.ts +43 -43
- package/src/shared/composables/useLogger.ts +144 -144
- package/src/shared/composables/useSafeArea.ts +46 -46
- package/src/shared/composables/useTabbar.ts +24 -24
- package/src/shared/composables/useUpload.ts +61 -61
- package/src/shared/composables/useValidator.ts +32 -32
- package/src/shared/composables/useWxAuth.ts +48 -48
- package/src/shared/http/Http.ts +148 -148
- package/src/shared/http/index.ts +1 -1
- package/src/shared/http/types.ts +163 -163
- package/src/shared/index.ts +9 -9
- package/src/shared/tracking/directives/index.ts +40 -40
- package/src/shared/tracking/examples/page-tracking-template.vue +27 -27
- package/src/shared/weixin/index.ts +9 -9
- package/src/shared/weixin/jssdk.ts +103 -103
- package/src/shared/weixin/payment.ts +38 -38
- package/src/styles/vars.scss +3 -3
- package/src/user/api/endpoints.ts +17 -17
- package/src/user/api/index.ts +123 -123
- package/src/user/components/LoginSetting.vue +114 -114
- package/src/user/components/UserAuth.vue +218 -218
- package/src/user/components/UserBinding.vue +277 -277
- package/src/user/components/UserBindingSuccess.vue +80 -80
- package/src/user/components/UserEntry.vue +139 -139
- package/src/user/components/UserFeedback.vue +427 -427
- package/src/user/components/UserFeedbackEntry.vue +175 -175
- package/src/user/components/UserHeadCrop.vue +65 -65
- package/src/user/components/UserInfo.vue +709 -709
- package/src/user/components/UserResourceEmpty.vue +75 -75
- package/src/user/components/index.ts +23 -23
- package/src/user/index.ts +1 -1
- package/src/utils/utils.ts +33 -33
- package/tsconfig.json +30 -30
- package/types/global.d.ts +22 -22
- package/types/vue.d.ts +10 -10
- package/dist/assets/asset-DcH8Kg-2 +0 -1
package/src/shared/http/types.ts
CHANGED
|
@@ -1,163 +1,163 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 由使用场景提供的配置
|
|
3
|
-
* createHttp() 使用的配置
|
|
4
|
-
*/
|
|
5
|
-
export type HttpClientConfig = {
|
|
6
|
-
vendor?: HttpVendor
|
|
7
|
-
baseUrl: string
|
|
8
|
-
/**
|
|
9
|
-
* 向 HTTP header 加入的数据
|
|
10
|
-
* 通常含有 JWT token 以及其他参数
|
|
11
|
-
*/
|
|
12
|
-
headers?: HeaderParams
|
|
13
|
-
paging?: Paging
|
|
14
|
-
/**
|
|
15
|
-
* 拦截器组
|
|
16
|
-
* 请求返回异常时进行一定的操作
|
|
17
|
-
*/
|
|
18
|
-
interceptors?: HttpInterceptor[]
|
|
19
|
-
translates?: HttpTranslates
|
|
20
|
-
transforms?: HttpTransforms
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* HTTP 请求的底层实现
|
|
25
|
-
* Axios/Taro.request
|
|
26
|
-
*/
|
|
27
|
-
export type HttpVendor = {
|
|
28
|
-
request<T = ResponseData>(config: HttpRequestConfig): Promise<ResponseRaw<T>>
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export type HttpInterceptor = (raw: ResponseRaw) => boolean
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Request Config for request API
|
|
35
|
-
* 沿用 Axios 的部分配置
|
|
36
|
-
*/
|
|
37
|
-
export type HttpRequestConfig<D = RequestData> = {
|
|
38
|
-
url: string
|
|
39
|
-
method?: HttpMethod
|
|
40
|
-
baseUrl?: string
|
|
41
|
-
headers?: HeaderData
|
|
42
|
-
data?: D
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Request data for http get & post method
|
|
47
|
-
*/
|
|
48
|
-
export type RequestData = Record<string, any>
|
|
49
|
-
|
|
50
|
-
export type RequestHeaders = Record<string, any>
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* 接口请求返回的标准格式
|
|
54
|
-
*/
|
|
55
|
-
export type ResponseRaw<T = ResponseData> = {
|
|
56
|
-
status: number
|
|
57
|
-
message: string
|
|
58
|
-
data: T
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* 拆箱之后前端拿到的数据
|
|
63
|
-
*/
|
|
64
|
-
export type ResponseData = Record<string, any> | any[]
|
|
65
|
-
|
|
66
|
-
export type HttpInstance = {
|
|
67
|
-
request<T = ResponseData>(config: HttpRequestConfig): Promise<T>
|
|
68
|
-
get<T = ResponseData>(url: string, data?: RequestData): Promise<T>
|
|
69
|
-
post<T = ResponseData>(url: string, data?: RequestData, headers?: RequestHeaders): Promise<T>
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
*
|
|
74
|
-
*/
|
|
75
|
-
export type HttpTranslates = Record<string, HttpTranslate | undefined>
|
|
76
|
-
export type HttpTransforms = Record<string, HttpTransform | undefined>
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* 向 request header 加入参数
|
|
80
|
-
* 多数是 token
|
|
81
|
-
*/
|
|
82
|
-
export type HeaderParams = Record<string, string>
|
|
83
|
-
|
|
84
|
-
export enum HttpMethod {
|
|
85
|
-
get = 'GET',
|
|
86
|
-
post = 'POST',
|
|
87
|
-
put = 'PUT',
|
|
88
|
-
delete = 'DELETE',
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export enum HttpError {
|
|
92
|
-
auth = 'auth',
|
|
93
|
-
server = 'server',
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export type HeaderData = Record<string, string>
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* 接口参数转换器
|
|
100
|
-
*/
|
|
101
|
-
export type HttpTranslate = (data: RequestData) => RequestData
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* 接口数据转换器
|
|
105
|
-
*/
|
|
106
|
-
export type HttpTransform = (data: ResponseData) => ResponseData
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* 接口设置
|
|
110
|
-
*/
|
|
111
|
-
export type HttpEndpoint = {
|
|
112
|
-
path: string
|
|
113
|
-
translate?: HttpTranslate
|
|
114
|
-
transform?: HttpTransform
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* 接口组
|
|
119
|
-
*/
|
|
120
|
-
export type HttpEndpoints = {
|
|
121
|
-
[name: string]: HttpEndpoint
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* 分页参数
|
|
126
|
-
*/
|
|
127
|
-
export type PagingParams = {
|
|
128
|
-
/**
|
|
129
|
-
* 页数
|
|
130
|
-
*/
|
|
131
|
-
page: number
|
|
132
|
-
/**
|
|
133
|
-
* 页数据条数
|
|
134
|
-
*/
|
|
135
|
-
pageSize: number
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export type PagingData = {
|
|
139
|
-
/**
|
|
140
|
-
* 页总数
|
|
141
|
-
*/
|
|
142
|
-
totalPages?: number
|
|
143
|
-
total: number
|
|
144
|
-
totalRecords: number
|
|
145
|
-
isLastPage?: boolean
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Wrapped with Paging Data
|
|
150
|
-
*/
|
|
151
|
-
export type WithPaging<T = ResponseData> = {
|
|
152
|
-
[K in keyof PagingData]: PagingData[K]
|
|
153
|
-
} & {
|
|
154
|
-
data: T
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* 分页设置
|
|
159
|
-
*/
|
|
160
|
-
export type Paging = {
|
|
161
|
-
translate(params: PagingParams): any
|
|
162
|
-
transform(resonse: any): PagingData
|
|
163
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 由使用场景提供的配置
|
|
3
|
+
* createHttp() 使用的配置
|
|
4
|
+
*/
|
|
5
|
+
export type HttpClientConfig = {
|
|
6
|
+
vendor?: HttpVendor
|
|
7
|
+
baseUrl: string
|
|
8
|
+
/**
|
|
9
|
+
* 向 HTTP header 加入的数据
|
|
10
|
+
* 通常含有 JWT token 以及其他参数
|
|
11
|
+
*/
|
|
12
|
+
headers?: HeaderParams
|
|
13
|
+
paging?: Paging
|
|
14
|
+
/**
|
|
15
|
+
* 拦截器组
|
|
16
|
+
* 请求返回异常时进行一定的操作
|
|
17
|
+
*/
|
|
18
|
+
interceptors?: HttpInterceptor[]
|
|
19
|
+
translates?: HttpTranslates
|
|
20
|
+
transforms?: HttpTransforms
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* HTTP 请求的底层实现
|
|
25
|
+
* Axios/Taro.request
|
|
26
|
+
*/
|
|
27
|
+
export type HttpVendor = {
|
|
28
|
+
request<T = ResponseData>(config: HttpRequestConfig): Promise<ResponseRaw<T>>
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type HttpInterceptor = (raw: ResponseRaw) => boolean
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Request Config for request API
|
|
35
|
+
* 沿用 Axios 的部分配置
|
|
36
|
+
*/
|
|
37
|
+
export type HttpRequestConfig<D = RequestData> = {
|
|
38
|
+
url: string
|
|
39
|
+
method?: HttpMethod
|
|
40
|
+
baseUrl?: string
|
|
41
|
+
headers?: HeaderData
|
|
42
|
+
data?: D
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Request data for http get & post method
|
|
47
|
+
*/
|
|
48
|
+
export type RequestData = Record<string, any>
|
|
49
|
+
|
|
50
|
+
export type RequestHeaders = Record<string, any>
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 接口请求返回的标准格式
|
|
54
|
+
*/
|
|
55
|
+
export type ResponseRaw<T = ResponseData> = {
|
|
56
|
+
status: number
|
|
57
|
+
message: string
|
|
58
|
+
data: T
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 拆箱之后前端拿到的数据
|
|
63
|
+
*/
|
|
64
|
+
export type ResponseData = Record<string, any> | any[]
|
|
65
|
+
|
|
66
|
+
export type HttpInstance = {
|
|
67
|
+
request<T = ResponseData>(config: HttpRequestConfig): Promise<T>
|
|
68
|
+
get<T = ResponseData>(url: string, data?: RequestData): Promise<T>
|
|
69
|
+
post<T = ResponseData>(url: string, data?: RequestData, headers?: RequestHeaders): Promise<T>
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
*/
|
|
75
|
+
export type HttpTranslates = Record<string, HttpTranslate | undefined>
|
|
76
|
+
export type HttpTransforms = Record<string, HttpTransform | undefined>
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 向 request header 加入参数
|
|
80
|
+
* 多数是 token
|
|
81
|
+
*/
|
|
82
|
+
export type HeaderParams = Record<string, string>
|
|
83
|
+
|
|
84
|
+
export enum HttpMethod {
|
|
85
|
+
get = 'GET',
|
|
86
|
+
post = 'POST',
|
|
87
|
+
put = 'PUT',
|
|
88
|
+
delete = 'DELETE',
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export enum HttpError {
|
|
92
|
+
auth = 'auth',
|
|
93
|
+
server = 'server',
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export type HeaderData = Record<string, string>
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* 接口参数转换器
|
|
100
|
+
*/
|
|
101
|
+
export type HttpTranslate = (data: RequestData) => RequestData
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 接口数据转换器
|
|
105
|
+
*/
|
|
106
|
+
export type HttpTransform = (data: ResponseData) => ResponseData
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* 接口设置
|
|
110
|
+
*/
|
|
111
|
+
export type HttpEndpoint = {
|
|
112
|
+
path: string
|
|
113
|
+
translate?: HttpTranslate
|
|
114
|
+
transform?: HttpTransform
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* 接口组
|
|
119
|
+
*/
|
|
120
|
+
export type HttpEndpoints = {
|
|
121
|
+
[name: string]: HttpEndpoint
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* 分页参数
|
|
126
|
+
*/
|
|
127
|
+
export type PagingParams = {
|
|
128
|
+
/**
|
|
129
|
+
* 页数
|
|
130
|
+
*/
|
|
131
|
+
page: number
|
|
132
|
+
/**
|
|
133
|
+
* 页数据条数
|
|
134
|
+
*/
|
|
135
|
+
pageSize: number
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export type PagingData = {
|
|
139
|
+
/**
|
|
140
|
+
* 页总数
|
|
141
|
+
*/
|
|
142
|
+
totalPages?: number
|
|
143
|
+
total: number
|
|
144
|
+
totalRecords: number
|
|
145
|
+
isLastPage?: boolean
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Wrapped with Paging Data
|
|
150
|
+
*/
|
|
151
|
+
export type WithPaging<T = ResponseData> = {
|
|
152
|
+
[K in keyof PagingData]: PagingData[K]
|
|
153
|
+
} & {
|
|
154
|
+
data: T
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* 分页设置
|
|
159
|
+
*/
|
|
160
|
+
export type Paging = {
|
|
161
|
+
translate(params: PagingParams): any
|
|
162
|
+
transform(resonse: any): PagingData
|
|
163
|
+
}
|
package/src/shared/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export * from './weixin'
|
|
2
|
-
export * from './components'
|
|
3
|
-
export * from './composables'
|
|
4
|
-
export * from './http'
|
|
5
|
-
export * from './tracking'
|
|
6
|
-
|
|
7
|
-
import jssdkServices from './weixin'
|
|
8
|
-
|
|
9
|
-
export { jssdkServices }
|
|
1
|
+
export * from './weixin'
|
|
2
|
+
export * from './components'
|
|
3
|
+
export * from './composables'
|
|
4
|
+
export * from './http'
|
|
5
|
+
export * from './tracking'
|
|
6
|
+
|
|
7
|
+
import jssdkServices from './weixin'
|
|
8
|
+
|
|
9
|
+
export { jssdkServices }
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 埋点指令入口文件
|
|
3
|
-
* 统一导出所有埋点指令
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { App } from 'vue'
|
|
7
|
-
import { installTrackClickDirective } from './track-click'
|
|
8
|
-
import { installTrackPageDirective } from './track-page'
|
|
9
|
-
import { installTrackScrollDirective } from './track-scroll'
|
|
10
|
-
import { installTrackSearchDirective } from './track-search'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 安装所有埋点指令
|
|
14
|
-
*/
|
|
15
|
-
export function installTrackingDirectives(app: App) {
|
|
16
|
-
// 安装点击埋点指令
|
|
17
|
-
installTrackClickDirective(app)
|
|
18
|
-
|
|
19
|
-
// 安装页面访问埋点指令
|
|
20
|
-
installTrackPageDirective(app)
|
|
21
|
-
|
|
22
|
-
// 安装滚动埋点指令
|
|
23
|
-
installTrackScrollDirective(app)
|
|
24
|
-
|
|
25
|
-
// 安装搜索埋点指令
|
|
26
|
-
installTrackSearchDirective(app)
|
|
27
|
-
|
|
28
|
-
console.log('[TrackingDirectives] 所有埋点指令安装完成')
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// 导出各个指令的安装函数
|
|
32
|
-
export { installTrackClickDirective, installTrackPageDirective, installTrackScrollDirective, installTrackSearchDirective }
|
|
33
|
-
|
|
34
|
-
// 导出指令实现
|
|
35
|
-
export { default as trackClickDirective } from './track-click'
|
|
36
|
-
export { default as trackPageDirective } from './track-page'
|
|
37
|
-
export { default as trackScrollDirective } from './track-scroll'
|
|
38
|
-
export { default as trackSearchDirective } from './track-search'
|
|
39
|
-
|
|
40
|
-
export default installTrackingDirectives
|
|
1
|
+
/**
|
|
2
|
+
* 埋点指令入口文件
|
|
3
|
+
* 统一导出所有埋点指令
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { App } from 'vue'
|
|
7
|
+
import { installTrackClickDirective } from './track-click'
|
|
8
|
+
import { installTrackPageDirective } from './track-page'
|
|
9
|
+
import { installTrackScrollDirective } from './track-scroll'
|
|
10
|
+
import { installTrackSearchDirective } from './track-search'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 安装所有埋点指令
|
|
14
|
+
*/
|
|
15
|
+
export function installTrackingDirectives(app: App) {
|
|
16
|
+
// 安装点击埋点指令
|
|
17
|
+
installTrackClickDirective(app)
|
|
18
|
+
|
|
19
|
+
// 安装页面访问埋点指令
|
|
20
|
+
installTrackPageDirective(app)
|
|
21
|
+
|
|
22
|
+
// 安装滚动埋点指令
|
|
23
|
+
installTrackScrollDirective(app)
|
|
24
|
+
|
|
25
|
+
// 安装搜索埋点指令
|
|
26
|
+
installTrackSearchDirective(app)
|
|
27
|
+
|
|
28
|
+
console.log('[TrackingDirectives] 所有埋点指令安装完成')
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// 导出各个指令的安装函数
|
|
32
|
+
export { installTrackClickDirective, installTrackPageDirective, installTrackScrollDirective, installTrackSearchDirective }
|
|
33
|
+
|
|
34
|
+
// 导出指令实现
|
|
35
|
+
export { default as trackClickDirective } from './track-click'
|
|
36
|
+
export { default as trackPageDirective } from './track-page'
|
|
37
|
+
export { default as trackScrollDirective } from './track-scroll'
|
|
38
|
+
export { default as trackSearchDirective } from './track-search'
|
|
39
|
+
|
|
40
|
+
export default installTrackingDirectives
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view>
|
|
3
|
-
<!-- 你的页面内容 -->
|
|
4
|
-
</view>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<script setup lang="ts">
|
|
8
|
-
// 导入自动埋点组合式函数
|
|
9
|
-
import { usePageTracking } from '~/composables/useAutoTracking'
|
|
10
|
-
|
|
11
|
-
// 启用页面级自动埋点
|
|
12
|
-
const tracking = usePageTracking({
|
|
13
|
-
pageTitle: '页面标题', // 自定义页面标题
|
|
14
|
-
customData: {
|
|
15
|
-
pageType: 'example', // 自定义页面类型
|
|
16
|
-
// 其他自定义数据
|
|
17
|
-
},
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
// 可选:手动埋点示例
|
|
21
|
-
const handleCustomEvent = () => {
|
|
22
|
-
tracking.trackEvent('custom_button_click', {
|
|
23
|
-
buttonType: 'primary',
|
|
24
|
-
action: 'submit',
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<view>
|
|
3
|
+
<!-- 你的页面内容 -->
|
|
4
|
+
</view>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script setup lang="ts">
|
|
8
|
+
// 导入自动埋点组合式函数
|
|
9
|
+
import { usePageTracking } from '~/composables/useAutoTracking'
|
|
10
|
+
|
|
11
|
+
// 启用页面级自动埋点
|
|
12
|
+
const tracking = usePageTracking({
|
|
13
|
+
pageTitle: '页面标题', // 自定义页面标题
|
|
14
|
+
customData: {
|
|
15
|
+
pageType: 'example', // 自定义页面类型
|
|
16
|
+
// 其他自定义数据
|
|
17
|
+
},
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
// 可选:手动埋点示例
|
|
21
|
+
const handleCustomEvent = () => {
|
|
22
|
+
tracking.trackEvent('custom_button_click', {
|
|
23
|
+
buttonType: 'primary',
|
|
24
|
+
action: 'submit',
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Service } from '../../payment/services'
|
|
2
|
-
import getSdkConfig from './jssdk'
|
|
3
|
-
|
|
4
|
-
const jssdkServices: Service[] = [getSdkConfig]
|
|
5
|
-
|
|
6
|
-
export default jssdkServices
|
|
7
|
-
|
|
8
|
-
export * from './payment'
|
|
9
|
-
export * from './jssdk'
|
|
1
|
+
import { Service } from '../../payment/services'
|
|
2
|
+
import getSdkConfig from './jssdk'
|
|
3
|
+
|
|
4
|
+
const jssdkServices: Service[] = [getSdkConfig]
|
|
5
|
+
|
|
6
|
+
export default jssdkServices
|
|
7
|
+
|
|
8
|
+
export * from './payment'
|
|
9
|
+
export * from './jssdk'
|