2025-07-19 16:24:05 +08:00

71 lines
2.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
root_dir=$(cd `dirname $0`/.. && pwd -P)
# set -e
# trap 'catchError $LINENO "$BASH_COMMAND"' ERR # 捕获错误情况
# catchError() {
# exit_code=$?
# if [ $exit_code -ne 0 ]; then
# fail "\033[31mcommand: $2\n at $0:$1\n at $STEP\033[0m"
# fi
# exit $exit_code
# }
notice() {
echo -e "\033[36m $1 \033[0m "
}
warn() {
echo -e "\033[43;37m 警告 \033[0m $1"
}
fail() {
echo -e "\033[41;37m 失败 \033[0m $1"
}
package_dir="$root_dir/package.nw"
tmp_dir="$root_dir/tmp/core"
mkdir -p $tmp_dir
unpack_script="$root_dir/tools/wxvpkg_unpack.js"
pack_script="$root_dir/tools/wxvpkg_pack.js"
echo "Fix Core"
# unpack 文件 到 路径
node "$unpack_script" "$package_dir/core.wxvpkg" "$tmp_dir/core.wxvpkg"
# ____ _____ ____ _ _ ____ _____ ____ ___ ____ _____
# | _ \| ____| _ \| | / \ / ___| ____| / ___/ _ \| _ \| ____|
# | |_) | _| | |_) | | / _ \| | | _| | | | | | | |_) | _|
# | _ <| |___| __/| |___ / ___ \ |___| |___ | |__| |_| | _ <| |___
# |_| \_\_____|_| |_____/_/ \_\____|_____| \____\___/|_| \_\_____|
#
# token_find_result=$( grep -lr "constructor(){this._sessionToken=\"\",this._tokenMap={}}" "$tmp_dir/core.wxvpkg" )
# echo "WebSocket token存储对象位置: $token_find_result"
# if [[ ! -z $token_find_result ]];then
# new_constructor="constructor(){if(window.tokenData){/*有就直接用*/this._sessionToken=window.tokenData._sessionToken;this._tokenMap=window.tokenData._tokenMap;}else{/*没有就新建*/this._sessionToken=\"\",this._tokenMap={};window.tokenData=this;/*新建完要给中间人*/}}"
# sed -i "s#constructor(){this._sessionToken=\"\",this._tokenMap={}}#$new_constructor#g" "$token_find_result"
# else
# warn "WebSocket token存储对象位置未找到"
# fi
# wcc、wcsc处理设置WINE=fasle环境变量生效
if [[ "$WINE" != 'true' ]];then
# 处理报错时控制台显示的环境
find_result=$( grep -lr '(env:' "$tmp_dir/core.wxvpkg" )
echo "env: $find_result"
if [[ ! -z $find_result ]];then
for file in $find_result; do
sed -i 's#"Windows"#"Linux"#g' "$file"
done
else
warn "Windows字符串位置未找到"
fi
current=`date "+%Y-%m-%d %H:%M:%S"`
timeStamp=`date -d "$current" +%s`
echo $timeStamp > "${package_dir}/.build_time"
fi
# pack 路径 到 文件
notice "pack"
node "$pack_script" "$tmp_dir/core.wxvpkg" "$package_dir/core.wxvpkg"
rm -rf "$tmp_dir/core.wxvpkg"