Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

Giới thiệu

Gói này đơn giản hóa quy trình thêm liên kết chia sẻ vào ứng dụng Laravel của bạn. Hãy thoải mái mở yêu cầu kéo nếu bạn nhận thấy chúng tôi thiếu một dịch vụ nào đó!

Một liên kết chia sẻ là một URL kết hợp một URL cơ bản của mạng xã hội với các tham số truy vấn để chia sẻ nội dung từ trang web hoặc ứng dụng của bạn. Các tham số thường bao gồm URL nội dung và một thông điệp đã thiết lập trước. Những liên kết này, như đã trình bày trong các ví dụ, cho phép người dùng dễ dàng chia sẻ bài viết trên các nền tảng như Twitter, Facebook và Telegram. Sử dụng gói mã nguồn mở này để nhanh chóng tạo liên kết chia sẻ thông qua hệ thống thành phần blade của Laravel.

Ví dụ

<x-link-sharer service="twitter" text="Chia sẻ tôi!" url="https://www.defectivecode.com" hashtags="tuyệt vời,liên kết" class="p-4">
<!-- Mã HTML của bạn ở đây để kiểm soát hình thức và cảm nhận của nút chia sẻ -->
<span class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">Nhấp vào tôi!</span>
</x-link-sharer>

Cài đặt

  1. Đầu tiên, hãy cài đặt gói PHP bằng cách chạy lệnh composer sau:
    composer require defectivecode/link-sharer
  2. Đó là tất cả! Gói của chúng tôi sẽ tự động được cài đặt thông qua tính năng phát hiện gói của Laravel.

Dịch vụ

Các nhà cung cấp dịch vụ thỉnh thoảng cập nhật các liên kết chia sẻ của họ mà không thông báo trước. Chúng tôi nỗ lực hết sức để theo kịp những thay đổi này. Tuy nhiên, nếu bạn gặp một dịch vụ không hoạt động, vui lòng mở một vấn đề hoặc gửi một yêu cầu kéo. Để thêm một dịch vụ mới, hãy tham khảo phần công góp dưới đây.

Một số dịch vụ cung cấp các tham số bổ sung có thể được chuyển đến thành phần. Những điều này được tài liệu hóa trong bảng dưới đây.

Dịch vụ Hỗ trợ văn bản Hỗ trợ URL Ghi chú
Blogger ✔️ ✔️ t Văn bản của bài viết.
Diaspora ✔️ ✔️
Diigo ✔️ ✔️ description Một mô tả để thêm vào bài viết.
Douban ✔️ ✔️ comment Một lời bình để thêm vào bài viết.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Một trích dẫn để thêm vào bài viết.
Gmail ✔️ ✔️ bcc Danh sách địa chỉ email được phân tách bằng dấu phẩy để BCC.
cc Danh sách địa chỉ email được phân tách bằng dấu phẩy để CC.
su Chủ đề của email.
to Danh sách địa chỉ email được phân tách bằng dấu phẩy để gửi đến.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Một mô tả về bài viết.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media Một URL hình ảnh để hiển thị trên bài viết.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary Một tóm tắt của bài viết.
Reddit ✔️ ✔️
Renren ✔️ ✔️ description Một mô tả của bài viết.
srcUrl URL gốc của bài viết.
Skype ✔️ ✔️
Telegram ✔️ ✔️
Threema ✔️ id ID của người để gửi bài viết.
Tumblr ✔️ ✔️ caption Một chú thích để thêm vào bài viết.
tags Danh sách các thẻ được phân tách bằng dấu phẩy để áp dụng cho bài viết.
Twitter ✔️ ✔️ hastags Danh sách các thẻ băm được phân tách bằng dấu phẩy để áp dụng cho tweet.
via Người tweet để ghi nhận.
Viber ✔️ ✔️
VKontakte ✔️ ✔️ description Một mô tả của bài viết.
image Một URL hình ảnh để hiển thị trên bài viết.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Công góp

Thêm một dịch vụ tương đối đơn giản. Bắt đầu bằng cách tạo một lớp dịch vụ mới trong thư mục src/Services. Đặt tên lớp theo dịch vụ mà bạn đang thêm. Hệ thống tự động đăng ký dịch vụ thông qua nhà máy, do đó không cần đăng ký thủ công.

Dịch vụ Gmail được cung cấp bên dưới là một ví dụ tốt.

<?php
 
