程序公告与自动通知(服务端 / 客户端分目录)PHP版 v1.0

0 0 3 2026-06-08
PHP Simplified Chinese (3/5)
Author:cs

Overview

本示例演示 服务器公告自动加载版本/升级提示通用通知(Toast 轮询)。服务端为 PHP 5.6~8.x 可读 JSON 数据;客户端为 jQuery + Bootstrap 5 + Boxicons,按服务端返回的 client_poll_interval_ms 定时拉取聚合接口(请求结束后再排下一次,避免叠请求;失败退避重试;回到前台立即补拉)

Source details

本示例演示 服务器公告自动加载版本/升级提示通用通知(Toast 轮询)。服务端为 PHP 5.6~8.x 可读 JSON 数据;客户端为 jQuery + Bootstrap 5 + Boxicons,按服务端返回的 client_poll_interval_ms 定时拉取聚合接口(请求结束后再排下一次,避免叠请求;失败退避重试;回到前台立即补拉)。

程序版本号:服务端常量 ANB_SERVER_APP_VERSION(定义于 server/inc/notify_version.php);JSON 响应根字段 version 与其一致。客户端演示版本在 client/assets/js/notify-client.js 顶部 CLIENT_VERSION,用于与 server/data/meta.jsonupgrade 字段对比。

应用场景

  • 桌面或 Web 客户端需要 公告栏、升级提示、运营 Toast,又不想强依赖 WebSocket 基础设施时,可用 轮询聚合接口 实现「类推送」体验。
  • 运维/运营希望通过简单后台维护 JSON,即可影响所有在线客户端展示内容。

用户痛点

  • 自研推送成本高;纯静态站点又难以及时广播停机、版本更新等信息。
  • 轮询若设计不当会导致请求堆积、耗电或失败后无法退避。

本项目解决的问题

  • 服务端 feed.php 一次返回公告、升级元数据、通知列表与建议轮询间隔;客户端按间隔拉取并 去重 Toast、失败退避、回到前台补拉。
  • 提供简易 管理后台 写入 data/*.json,演示「配置与客户端解耦」的发布流程。

项目价值说明

  • 以最小 PHP + 前端脚本展示可落地的 广播通知模式,便于嵌入现有后台或改为数据库存储。

目录结构

路径 说明
server/api/feed.php 聚合 JSON:公告、升级信息、通知列表、建议轮询间隔
server/admin/index.php 可视化管理后台:表单编辑上述数据,保存为 data/*.json(客户端仍只读 feed)
server/admin/save.php 后台保存接口(POST + Session 令牌,演示用,生产须鉴权)
server/data/*.json 演示数据存储(可由管理后台写入,亦可手工编辑)
server/config.example.php 复制为 server/config.php 可改数据目录与 CORS
client/index.php 演示页(轮询、公告卡片、Toast)
client/assets/js/notify-client.js 定时拉取;Toast 按 id+指纹 去重。「立即拉取」 会重绘公告并逐条弹 Toast(未改内容带「已同步」)
index.php 入口:链向客户端 / 服务端 / feed

快速开始

  1. app-notify-broadcast-php-cn-sample 置于 Web 根目录或通过 PHP 内置服务器从本示例根目录启动,使 client/server/ 的相对路径可用(客户端内请求 ../server/api/feed.php)。
  2. 浏览器打开 client/index.php(或根目录 index.php 再进入客户端)。
  3. 打开 server/admin/index.php 在网页中修改并保存,或手工编辑 server/data 下 JSON;在客户端点击「立即拉取」或等待自动轮询即可验证。

Project: PHPDisk - 私有云存储解决方案
This is NOT a freeware, use is subject to license terms.
Website: https://www.phpdisk.com
Author: PHPDisk Team ( admin@phpdisk.com )
Copyright (C) 2008-2026 PHPDisk Team. All Rights Reserved.

如需定制功能,或查看更多示例与源码索引,请访问:https://code.phpdisk.com/?utm_source=app-notify-broadcast-php-cn-sample

Comments

No comments yet—be the first!