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 | 中文

Cảnh báo Dịch

Tài liệu này đã được dịch tự động. Nếu có lỗi dịch, vui lòng mở một pull request trên dự án và thêm tệp đã dịch vào docs/{Mã ISO 639-1}.md.

Giới thiệu

Gói này giúp đơn giản hóa quá trình thêm liên kết chia sẻ vào ứng dụng Laravel của bạn. Hãy mở một 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 giữa một URL cơ sở 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 tin nhắn được thiết lập trước. Như các ví dụ đã được hiển thị, các liên kết này 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 ra các 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 để điều khiển giao diện và cảm giác 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 đây!</span>
</x-link-sharer>

Cài đặt

  1. Đầu tiên, 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ài đặt bằng cách sử dụng tính năng phát hiện gói của Laravel.

Dịch vụ

Nhà cung cấp dịch vụ đôi khi 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 để 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 yêu cầu kéo. Để thêm một dịch vụ mới, xem phần đóng góp bên dưới.

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 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 Một lời nhận xét để thêm vào bài đăng.
Evernote ✔️ ✔️
Facebook ✔️
Flipboard ✔️ ✔️ quote Một trích dẫn để thêm vào bài đăng.
Gmail ✔️ ✔️ bcc Một danh sách các địa chỉ email để BCC, phân cách bằng dấu phẩy.
cc Một danh sách các địa chỉ email để CC, phân cách bằng dấu phẩy.
su Chủ đề của email.
to Một danh sách các địa chỉ email để gửi đến, phân cách bằng dấu phẩy.
HackNews ✔️ ✔️
Instapaper ✔️ ✔️ description Mô tả của bài đăng.
LineMe ❌️ ✔️
LinkedIn ✔️
LiveJournal ✔️ ✔️
Meneame ❌️ ✔️
Okru ❌️ ✔️
Outlook ✔️ ✔️
Pinterest ✔️ ✔️ media URL hình ảnh để hiển thị trên bài đăng.
Plurk ❌ ️ ✔️
Pocket ✔️ ✔️
QZone ✔️ ✔️ summary Tóm tắt của bài đăng.
Reddit ✔️ ✔️
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 Một chú thích để thêm vào bài đăng.
tags Một danh sách các thẻ phân cách bằng dấu phẩy để áp dụng cho bài đăng.
Twitter ✔️ ✔️ hastags Một danh sách các thẻ hashtag phân cách bằng dấu phẩy để áp dụng cho tweet.
via Người đăng tweet để tạo sự 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.
Weibo ✔️ ✔️
WhatsApp ✔️ ✔️
Xing ✔️
YahooMail ✔️ ✔️

Đóng góp

Thêm một dịch vụ khá đơ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 đă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',
];
}

Vui lòng lưu ý rằng chỉ baseUrl là bắt buộc. baseParameterMapping, additionalParametersdefaultParameters là tùy chọn nhưng có thể nâng cao tính năng.

$baseUrl

URL của 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 xác định URL chính của dịch vụ. URL này là cơ sở khi tạo liên kết chia sẻ, các tham số truy vấn được gắn vào đó. Ví dụ, URL cơ sở của Gmail là https://mail.google.com/mail/u/0.

$baseParameterMapping

Gói này xác định hai thuộc tính chính: texturl, 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ụ cần 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 á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 ví dụ, nó hỗ trợ bcc, cc, suto. Đị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 các tham số này cũng được liệt kê trong bảng dịch vụ được hỗ trợ, kèm theo 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 bao gồm 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()

Để thay đổi các thuộc tính trước khi tạo liên kết chia sẻ, 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 chuyển các thuộc tính cho phương thức generateLink, cho phép thay đổi thuộc tính tùy chỉ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ụ được 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 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ợ từ 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 sự trợ giúp, StackOverflow và các nguồn tài nguyên trực tuyến khác là lựa chọn tốt nhất của bạn.

Sửa 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 được báo cáo hoặc yêu cầu tính năng. 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

Lỗi ảnh hưởng đến các sản phẩm trả phí của chúng tôi 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 Pull Requests từ cộng đồng

Nếu bạn đã xác định một lỗi và có một giải pháp, vui lòng gửi một yêu cầu Pull. 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 sửa lỗi do cộng đồng đóng góp. Sau khi được xem xét và chấp nhận, chúng tôi sẽ hợp nhất giải pháp của bạn và ghi công đóng góp của bạn.

3. Hỗ trợ tài chính

Đối với các vấn đề nằm 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ở đượ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 từ cộng đồng

Mã nguồn mở phát triển 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 xem xét đóng góp thông qua cải tiến mã nguồn, cập nhật tài liệu, hướng dẫn hoặc trợ giúp 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, như một cộng đồng, hỗ trợ công việc mã nguồn mở.

Để nhấn mạnh, 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, yêu cầu Pull Requests từ cộng đồng và 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. Đã đăng ký bản quyền

Được cấp phép miễn phí, cho bất kỳ cá nhân nào nhận đượ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 có bất kỳ hạn chế nào, bao gồm mà không giới hạn các 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á nhân nhận được Phần mềm làm như vậy, với điều kiện sau đây:

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

PHẦN MỀM ĐƯỢC CUNG CẤP "NHƯ LÀ", KHÔNG BẢO ĐẢM BẤT KỲ LOẠI NÀO, RÕ RÀNG HOẶC NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN ĐẾN CÁC BẢO ĐẢM VỀ CHẤT LƯỢNG HÀNG HÓA, PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM. TRONG BẤT KỲ TRƯỜNG HỢP NÀO, TÁC GIẢ HOẶC CHỦ SỞ HỮU BẢN QUYỀN ĐỀU KHÔNG CHỊU TRÁCH NHIỆM ĐỐI VỚI BẤT KỲ YÊU CẦU, THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC, XUẤT PHÁT TỪ, LIÊN QUAN ĐẾN HOẶC LIÊN QUAN ĐẾN PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC CÁC VẤN ĐỀ KHÁC.

Link Sharer - Defective Code