
語言 🇹🇼 繁體中文
🇺🇸
English
🇧🇬
Български
🇨🇳
简体中文
🇹🇼
繁體中文
🇭🇷
Hrvatski
🇩🇰
Dansk
🇳🇱
Nederlands
🇺🇸
English (US)
🇨🇦
Français (Canada)
🇫🇷
Français (France)
🇩🇪
Deutsch
🇨🇾
Ελληνικά (Κύπρος)
🇬🇷
Ελληνικά
🇮🇱
עברית
🇮🇹
Italiano
🇯🇵
日本語
🇰🇷
한국어
🇵🇱
Polski
🇧🇷
Português (Brasil)
🇷🇺
Русский
🇺🇦
Русский (Украина)
🇧🇦
Српски (БиХ)
🇷🇸
Srpski (Latinica)
🇲🇪
Српски (Црна Гора)
🇷🇸
Српски
🇸🇮
Slovenščina
🇪🇸
Español
🇺🇦
Українська
🇹🇷
Türkçe
文件
入門
API 參考
Add Comments to Your Laravel App
這是 FastComments 的官方 Laravel 套件。
為您的 Laravel 應用程式加入即時留言、聊天室和更多功能。
儲存庫
安裝 
composer require fastcomments/laravel
發佈設定檔:
php artisan vendor:publish --tag=fastcomments-config
將您的憑證加入 .env:
FASTCOMMENTS_TENANT_ID=your-tenant-id
FASTCOMMENTS_API_KEY=your-api-key
如需 EU 區域:
FASTCOMMENTS_REGION=eu
Blade 元件 
評論小工具
<x-fastcomments />
{{-- 使用選項 --}}
<x-fastcomments
url-id="my-page-id"
url="https://example.com/my-page"
locale="en_us"
:has-dark-background="true"
default-sort-direction="MR"
/>
即時聊天
<x-fastcomments-live-chat url-id="chat-room-1" />
評論計數
<x-fastcomments-comment-count url-id="my-page-id" />
<x-fastcomments-comment-count url-id="my-page-id" :number-only="true" />
單一登入 
在你的 .env 中啟用 SSO:
FASTCOMMENTS_API_KEY=your-api-key
FASTCOMMENTS_SSO_ENABLED=true
FASTCOMMENTS_SSO_MODE=secure
The API key is required for secure SSO — it is used to sign the SSO payload.
設定檔對應
在 config/fastcomments.php 中,將 FastComments 欄位對應到你的 User 模型屬性:
'sso' => [
'enabled' => true,
'mode' => 'secure',
'user_map' => [
'id' => 'id',
'email' => 'email',
'username' => 'name',
'avatar' => 'profile.avatar_url', // 支援點記法
],
'is_admin' => fn ($user) => $user->hasRole('admin'),
'is_moderator' => fn ($user) => $user->hasRole('moderator'),
],
介面式對應
若需更細緻的控制,在你的 User 模型上實作 MapsToFastCommentsUser 介面:
use FastComments\Laravel\SSO\Contracts\MapsToFastCommentsUser;
class User extends Authenticatable implements MapsToFastCommentsUser
{
public function toFastCommentsUserData(): array
{
return [
'id' => (string) $this->id,
'email' => $this->email,
'username' => $this->display_name,
'avatar' => $this->avatar_url,
'is_admin' => $this->hasRole('admin'),
];
}
}
When the interface is implemented, it takes precedence over config-based mapping.
在 Blade 中使用 SSO
當啟用 SSO 時,<x-fastcomments /> 元件會自動為已驗證的使用者注入 SSO 資料。
API 存取 
透過 Facade
use FastComments\Laravel\Facades\FastComments;
// 管理 API(需要 API 金鑰)
$comments = FastComments::admin()->getComments('tenant-id');
// 公開 API
$comments = FastComments::publicApi()->getCommentsPublic('tenant-id', 'url-id');
// 單一登入 (SSO)
$ssoPayload = FastComments::sso()->forWidget();
$token = FastComments::sso()->tokenFor($user);
透過依賴注入
use FastComments\Laravel\FastCommentsManager;
class CommentController extends Controller
{
public function index(FastCommentsManager $fc)
{
$comments = $fc->admin()->getComments($fc->tenantId());
// ...
}
}
直接存取 SDK
use FastComments\Client\Api\DefaultApi;
class CommentController extends Controller
{
public function index(DefaultApi $api)
{
$comments = $api->getComments('tenant-id');
// ...
}
}
設定參考 
| 鍵 | 環境變數 | 預設值 | 說明 |
|---|---|---|---|
tenant_id |
FASTCOMMENTS_TENANT_ID |
'' |
您的 FastComments 租戶 ID |
api_key |
FASTCOMMENTS_API_KEY |
'' |
用於伺服器端呼叫的 API 金鑰 |
region |
FASTCOMMENTS_REGION |
null |
null (US) 或 'eu' |
sso.enabled |
FASTCOMMENTS_SSO_ENABLED |
false |
啟用 SSO |
sso.mode |
FASTCOMMENTS_SSO_MODE |
'secure' |
'secure' 或 'simple' |
sso.login_url |
FASTCOMMENTS_SSO_LOGIN_URL |
null |
Login URL (falls back to Laravel route) |
sso.logout_url |
FASTCOMMENTS_SSO_LOGOUT_URL |
null |
Logout URL (falls back to Laravel route) |
widget_defaults |
— | [] |
預設 widget 設定選項 |
| --- |
需要幫助?
如果您在使用 Laravel 套件時遇到任何問題或有任何疑問,請:
貢獻
歡迎貢獻!請造訪 GitHub 儲存庫 以取得貢獻指南。