@uxda/appkit 4.3.39 → 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.
- package/.cursor/skills/appkit-build-update-component-rules/SKILL.md +54 -54
- package/.cursor/skills/appkit-sync-component-rules/SKILL.md +60 -60
- package/.eslintrc.mjs +7 -7
- package/Appkit/347/273/204/344/273/266/344/275/277/347/224/250/350/247/204/345/210/231.md +2002 -2002
- package/PROJECT_DOCS.md +150 -142
- package/README.md +194 -194
- package/babel.config.js +12 -12
- package/dist/appkit.css +11 -6
- package/dist/index.js +30 -16
- package/package.json +82 -82
- package/project.config.json +15 -15
- package/project.tt.json +13 -13
- package/rollup.config.mjs +81 -81
- package/src/Appkit.ts +72 -72
- package/src/balance/api/endpoints.ts +134 -134
- package/src/balance/api/index.ts +118 -118
- package/src/balance/components/AccountView.vue +850 -834
- 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 +308 -308
- 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 +401 -401
- package/src/notice/components/NoticePopup.vue +163 -163
- package/src/notice/components/index.ts +6 -6
- package/src/notice/components/useCommonList.ts +87 -87
- 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 +112 -112
- package/src/payment/api/index.ts +108 -108
- package/src/payment/components/AmountPicker.vue +56 -56
- package/src/payment/components/RechargeResult.vue +68 -68
- package/src/payment/components/RechargeView.vue +420 -420
- package/src/payment/components/RightsPicker.vue +105 -105
- package/src/payment/components/TradeView.vue +627 -627
- package/src/payment/components/UserAgreement.vue +234 -234
- package/src/payment/components/index.ts +22 -22
- package/src/payment/components/recharge-amount.spec.ts +54 -54
- package/src/payment/components/recharge-amount.ts +67 -67
- 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 +136 -136
- package/src/payment/types.ts +34 -34
- 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 +137 -137
- package/src/shared/components/DeviceVersion.vue +78 -78
- package/src/shared/components/EmptyView.vue +33 -33
- package/src/shared/components/OcrBank.vue +202 -202
- package/src/shared/components/OcrBusinessLicense.vue +120 -120
- package/src/shared/components/OcrIcon.vue +267 -267
- package/src/shared/components/OcrInvoice.vue +323 -323
- package/src/shared/components/OfficeDocx.vue +33 -33
- package/src/shared/components/OfficePdf.vue +35 -35
- package/src/shared/components/PageHeader.vue +84 -84
- package/src/shared/components/index.ts +12 -12
- package/src/shared/composables/index.ts +10 -10
- package/src/shared/composables/useAmount.ts +46 -46
- package/src/shared/composables/useCompress.ts +64 -64
- package/src/shared/composables/useCountdown.ts +46 -46
- package/src/shared/composables/useCrypto.ts +76 -76
- package/src/shared/composables/useDeviceEnv.ts +61 -61
- package/src/shared/composables/useDragBox.ts +97 -97
- package/src/shared/composables/useEncode.ts +43 -43
- package/src/shared/composables/useLogger.ts +149 -149
- package/src/shared/composables/useSafeArea.ts +46 -46
- package/src/shared/composables/useTabbar.ts +24 -24
- package/src/shared/composables/useUpload.ts +106 -106
- package/src/shared/composables/useValidator.ts +32 -32
- package/src/shared/composables/useWxAuth.ts +49 -49
- package/src/shared/http/Http.ts +149 -149
- 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 +104 -104
- 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 +428 -428
- package/src/user/components/UserFeedbackEntry.vue +175 -175
- package/src/user/components/UserHeadCrop.vue +65 -65
- package/src/user/components/UserInfo.vue +711 -711
- 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 +23 -23
- package/types/vue.d.ts +10 -10
- package/dist/assets/asset-3B_CoPto +0 -1
- package/dist/assets/asset-DcH8Kg-2 +0 -1
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
export const CUSTOM_RECHARGE_AMOUNT_MIN = 100
|
|
2
|
-
export const CUSTOM_RECHARGE_AMOUNT_MAX = 10000
|
|
3
|
-
|
|
4
|
-
export type RechargeAmountItem = {
|
|
5
|
-
token: number | string
|
|
6
|
-
amount: number | string
|
|
7
|
-
custom?: boolean
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export type CustomAmountValidation =
|
|
11
|
-
| { valid: true; amount: number }
|
|
12
|
-
| { valid: false; message: string }
|
|
13
|
-
|
|
14
|
-
export const CUSTOM_RECHARGE_AMOUNT_ITEM: RechargeAmountItem = {
|
|
15
|
-
token: '自定义',
|
|
16
|
-
amount: '100 起充',
|
|
17
|
-
custom: true,
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function appendCustomAmountOption(items: RechargeAmountItem[], shouldAppendCustom = true) {
|
|
21
|
-
if (!shouldAppendCustom) {
|
|
22
|
-
return [...items]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return [...items, CUSTOM_RECHARGE_AMOUNT_ITEM]
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export function normalizeCustomRechargeAmountInput(value: string | number | undefined | null) {
|
|
29
|
-
return String(value ?? '').replace(/[^\d]/g, '')
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function validateCustomRechargeAmount(value: string | number | undefined | null): CustomAmountValidation {
|
|
33
|
-
const amount = Number(value)
|
|
34
|
-
|
|
35
|
-
if (!Number.isFinite(amount) || amount <= 0) {
|
|
36
|
-
return { valid: false, message: '请输入充值金额' }
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (!Number.isInteger(amount)) {
|
|
40
|
-
return { valid: false, message: '请输入整数充值金额' }
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (amount < CUSTOM_RECHARGE_AMOUNT_MIN) {
|
|
44
|
-
return { valid: false, message: '充值金额不能低于100元' }
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (amount > CUSTOM_RECHARGE_AMOUNT_MAX) {
|
|
48
|
-
return { valid: false, message: '充值金额不能高于10000元' }
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return { valid: true, amount }
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function resolveRechargeAmount(
|
|
55
|
-
items: RechargeAmountItem[],
|
|
56
|
-
selected: number,
|
|
57
|
-
customAmount: string | number | undefined | null
|
|
58
|
-
) {
|
|
59
|
-
const selectedItem = items[selected]
|
|
60
|
-
|
|
61
|
-
if (selectedItem?.custom) {
|
|
62
|
-
const validation = validateCustomRechargeAmount(customAmount)
|
|
63
|
-
return validation.valid ? validation.amount : 0
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return Number(selectedItem?.amount || 0)
|
|
67
|
-
}
|
|
1
|
+
export const CUSTOM_RECHARGE_AMOUNT_MIN = 100
|
|
2
|
+
export const CUSTOM_RECHARGE_AMOUNT_MAX = 10000
|
|
3
|
+
|
|
4
|
+
export type RechargeAmountItem = {
|
|
5
|
+
token: number | string
|
|
6
|
+
amount: number | string
|
|
7
|
+
custom?: boolean
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export type CustomAmountValidation =
|
|
11
|
+
| { valid: true; amount: number }
|
|
12
|
+
| { valid: false; message: string }
|
|
13
|
+
|
|
14
|
+
export const CUSTOM_RECHARGE_AMOUNT_ITEM: RechargeAmountItem = {
|
|
15
|
+
token: '自定义',
|
|
16
|
+
amount: '100 起充',
|
|
17
|
+
custom: true,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function appendCustomAmountOption(items: RechargeAmountItem[], shouldAppendCustom = true) {
|
|
21
|
+
if (!shouldAppendCustom) {
|
|
22
|
+
return [...items]
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return [...items, CUSTOM_RECHARGE_AMOUNT_ITEM]
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function normalizeCustomRechargeAmountInput(value: string | number | undefined | null) {
|
|
29
|
+
return String(value ?? '').replace(/[^\d]/g, '')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function validateCustomRechargeAmount(value: string | number | undefined | null): CustomAmountValidation {
|
|
33
|
+
const amount = Number(value)
|
|
34
|
+
|
|
35
|
+
if (!Number.isFinite(amount) || amount <= 0) {
|
|
36
|
+
return { valid: false, message: '请输入充值金额' }
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (!Number.isInteger(amount)) {
|
|
40
|
+
return { valid: false, message: '请输入整数充值金额' }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (amount < CUSTOM_RECHARGE_AMOUNT_MIN) {
|
|
44
|
+
return { valid: false, message: '充值金额不能低于100元' }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (amount > CUSTOM_RECHARGE_AMOUNT_MAX) {
|
|
48
|
+
return { valid: false, message: '充值金额不能高于10000元' }
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return { valid: true, amount }
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function resolveRechargeAmount(
|
|
55
|
+
items: RechargeAmountItem[],
|
|
56
|
+
selected: number,
|
|
57
|
+
customAmount: string | number | undefined | null
|
|
58
|
+
) {
|
|
59
|
+
const selectedItem = items[selected]
|
|
60
|
+
|
|
61
|
+
if (selectedItem?.custom) {
|
|
62
|
+
const validation = validateCustomRechargeAmount(customAmount)
|
|
63
|
+
return validation.valid ? validation.amount : 0
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return Number(selectedItem?.amount || 0)
|
|
67
|
+
}
|
package/src/payment/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './components'
|
|
2
|
-
import services from './services'
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
services
|
|
1
|
+
export * from './components'
|
|
2
|
+
import services from './services'
|
|
3
|
+
|
|
4
|
+
export {
|
|
5
|
+
services
|
|
6
6
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { DollarApp } from '../../Appkit'
|
|
2
|
-
import invokeRecharge from './invoke-recharge'
|
|
3
|
-
import requestPayment from './request-payment'
|
|
4
|
-
|
|
5
|
-
export type Service = {
|
|
6
|
-
install ($app: DollarApp): void
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const services: Service[] = [
|
|
10
|
-
requestPayment,
|
|
11
|
-
invokeRecharge,
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
export default services
|
|
15
|
-
|
|
16
|
-
export * from './request-payment'
|
|
1
|
+
import { DollarApp } from '../../Appkit'
|
|
2
|
+
import invokeRecharge from './invoke-recharge'
|
|
3
|
+
import requestPayment from './request-payment'
|
|
4
|
+
|
|
5
|
+
export type Service = {
|
|
6
|
+
install ($app: DollarApp): void
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const services: Service[] = [
|
|
10
|
+
requestPayment,
|
|
11
|
+
invokeRecharge,
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
export default services
|
|
15
|
+
|
|
16
|
+
export * from './request-payment'
|
|
17
17
|
export * from './invoke-recharge'
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import Taro from '@tarojs/taro'
|
|
2
|
-
import { RechargeParams } from '../types'
|
|
3
|
-
import { DollarApp } from 'src/Appkit'
|
|
4
|
-
import { CASHIER_APP_ID } from '../consts'
|
|
5
|
-
|
|
6
|
-
export const invokeRecharge = (options: RechargeParams) => {
|
|
7
|
-
const { app, tenant } = options
|
|
8
|
-
// 唤起支付中心小程序
|
|
9
|
-
Taro.navigateToMiniProgram({
|
|
10
|
-
appId: CASHIER_APP_ID,
|
|
11
|
-
path: `/pages/recharge/index?app=${app}&tenant=${tenant}`,
|
|
12
|
-
envVersion: 'trial',
|
|
13
|
-
success() {
|
|
14
|
-
console.log('唤起支付中心小程序')
|
|
15
|
-
},
|
|
16
|
-
complete() {
|
|
17
|
-
},
|
|
18
|
-
})
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export default {
|
|
22
|
-
install ($app: DollarApp) {
|
|
23
|
-
$app.invokeRecharge = invokeRecharge
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
import Taro from '@tarojs/taro'
|
|
2
|
+
import { RechargeParams } from '../types'
|
|
3
|
+
import { DollarApp } from 'src/Appkit'
|
|
4
|
+
import { CASHIER_APP_ID } from '../consts'
|
|
5
|
+
|
|
6
|
+
export const invokeRecharge = (options: RechargeParams) => {
|
|
7
|
+
const { app, tenant } = options
|
|
8
|
+
// 唤起支付中心小程序
|
|
9
|
+
Taro.navigateToMiniProgram({
|
|
10
|
+
appId: CASHIER_APP_ID,
|
|
11
|
+
path: `/pages/recharge/index?app=${app}&tenant=${tenant}`,
|
|
12
|
+
envVersion: 'trial',
|
|
13
|
+
success() {
|
|
14
|
+
console.log('唤起支付中心小程序')
|
|
15
|
+
},
|
|
16
|
+
complete() {
|
|
17
|
+
},
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
install ($app: DollarApp) {
|
|
23
|
+
$app.invokeRecharge = invokeRecharge
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -1,136 +1,136 @@
|
|
|
1
|
-
import { PaymentParams } from '../types'
|
|
2
|
-
import { DollarApp } from '../../Appkit'
|
|
3
|
-
import { useHttp, endpoints } from '../../payment/api'
|
|
4
|
-
import { requestWxH5Pay, requestPayment as weappRequestPayment } from '../../shared'
|
|
5
|
-
import Taro, { showToast } from '@tarojs/taro'
|
|
6
|
-
|
|
7
|
-
const requestPayment = (params: PaymentParams) => {
|
|
8
|
-
return new Promise<boolean>((resolve, reject) => {
|
|
9
|
-
const $http = useHttp({
|
|
10
|
-
Appcode: params.app !== 'cloudkitPro' ? params.app : '',
|
|
11
|
-
Tenant: params.tenant,
|
|
12
|
-
})
|
|
13
|
-
$http
|
|
14
|
-
.post(endpoints.获取微信支付参数包, {
|
|
15
|
-
...params,
|
|
16
|
-
// amount: 0.01,
|
|
17
|
-
})
|
|
18
|
-
.then((response) => {
|
|
19
|
-
weappRequestPayment(response.json).then((result) => {
|
|
20
|
-
if (result) {
|
|
21
|
-
resolve(true)
|
|
22
|
-
} else {
|
|
23
|
-
resolve(false)
|
|
24
|
-
}
|
|
25
|
-
})
|
|
26
|
-
})
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const requestPaymentByBean = (params: PaymentParams, Appcode = '') => {
|
|
31
|
-
return new Promise<boolean>((resolve, reject) => {
|
|
32
|
-
const $http = useHttp({
|
|
33
|
-
Appcode: Appcode,
|
|
34
|
-
Tenant: params.tenant,
|
|
35
|
-
})
|
|
36
|
-
$http
|
|
37
|
-
.post(endpoints.获取权益微信支付, {
|
|
38
|
-
...params,
|
|
39
|
-
})
|
|
40
|
-
.then((response: any) => {
|
|
41
|
-
if (!response.json) {
|
|
42
|
-
showToast({
|
|
43
|
-
title: response.message,
|
|
44
|
-
icon: 'none',
|
|
45
|
-
})
|
|
46
|
-
resolve(false)
|
|
47
|
-
} else {
|
|
48
|
-
weappRequestPayment(response.json).then((result) => {
|
|
49
|
-
if (result) {
|
|
50
|
-
resolve(true)
|
|
51
|
-
} else {
|
|
52
|
-
resolve(false)
|
|
53
|
-
}
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
})
|
|
57
|
-
})
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const requestBrandWCPay = (params: PaymentParams, Appcode = '') => {
|
|
61
|
-
return new Promise<boolean>((resolve, reject) => {
|
|
62
|
-
const $http = useHttp({
|
|
63
|
-
Appcode: Appcode,
|
|
64
|
-
Tenant: params.tenant,
|
|
65
|
-
})
|
|
66
|
-
$http
|
|
67
|
-
.post(endpoints.获取微信支付参数包, {
|
|
68
|
-
...params,
|
|
69
|
-
})
|
|
70
|
-
.then((response: any) => {
|
|
71
|
-
if (!response.json && !response.prePayStr) {
|
|
72
|
-
showToast({
|
|
73
|
-
title: response.message,
|
|
74
|
-
icon: 'none',
|
|
75
|
-
})
|
|
76
|
-
resolve(false)
|
|
77
|
-
} else if (!response.json && response.prePayStr) {
|
|
78
|
-
resolve(response)
|
|
79
|
-
} else if (params.fromMini) {
|
|
80
|
-
resolve(response.json)
|
|
81
|
-
} else {
|
|
82
|
-
requestWxH5Pay(response.json).then((result) => {
|
|
83
|
-
if (result) {
|
|
84
|
-
resolve(true)
|
|
85
|
-
} else {
|
|
86
|
-
resolve(false)
|
|
87
|
-
}
|
|
88
|
-
})
|
|
89
|
-
}
|
|
90
|
-
})
|
|
91
|
-
})
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const requestBrandWCPayByBean = (params: PaymentParams, Appcode = '') => {
|
|
95
|
-
return new Promise<boolean>((resolve, reject) => {
|
|
96
|
-
const $http = useHttp({
|
|
97
|
-
Appcode: Appcode,
|
|
98
|
-
Tenant: params.tenant,
|
|
99
|
-
})
|
|
100
|
-
$http
|
|
101
|
-
.post(endpoints.获取权益微信支付, {
|
|
102
|
-
...params,
|
|
103
|
-
})
|
|
104
|
-
.then((response: any) => {
|
|
105
|
-
if (!response.json && !response.prePayStr) {
|
|
106
|
-
showToast({
|
|
107
|
-
title: response.message,
|
|
108
|
-
icon: 'none',
|
|
109
|
-
})
|
|
110
|
-
resolve(false)
|
|
111
|
-
} else if (!response.json && response.prePayStr) {
|
|
112
|
-
resolve(response)
|
|
113
|
-
} else if (params.fromMini) {
|
|
114
|
-
resolve(response.json)
|
|
115
|
-
} else {
|
|
116
|
-
requestWxH5Pay(response.json).then((result) => {
|
|
117
|
-
if (result) {
|
|
118
|
-
resolve(true)
|
|
119
|
-
} else {
|
|
120
|
-
resolve(false)
|
|
121
|
-
}
|
|
122
|
-
})
|
|
123
|
-
}
|
|
124
|
-
}).catch(() => {
|
|
125
|
-
resolve(false)
|
|
126
|
-
})
|
|
127
|
-
})
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export default {
|
|
131
|
-
install($app: DollarApp) {
|
|
132
|
-
$app.requestPayment = requestPayment
|
|
133
|
-
},
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export { requestPayment, requestPaymentByBean, requestBrandWCPay, requestBrandWCPayByBean }
|
|
1
|
+
import { PaymentParams } from '../types'
|
|
2
|
+
import { DollarApp } from '../../Appkit'
|
|
3
|
+
import { useHttp, endpoints } from '../../payment/api'
|
|
4
|
+
import { requestWxH5Pay, requestPayment as weappRequestPayment } from '../../shared'
|
|
5
|
+
import Taro, { showToast } from '@tarojs/taro'
|
|
6
|
+
|
|
7
|
+
const requestPayment = (params: PaymentParams) => {
|
|
8
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
9
|
+
const $http = useHttp({
|
|
10
|
+
Appcode: params.app !== 'cloudkitPro' ? params.app : '',
|
|
11
|
+
Tenant: params.tenant,
|
|
12
|
+
})
|
|
13
|
+
$http
|
|
14
|
+
.post(endpoints.获取微信支付参数包, {
|
|
15
|
+
...params,
|
|
16
|
+
// amount: 0.01,
|
|
17
|
+
})
|
|
18
|
+
.then((response) => {
|
|
19
|
+
weappRequestPayment(response.json).then((result) => {
|
|
20
|
+
if (result) {
|
|
21
|
+
resolve(true)
|
|
22
|
+
} else {
|
|
23
|
+
resolve(false)
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
})
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const requestPaymentByBean = (params: PaymentParams, Appcode = '') => {
|
|
31
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
32
|
+
const $http = useHttp({
|
|
33
|
+
Appcode: Appcode,
|
|
34
|
+
Tenant: params.tenant,
|
|
35
|
+
})
|
|
36
|
+
$http
|
|
37
|
+
.post(endpoints.获取权益微信支付, {
|
|
38
|
+
...params,
|
|
39
|
+
})
|
|
40
|
+
.then((response: any) => {
|
|
41
|
+
if (!response.json) {
|
|
42
|
+
showToast({
|
|
43
|
+
title: response.message,
|
|
44
|
+
icon: 'none',
|
|
45
|
+
})
|
|
46
|
+
resolve(false)
|
|
47
|
+
} else {
|
|
48
|
+
weappRequestPayment(response.json).then((result) => {
|
|
49
|
+
if (result) {
|
|
50
|
+
resolve(true)
|
|
51
|
+
} else {
|
|
52
|
+
resolve(false)
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const requestBrandWCPay = (params: PaymentParams, Appcode = '') => {
|
|
61
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
62
|
+
const $http = useHttp({
|
|
63
|
+
Appcode: Appcode,
|
|
64
|
+
Tenant: params.tenant,
|
|
65
|
+
})
|
|
66
|
+
$http
|
|
67
|
+
.post(endpoints.获取微信支付参数包, {
|
|
68
|
+
...params,
|
|
69
|
+
})
|
|
70
|
+
.then((response: any) => {
|
|
71
|
+
if (!response.json && !response.prePayStr) {
|
|
72
|
+
showToast({
|
|
73
|
+
title: response.message,
|
|
74
|
+
icon: 'none',
|
|
75
|
+
})
|
|
76
|
+
resolve(false)
|
|
77
|
+
} else if (!response.json && response.prePayStr) {
|
|
78
|
+
resolve(response)
|
|
79
|
+
} else if (params.fromMini) {
|
|
80
|
+
resolve(response.json)
|
|
81
|
+
} else {
|
|
82
|
+
requestWxH5Pay(response.json).then((result) => {
|
|
83
|
+
if (result) {
|
|
84
|
+
resolve(true)
|
|
85
|
+
} else {
|
|
86
|
+
resolve(false)
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const requestBrandWCPayByBean = (params: PaymentParams, Appcode = '') => {
|
|
95
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
96
|
+
const $http = useHttp({
|
|
97
|
+
Appcode: Appcode,
|
|
98
|
+
Tenant: params.tenant,
|
|
99
|
+
})
|
|
100
|
+
$http
|
|
101
|
+
.post(endpoints.获取权益微信支付, {
|
|
102
|
+
...params,
|
|
103
|
+
})
|
|
104
|
+
.then((response: any) => {
|
|
105
|
+
if (!response.json && !response.prePayStr) {
|
|
106
|
+
showToast({
|
|
107
|
+
title: response.message,
|
|
108
|
+
icon: 'none',
|
|
109
|
+
})
|
|
110
|
+
resolve(false)
|
|
111
|
+
} else if (!response.json && response.prePayStr) {
|
|
112
|
+
resolve(response)
|
|
113
|
+
} else if (params.fromMini) {
|
|
114
|
+
resolve(response.json)
|
|
115
|
+
} else {
|
|
116
|
+
requestWxH5Pay(response.json).then((result) => {
|
|
117
|
+
if (result) {
|
|
118
|
+
resolve(true)
|
|
119
|
+
} else {
|
|
120
|
+
resolve(false)
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
}
|
|
124
|
+
}).catch(() => {
|
|
125
|
+
resolve(false)
|
|
126
|
+
})
|
|
127
|
+
})
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export default {
|
|
131
|
+
install($app: DollarApp) {
|
|
132
|
+
$app.requestPayment = requestPayment
|
|
133
|
+
},
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export { requestPayment, requestPaymentByBean, requestBrandWCPay, requestBrandWCPayByBean }
|
package/src/payment/types.ts
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
export type PaymentParams = {
|
|
2
|
-
/**
|
|
3
|
-
* 支付金额
|
|
4
|
-
*/
|
|
5
|
-
amount?: number
|
|
6
|
-
/**
|
|
7
|
-
* 应用
|
|
8
|
-
*/
|
|
9
|
-
app: string
|
|
10
|
-
/**
|
|
11
|
-
* 支付场景
|
|
12
|
-
*/
|
|
13
|
-
// stage?: string,
|
|
14
|
-
/**
|
|
15
|
-
* 租户
|
|
16
|
-
*/
|
|
17
|
-
tenant: string
|
|
18
|
-
/**
|
|
19
|
-
* 支付用户(微信登录的凭证 code)
|
|
20
|
-
*/
|
|
21
|
-
user?: string
|
|
22
|
-
/**
|
|
23
|
-
* 权益ID
|
|
24
|
-
*/
|
|
25
|
-
caseConfigId?: string
|
|
26
|
-
accountAuthFlag?: boolean
|
|
27
|
-
channelCode?: string
|
|
28
|
-
payFinishJumpUrl?: string
|
|
29
|
-
fromMini?: Boolean
|
|
30
|
-
clientInfo?: string
|
|
31
|
-
useCloudBean?: boolean
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export type RechargeParams = Pick<PaymentParams, 'app' | 'tenant'>
|
|
1
|
+
export type PaymentParams = {
|
|
2
|
+
/**
|
|
3
|
+
* 支付金额
|
|
4
|
+
*/
|
|
5
|
+
amount?: number
|
|
6
|
+
/**
|
|
7
|
+
* 应用
|
|
8
|
+
*/
|
|
9
|
+
app: string
|
|
10
|
+
/**
|
|
11
|
+
* 支付场景
|
|
12
|
+
*/
|
|
13
|
+
// stage?: string,
|
|
14
|
+
/**
|
|
15
|
+
* 租户
|
|
16
|
+
*/
|
|
17
|
+
tenant: string
|
|
18
|
+
/**
|
|
19
|
+
* 支付用户(微信登录的凭证 code)
|
|
20
|
+
*/
|
|
21
|
+
user?: string
|
|
22
|
+
/**
|
|
23
|
+
* 权益ID
|
|
24
|
+
*/
|
|
25
|
+
caseConfigId?: string
|
|
26
|
+
accountAuthFlag?: boolean
|
|
27
|
+
channelCode?: string
|
|
28
|
+
payFinishJumpUrl?: string
|
|
29
|
+
fromMini?: Boolean
|
|
30
|
+
clientInfo?: string
|
|
31
|
+
useCloudBean?: boolean
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type RechargeParams = Pick<PaymentParams, 'app' | 'tenant'>
|