dcat-admin

dcat-admin


动作以及表单响应

<h1>动作以及表单响应</h1> <p><a href="action.md">动作</a>、<a href="model-form.md">数据表单</a>以及<a href="widgets-form.md">工具表单</a>的响应方法都是同一套方法。</p> <p>在类中可以通过 <code>$this-&amp;gt;response()</code> 获取到 <code>Dcat\Admin\Http\JsonResponse</code>对象并响应数据到前端</p> <pre><code class="language-php">return $this-&amp;gt;response()-&amp;gt;success('成功!'); // 等同于 use Dcat\Admin\Admin; use Dcat\Admin\Http\JsonResponse; return JsonResponse::make()-&amp;gt;success('成功!'); return Admin::make()-&amp;gt;success('成功!');</code></pre> <p>如果是在控制器中使用,需要加上<code>send</code>方法</p> <pre><code class="language-php">public function index() { return JsonResponse::make()-&amp;gt;success('成功!')-&amp;gt;send(); }</code></pre> <h3>功能</h3> <p>下面介绍一下 <code>JsonResponse</code> 的主要用法</p> <h4>展示成功信息</h4> <p>此方法接收一个<code>string</code>类型参数</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;success('成功!');</code></pre> <h4>展示错误信息</h4> <p>此方法接收一个<code>string</code>类型参数</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;error('出错了!');</code></pre> <h4>展示警告信息</h4> <p>此方法接收一个<code>string</code>类型参数</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;warning('警告');</code></pre> <h4>跳转</h4> <p>此方法接收一个<code>string</code>类型参数,可以与<code>success</code>、<code>error</code>、<code>warning</code>等方法同时使用</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;redirect('auth/users');</code></pre> <h4>跳转 (location)</h4> <p><code>1</code>秒后自动跳转(非局部刷新),此方法接收一个<code>string</code>类型参数</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;success('操作成功')-&amp;gt;location('auth/users');</code></pre> <p>如果不传参则刷新当前页面</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;success('操作成功')-&amp;gt;location();</code></pre> <h4>刷新当前页面</h4> <p>此方法可以与<code>success</code>、<code>error</code>、<code>warning</code>等方法同时使用</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;success('xxx')-&amp;gt;refresh();</code></pre> <h4>下载</h4> <p>此方法接收一个<code>string</code>类型参数</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;download('auth/users?_export_=1');</code></pre> <h4>展示确认弹窗</h4> <pre><code class="language-php">// 成功 $this-&amp;gt;response()-&amp;gt;alert(true)-&amp;gt;success('...')-&amp;gt;detail('详细内容'); // 错误 $this-&amp;gt;response()-&amp;gt;alert(true)-&amp;gt;error('...')-&amp;gt;detail('详细内容'); // 警告 $this-&amp;gt;response()-&amp;gt;alert(true)-&amp;gt;warning('...')-&amp;gt;detail('详细内容'); // 提示 $this-&amp;gt;response()-&amp;gt;alert(true)-&amp;gt;info('...')-&amp;gt;detail('详细内容');</code></pre> <h4>返回HTML</h4> <p>此方法可接收一个<code>string</code>、<code>Renderable</code>、<code>Htmlable</code>类型参数,可以与<code>success</code>、<code>error</code>、<code>warning</code>等方法同时使用</p> <p>&gt; {tip} 响应的<code>HTML</code>字符默认会被置入动作按钮元素上,如果需要自己控制,则覆写<a href="#handleHtmlResponse">handleHtmlResponse</a>方法即可。</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;html('&amp;lt;a&amp;gt;a标签&amp;lt;/a&amp;gt;'); $this-&amp;gt;response()-&amp;gt;html(view('...'));</code></pre> <h4>执行JS代码</h4> <p>此方法接收一个<code>string</code>类型参数,可以与<code>success</code>、<code>error</code>、<code>warning</code>等方法同时使用</p> <pre><code class="language-php">$this-&amp;gt;response()-&amp;gt;script( &amp;lt;&amp;lt;&amp;lt;JS console.log('response', response, target); JS );</code></pre> <h3>根据条件判断是否调用</h3> <p>上面所有功能接口都支持<code>if</code>模式,如</p> <pre><code class="language-php">// 如果 $condition 的值为 真,则调用 refresh 方法 $this-&amp;gt;response()-&amp;gt;success(...)-&amp;gt;ifRefresh($condition); $this-&amp;gt;response()-&amp;gt;success(...)-&amp;gt;ifLocation($condition, 'auth/users'); // $condition 也可以是闭包 $this-&amp;gt;response()-&amp;gt;success(...)-&amp;gt;ifRefresh(function () { return true; });</code></pre>

页面列表

ITEM_HTML