English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
# Cảnh Báo Dịch Thuật
Tài liệu này đã được dịch tự động. Nếu có lỗi dịch thuật, vui lòng mở
một pull request trên
dự án và thêm tệp đã dịch vào docs/{ISO 639-1 Code}.md
.
# Giới thiệu
Gói này đơn giản hóa quá trình thêm các liên kết chia sẻ vào ứng dụng Laravel của bạn. Hãy thoải mái mở một pull request 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 URL cơ sở 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 được đặt trước. Những liên kết này, như được hiển thị trong các ví dụ, cho phép người dùng dễ dàng chia sẻ bài đăng 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 các liên kết chia sẻ thông qua hệ thống thành phần blade của Laravel.
<x-link-sharer service="twitter" text="Chia sẻ tôi!" url="https://www.defectivecode.com" hashtags="awesome,links" class="p-4"> <!-- Mã HTML của bạn ở đây để kiểm soát giao diện 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ấn vào tôi!</span></x-link-sharer>
# Cài đặt
composer require defectivecode/link-sharer
Các nhà cung cấp dịch vụ thỉnh thoảng cập nhật 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 mình để cập nhật những thay đổi này. Tuy nhiên, nếu bạn gặp phải 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, tham khảo phần đóng góp dưới đây.
Một số dịch vụ cung cấp các tham số bổ sung có thể được truyền vào thành phần. Những tham số này được ghi lại 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 đăng blog. |
Diaspora | ✔️ | ✔️ | |
Diigo | ✔️ | ✔️ | description Mô tả để thêm vào bài đăng. |
Douban | ✔️ | ✔️ | comment Bình luận để thêm vào bài đăng. |
Evernote | ✔️ | ✔️ | |
❌ | ✔️ | ||
✔️ | ✔️ | quote Trích dẫn để thêm vào bài đăng. |
|
Gmail | ✔️ | ✔️ | bcc Danh sách địa chỉ email để BCC, ngăn cách bằng dấu phẩy. cc Danh sách địa chỉ email để CC, ngăn cách bằng dấu phẩy. su Chủ đề của email. to Danh sách địa chỉ email để gửi, ngăn cách bằng dấu phẩy. |
HackNews | ✔️ | ✔️ | |
Instapaper | ✔️ | ✔️ | description Mô tả của bài đăng. |
LineMe | ❌️ | ✔️ | |
❌ | ✔️ | ||
LiveJournal | ✔️ | ✔️ | |
Meneame | ❌️ | ✔️ | |
Okru | ❌️ | ✔️ | |
Outlook | ✔️ | ✔️ | |
✔️ | ✔️ | media URL hình ảnh để hiển thị trên bài đăng. |
|
Plurk | ❌ ️ | ✔️ | |
✔️ | ✔️ | ||
QZone | ✔️ | ✔️ | summary Tóm tắt của bài đăng. |
✔️ | ✔️ | ||
Renren | ✔️ | ✔️ | description Mô tả của bài đăng. srcUrl URL gốc của bài đăng. |
Skype | ✔️ | ✔️ | |
Telegram | ✔️ | ✔️ | |
Threema | ❌ | ✔️ | id ID của người nhận bài đăng. |
Tumblr | ✔️ | ✔️ | caption Chú thích để thêm vào bài đăng. tags Danh sách thẻ ngăn cách bằng dấu phẩy để áp dụng cho bài đăng. |
✔️ | ✔️ | hastags Danh sách thẻ hashtag ngăn cách bằng dấu phẩy để áp dụng cho tweet. via Người dùng Twitter để ghi nhận. |
|
Viber | ✔️ | ✔️ | |
VKontakte | ✔️ | ✔️ | description Mô tả của bài đăng. image URL hình ảnh để hiển thị trên bài đăng. |
✔️ | ✔️ | ||
✔️ | ✔️ | ||
❌ | ✔️ | ||
YahooMail | ✔️ | ✔️ |
# Đó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 tên dịch vụ bạn đang thêm. Hệ thống tự động đăng ký dịch vụ thông qua factory, vì vậy không cần phải đăng ký thủ công. Dịch vụ Gmail được cung cấp dưới đây là một ví dụ tốt. ```php<?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ỉ có 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 phải 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à nền tảng khi tạo liên kết chia sẻ, các tham số truy vấn sẽ được thêm vào. Sử dụng Gmail làm ví dụ, URL cơ bản 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: text
và url
, 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ụ sử dụng một quy ước đặt tên khác. Ví dụ, Gmail sử dụng body
thay vì text
, yêu cầu phải có sự ánh xạ rõ ràng này. Khi sử dụng Gmail, bất kỳ thuộc tính text
nào được truyền vào 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 tham chiếu, nó hỗ trợ bcc
, cc
, su
, và to
. Định nghĩa chúng trong mảng additionalParameters
. Khi người dùng bao gồm các 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 các tham số này cũng được liệt kê trong bảng dịch vụ hỗ trợ, kèm theo 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
. Các thuộc tính bắt buộc như vậ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ỏ qua.
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 kích hoạt trước khi truyền các thuộc tính vào phương thức generateLink
, cho phép tùy chỉnh các thuộc tính. Dưới đây là một minh họa 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:
text
và url
đều có mặt, url
sẽ được thêm vào thuộc tính text
.url
, thuộc tính text
sẽ nhận giá trị của url
. # 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ợ Dựa Trên 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ế của việc 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 sẽ luôn là ưu tiên hàng đầu của chúng tôi. Trong một số trường hợp, chúng tôi 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 Từ Cộng Đồng Nếu bạn đã xác định được 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 ưu tiên cao nhất cho các bản sửa lỗi do cộng đồng đóng góp. 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 sự đó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 đã đề cập, bạn có thể chọn tài trợ cho việc giải quyết chúng. Mỗi vấn đề mở đều được liên kết với một biểu mẫu đặ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ộng Đồng Mã nguồn mở phát triển mạnh khi cộng đồng của nó hoạt động. Ngay cả khi bạn không sửa lỗi, hãy xem xét đó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 hỗ trợ người khác trong các kênh cộng đồng. Chúng tôi khuyến khích mạnh mẽ mọi người, như một cộng đồng, hỗ trợ công việc mã nguồn mở. _Để nhắc lại, DefectiveCode sẽ ưu tiên các lỗi dựa trên cách chúng ảnh hưởng đến sản phẩm trả phí của chúng tôi, các yêu cầu kéo từ cộng đồng, và sự hỗ trợ tài chính nhận được cho các vấn đề._ ```markdown# Giấy phép - Giấy phép MIT Bản quyền © Defective Code, LLC. Bảo lưu mọi quyền Quyền được cấp miễn phí cho bất kỳ cá nhân nào có được bản sao của phần mềm này và các tệp tài liệu liên quan (gọi là "Phần mềm"), để sử dụng Phần mềm mà không bị hạn chế, bao gồm nhưng không giới hạn quyền sử dụng, sao chép, sửa đổi, hợp nhất, xuất bản, 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 các cá nhân mà Phần mềm được cung cấp để làm như vậy, tuân theo các điều kiện sau: **Thông báo bản quyền trên và thông báo cấp phép này phải được bao gồm trong tất cả các bản sao hoặc phần lớn của Phần mềm.** PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG CÓ BẢO HÀNH DƯỚI BẤT KỲ HÌNH THỨC NÀO, DÙ LÀ RÕ RÀNG HAY NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN CÁC BẢO HÀNH VỀ KHẢ NĂNG MUA BÁN, PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM. TRONG MỌI TRƯỜNG HỢP, CÁC TÁC GIẢ HOẶC CHỦ SỞ HỮU BẢN QUYỀN KHÔNG CHỊU TRÁCH NHIỆM VỀ BẤT KỲ YÊU CẦU, THIỆT HẠI HOẶC TRÁCH NHIỆM NÀO KHÁC, DÙ LÀ TRONG HỢP ĐỒNG, SAI LẦM CÁ NHÂN HAY CÁCH KHÁC, PHÁT SINH TỪ, NGOÀI HOẶC LIÊN QUAN ĐẾN PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC CÁC GIAO DỊCH KHÁC TRONG PHẦN MỀM.