namespace DefectiveCode\LinkSharer\Services;
 
use DefectiveCode\LinkSharer\Traits\AppendsLinks;
 
class Gmail extends Service
{
use AppendsLinks;
 
protected string $baseUrl = 'https://mail.google.com/mail/u/0';
 
protected array $baseParameterMapping = [
'text' => 'body',
];
 
protected array $additionalParameters = [
'bcc',
'cc',
'su',
'to',
];
 
protected array $defaultParameters = [
'view' => 'cm',
];
}

Xin lưu ý rằng chỉ baseUrl là bắt buộc. baseParameterMapping, additionalParameters, và defaultParameters là tùy chọn nhưng có thể tăng cường chức năng.

$baseUrl

URL của một dịch vụ không cần bắt đầu bằng HTTPS. Ví dụ, Viber sử dụng viber://forward.

Thuộc tính baseUrl chỉ định URL chính của dịch vụ. URL này là cơ sở khi tạo liên kết chia sẻ, đến đó các tham số truy vấn được thêm vào. Sử dụng Gmail làm ví dụ, URL cơ sở của nó là https://mail.google.com/mail/u/0.

$baseParameterMapping

Gói này xác định hai thuộc tính chính: texturl, bởi vì chúng phổ biến trên hầu hết các nhà cung cấp dịch vụ. Chỉ định các thuộc tính này nếu dịch vụ bạn đang đề cập sử dụng một quy ước đặt tên khác. Ví dụ, Gmail sử dụng body thay vì text, do đó cần thiết phải thực hiện ánh xạ này. Khi sử dụng Gmail, bất kỳ thuộc tính text nào được truyền đến thành phần blade sẽ được chuyển đổi thành tham số truy vấn body trong liên kết chia sẻ.

$additionalParameters

Một số dịch vụ chấp nhận các tham số truy vấn cụ thể hơn. Lấy Gmail làm ví dụ, nó hỗ trợ bcc, cc, su, và to. Định nghĩa những điều này trong mảng additionalParameters. Khi người dùng bao gồm những thuộc tính này trong thành phần blade, chúng sẽ được thêm vào liên kết chia sẻ. Đảm bảo rằng những tham số này cũng được liệt kê trong bảng các dịch vụ được hỗ trợ với các mô tả ngắn gọn.

$defaultParameters

Một số dịch vụ yêu cầu các tham số truy vấn cụ thể để liên kết chia sẻ hoạt động. Ví dụ, Gmail yêu cầu phải có view=cm. Những thuộc tính bắt buộc này được khai báo trong mảng defaultParameters. Chúng luôn được thêm vào liên kết chia sẻ và không thể bị loại bỏ.

prepareAttributes()

Để thao tác các thuộc tính trước khi tạo liên kết chia sẻ, hãy giới thiệu một phương thức prepareAttributes vào dịch vụ của bạn. Phương thức này được kích hoạt trước khi truyền các thuộc tính đến phương thức generateLink, cho phép thực hiện các sửa đổi tùy chỉnh cho thuộc tính. Dưới đây là một ví dụ sử dụng trait AppendsLinks.

<?php
 
namespace DefectiveCode\LinkSharer\Traits;
 
trait AppendsLinks
{
protected function prepareAttributes(): void
{
if (isset($this->attributes['text']) && isset($this->attributes['url'])) {
$this->attributes['text'] = $this->attributes['text'] . "\n" . $this->attributes['url'];
return;
}
 
if (isset($this->attributes['url'])) {
$this->attributes['text'] = $this->attributes['url'];
}
}
}

Các thuộc tính được truyền vào dịch vụ có thể truy cập thông qua mảng $attributes. Trong ví dụ minh họa:

Hướng Dẫn Hỗ Trợ

Cảm ơn bạn đã chọn gói mã nguồn mở của chúng tôi! Vui lòng dành chút thời gian để xem qua các hướng dẫn hỗ trợ này. Chúng sẽ giúp bạn tận dụng tối đa dự án của chúng tôi.

Hỗ Trợ Được Điều Hành Bởi Cộng Đồng

Dự án mã nguồn mở của chúng tôi được thúc đẩy bởi cộng đồng tuyệt vời của chúng tôi. Nếu bạn có câu hỏi hoặc cần trợ giúp, StackOverflow và các tài nguyên trực tuyến khác là lựa chọn tốt nhất của bạn.

Lỗi và Ưu Tiên Tính Năng

