1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Веб L-Shop [Open Source]

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем D3lph1, 9 мар 2017.

  1. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Как насчёт того, чтобы переводить логи самому? В первом предложение содержится вся необходимая информация для того, чтобы понять, в чем проблема.
     
  2. darkhil

    darkhil Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DarkHil
    Оо получилось))
    Спасибки:rolleyes:
     
  3. NewLordOfTime

    NewLordOfTime Активный участник Пользователь

    Баллы:
    66
    Будет ли в новой версии добавлена возможность покупки за внутриигровую валюту?
     
  4. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Есть возможность приобрести внутриигровые валюту.
     
  5. origamerpro

    origamerpro Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    origamerpro
    Кто нибудь интегрировал в DLЕ?
     
  6. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Лол
     
  7. origamerpro

    origamerpro Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    origamerpro
    Краткий непонятный возглас.
     
  8. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    1.0.0-beta1 (от 12.08.2018):
    Это самое масштабное обновление, которое когда-либо получал L-Shop. Практически весь код был переписан дабы избавиться от слабых сторон системы.
    Список неполон, так сразу все и не вспомнишь.

    Система
    • В качестве frontend фреймворка используется Vue.js. jQuery полностью выпилен и НЕ используется.
    • Frontend теперь собирается с использование такого инструмента, как webpack.
    • Стандартная тема стилизована с помощью Vuetify. От mdbootstrap было решено отказаться в силу того, что часть компонентов доступно только в платной версии, а так же потому что реализация mdb для vue, на момент начала разработки, была еще слишком сыра (Как обстоят дела сейчас не знаю).
    • L-Shop отныне является SPA приложением. Переход по страницам осуществяется без перезагрузки страницы. Это призвано улучшить UX.
    • На бекенде в качестве ORM/dbal используется Doctrine. Eloquent выпилен полностью.
    Магазин
    • Добавлена возможность продажи:
      • Внутриигровая валюта.
      • Владение регионом.
      • Членство в регионе.
      • Выполняемая команда. Это очень гибкий тип предмета, позволяющий продавать в магазине вообще все, что угодно. Команда будет выполнена при выдаче товаров игроку.
    • Добавлена возможность продавать зачарованные предметы. Чары накладываются через удобное меню при создании предмета в админ-панели.
    • По многочисленным просьбам добавлен новый дистрибъютор: RconDistributor, который позволяет выдавать товары игроку по средствам протокола RCON.
    • Добавлено всплывающее меню для каждой карточки товара в каталоге. Меню содержит такие опции как:
      • Открытие модального окна для просмотра доп. информации о товаре (описание, чары).
      • Быстрый переход к товару в админ-панели.
      • Быстрый переход к предмету в админ-панели.
    • Добавлена возможность скрыть товар из каталога. При этом он будет выден только администраторам.
    Пользователи
    • Реализована гибкая система на основе прав и ролей. У каждого пользователя может быть свой набор прав и ролей. В свою очеред, у каждой роли может быть свой набор прав. Благодаря этому теперь могут быть созданы пользователи-модераторы, пользователи-редакторы и тд.
    • Добавлена возможность просматривать внутриигровую корзину а так же историю покупок для индивидуально для каждого пользователя.
    • Появилась возможность настраивать, какие размеры изображения относятся к HD скину/плащу, а какие - к обычному.
    • Добавлена возможность просматривать и изменять скин/плащ каждого пользователя отдельно.

    Другое
    • Полностью изменена система роутинга. Ранее большинство роутов содержало в себе идентификатор сервера/категории. Теперь же, текущий сервер/категория хранятся в пользовательской сессии. Это делает url приложения более чистыми и понятными.
    • При создании/редактирование сервера теперь можно выбрать, какой из дисрибьюторов будет использовать данный сервер.
    • На странице выбора сервера теперь можно кликнуть ПКМ по названию сервера и в контекстном меню выбрать:
      • Включить/выключить сервер.
      • Перейти к серверу в админ-панель.
    • Для показа табличных данных теперь используются функциональные data tables, в которых можно изменить порядок сортировки элементов, а так же их количество на кадой странице и тд.
    • Изменен вывод статистики: он теперь выводится за несколько лет. По щелчку на конкретный месяц можно посмотреть статистику по нему. Добавлен вывод наиболее часто приобретаемых товаров, а также добавлен вывод дополнительных справочных данных.
    • Программный API заметно упростился. Стало очень просто изменять/расширять какие-либо компоненты. Механизмы расширения функционала подробно описаны в документации.
    • Добавлена программная интеграция с плагином LuckPerms, присутствует возможность работать с разрешениями через API.
      Для работы с L-Shop требуется версия с патчем. Pull-request уже принят, но из-за того, что разработчик еще не создал релиз, содержащий эти изменения, вам нужно будет собрать плагин либо из моего форка, либо из мастер ветки официального репозитория LuckPerms.
    • Написана обширная документация, которая со временем будет только расширяться.
    Это первая бета версия версии 1.0.0. Планируется несколько тестовых итераций, после чего состоится полноценный релиз. Не рекомендуется использовать эту версию для реальных проектов, вместо этого используйте последнюю стабильную - 0.5.0a.

    Шапка обновлена вместе со скриншотами.
     
    Последнее редактирование: 13 авг 2018
  9. darkhil

    darkhil Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DarkHil
    В настройках .env какой ключ должен быть?
    я про APP_KEY=
     
  10. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Генерируем командой php artisan key:generate
     
  11. darkhil

    darkhil Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    DarkHil
    :good:Отлично получилось и дизайн приятный
     
  12. Akame

    Akame Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Akame
    @D3lph1
    PHP:
    <?php

    namespace Aero\Application;

    use 
    Aero;
    use 
    Aero\Low\Jsn;
    use 
    Aero\Route\Router;
    use 
    Aero\Page\Action;
    use 
    Aero\Page\Controller;
    use 
    Aero\Auth\AuthManager;

    class 
    Main
    {
        protected 
    $path;
        protected 
    $Directory;
        protected 
    $pageFile;
        public 
    $page = [];
        public 
    $action;
        public 
    $buffer FALSE;
        public 
    $Router NULL;
        public 
    $Auth NULL;
       
        use 
    Jsn;
       
        public function 
    __construct string $directorystring $namefilestring $defaultStart )
        {
            
    Aero::$app $this;
           
            
    $this -> Directory $directory;
            
    $this -> pageFile $namefile;
            
    $this -> pageStart $defaultStart;
            
    $this -> pagePath strtr $directory '/resources/pages/%s/%s''/'DIRECTORY_SEPARATOR );
            
    $this -> controllerPath strtr $directory '/resources/pages/%s/Controller/Controller''/'DIRECTORY_SEPARATOR );
           
            
    $this -> path $this -> urlPath() -> isPath();
        }
        protected function 
    urlPath(): Main
        
    {
            
    $this -> page explode '/'trim parse_url $_SERVER['REQUEST_URI'], ), '/' ) ?: $this -> pageStart );
           
            return 
    $this;
        }
        protected function 
    isPath(): bool
        
    {
            
    $file sprintf $this -> pagePath$this -> page[0], $this -> pageFile );
           
            if ( 
    file_exists $file '.php' ) )
            {
                
    Aero::setPathMap( [
                    
    Action::class => $file,
                    
    Controller::class => sprintf $this -> controllerPath$this -> page[0] )
                ] );
               
                return 
    TRUE;
            }
           
            return 
    FALSE;
        }
        protected function 
    headerAuthManager $Auth )
        {
            
    session_name 'EASYSINGLE_SESSID' );
            
    session_start ();
           
            ( 
    $this -> Auth $Auth ) -> runable();
           
            
    ob_start ();
        }
        protected function 
    routerRouter $Router )
        {
            
    register_shutdown_function ( [ $this'fluex' ] );
           
            
    $this -> Router $Router;
            
    $this -> action $Router -> Action( new Action );
            
    $this -> Router -> run();
        }
        protected function 
    buffer()
        {
            if ( !empty ( 
    $this -> buffer ) )
            {
                echo 
    $this -> json( [ 'ELEMENTS' => $this -> buffer ] );
            }
            else
            {
                echo 
    $this -> json(
                [
                    
    'TITLE' => Aero::$app -> Router -> style,#self::PAGE_TITLE( 1, 1 ),
                    
    'BODY' => include strtr (
                        
    $this -> Directory '/resources/view/others/' Aero::$app -> Router -> style '.php' ,
                        
    '/'DIRECTORY_SEPARATOR )
                ] );
            }
        }
        public function 
    unit()
        {
            if ( !
    $this -> path )
                throw new \
    Exception'~~ Code 404 No Folder: ' $this -> page[0] );
           
            
    $this -> header( new AuthManager$thisAero\Auth\User::class ) );
            
    $this -> router( new Router );
        }
        public function 
    fluex()
        {
            
    $contents ob_get_contents ();
            
    ob_end_clean ();
           
            if (
    0)
            {
                echo 
    $contents;
                return;
            }
            if ( isset ( 
    $_GET['HISTORY_API'] ) )
            {
                
    header 'Content-type: application/json' );
               
                
    $this -> buffer();
                return;
            }
            elseif ( isset ( 
    $this -> buffer['REDIRECT'] ) )
            {
                
    header 'Location: ' $this -> buffer['REDIRECT'] );
                return;
            }
           
            
    header 'Content-type: text/html; charset=UTF-8' );
           
            include 
    strtr $this -> Directory '/resources/view/template.php''/'DIRECTORY_SEPARATOR );
        }
    }
    А так же последуют некие правки синтаксиса в твоем git
     
  13. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Что?
     
  14. TurboCraftSrv

    TurboCraftSrv Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Zeldos
    в дальнейшем добавишь Passport? для vue, vue-router, это как раз + если кто желает android приложения создавать, как раз будет api с токеном)
     
  15. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Забей, человек продвигает свой фреймворк)
     
  16. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Возможно, пока не думал об этом.

    Выглядит так, будто он топиком ошибся.
     
  17. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    А чем обусловлен отказ от Eloquent?
    Использую пол года, полет нормальный, а за vue отдельный плюс!
     
  18. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Тем то что это active record.
     
  19. Aspirchik

    Aspirchik Активный участник

    Баллы:
    61
    Имя в Minecraft:
    _Aspirchik_
    Как исправить?
    Код:
    php artisan doctrine:migrations:migrate
    **************************************
    *     Application In Production!     *
    **************************************
    
     Do you really wish to run this command? (yes/no) [no]:
     > y
    
    
    In AbstractMySQLDriver.php line 113:
    
      An exception occurred in driver: SQLSTATE[HY000] [2002] No handler for this
       scheme
    
    
    In PDOConnection.php line 50:
    
      SQLSTATE[HY000] [2002] No handler for this scheme
    
    
    In PDOConnection.php line 46:
    
      SQLSTATE[HY000] [2002] No handler for this scheme
    
    
    

    Также и с
    php artisan doctrine:migrations:diff
    php artisan doctrine:generate: proxies
    php artisan db:seed
    php artisan db:transfer <старая БД> <новая БД>

    А также сделай фикс прав доступа к инструкции по настройке PostgreSQL после 9 пункта в документации по установке. А то просит авторизоваться для доступа к ней.
     
    Последнее редактирование: 14 авг 2018
  20. Автор темы
    D3lph1

    D3lph1 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    D3lph1
    Seeding делать не нужно при transfer'е базы данных. Об этом черным по белому в документации написано.

    Про исключение ничего сказать не могу.

    Видимо, какой-то баг gitbook'а. У меня с телефона не заходит, но с ПК всё работает.
     
    Последнее редактирование: 14 авг 2018

Поделиться этой страницей