仰望星辰工作室

better-staridc-MNBT

Z zfhsh first commit 2 天前
1<?php
2if (!defined('IN_CRONLITE')) {
3 exit;
4}
5mnbt_admin_include('head');
6$welcome = mnbt_plugin_option_get('hello_demo', 'welcome', '你好,MNBT 插件!');
7$pingCount = (int)mnbt_plugin_option_get('hello_demo', 'ping_count', 0);
8$events = mnbt_plugin_option_get('hello_demo', 'host_events', []);
9if (!is_array($events)) {
10 $events = [];
11}
12?>
13<div class="container-fluid p-t-15">
14 <div class="card">
15 <div class="card-header"><h4>Hello 示例插件</h4></div>
16 <div class="card-body">
17 <p class="text-muted">本页演示:插件配置读写、AJAX 接口、主机生命周期事件记录。</p>
18 <div class="form-group">
19 <label>欢迎语</label>
20 <input type="text" class="form-control" id="hello-welcome" value="<?=htmlspecialchars((string)$welcome, ENT_QUOTES, 'UTF-8')?>" maxlength="200">
21 </div>
22 <button type="button" class="btn btn-primary" id="btn-save">保存配置</button>
23 <button type="button" class="btn btn-info" id="btn-ping">测试 AJAX(Ping)</button>
24 <span class="ml-2 text-muted">Ping 次数:<strong id="ping-count"><?=(int)$pingCount?></strong></span>
25 <hr>
26 <h5>主机事件日志(最近 50 条)</h5>
27 <pre class="bg-light p-3" style="max-height:320px;overflow:auto" id="event-log"><?php
28if (!$events) {
29 echo "(暂无。开通/暂停/删除主机后会出现在这里)\n";
30} else {
31 echo htmlspecialchars(implode("\n", $events), ENT_QUOTES, 'UTF-8');
32}
33?></pre>
34 </div>
35 </div>
36</div>
37<script>
38function parseRes(res) {
39 try { return typeof res === 'string' ? JSON.parse(res) : res; } catch (e) { return {code: res}; }
40}
41$('#btn-save').on('click', function () {
42 $.post('ajax.php', {gn: 'p_hello_demo_save', welcome: $('#hello-welcome').val()}, function (res) {
43 var d = parseRes(res);
44 var msg = d.msg || d.code || '完成';
45 if (typeof $.notify === 'function') $.notify({message: msg}, {type: (d.qk == 1 || d.success) ? 'success' : 'danger'});
46 else alert(msg);
47 });
48});
49$('#btn-ping').on('click', function () {
50 $.post('ajax.php', {gn: 'p_hello_demo_ping'}, function (res) {
51 var d = parseRes(res);
52 var msg = d.msg || d.code || '完成';
53 if (d.ping_count != null) $('#ping-count').text(d.ping_count);
54 if (typeof $.notify === 'function') $.notify({message: msg}, {type: (d.qk == 1 || d.success) ? 'success' : 'danger'});
55 else alert(msg);
56 });
57});
58</script>