diff --git a/app/conf/moduleconf.py b/app/conf/moduleconf.py index 6109e0b1..0b497141 100644 --- a/app/conf/moduleconf.py +++ b/app/conf/moduleconf.py @@ -157,6 +157,14 @@ class ModuleConf(object): "tooltip": "需要交互功能时才需要填写,在微信企业应用管理后台-接收消息设置页面生成,填入完成后重启本应用,然后再在微信页面输入地址确定", "type": "text", "placeholder": "API接收消息EncodingAESKey" + }, + "adminUser": { + "id": "wechat_adminUser", + "required": False, + "title": "AdminUser", + "tooltip": "需要交互功能时才需要填写,可执行交互菜单命令的用户名,为空则不限制,多个;号分割。可在企业微信后台查看成员的Account ID", + "type": "text", + "placeholder": "可执行交互菜单的用户名" } } }, diff --git a/app/media/scraper.py b/app/media/scraper.py index 5781395a..e60d7bdf 100644 --- a/app/media/scraper.py +++ b/app/media/scraper.py @@ -475,12 +475,13 @@ class Scraper: if episode_image: self.__save_image(episode_image, episode_thumb) else: - # 从视频文件生成缩略图 - video_path = os.path.join(dir_path, file_name + file_ext) - log.info(f"【Scraper】正在生成缩略图:{video_path} ...") - FfmpegHelper().get_thumb_image_from_video(video_path=video_path, - image_path=episode_thumb) - log.info(f"【Scraper】缩略图生成完成:{episode_thumb}") + # 开启ffmpeg,则从视频文件生成缩略图 + if scraper_tv_pic.get("episode_thumb_ffmpeg"): + video_path = os.path.join(dir_path, file_name + file_ext) + log.info(f"【Scraper】正在生成缩略图:{video_path} ...") + FfmpegHelper().get_thumb_image_from_video(video_path=video_path, + image_path=episode_thumb) + log.info(f"【Scraper】缩略图生成完成:{episode_thumb}") except Exception as e: ExceptionUtils.exception_traceback(e) diff --git a/check_config.py b/check_config.py index 7d72cba4..d37ce614 100644 --- a/check_config.py +++ b/check_config.py @@ -277,7 +277,8 @@ def update_config(): "season_poster": True, "season_banner": True, "season_thumb": True, - "episode_thumb": False} + "episode_thumb": False, + "episode_thumb_ffmpeg": False} } overwrite_cofig = True diff --git a/config/config.yaml b/config/config.yaml index 88209218..63cc91d0 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -167,6 +167,8 @@ scraper_pic: season_thumb: true # 集 episode_thumb: false + # 开启后,读取视频文件生成缩略图 + episode_thumb_ffmpeg: false # 【配置文件夹监控】:文件夹内容发生变化时自动识别转移 sync: diff --git a/web/main.py b/web/main.py index 57c9d275..886a5ee2 100644 --- a/web/main.py +++ b/web/main.py @@ -1268,6 +1268,10 @@ def wechat(): # 解析消息内容 content = "" if msg_type == "event": + # 校验用户有权限执行交互命令 + if conf.get("adminUser") and not any(user_id == admin_user for admin_user in str(conf.get("adminUser")).split(";")): + Message().send_channel_msg(channel=SearchType.WX, title="用户无权限执行菜单命令", user_id=user_id) + return make_response(content, 200) # 事件消息 event_key = DomUtils.tag_value(root_node, "EventKey") if event_key: diff --git a/web/templates/setting/basic.html b/web/templates/setting/basic.html index 61db988c..ca04e5df 100644 --- a/web/templates/setting/basic.html +++ b/web/templates/setting/basic.html @@ -996,12 +996,22 @@