定制 samuelpereiramachado/tall-sweetalert 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

samuelpereiramachado/tall-sweetalert

Composer 安装命令:

composer require samuelpereiramachado/tall-sweetalert

包简介

SweetAlert2 auto-injected for Laravel TALL Stack. Zero configuration.

README 文档

README

License: MIT PHP Laravel Livewire

Pacote Laravel que injeta automaticamente SweetAlert2 em toda resposta HTML. Instale com um comando. Sem configuração. Sem build tools. Funciona na hora.

🎯 Diferenciais

Este pacote é flexível e se adapta ao seu estilo de projeto:

⚡ Com Livewire (Experiência Completa)

  • Macros Nativas: Use $this->alert() e $this->confirm() direto do seu componente PHP.
  • Callbacks Automáticos: Confirmações chamam métodos do backend automaticamente.
  • Integração Profunda: Sincronizado com o ciclo de vida do Livewire.

🌐 Sem Livewire (Laravel Puro)

  • Zero Configuração: O SweetAlert2 é injetado e fica disponível globalmente (window.Swal).
  • Assets Otimizados: Javascript servido com cache de 1 ano (immutable).
  • Fácil Integração: Perfeito para usar com Flash Messages e Controllers padrão.

🚀 Instalação

composer require samuelpereiramachado/tall-sweetalert

É só isso. Não precisa publicar configs, rodar migrations, nem editar nenhum arquivo.

🔧 Uso com Livewire (Recomendado)

Se você tem o Livewire instalado, aproveite as macros para interagir com o usuário diretamente do seu backend PHP.

1. Disparar Alertas

// Sucesso
$this->alert('Salvo!', 'Registro criado com sucesso.', 'success');

// Erro
$this->alert('Erro!', 'Não foi possível salvar.', 'error');

// Aviso com timer
$this->alert('Aviso', 'Sessão expira em breve.', 'warning', [
    'timer' => 3000,
    'showConfirmButton' => false,
]);

2. Confirmação com Callback

O método $this->confirm() exibe uma pergunta e, se aceita, chama um método do seu componente automaticamente.

// No seu método de ação (ex: clique no botão excluir)
public function confirmarExclusao($id)
{
    $this->confirm(
        'Excluir usuário?',
        ['method' => 'excluir', 'params' => $id], // Método a ser chamado se confirmado
        'Esta ação não pode ser desfeita.',
        'warning'
    );
}

// Método que será executado APENAS se o usuário confirmar
public function excluir($id)
{
    User::findOrFail($id)->delete();
    $this->alert('Excluído!', 'Usuário removido.', 'success');
}

🌐 Uso sem Livewire (Laravel Puro)

Se você não usa Livewire, o pacote ainda injeta o SweetAlert2 em todas as suas páginas.

1. Alertar via Controller (Flash Message)

Você pode usar a sessão do Laravel para enviar mensagens e exibi-las com um pequeno snippet no seu layout Blade:

No Controller:

public function store()
{
    // ... lógica de salvar ...
    return redirect()->route('home')->with('success', 'Registro criado com sucesso!');
}

No seu Layout Blade (ex: app.blade.php):

@if (session('success'))
<script>
  document.addEventListener("DOMContentLoaded", function () {
    Swal.fire("Sucesso!", "{{ session('success') }}", "success");
  });
</script>
@endif

2. Uso direto no Javascript

Você pode usar a biblioteca globalmente Swal em qualquer lugar:

<script>
  document.getElementById("meu-botao").addEventListener("click", () => {
    Swal.fire("Olá!", "SweetAlert2 funcionando!", "info");
  });
</script>

Nota: As macros $this->alert() e $this->confirm() são exclusivas do Livewire.

⚙️ Como funciona

  1. Middleware Global: O pacote registra um middleware que intercepta respostas HTML.
  2. Injeção de Script: Ele insere a tag <script src="..."> do SweetAlert2 antes de fechar o </body>.
  3. Cache Inteligente: O arquivo JS é servido por uma rota interna com headers de cache agressivos (1 ano), garantindo performance máxima após o primeiro carregamento.

📋 Requisitos

Dependência Versão
PHP >= 8.1
Laravel 10, 11 ou 12
Livewire (Opcional)

📄 Licença

MIT — veja LICENSE para detalhes.

Autor: Samuel Pereira Machado

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固