@uxda/appkit 4.1.40 → 4.1.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 (117) 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 +121 -43
  5. package/dist/assets/asset-3B_CoPto +1 -0
  6. package/dist/index.js +399 -246
  7. package/package.json +77 -77
  8. package/project.config.json +15 -15
  9. package/project.tt.json +13 -13
  10. package/rollup.config.mjs +56 -56
  11. package/src/Appkit.ts +66 -66
  12. package/src/balance/api/endpoints.ts +133 -126
  13. package/src/balance/api/index.ts +106 -106
  14. package/src/balance/components/AccountView.vue +747 -749
  15. package/src/balance/components/BalanceCard.vue +213 -205
  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 -251
  20. package/src/balance/components/DateRange.vue +80 -80
  21. package/src/balance/components/ListFilter.vue +63 -63
  22. package/src/balance/components/ListFilterPicker.vue +188 -186
  23. package/src/balance/components/PromoterCard.vue +183 -0
  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 -13
  27. package/src/balance/types.ts +97 -91
  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/components/ocr-id/index.vue +114 -114
  46. package/src/components/ocr-id/types.d.ts +12 -12
  47. package/src/global.ts +6 -6
  48. package/src/index.ts +89 -89
  49. package/src/main.scss +1 -1
  50. package/src/notice/api/endpoints.ts +17 -17
  51. package/src/notice/api/index.ts +106 -106
  52. package/src/notice/components/NoticeBanner.vue +243 -243
  53. package/src/notice/components/NoticeEntry.vue +99 -99
  54. package/src/notice/components/NoticeList.vue +315 -315
  55. package/src/notice/components/NoticePopup.vue +162 -162
  56. package/src/notice/components/index.ts +5 -5
  57. package/src/notice/components/useCommonList.ts +86 -86
  58. package/src/notice/components/useNotice.ts +35 -35
  59. package/src/notice/index.ts +1 -1
  60. package/src/notice/types.ts +25 -25
  61. package/src/payment/api/config.ts +7 -7
  62. package/src/payment/api/endpoints.ts +103 -103
  63. package/src/payment/api/index.ts +100 -100
  64. package/src/payment/components/AmountPicker.vue +90 -93
  65. package/src/payment/components/RechargeResult.vue +69 -69
  66. package/src/payment/components/RechargeView.vue +154 -154
  67. package/src/payment/components/RightsPicker.vue +105 -105
  68. package/src/payment/components/TradeView.vue +294 -294
  69. package/src/payment/components/UserAgreement.vue +234 -234
  70. package/src/payment/components/index.ts +22 -22
  71. package/src/payment/index.ts +5 -5
  72. package/src/payment/services/index.ts +16 -16
  73. package/src/payment/services/invoke-recharge.ts +25 -25
  74. package/src/payment/services/request-payment.ts +58 -58
  75. package/src/payment/types.ts +28 -28
  76. package/src/register/components/SelfRegistration.vue +254 -254
  77. package/src/register/components/index.ts +2 -2
  78. package/src/shared/components/AppDrawer.vue +58 -54
  79. package/src/shared/components/AppVerify.vue +129 -126
  80. package/src/shared/components/DeviceVersion.vue +68 -68
  81. package/src/shared/components/EmptyView.vue +33 -33
  82. package/src/shared/components/OcrBusinessLicense.vue +133 -133
  83. package/src/shared/components/OcrIcon.vue +133 -133
  84. package/src/shared/components/PageHeader.vue +79 -79
  85. package/src/shared/components/index.ts +8 -8
  86. package/src/shared/composables/index.ts +8 -8
  87. package/src/shared/composables/useCountdown.ts +46 -46
  88. package/src/shared/composables/useCrypto.ts +76 -76
  89. package/src/shared/composables/useDragBox.ts +97 -97
  90. package/src/shared/composables/useEncode.ts +43 -43
  91. package/src/shared/composables/useLogger.ts +123 -123
  92. package/src/shared/composables/useSafeArea.ts +46 -46
  93. package/src/shared/composables/useTabbar.ts +24 -24
  94. package/src/shared/composables/useUpload.ts +54 -54
  95. package/src/shared/composables/useValidator.ts +31 -31
  96. package/src/shared/http/Http.ts +136 -136
  97. package/src/shared/http/index.ts +1 -1
  98. package/src/shared/http/types.ts +157 -157
  99. package/src/shared/index.ts +3 -3
  100. package/src/shared/weixin/payment.ts +38 -38
  101. package/src/styles/vars.scss +3 -3
  102. package/src/user/api/endpoints.ts +17 -17
  103. package/src/user/api/index.ts +111 -111
  104. package/src/user/components/LoginSetting.vue +114 -114
  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 +137 -137
  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 +637 -637
  112. package/src/user/components/UserResourceEmpty.vue +75 -75
  113. package/src/user/components/index.ts +21 -21
  114. package/src/user/index.ts +1 -1
  115. package/tsconfig.json +30 -30
  116. package/types/global.d.ts +21 -21
  117. package/types/vue.d.ts +10 -10
