jobsys/medialibrary-module 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

jobsys/medialibrary-module

Composer 安装命令:

composer require jobsys/medialibrary-module

包简介

README 文档

README

为了让媒体资源,如图片、视频等内容可以重复利用,该模块提供一个媒体库组件 MediaLibrary,并集成了媒体文件上传、展示、选择等操作。默认提供 图片视频文件音频其它五个分类,如果需要添加新分类可以在 系统字典 媒体库资源类型 中添加字典项。

模块安装

composer require jobsys/medialibrary-module

依赖

  • PHP 依赖 (无)

  • JS 依赖 (无)

配置

模块配置

"MediaLibrary" => [
    "route_prefix" => "manager",                                                    // 路由前缀
]

模块功能

媒体库功能

媒体库中的资源遵循 权限模板 中的数据权限定义。上传的文件将如果是公共读写则存放在 storage/app/public,私有读写的文件存在放 storage/app/private,并会以文件的 MIME 类型/日期/进行分类存储。如:

- public
  - application
    - vnd.openxmlformats-officedocument.wordprocessingml.document
      - 20230428
        - Test_9fc219c4a2683ad5d96db5d2cf38e7b9.docx
  - image
    - jpeg
      - 20230325
        - bg1_286000046dc1b3e0f5cc0be11b043c72.jpeg
      - 20230326
        - bg1_286000046dc1b3e0f5cc0be11b043c73.jpeg

开发规范

  1. 在页面引入 MediaLibrary 组件然后使用。

    import MediaLibrary from "@modules/MediaLibrary/Resources/views/web/components/MediaLibrary.vue"
    <MediaLibrary
    		v-model:visible="state.showMediaLibrary"
    		category="courseware"
    		:extra-data="{ department_id: course.department_id }"
    		@select="onSelectMedia"
    />

    由于默认会对资源进行权限管理,所以需要在 extra-data 中传入当前操作的业务 department_id

    该上传支持私有读写,如果需要对资源私有读写,可以在 extra-data 中添加 {type: private},如无设置则为公共读写。

模块代码

数据表

2014_10_12_000005_create_media_libraries_table.php             # 审核模块数据表

数据模型/Scope

Modules\MediaLibrary\Entitie\LibraryMedia             # 媒体文件

Controller

Modules\MediaLibrary\Http\Controllers\MediaLibraryController        # 提供上传以及 CRUD 功能

UI

PC 组件

web/components/MediaLibrary.vue        # 媒体库组件

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-06-21