imjonos / laravel-emoji-reaction
Laravel 表情反应包
dev-master
2023-02-07 12:23 UTC
Requires
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-07 15:48:34 UTC
README
v0.1a - 测试版本
基于Unicode表情字符。默认列表可在配置文件中找到。
完整的Unicode表情列表:https://unicode.org/emoji/charts/full-emoji-list.html
在线演示:https://toprogram.ru/posts
代码示例和用法:https://github.com/imjonos/laravel-blog
安装
通过Composer
$ composer require imjonos/laravel-emoji-reaction
$ php artisan vendor:publish --provider="Nos\EmojiReaction\EmojiReactionServiceProvider"
$ php artisan migrate
使用方法
前端组件示例 https://github.com/imjonos/laravel-blog/blob/master/resources/js/components/EmojiReaction.vue
后端部分
//Model
use Nos\EmojiReaction\Interfaces\Models\EmojiReactionInterface;
use Nos\EmojiReaction\Traits\HasEmojiReactionTrait;
final class Post extends Model implements EmojiReactionInterface
{
use HasEmojiReactionTrait;
...
// Routes
Route::post('/posts/{post}/emoji-reactions', [\App\Http\Controllers\PostController::class, 'addEmojiReaction'])->name(
'site.posts.add-emoji-reaction'
);
Route::get('/posts/{post}/emoji-reactions', [\App\Http\Controllers\PostController::class, 'getEmojiReactionStatistic']
)->name(
'site.posts.get-emoji-reaction-statistic'
);
//Controller
public function getEmojiReactionStatistic(Post $post): JsonResponse
{
return response()->json($this->reactionStatisticService->getByModel($post));
}
/**
* @throws Exception
*/
public function addEmojiReaction(AddEmojiReactionRequest $request, Post $post): JsonResponse
{
$emoji = $this->emojiService->find($request->get('emoji_id'));
abort_if(!$emoji, 400);
DB::transaction(function () use ($post, $request, $emoji) {
$this->reactionService->addReaction($post, $emoji);
});
return response()->json();
}
贡献
请参阅contributing.md以获取详细信息及待办事项清单。
许可证
许可证。有关更多信息,请参阅许可证文件。