@@ -1,136 +1,136 @@
1
- import {
2
- HttpInstance,
3
- HttpClientConfig,
4
- HttpMethod,
5
- HttpRequestConfig,
6
- RequestData,
7
- ResponseData,
8
- ResponseRaw,
9
- Paging,
10
- HttpTranslate,
11
- } from './types'
12
- /**
13
- * Useage:
14
- * const $http = createHttp({
15
- *
16
- * })
17
- * $http.get('/url').then(data => {
18
- *
19
- * })
20
- */
21
-
22
- /**
23
- * 统一请求过程
24
- * @param config
25
- * @returns
26
- */
27
- const request: HttpInstance['request'] = <T>(config: HttpRequestConfig) => {
28
- const c = {
29
- ...clientConfig,
30
- ...config,
31
- }
32
- return new Promise<T>((resolve, reject) => {
33
- const data =
34
- config.data && clientConfig.translates && clientConfig.translates[c.url]
35
- ? (clientConfig.translates[c.url] as HttpTranslate)(c.data || {})
36
- : c.data
37
- console.log(`[][][][][]HTTP.${c.method}, ${c.baseUrl}${c.url}`, data)
38
-
39
- clientConfig.vendor &&
40
- clientConfig.vendor
41
- .request({
42
- url: `${c.baseUrl}${c.url}`,
43
- data,
44
- headers: c.headers,
45
- method: c.method,
46
- })
47
- .then((raw: ResponseRaw) => {
48
- // 按顺序执行拦截器
49
- for (const interc of c.interceptors || []) {
50
- const r = interc(raw)
51
- if (r) {
52
- // 某拦截器命中时
53
- // 按拦截结果 决定是否继续执行
54
- reject('===INTERCEPTED===' + raw.status)
55
- return false
56
- }
57
- }
58
- if (raw.data !== void 0) {
59
- // 当用户配置含有 transforms 时, 使用用户提供的 transform
60
- // 先 endpoints transform
61
- // 再组装分页数据
62
- const response =
63
- clientConfig.transforms && clientConfig.transforms[c.url]
64
- ? ((clientConfig.transforms[c.url] as HttpTranslate)(raw.data) as T)
65
- : (raw.data as T)
66
- // 前端要求分页
67
- // 在 endpoints transform 之前格式化分页数据
68
- // 并拼装回原 raw 数据
69
- const paging =
70
- config.data && config.data.page
71
- ? (clientConfig.paging as Paging).transform(raw.data)
72
- : void 0
73
- resolve(
74
- paging
75
- ? ({
76
- ...paging,
77
- data: response,
78
- } as T)
79
- : response
80
- )
81
- } else {
82
- resolve(raw as any)
83
- }
84
- })
85
- .catch((e: any) => {
86
- console.log('request.catch===', e)
87
- })
88
- })
89
- }
90
-
91
- const get: HttpInstance['get'] = <T = ResponseData>(url: string, data?: RequestData) => {
92
- return request<T>({
93
- url,
94
- data,
95
- method: HttpMethod.get,
96
- })
97
- }
98
-
99
- const post: HttpInstance['post'] = <T = ResponseData>(url: string, data: RequestData) => {
100
- return request<T>({
101
- url,
102
- data,
103
- method: HttpMethod.post,
104
- })
105
- }
106
-
107
- /**
108
- * 场景配置
109
- * 本地后台团队统一返回值外层
110
- */
111
- const defaultClientConfig: HttpClientConfig = {
112
- baseUrl: '/',
113
- interceptors: [(raw) => raw.status == 401],
114
- }
115
-
116
- let clientConfig = {
117
- ...defaultClientConfig,
118
- }
119
-
120
- /**
121
- * 写入配置并返回 HTTP instance
122
- * @param config
123
- * @returns
124
- */
125
- export function createHttp(config: HttpClientConfig): HttpInstance {
126
- clientConfig = {
127
- ...defaultClientConfig,
128
- ...config,
129
- }
130
-
131
- return {
132
- request,
133
- get,
134
- post,
135
- }
136
- }
1
+ import {
2
+ HttpInstance,
3
+ HttpClientConfig,
4
+ HttpMethod,
5
+ HttpRequestConfig,
6
+ RequestData,
7
+ ResponseData,
8
+ ResponseRaw,
9
+ Paging,
10
+ HttpTranslate,
11
+ } from './types'
12
+ /**
13
+ * Useage:
14
+ * const $http = createHttp({
15
+ *
16
+ * })
17
+ * $http.get('/url').then(data => {
18
+ *
19
+ * })
20
+ */
21
+
22
+ /**
23
+ * 统一请求过程
24
+ * @param config
25
+ * @returns
26
+ */
27
+ const request: HttpInstance['request'] = <T>(config: HttpRequestConfig) => {
28
+ const c = {
29
+ ...clientConfig,
30
+ ...config,
31
+ }
32
+ return new Promise<T>((resolve, reject) => {
33
+ const data =
34
+ config.data && clientConfig.translates && clientConfig.translates[c.url]
35
+ ? (clientConfig.translates[c.url] as HttpTranslate)(c.data || {})
36
+ : c.data
37
+ console.log(`[][][][][]HTTP.${c.method}, ${c.baseUrl}${c.url}`, data)
38
+
39
+ clientConfig.vendor &&
40
+ clientConfig.vendor
41
+ .request({
42
+ url: `${c.baseUrl}${c.url}`,
43
+ data,
44
+ headers: c.headers,
45
+ method: c.method,
46
+ })
47
+ .then((raw: ResponseRaw) => {
48
+ // 按顺序执行拦截器
49
+ for (const interc of c.interceptors || []) {
50
+ const r = interc(raw)
51
+ if (r) {
52
+ // 某拦截器命中时
53
+ // 按拦截结果 决定是否继续执行
54
+ reject('===INTERCEPTED===' + raw.status)
55
+ return false
56
+ }
57
+ }
58
+ if (raw.data !== void 0) {
59
+ // 当用户配置含有 transforms 时, 使用用户提供的 transform
60
+ // 先 endpoints transform
61
+ // 再组装分页数据
62
+ const response =
63
+ clientConfig.transforms && clientConfig.transforms[c.url]
64
+ ? ((clientConfig.transforms[c.url] as HttpTranslate)(raw.data) as T)
65
+ : (raw.data as T)
66
+ // 前端要求分页
67
+ // 在 endpoints transform 之前格式化分页数据
68
+ // 并拼装回原 raw 数据
69
+ const paging =
70
+ config.data && config.data.page
71
+ ? (clientConfig.paging as Paging).transform(raw.data)
72
+ : void 0
73
+ resolve(
74
+ paging
75
+ ? ({
76
+ ...paging,
77
+ data: response,
78
+ } as T)
79
+ : response
80
+ )
81
+ } else {
82
+ resolve(raw as any)
83
+ }
84
+ })
85
+ .catch((e: any) => {
86
+ console.log('request.catch===', e)
87
+ })
88
+ })
89
+ }
90
+
91
+ const get: HttpInstance['get'] = <T = ResponseData>(url: string, data?: RequestData) => {
92
+ return request<T>({
93
+ url,
94
+ data,
95
+ method: HttpMethod.get,
96
+ })
97
+ }
98
+
99
+ const post: HttpInstance['post'] = <T = ResponseData>(url: string, data: RequestData) => {
100
+ return request<T>({
101
+ url,
102
+ data,
103
+ method: HttpMethod.post,
104
+ })
105
+ }
106
+
107
+ /**
108
+ * 场景配置
109
+ * 本地后台团队统一返回值外层
110
+ */
111
+ const defaultClientConfig: HttpClientConfig = {
112
+ baseUrl: '/',
113
+ interceptors: [(raw) => raw.status == 401],
114
+ }
115
+
116
+ let clientConfig = {
117
+ ...defaultClientConfig,
118
+ }
119
+
120
+ /**
121
+ * 写入配置并返回 HTTP instance
122
+ * @param config
123
+ * @returns
124
+ */
125
+ export function createHttp(config: HttpClientConfig): HttpInstance {
126
+ clientConfig = {
127
+ ...defaultClientConfig,
128
+ ...config,
129
+ }
130
+
131
+ return {
132
+ request,
133
+ get,
134
+ post,
135
+ }
136
+ }
@@ -1,2 +1,2 @@
1
- export * from './Http'
1
+ export * from './Http'
2
2
  export type * from './types'
