1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/similing-AntOA

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

AntOA

Данный проект представляет собой фреймворк для бэкенд-разработчиков на Laravel, основанный на Vue Antd Admin. Он предоставляет возможность легко и быстро создавать различные виды взаимодействия в бэкенде, используя простую конфигурацию.

Лицензия и релизы

Проект лицензирован под Apache 2.0. Выпуски доступны по ссылке: https://github.com/similing4/AntOA/releases/latest.

Документация

Документация доступна по ссылкам:

Установка

Мы предоставляем скрипт для установки одним кликом под PaaS, но некоторые части требуют ручной настройки:

wget http://similing.gitee.io/antoa/install.sh && chmod +x install.sh && ./install.sh

Функциональность

Пример кода на PHP:

class RaceController extends AntOAController {
    public function __construct(AuthInterface $auth) {
        parent::__construct($auth);
    }

    /**
     * 初始化Grid объекта
     * @param Grid $grid
     */
    public function grid(Grid $grid) {
        $sql = DB::table("race_register")
            ->groupBy("race_id")
            ->select(['race_id', DB::raw('count(id) as reg_count')])
            ->toSql();
        $chooseUser = (new GridListEasy(new class(DB::table("race_register")) extends DBListOperator {
            public function where($column, $operator = null, $value = null, $boolean = 'and') {
                if ($column == "id")
                    return parent::where("race_id", $operator, $value, $boolean);
                return parent::where($column, $operator, $value, $boolean);
            }
        }))->columnText("game_uid", "雀魂UID")
            ->columnText("game_nickname", "雀魂昵称")
            ->filterHidden('id');
        $grid->list((new class(DB::table("race as race")->leftJoin(DB::raw("(" . $sql . ") reg"), DB::raw('reg.race_id'), '=', 'race.id')) extends DBListOperator {
            public function where($column, $operator = null, $value = null, $boolean = 'and') {
                return parent::where("race." . $column, $operator, $value, $boolean);
            }

            public function select($columns) {
                $columns2 = [];
                foreach ($columns as $r) {
                    if ($r != "reg_count")
                        $columns2[] = "race." . $r . " as " . $r;
                    else
                        $columns2[] = DB::raw("reg.reg_count as reg_count");
                }
                return parent::select($columns2);
            }
        })->orderBy('start_time', "desc"))
            ->columnText('id', 'ID')
            ->columnText('name', '比赛名称')
            ->columnText('reg_count', '报名人数')
            ->columnEnum('status', '状态', [
                new EnumOption(0, "不可报名"),
                new EnumOption(1, "可报名")
            ])
            ->columnRichDisplay('detail_url', '报名链接')
            ->filterText("name", "比赛名称")
            ->rowNavigateButton(new class("/race/register/list", "报名记录", "primary") extends ListRowButtonNavigate {

                public function calcButtonParam(UrlParamCalculator $calculator) {
                    return [new UrlParamCalculatorParamItem("race_id", $calculator->getRowParamByKey("id")->val)];
                }

                public function judgeIsShow(UrlParamCalculator $calculator) {
                    return true;
                }
            })
            ->rowNavigateButton(new class("/race/group/list", "比赛分组", "primary") extends ListRowButtonNavigate {

                public function calcButtonParam(UrlParamCalculator $calculator) {
                    return [new UrlParamCalculatorParamItem("race_id", $calculator->getRowParamByKey("id")->val)];
                }

                public function judgeIsShow(UrlParamCalculator $calculator) {
                    return true;
                }
            });
        $grid->createForm(new class(DB::table("race")) extends DBCreateOperator {
        })
            ->columnText('name', '比赛名称')
            ->columnTimestamp('start_time', '比赛开始时间')
            ->columnTimestamp('register_end_time', '报名截止时间')
            ->columnRichText('money_explain', '奖金介绍')
            ->columnRichText('race_explain', '比赛简介')

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
PHP и 6 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/similing-AntOA.git
git@api.gitlife.ru:oschina-mirror/similing-AntOA.git
oschina-mirror
similing-AntOA
similing-AntOA
main