generated from zj/archlinux-pkg
fix unzipkdm
This commit is contained in:
6
PKGBUILD
6
PKGBUILD
@@ -2,7 +2,7 @@
|
||||
|
||||
pkgname=tms-bbt-config
|
||||
pkgver=26.01
|
||||
pkgrel=02
|
||||
pkgrel=12
|
||||
pkgdesc="SmartTMS application conifg."
|
||||
arch=('x86_64')
|
||||
url="https://yuyujing.cn/smarttms"
|
||||
@@ -53,8 +53,8 @@ package() {
|
||||
install -m755 hostname "${pkgdir}/usr/bin/hostname"
|
||||
install -m755 smart-organizer-service-install.sh "${pkgdir}/home/smart/smart-organizer-service-install.sh"
|
||||
install -m644 tms-tools.desktop "${pkgdir}/usr/share/applications/tms-tools.desktop"
|
||||
install -m755 unzipKDM.png "${pkgdir}/home/smart/unzipKDM.png"
|
||||
install -m755 unzipKDMs.sh "${pkgdir}/home/smart/unzipKDMs.sh"
|
||||
install -m755 unzipKDM.png "${pkgdir}${_starter_dir}/unzipKDM.png"
|
||||
install -m755 unzipKDMs.sh "${pkgdir}${_starter_dir}/unzipKDMs.sh"
|
||||
install -m644 uzipkdm.desktop "${pkgdir}/usr/share/applications/uzipkdm.desktop"
|
||||
install -m644 tms.desktop "${pkgdir}/usr/share/applications/tms.desktop"
|
||||
|
||||
|
||||
209
tms-bbt-config/menus/xfce-applications.menu
Executable file
209
tms-bbt-config/menus/xfce-applications.menu
Executable file
@@ -0,0 +1,209 @@
|
||||
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
|
||||
|
||||
<Menu>
|
||||
<Name>Xfce</Name>
|
||||
|
||||
<DefaultAppDirs/>
|
||||
<DefaultDirectoryDirs/>
|
||||
|
||||
<Include>
|
||||
<Category>X-Xfce-Toplevel</Category>
|
||||
<Category>TMS</Category>
|
||||
</Include>
|
||||
<Exclude>
|
||||
<Or>
|
||||
<Filename>xfce4-mail-reader.desktop</Filename>
|
||||
<Filename>xfce4-web-browser.desktop</Filename>
|
||||
<Filename>barco-commander.desktop</Filename>
|
||||
<Filename>barco-communicator.desktop</Filename>
|
||||
<Filename>dcc.desktop</Filename>
|
||||
<Filename>dcc2.desktop</Filename>
|
||||
<Filename>zm.desktop</Filename>
|
||||
<Filename>tms-tools.desktop</Filename>
|
||||
<Filename>tmsrestart.desktop</Filename>
|
||||
<Filename>org.remmina.Remmina.desktop</Filename>
|
||||
<Filename>dcpomatic2.desktop</Filename>
|
||||
<Filename>xfce4-run.desktop</Filename>
|
||||
<Filename>uzipkdm.desktop</Filename>
|
||||
</Or>
|
||||
</Exclude>
|
||||
|
||||
|
||||
<Layout>
|
||||
<Filename>xfce4-run.desktop</Filename>
|
||||
<Separator/>
|
||||
<Filename>xfce4-terminal-emulator.desktop</Filename>
|
||||
<Filename>xfce4-file-manager.desktop</Filename>
|
||||
<Filename>tms.desktop</Filename>
|
||||
<Separator/>
|
||||
<Menuname>TMS</Menuname>
|
||||
<Separator/>
|
||||
<Menuname>Settings</Menuname>
|
||||
<Separator/>
|
||||
<Merge type="all"/>
|
||||
<Separator/>
|
||||
<Filename>xfce4-about.desktop</Filename>
|
||||
<Filename>xfce4-session-logout.desktop</Filename>
|
||||
</Layout>
|
||||
|
||||
<Menu>
|
||||
<Name>TMS</Name>
|
||||
<Directory>tms.directory</Directory>
|
||||
<Include>
|
||||
<Category>TMS</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Settings</Name>
|
||||
<Directory>xfce-settings.directory</Directory>
|
||||
<Include>
|
||||
<Category>Settings</Category>
|
||||
</Include>
|
||||
|
||||
<Layout>
|
||||
<Filename>xfce-settings-manager.desktop</Filename>
|
||||
<Separator/>
|
||||
<Merge type="all"/>
|
||||
</Layout>
|
||||
|
||||
<Menu>
|
||||
<Name>Screensavers</Name>
|
||||
<Directory>xfce-screensavers.directory</Directory>
|
||||
<Include>
|
||||
<Category>Screensaver</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Accessories</Name>
|
||||
<Directory>xfce-accessories.directory</Directory>
|
||||
<Include>
|
||||
<Or>
|
||||
<Category>Accessibility</Category>
|
||||
<Category>Core</Category>
|
||||
<Category>Legacy</Category>
|
||||
<Category>Utility</Category>
|
||||
</Or>
|
||||
</Include>
|
||||
<Exclude>
|
||||
<Or>
|
||||
<Filename>xfce4-file-manager.desktop</Filename>
|
||||
<Filename>xfce4-terminal-emulator.desktop</Filename>
|
||||
<Filename>xfce4-about.desktop</Filename>
|
||||
<Filename>xfce4-run.desktop</Filename>
|
||||
</Or>
|
||||
</Exclude>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Development</Name>
|
||||
<Directory>xfce-development.directory</Directory>
|
||||
<Include>
|
||||
<Category>Development</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Education</Name>
|
||||
<Directory>xfce-education.directory</Directory>
|
||||
<Include>
|
||||
<Category>Education</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Games</Name>
|
||||
<Directory>xfce-games.directory</Directory>
|
||||
<Include>
|
||||
<Category>Game</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Graphics</Name>
|
||||
<Directory>xfce-graphics.directory</Directory>
|
||||
<Include>
|
||||
<Category>Graphics</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Multimedia</Name>
|
||||
<Directory>xfce-multimedia.directory</Directory>
|
||||
<Include>
|
||||
<Category>Audio</Category>
|
||||
<Category>Video</Category>
|
||||
<Category>AudioVideo</Category>
|
||||
</Include>
|
||||
<Exclude>
|
||||
<Or>
|
||||
<Filename>qv4l2.desktop</Filename>
|
||||
<Filename>qvidcap.desktop</Filename>
|
||||
</Or>
|
||||
</Exclude>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Network</Name>
|
||||
<Directory>xfce-network.directory</Directory>
|
||||
<Include>
|
||||
<Category>Network</Category>
|
||||
</Include>
|
||||
<Exclude>
|
||||
<Or>
|
||||
<Filename>bssh.desktop</Filename>
|
||||
<Filename>bvnc.desktop</Filename>
|
||||
<Filename>xfce4-web-browser.desktop</Filename>
|
||||
<Filename>xfce4-mail-reader.desktop</Filename>
|
||||
</Or>
|
||||
</Exclude>
|
||||
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Office</Name>
|
||||
<Directory>xfce-office.directory</Directory>
|
||||
<Include>
|
||||
<Category>Office</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Science</Name>
|
||||
<Directory>xfce-science.directory</Directory>
|
||||
<Include>
|
||||
<Category>Science</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>System</Name>
|
||||
<Directory>xfce-system.directory</Directory>
|
||||
<Include>
|
||||
<Or>
|
||||
<Category>Emulator</Category>
|
||||
<Category>System</Category>
|
||||
</Or>
|
||||
</Include>
|
||||
<Exclude>
|
||||
<Or>
|
||||
<Filename>xfce4-session-logout.desktop</Filename>
|
||||
</Or>
|
||||
</Exclude>
|
||||
</Menu>
|
||||
|
||||
<Menu>
|
||||
<Name>Other</Name>
|
||||
<Directory>xfce-other.directory</Directory>
|
||||
<OnlyUnallocated/>
|
||||
<Include>
|
||||
<All/>
|
||||
</Include>
|
||||
</Menu>
|
||||
|
||||
<DefaultMergeDirs/>
|
||||
|
||||
</Menu>
|
||||
103
tms-bbt-config/unzipKDMs.sh
Normal file → Executable file
103
tms-bbt-config/unzipKDMs.sh
Normal file → Executable file
@@ -1,62 +1,85 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 定义保存编码的文件路径
|
||||
CONFIG_FILE="$HOME/.my_key_encoding" # 建议放在用户主目录下的隐藏文件,避免与脚本混淆
|
||||
# 定义保存cookie的文件路径
|
||||
COOKIE_FILE="/home/smart/cookie.txt"
|
||||
|
||||
# 检查是否存在已保存的编码
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
# 如果文件存在,读取编码
|
||||
KEY_ENCODING=$(cat "$CONFIG_FILE")
|
||||
echo "使用已保存的密钥编码: $KEY_ENCODING"
|
||||
else
|
||||
# 如果文件不存在,提示用户输入并保存
|
||||
read -p "首次运行,请输入密钥编码 (例如: 35054321): " USER_INPUT_ENCODING
|
||||
# 1. 登录 SmartTMS_S3 系统
|
||||
echo "正在登录 SmartTMS_S3 系统以获取会话..."
|
||||
curl -s -X POST -d 'userName=admin&userPassword=admin' -c "$COOKIE_FILE" http://127.0.0.1:8080/SmartTMS_S3/LoginController/login.do >/dev/null 2>&1
|
||||
|
||||
# 简单验证输入是否为空
|
||||
if [ -z "$USER_INPUT_ENCODING" ]; then
|
||||
echo "错误: 未输入密钥编码。脚本退出。"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "错误: 登录 SmartTMS_S3 失败。请检查服务是否运行或网络连接。"
|
||||
rm -f "$COOKIE_FILE" # 清理可能不完整的cookie文件
|
||||
sleep 60
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
echo "登录成功。"
|
||||
|
||||
KEY_ENCODING="$USER_INPUT_ENCODING"
|
||||
echo "$KEY_ENCODING" > "$CONFIG_FILE"
|
||||
echo "密钥编码 '$KEY_ENCODING' 已保存,下次运行将自动使用此编码。"
|
||||
# 2. 从 SettingManagementController 接口提取密钥编码 (code)
|
||||
echo "正在获取编码..."
|
||||
JSON_RESPONSE=$(curl -s -X POST -b "$COOKIE_FILE" 'http://127.0.0.1:8080/SmartTMS_S3/SettingManagementController/queryCinemaModel.do')
|
||||
|
||||
if [ $? -ne 0 ] || [ -z "$JSON_RESPONSE" ]; then
|
||||
echo "错误: 无法获取系统配置信息或返回为空。检查tms是否启动"
|
||||
rm -f "$COOKIE_FILE"
|
||||
sleep 60
|
||||
exit 1
|
||||
fi
|
||||
|
||||
KEY_ENCODING=$(echo "$JSON_RESPONSE" | sed -n 's/.*"result":{[^}]*"code":"\([^"]*\)".*/\1/p')
|
||||
|
||||
if [ -z "$KEY_ENCODING" ]; then
|
||||
echo "错误: 无法从接口响应中提取到有效的密钥编码。检查配置中是否填写影院编码"
|
||||
rm -f "$COOKIE_FILE"
|
||||
sleep 60
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "已成功获取影院编码: $KEY_ENCODING"
|
||||
|
||||
# 开始解压操作
|
||||
echo "开始解压文件..."
|
||||
echo "开始解压密钥文件..."
|
||||
|
||||
cd /home/smart/下载/
|
||||
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/
|
||||
echo "已处理 /home/smart/下载/ 中的ZIP文件。"
|
||||
# 定义需要扫描的目录
|
||||
declare -a DIRS=("/home/smart/下载/" "/home/smart/Downloads/" "/media/kdm/" "/tmp/")
|
||||
TARGET_DIR="/media/kdm/"
|
||||
|
||||
cd /home/smart/Downloads/
|
||||
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/
|
||||
echo "已处理 /home/smart/Downloads/ 中的ZIP文件。"
|
||||
|
||||
cd /media/kdm/
|
||||
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/
|
||||
echo "已处理 /media/kdm/ 中的ZIP文件。"
|
||||
|
||||
cd /tmp/
|
||||
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/
|
||||
echo "已处理 /media/kdm/ 中的ZIP文件。"
|
||||
for dir in "${DIRS[@]}"; do
|
||||
echo "正在处理目录: $dir 中的ZIP文件..."
|
||||
find "$dir" -maxdepth 1 -name "${KEY_ENCODING}*.zip" -print0 | xargs -0 -r -n1 unzip -o -d "$TARGET_DIR"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "警告: 在 $dir 中解压文件时可能出现问题,或没有找到匹配的文件。"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "解压操作完成。"
|
||||
|
||||
echo "删除密钥压缩包..."
|
||||
# 使用之前获取或保存的 KEY_ENCODING 变量
|
||||
find /media/kdm/ -name "${KEY_ENCODING}*.zip" -delete
|
||||
find /home/smart/下载/ -name "${KEY_ENCODING}*.zip" -delete
|
||||
find /home/smart/Downloads/ -name "${KEY_ENCODING}*.zip" -delete
|
||||
# 使用之前获取的 KEY_ENCODING 变量来查找并删除压缩包
|
||||
for dir in "${DIRS[@]}"; do
|
||||
echo "正在删除 $dir 中的 ${KEY_ENCODING}*.zip 文件..."
|
||||
find "$dir" -maxdepth 1 -name "${KEY_ENCODING}*.zip" -delete
|
||||
done
|
||||
# 确保 /media/kdm/ 下的也删除
|
||||
echo "正在删除 /media/kdm/ 中的 ${KEY_ENCODING}*.zip 文件..."
|
||||
find "$TARGET_DIR" -maxdepth 1 -name "${KEY_ENCODING}*.zip" -delete
|
||||
|
||||
echo "密钥压缩包删除完成。"
|
||||
|
||||
sleep 3
|
||||
echo "刷新密钥..."
|
||||
# 登录并刷新密钥,保持原样
|
||||
curl -X POST -d 'userName=admin&userPassword=admin' -c /home/smart/cookie.txt http://127.0.0.1:8080/SmartTMS_S3/LoginController/login.do 2>&1 >/dev/null
|
||||
curl http://127.0.0.1:8080/SmartTMS_S3/kdmController/updateKdm.do -X POST -b /home/smart/cookie.txt 2>&1 >/dev/null
|
||||
echo "刷新成功。"
|
||||
# 刷新KDM,使用之前登录获取的cookie
|
||||
curl -s http://127.0.0.1:8080/SmartTMS_S3/kdmController/updateKdm.do -X POST -b "$COOKIE_FILE" >/dev/null 2>&1
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "错误: 刷新密钥失败。"
|
||||
else
|
||||
echo "刷新成功。"
|
||||
fi
|
||||
sleep 5
|
||||
|
||||
# 清理cookie文件
|
||||
rm -f "$COOKIE_FILE"
|
||||
echo "已清理临时cookie文件。"
|
||||
|
||||
echo "脚本执行完毕。"
|
||||
|
||||
6
tms-bbt-config/uzipkdm.desktop
Normal file → Executable file
6
tms-bbt-config/uzipkdm.desktop
Normal file → Executable file
@@ -5,8 +5,8 @@ Version=1.0
|
||||
Type=Application
|
||||
Categories=TMS
|
||||
Terminal=true
|
||||
Icon[zh_CN]=/home/smart/unzipKDM.png
|
||||
Icon[zh_CN]=/home/smart/.tms3/starter/unzipKDM.png
|
||||
Name[zh_CN]=解压密钥
|
||||
Exec=sh /home/smart/unzipKDMs.sh
|
||||
Exec=sh /home/smart/.tms3/starter/unzipKDMs.sh
|
||||
Name=unzipkdm
|
||||
Icon=/home/smart/unzipKDM.png
|
||||
Icon=/home/smart/.tms3/starter/unzipKDM.png
|
||||
|
||||
Reference in New Issue
Block a user