@@ -1,158 +1,158 @@
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
- /**
51
- * 接口请求返回的标准格式
52
- */
53
- export type ResponseRaw<T = ResponseData> = {
54
- status: number,
55
- message: string,
56
- data: T
57
- }
58
-
59
- /**
60
- * 拆箱之后前端拿到的数据
61
- */
62
- export type ResponseData = Record<string, any> | any[]
63
-
64
- export type HttpInstance = {
65
- request<T = ResponseData>(config: HttpRequestConfig): Promise<T>
66
- get<T = ResponseData>(url: string, data?: RequestData): Promise<T>,
67
- post<T = ResponseData>(url: string, data?: RequestData): Promise<T>,
68
- }
69
-
70
- /**
71
- *
72
- */
73
- export type HttpTranslates = Record<string, HttpTranslate | undefined>
74
- export type HttpTransforms = Record<string, HttpTransform | undefined>
75
-
76
- /**
77
- * 向 request header 加入参数
78
- * 多数是 token
79
- */
80
- export type HeaderParams = Record<string, string>
81
-
82
- export enum HttpMethod {
83
- get = 'GET',
84
- post = 'POST',
85
- put = 'PUT',
86
- delete = 'DELETE',
87
- }
88
-
89
- export enum HttpError {
90
- auth = 'auth',
91
- server = 'server'
92
- }
93
-
94
- export type HeaderData = Record<string, string>
95
-
96
- /**
97
- * 接口参数转换器
98
- */
99
- export type HttpTranslate = (data: RequestData) => RequestData
100
-
101
- /**
102
- * 接口数据转换器
103
- */
104
- export type HttpTransform = (data: ResponseData) => ResponseData
105
-
106
- /**
107
- * 接口设置
108
- */
109
- export type HttpEndpoint = {
110
- path: string,
111
- translate?: HttpTranslate,
112
- transform?: HttpTransform,
113
- }
114
-
115
- /**
116
- * 接口组
117
- */
118
- export type HttpEndpoints = {
119
- [name: string]: HttpEndpoint
120
- }
121
-
122
- /**
123
- * 分页参数
124
- */
125
- export type PagingParams = {
126
- /**
127
- * 页数
128
- */
129
- page: number,
130
- /**
131
- * 页数据条数
132
- */
133
- pageSize: number,
134
- }
135
-
136
- export type PagingData = {
137
- /**
138
- * 页总数
139
- */
140
- totalPages: number,
141
- }
142
-
143
- /**
144
- * Wrapped with Paging Data
145
- */
146
- export type WithPaging<T = ResponseData> = {
147
- [K in keyof PagingData]: PagingData[K];
148
- } & {
149
- data: T;
150
- }
151
-
152
- /**
153
- * 分页设置
154
- */
155
- export type Paging = {
156
- translate (params: PagingParams): any,
157
- transform (resonse: any): PagingData,
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
+ /**
51
+ * 接口请求返回的标准格式
52
+ */
53
+ export type ResponseRaw<T = ResponseData> = {
54
+ status: number,
55
+ message: string,
56
+ data: T
57
+ }
58
+
59
+ /**
60
+ * 拆箱之后前端拿到的数据
61
+ */
62
+ export type ResponseData = Record<string, any> | any[]
63
+
64
+ export type HttpInstance = {
65
+ request<T = ResponseData>(config: HttpRequestConfig): Promise<T>
66
+ get<T = ResponseData>(url: string, data?: RequestData): Promise<T>,
67
+ post<T = ResponseData>(url: string, data?: RequestData): Promise<T>,
68
+ }
69
+
70
+ /**
71
+ *
72
+ */
73
+ export type HttpTranslates = Record<string, HttpTranslate | undefined>
74
+ export type HttpTransforms = Record<string, HttpTransform | undefined>
75
+
76
+ /**
77
+ * 向 request header 加入参数
78
+ * 多数是 token
79
+ */
80
+ export type HeaderParams = Record<string, string>
81
+
82
+ export enum HttpMethod {
83
+ get = 'GET',
84
+ post = 'POST',
85
+ put = 'PUT',
86
+ delete = 'DELETE',
87
+ }
88
+
89
+ export enum HttpError {
90
+ auth = 'auth',
91
+ server = 'server'
92
+ }
93
+
94
+ export type HeaderData = Record<string, string>
95
+
96
+ /**
97
+ * 接口参数转换器
98
+ */
99
+ export type HttpTranslate = (data: RequestData) => RequestData
100
+
101
+ /**
102
+ * 接口数据转换器
103
+ */
104
+ export type HttpTransform = (data: ResponseData) => ResponseData
105
+
106
+ /**
107
+ * 接口设置
108
+ */
109
+ export type HttpEndpoint = {
110
+ path: string,
111
+ translate?: HttpTranslate,
112
+ transform?: HttpTransform,
113
+ }
114
+
115
+ /**
116
+ * 接口组
117
+ */
118
+ export type HttpEndpoints = {
119
+ [name: string]: HttpEndpoint
120
+ }
121
+
122
+ /**
123
+ * 分页参数
124
+ */
125
+ export type PagingParams = {
126
+ /**
127
+ * 页数
128
+ */
129
+ page: number,
130
+ /**
131
+ * 页数据条数
132
+ */
133
+ pageSize: number,
134
+ }
135
+
136
+ export type PagingData = {
137
+ /**
138
+ * 页总数
139
+ */
140
+ totalPages: number,
141
+ }
142
+
143
+ /**
144
+ * Wrapped with Paging Data
145
+ */
146
+ export type WithPaging<T = ResponseData> = {
147
+ [K in keyof PagingData]: PagingData[K];
148
+ } & {
149
+ data: T;
150
+ }
151
+
152
+ /**
153
+ * 分页设置
154
+ */
155
+ export type Paging = {
156
+ translate (params: PagingParams): any,
157
+ transform (resonse: any): PagingData,
158
158
  }
@@ -1,4 +1,4 @@
1
- export * from './weixin'
2
- export * from './components'
3
- export * from './composables'
1
+ export * from './weixin'
2
+ export * from './components'
3
+ export * from './composables'
4
4
  export * from './http'
@@ -1,38 +1,38 @@
1
- export type PaymentOptions = {}
2
-
3
- /**
4
- * 发起微信支付
5
- * @param options
6
- */
7
- export function requestPayment(json: any): Promise<boolean> {
8
- /** 时间戳从1970年1月1日00:00:00至今的秒数,即当前的时间 */
9
- // const timeStamp: string = '',
10
- // /** 随机字符串,长度为32个字符以下 */
11
- // nonceStr: string = '',
12
- // /** 统一下单接口返回的prepay_id参数值,提交格式如:prepay_id=* */
13
- // pack: string = '',
14
- // /** 签名算法,暂支持MD5 */
15
- // signType: string = 'MD5',
16
- // /** 签名,具体签名方案参见微信公众号支付帮助文档(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3&t=1474537654457); */
17
- // paySign: string = ''
18
- // /** 接口调用成功的回调函数 */
19
- // const success = (res: {}) => {},
20
- // /**接口调用失败的回调函数*/
21
- // fail = () => {},
22
- // /**接口调用结束的回调函数(调用成功、失败都会执行)*/
23
- // complete = () => {}
24
- return new Promise<boolean>((resolve, reject) => {
25
- const success = (res) => {
26
- resolve(true)
27
- }
28
- const fail = (res) => {
29
- console.log('wx.requestPayment FAIL:', res)
30
- resolve(false)
31
- }
32
- wx.requestPayment({
33
- ...json,
34
- success,
35
- fail
36
- })
37
- })
38
- }
1
+ export type PaymentOptions = {}
2
+
3
+ /**
4
+ * 发起微信支付
5
+ * @param options
6
+ */
7
+ export function requestPayment(json: any): Promise<boolean> {
8
+ /** 时间戳从1970年1月1日00:00:00至今的秒数,即当前的时间 */
9
+ // const timeStamp: string = '',
10
+ // /** 随机字符串,长度为32个字符以下 */
11
+ // nonceStr: string = '',
12
+ // /** 统一下单接口返回的prepay_id参数值,提交格式如:prepay_id=* */
13
+ // pack: string = '',
14
+ // /** 签名算法,暂支持MD5 */
15
+ // signType: string = 'MD5',
16
+ // /** 签名,具体签名方案参见微信公众号支付帮助文档(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3&t=1474537654457); */
17
+ // paySign: string = ''
18
+ // /** 接口调用成功的回调函数 */
19
+ // const success = (res: {}) => {},
20
+ // /**接口调用失败的回调函数*/
21
+ // fail = () => {},
22
+ // /**接口调用结束的回调函数(调用成功、失败都会执行)*/
23
+ // complete = () => {}
24
+ return new Promise<boolean>((resolve, reject) => {
25
+ const success = (res) => {
26
+ resolve(true)
27
+ }
28
+ const fail = (res) => {
29
+ console.log('wx.requestPayment FAIL:', res)
30
+ resolve(false)
31
+ }
32
+ wx.requestPayment({
33
+ ...json,
34
+ success,
35
+ fail
36
+ })
37
+ })
38
+ }
@@ -1,4 +1,4 @@
1
- page {
2
- --text-color: #333;
3
- --text-color-dark-mode: #eee;
1
+ page {
2
+ --text-color: #333;
3
+ --text-color-dark-mode: #eee;
4
4
  }