feat(credits): exchange balance for points
Replace the legacy points-to-balance and external points purchase flows with direct integer balance-to-points exchange. Enforce exchange and points-transfer limits and capability checks across the UI and REST API.
This commit is contained in:
1 parent
f9bce15c9a
commit
1247f9bf4e
18 files changed
+234
-648
No files matched your search
@@ -20,9 +20,11 @@ export const rechargeSchema = {
|
||||
pay_balance_pass_charge_s: false,
|
||||
pay_balance_pass_charge_desc: '',
|
||||
pay_balance_pass_charge_only_password: false,
|
||||
pay_balance_exchange_s: false,
|
||||
pay_balance_exchange_rate: 100,
|
||||
pay_balance_exchange_desc: '',
|
||||
pay_balance_points_exchange_s: false,
|
||||
pay_balance_points_exchange_rate: 100,
|
||||
pay_balance_points_exchange_min_points: 100,
|
||||
pay_balance_points_exchange_daily_max_points: 100000,
|
||||
pay_balance_points_exchange_desc: '',
|
||||
pay_balance_withdraw_s: false,
|
||||
},
|
||||
groups: [
|
||||
@@ -79,12 +81,14 @@ export const rechargeSchema = {
|
||||
},
|
||||
{
|
||||
key: 'exchange',
|
||||
title: '积分兑换',
|
||||
title: '余额兑换积分',
|
||||
icon: 'fas fa-coins',
|
||||
fields: [
|
||||
{ key: 'pay_balance_exchange_s', label: '启用积分兑换', type: 'switch', default: false },
|
||||
{ key: 'pay_balance_exchange_rate', label: '兑换比例', type: 'number', default: 100, min: 1, max: 10000, help: 'N 积分 = 1 元', dependsOn: { key: 'pay_balance_exchange_s', value: true } },
|
||||
{ key: 'pay_balance_exchange_desc', label: '兑换说明', type: 'textarea', default: '', dependsOn: { key: 'pay_balance_exchange_s', value: true } },
|
||||
{ key: 'pay_balance_points_exchange_s', label: '启用余额兑换积分', type: 'switch', default: false, dependsOn: { key: 'pay_balance_s', value: true } },
|
||||
{ key: 'pay_balance_points_exchange_rate', label: '兑换比例', type: 'number', default: 100, min: 1, max: 10000, help: '1 余额 = N 积分', dependsOn: { key: 'pay_balance_points_exchange_s', value: true } },
|
||||
{ key: 'pay_balance_points_exchange_min_points', label: '单笔最低购买积分', type: 'number', default: 100, min: 1, max: 10000000, dependsOn: { key: 'pay_balance_points_exchange_s', value: true } },
|
||||
{ key: 'pay_balance_points_exchange_daily_max_points', label: '每日最高购买积分', type: 'number', default: 100000, min: 1, max: 10000000, dependsOn: { key: 'pay_balance_points_exchange_s', value: true } },
|
||||
{ key: 'pay_balance_points_exchange_desc', label: '兑换说明', type: 'textarea', default: '', dependsOn: { key: 'pay_balance_points_exchange_s', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user