Thực tế khi quản lý một dự án mã nguồn mở có nghĩa là chúng tôi không thể giải quyết ngay lập tức mọi lỗi hoặc yêu cầu tính năng được báo cáo. Chúng tôi ưu tiên các vấn đề theo thứ tự sau:

1. Lỗi Ảnh Hưởng Đến Sản Phẩm Trả Phí Của Chúng Tôi

Các lỗi ảnh hưởng đến sản phẩm trả phí của chúng tôi luôn là ưu tiên hàng đầu. Trong một số trường hợp, chúng tôi có thể chỉ giải quyết các lỗi ảnh hưởng trực tiếp đến chúng tôi.

2. Yêu Cầu Kéo Của Cộng Đồng

Nếu bạn đã xác định một lỗi và có giải pháp, vui lòng gửi yêu cầu kéo. Sau các vấn đề ảnh hưởng đến sản phẩm của chúng tôi, chúng tôi dành ưu tiên cao nhất tiếp theo cho các sửa lỗi do cộng đồng thực hiện. Sau khi được xem xét và phê duyệt, chúng tôi sẽ hợp nhất giải pháp của bạn và ghi nhận đóng góp của bạn.

3. Hỗ Trợ Tài Chính

Đối với các vấn đề ngoài các danh mục đã nêu, bạn có thể chọn tài trợ cho việc giải quyết của chúng. Mỗi vấn đề mở đều liên kết với một mẫu đơn đặt hàng nơi bạn có thể đóng góp tài chính. Chúng tôi ưu tiên các vấn đề này dựa trên số tiền tài trợ được cung cấp.

Đóng Góp Của Cộng Đồng

Mã nguồn mở phát triển mạnh khi cộng đồng của nó hoạt động tích cực. Ngay cả khi bạn không sửa lỗi, hãy cân nhắc đóng góp thông qua cải tiến mã, cập nhật tài liệu, hướng dẫn, hoặc bằng cách hỗ trợ những người khác trong các kênh cộng đồng. Chúng tôi rất khuyến khích mọi người, với tư cách là một cộng đồng, giúp đỡ trong công việc mã nguồn mở.

Nhấn mạnh lại, DefectiveCode sẽ ưu tiên các lỗi dựa trên cách chúng ảnh hưởng đến các sản phẩm trả phí của chúng tôi, yêu cầu kéo của cộng đồng và sự hỗ trợ tài chính nhận được cho các vấn đề.

Giấy phép - Giấy phép MIT

Bản quyền © Defective Code, LLC. Tất cả các quyền được bảo lưu

Permission là được cấp miễn phí, cho bất kỳ người nào nhận được một bản sao của phần mềm này và các tài liệu liên quan (gọi là "Phần mềm"), được phép sử dụng Phần mềm mà không có hạn chế, bao gồm nhưng không giới hạn các quyền sử dụng, sao chép, chỉnh sửa, hợp nhất, công bố, phân phối, cấp phép lại, và/hoặc bán các bản sao của Phần mềm, và cho phép những người mà Phần mềm được cung cấp có thể làm như vậy, với điều kiện là:

Thông báo bản quyền ở trên và thông báo phép này sẽ được bao gồm trong tất cả các bản sao hoặc phần đáng kể của Phần mềm.

PHẦN MỀM ĐƯỢC CUNG CẤP "NHƯ THẾ", KHÔNG CÓ BẢO ĐẢM DƯỚI BẤT KỲ HÌNH THỨC NÀO, RÕ RÀNG HAY NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN ĐẾN CÁC BẢO ĐẢM VỀ THƯƠNG MẠI, PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ VÀ KHÔNG XÂM PHẠM. TRONG BẤT KỲ TRƯỜNG HỢP NÀO, CÁC TÁC GIẢ HOẶC CÁC CHỦ SỞ HỮU BẢN QUYỀN KHÔNG CHỊU TRÁCH NHIỆM VỀ BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM KHÁC, DÙ TRONG MỘT HÀNH ĐỘNG HỢP ĐỒNG, LỖI HOẶC CÁC HÌNH THỨC KHÁC, PHÁT SINH TỪ, RA HOẶC LIÊN QUAN ĐẾN PHẦN MỀM HOẶC VIỆC SỬ DỤNG HAY CÁC GIAO DỊCH KHÁC LIÊN QUAN ĐẾN PHẦN MỀM.