This commit is contained in:
zj
2026-01-22 18:54:15 +08:00
parent cbab0d05a9
commit 6d54095204
4 changed files with 58 additions and 47 deletions

View File

@@ -1,8 +1,8 @@
# Maintainer: zj <1052308357@qq.com> # Maintainer: zj <1052308357@qq.com>
pkgname=tms-bbt-config pkgname=tms-bbt-config
pkgver=26.01 pkgver=$(date +%Y.%m)
pkgrel=02 pkgrel=$(date +%d)
pkgdesc="SmartTMS application conifg." pkgdesc="SmartTMS application conifg."
arch=('x86_64') arch=('x86_64')
url="https://yuyujing.cn/smarttms" url="https://yuyujing.cn/smarttms"
@@ -53,8 +53,8 @@ package() {
install -m755 hostname "${pkgdir}/usr/bin/hostname" install -m755 hostname "${pkgdir}/usr/bin/hostname"
install -m755 smart-organizer-service-install.sh "${pkgdir}/home/smart/smart-organizer-service-install.sh" 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 -m644 tms-tools.desktop "${pkgdir}/usr/share/applications/tms-tools.desktop"
install -m755 unzipKDM.png "${pkgdir}/home/smart/unzipKDM.png" install -m755 unzipKDM.png "${pkgdir}${_starter_dir}/unzipKDM.png"
install -m755 unzipKDMs.sh "${pkgdir}/home/smart/unzipKDMs.sh" install -m755 unzipKDMs.sh "${pkgdir}${_starter_dir}/unzipKDMs.sh"
install -m644 uzipkdm.desktop "${pkgdir}/usr/share/applications/uzipkdm.desktop" install -m644 uzipkdm.desktop "${pkgdir}/usr/share/applications/uzipkdm.desktop"
install -m644 tms.desktop "${pkgdir}/usr/share/applications/tms.desktop" install -m644 tms.desktop "${pkgdir}/usr/share/applications/tms.desktop"

Binary file not shown.

View File

@@ -1,62 +1,73 @@
#!/bin/bash #!/bin/bash
# 定义保存编码的文件路径 COOKIE_FILE="/home/smart/cookie.txt"
CONFIG_FILE="$HOME/.my_key_encoding" # 建议放在用户主目录下的隐藏文件,避免与脚本混淆
# 检查是否存在已保存的编码 echo "正在登录 SmartTMS_S3 系统以获取会话..."
if [ -f "$CONFIG_FILE" ]; then 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
# 如果文件存在,读取编码
KEY_ENCODING=$(cat "$CONFIG_FILE")
echo "使用已保存的密钥编码: $KEY_ENCODING"
else
# 如果文件不存在,提示用户输入并保存
read -p "首次运行,请输入密钥编码 (例如: 35054321): " USER_INPUT_ENCODING
# 简单验证输入是否为空 if [ $? -ne 0 ]; then
if [ -z "$USER_INPUT_ENCODING" ]; then echo "错误: 登录 SmartTMS_S3 失败。请检查服务是否运行或网络连接。"
echo "错误: 未输入密钥编码。脚本退出。" rm -f "$COOKIE_FILE" # 清理可能不完整的cookie文件
exit 1 exit 1
fi fi
echo "登录成功。"
KEY_ENCODING="$USER_INPUT_ENCODING" echo "正在获取编码..."
echo "$KEY_ENCODING" > "$CONFIG_FILE" JSON_RESPONSE=$(curl -s -X POST -b "$COOKIE_FILE" 'http://127.0.0.1:8080/SmartTMS_S3/SettingManagementController/queryCinemaModel.do')
echo "密钥编码 '$KEY_ENCODING' 已保存,下次运行将自动使用此编码。"
if [ $? -ne 0 ] || [ -z "$JSON_RESPONSE" ]; then
echo "错误: 无法获取系统配置信息或返回为空。检查tms是否启动"
rm -f "$COOKIE_FILE"
exit 1
fi fi
# 开始解压操作 KEY_ENCODING=$(echo "$JSON_RESPONSE" | sed -n 's/.*"result":{[^}]*"code":"\([^"]*\)".*/\1/p')
echo "开始解压文件..."
cd /home/smart/下载/ if [ -z "$KEY_ENCODING" ]; then
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/ echo "错误: 无法从接口响应中提取到有效的密钥编码。检查配置中是否填写影院编码"
echo "已处理 /home/smart/下载/ 中的ZIP文件。" rm -f "$COOKIE_FILE"
exit 1
fi
cd /home/smart/Downloads/ echo "已成功获取影院编码: $KEY_ENCODING"
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/
echo "已处理 /home/smart/Downloads/ 中的ZIP文件。"
cd /media/kdm/ echo "开始解压密钥文件..."
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/
echo "已处理 /media/kdm/ 中的ZIP文件。"
cd /tmp/ declare -a DIRS=("/home/smart/下载/" "/home/smart/Downloads/" "/media/kdm/" "/tmp/")
ls $USER_INPUT_ENCODING*.zip 2>/dev/null | xargs -r -n1 unzip -o -d /media/kdm/ TARGET_DIR="/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 "解压操作完成。"
echo "删除密钥压缩包..." echo "删除密钥压缩包..."
# 使用之前获取或保存的 KEY_ENCODING 变量 for dir in "${DIRS[@]}"; do
find /media/kdm/ -name "${KEY_ENCODING}*.zip" -delete echo "正在删除 $dir 中的 ${KEY_ENCODING}*.zip 文件..."
find /home/smart/下载/ -name "${KEY_ENCODING}*.zip" -delete find "$dir" -maxdepth 1 -name "${KEY_ENCODING}*.zip" -delete
find /home/smart/Downloads/ -name "${KEY_ENCODING}*.zip" -delete done
echo "正在删除 /media/kdm/ 中的 ${KEY_ENCODING}*.zip 文件..."
find "$TARGET_DIR" -maxdepth 1 -name "${KEY_ENCODING}*.zip" -delete
echo "密钥压缩包删除完成。" echo "密钥压缩包删除完成。"
sleep 3 sleep 3
echo "刷新密钥..." echo "刷新密钥..."
# 登录并刷新密钥,保持原样 curl -s http://127.0.0.1:8080/SmartTMS_S3/kdmController/updateKdm.do -X POST -b "$COOKIE_FILE" >/dev/null 2>&1
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 if [ $? -ne 0 ]; then
echo "刷新成功。" echo "错误: 刷新密钥失败。"
else
echo "刷新成功。"
fi
sleep 5 sleep 5
rm -f "$COOKIE_FILE"
echo "已清理临时cookie文件。"
echo "脚本执行完毕。" echo "脚本执行完毕。"

View File

@@ -5,8 +5,8 @@ Version=1.0
Type=Application Type=Application
Categories=TMS Categories=TMS
Terminal=true Terminal=true
Icon[zh_CN]=/home/smart/unzipKDM.png Icon[zh_CN]=/home/smart/.tms3/starter/unzipKDM.png
Name[zh_CN]=解压密钥 Name[zh_CN]=解压密钥
Exec=sh /home/smart/unzipKDMs.sh Exec=sh /home/smart/.tms3/starter/unzipKDMs.sh
Name=unzipkdm Name=unzipkdm
Icon=/home/smart/unzipKDM.png Icon=/home/smart/.tms3/starter/unzipKDM.png