chào bạn, mình vừa check lại ở Laravel bản mới nhất đã có sự thay đổi ở routes/channel.php với presence channel dẫn tới lỗi trên, mình sẽ check lại và comment cho bạn sớm nhất nhé
@Sorrow mình thử đoạn này của bạn chạy ok. nhưng nó ko hỗ trợ trên safari. Cả chrome, safari trên iphone nữa
let test = 'MU muốn học tậpMU MU';
let regexp = new RegExp(/(?<![^\s])mu(?![^\s])/, 'ig'); // showing how to pass optional flags
console.log(test.match(regexp)); // > Array ["MU", "MU]
@duongdosieu224 thế thì bạn phải cho người dùng được chọn role lúc đăng nhập nhỉ? Hoặc là đăng nhập theo tuỳ link sẽ là tuỳ role. Sau đó bạn lưu lại role đó vào session hoặc cookie rồi xử lý như phân quyền bt
Chào bạn, trong phần 1 mình có đề cập vấn đề này rồi ak
Lý do là mình muốn hiểu chính xác luồng đi của một hệ thống xem nó chạy thế nào, nên mình mới làm series này. Sau đó dùng các cách trên như bạn nói sẽ dễ hiểu hơn.
Mình hiểu series này chưa phải là cách tốt nhất, nhưng theo mình là cách cơ bản và dễ hiểu nhất cho mọi người
"sử dụng ở script", có phải là bạn đang viết code Vue ở file HTML sau đó import thư viện vue dùng cách <script src="....<cdn>" />. Chứ bạn ko code Vue dùng file .vue phải ko?
THẢO LUẬN
chào bạn, mình vừa check lại ở Laravel bản mới nhất đã có sự thay đổi ở
routes/channel.phpvới presence channel dẫn tới lỗi trên, mình sẽ check lại và comment cho bạn sớm nhất nhéchỉ là cái tên thôi bạn ko có j khác đâu, bài này là public channel, bài kia là private channel thôi.
Bạn check lại:
redis-cliở terminal/command line để check.envphần BROADCAST... và REDIS.. đã giống mình hay chưaconfig/app.phpđã bỏ comment dòng sau chưa:php artisan queue:workchưa?routes/web.phplúc lưu message sau đó có broadcast hay chưa:ko khác lắm đâu bạn
@Sorrow mình thử đoạn này của bạn chạy ok. nhưng nó ko hỗ trợ trên safari. Cả chrome, safari trên iphone nữa
let test = 'MU muốn học tậpMU MU'; let regexp = new RegExp(/(?<![^\s])mu(?![^\s])/, 'ig'); // showing how to pass optional flags console.log(test.match(regexp)); // > Array ["MU", "MU]
chuyên in túi nilon giá rẻ tại Hà Nội TÚI NI LÔNG
DÂY RÚT NHỰA ( LẠT NHỰA)
CUỘN DÂY ĐAI
MÀNG PE QUẤN PALLET
MÀNG PVC
BĂNG DÍNH
CHẤT LIỆU XỐP
TÚI ZIPPER
@duongdosieu224 thế thì bạn phải cho người dùng được chọn role lúc đăng nhập nhỉ? Hoặc là đăng nhập theo tuỳ link sẽ là tuỳ role. Sau đó bạn lưu lại role đó vào session hoặc cookie rồi xử lý như phân quyền bt
(yes)
Chào bạn, trong phần 1 mình có đề cập vấn đề này rồi ak

Lý do là mình muốn hiểu chính xác luồng đi của một hệ thống xem nó chạy thế nào, nên mình mới làm series này. Sau đó dùng các cách trên như bạn nói sẽ dễ hiểu hơn.
Mình hiểu series này chưa phải là cách tốt nhất, nhưng theo mình là cách cơ bản và dễ hiểu nhất cho mọi người

Bài này là : Echo.channel('laravel_database_chatroom') Bài chat nhiều phòng kia là : window.Echo.private('chatroom.' + this.$route.params.id)
Bạn ơi ở bài chatroom mình có hiện queue rồi nhưng client không nghe được. Nó có khác nhiều với bài này không bạn?
Tuyệt vời, vừa comment chậm chút mà bạn đã tự trả lời cho câu hỏi của bạn, thế này mình phải chăm comment chậm mới được

Khá chi tiết ạ . Nhưng chắc cần phải ngẫm thêm, chứ e đọc 1 lần chưa thấm gi mấy
)
sau khi xem bài Chat_Room thì mình đã biết lý do lỗi vì mình thiếu "this". Cảm ơn bạn vì đã chia sẻ rất nhiều kiến thức hay
ý mình là script bên dưới template ấy. Cái $root đó bind ở template thì được nhưng ở dưới mình thử log ra xem thì báo lỗi $root is not defined
Bài viết hay quá a ơi
"sử dụng ở script", có phải là bạn đang viết code Vue ở file HTML sau đó import thư viện vue dùng cách
<script src="....<cdn>" />. Chứ bạn ko code Vue dùng file.vuephải ko?mình thấy ở cái component con kia bạn sử dụng $root lấy data từ app để so sánh ở template, vậy muốn sử dụng ở script thì làm thế nào ah
cảm ơn bài dịch của bạn, nhưng cho mình hỏi, nếu mình cần dùng track gps background, trên android 9.0 thì phải làm sao?
b ơi cho mình xin soruce code với, m cám ơn manhmac0811@gmail.com