Skip to content

用户余额

简介

只要在开发项目中用户需要使用余额就可以使用此插件,比如说用户的余额、积分、金豆、抽奖次数等,可自定义余额类型

预览

查看总后台的用户余额

安装插件

sh
composer require superadminx/balance

卸载插件

sh
composer remove superadminx/balance

使用

扩展自己的余额类型

1、在plugin/balance/config/app.php中设置自己的余额类型,可增加、修改、减少自己的余额类型

查看代码
php
<?php

use support\Request;

return [
    'debug'             => getenv('DE_BUG') == 'true' ? true : false,
    'controller_suffix' => '',
    'controller_reuse'  => true,
    'version'           => '1.0.0',

    // 各种余额类型
    'balance_type'      => [ 
        [ 
            'field'     => 'money', // 字段名称
            'title'     => '余额', // 字段中文
            'precision' => 2 // 小数点保留位数
        ], 
        [ 
            'field'     => 'integral', 
            'title'     => '积分', 
            'precision' => 0
        ], 
    ] 
];

2、修改数据表sa_balane中的字段,修改同上,增加、修改、减少自己的余额字段

TIP

完成以上两步即可,后台的列表、明细、导出等都会自动更改为新的余额类型

如果是删除某余额类型,如删除积分integral,最好同时删除一下sa_balance_details表中balance_type=integral的数据

程序内部使用

在程序内部用提供了两个方法:

php
// 获取用户的余额,如果新用户注册后想初始化用户的余额,也可以调此方法
$userBalance = \plugin\balance\api\Balance::get(
    // 用户id
    $userId,
    // 可选,余额类型,否则返回所有的
    $balanceType
);

// 变更用户的余额
// 成功不返回任何值,失败会抛出错误
// 不允许修改余额为负数,如张三给李四转账,都不用先判断张三余额是否足够(因为余额不足会抛出错误),直接先调用此方法扣除张三的余额,在增加李四的余额即可
\plugin\balance\api\Balance::change(
    // 用户id
    $userId,
    // 变更的余额类型,如 money
    $balanceType,
    // 变更的值,正数为加,负数为减
    $changeValue,
    // 标题,变更的原因
    $title
);

前端api接口

查看接口文档