lekoala / silverstripe-pwa
使用 SilverStripe 创建您的渐进式网页应用(PWA)
dev-master
2024-09-16 12:59 UTC
Requires
- php: ^7.4 || ^8
- minishlink/web-push: ^7.0 || ^8
- silverstripe/framework: ^4.4 || ^5
- silverstripe/recipe-plugin: ^1 || ^2
- silverstripe/vendor-plugin: ^1 || ^2
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-16 12:59:46 UTC
README
特性
- 支持推送通知
- 生成有效的清单文件
- 提供默认可配置的服务工作者,可以缓存资源
生成图标
使用 cli npm run generate-assets(-root)
(如果您有 app/images/logo.svg
文件)或上传包含所需图标的 zip 文件
注意:注意 maskable icons。您可以在开发者控制台中测试它们的大小。您可以在 maskable.app 进行测试
订阅推送通知
client.js 提供了一些基本代码。您需要放置一个复选框,以便可以切换推送通知的开启/关闭。
<label ><input type="checkbox" class="js-push-toggle" /> Enable notifications</label >
这由 client.js 处理。您可以替换客户端代码或完全禁用它
LeKoala\SsPwa\ServiceWorkerController: enable_client_js: false custom_client_path: "/my/custom/path"
服务工作者
此模块提供默认服务工作者。如果需要,您可以使用自己的
LeKoala\SsPwa\ServiceWorkerController: custom_sw_path: "/my/custom/path"
使用 vapid 密钥
您可以使用这个 在线工具 或使用 cli npm run gen-push-keys
生成 vapid 密钥
您需要将它们保存到 .env 文件或作为 YML 配置。
PUSH_PUBLIC_KEY='BK1Zt63e94HgYNm-s9aquI85AUdDRz3uKMxue7woQVZv0_3txywXPgyYd2WPJetayKYq3E_AObBGD9rHWOL_...'
PUSH_PRIVATE_KEY='1nKKQnzGRMNit-TuvklqoTY_ENO8eAybp1MsZWx0...'
发送推送通知
您可以使用以下代码片段
PushSubscription::sendPushNotifications($where, $data);
鸣谢
感谢 https://github.com/a2nt/silverstripe-progressivewebapp 提供了一些灵感 :-)
兼容性
已测试与 ^4.11
维护者
LeKoala - thomas@lekoala.be