@@ -652,10 +652,72 @@ <h4>作者:Evil0ctal</h4>
652652
653653 <!-- WASM 模块配置 -->
654654 < script >
655+ // 优先使用本地文件(速度更快)
655656 window . VTS_WASM_URL = 'wechat_files/wasm_video_decode.wasm' ;
656657 window . MAX_HEAP_SIZE = 33554432 ;
658+
659+ // 备选微信 CDN 路径(如果本地加载失败)
660+ window . VTS_WASM_CDN_URL = "https://aladin.wxqcloud.qq.com/aladin/ffmepeg/video-decode/1.2.46/wasm_video_decode.wasm" ;
661+ window . WASM_USING_CDN = false ;
662+ window . WASM_LOAD_FAILED = false ;
663+ </ script >
664+ <!-- 优先使用本地文件加载 JS -->
665+ < script
666+ src ="wechat_files/wasm_video_decode.js "
667+ onerror ="handleWasmScriptError() "
668+ > </ script >
669+ < script >
670+ // 处理 WASM JS 加载失败 - 切换到微信 CDN
671+ function handleWasmScriptError ( ) {
672+ console . warn ( '本地 WASM JS 加载失败,切换到微信 CDN...' ) ;
673+ window . WASM_USING_CDN = true ;
674+
675+ // 尝试加载微信 CDN
676+ const cdnScript = document . createElement ( 'script' ) ;
677+ cdnScript . src = 'https://aladin.wxqcloud.qq.com/aladin/ffmepeg/video-decode/1.2.46/wasm_video_decode.js' ;
678+ cdnScript . onerror = function ( ) {
679+ console . error ( '微信 CDN WASM JS 也加载失败' ) ;
680+ window . WASM_LOAD_FAILED = true ;
681+ showWasmLoadError ( ) ;
682+ } ;
683+ document . head . appendChild ( cdnScript ) ;
684+
685+ // 更新 WASM URL 为 CDN 路径
686+ window . VTS_WASM_URL = window . VTS_WASM_CDN_URL ;
687+ }
688+
689+ // 显示 WASM 加载错误
690+ function showWasmLoadError ( ) {
691+ const output = document . getElementById ( 'output' ) ;
692+ if ( output ) {
693+ output . innerHTML = `
694+ <span class="error">❌ WASM 模块加载失败</span>
695+
696+ <span class="warning">可能的原因:</span>
697+ 1. 本地 WASM 文件缺失(wechat_files/ 目录)
698+ 2. 微信 CDN 网络访问受限
699+ 3. 浏览器阻止了脚本加载(检查控制台)
700+
701+ <span class="info">解决方案:</span>
702+
703+ <span class="success">方案 1:下载本地文件(推荐 - 速度最快)</span>
704+ 从项目仓库下载 wechat_files/ 目录到与 index.html 同级:
705+ • wasm_video_decode.js
706+ • wasm_video_decode.wasm
707+ GitHub: https://github.com/Evil0ctal/WeChat-Channels-Video-File-Decryption
708+
709+ <span class="success">方案 2:使用微信 CDN</span>
710+ 如果本地文件缺失,会自动尝试使用微信 CDN (v1.2.46):
711+ • JS: https://aladin.wxqcloud.qq.com/aladin/ffmepeg/video-decode/1.2.46/wasm_video_decode.js
712+ • WASM: https://aladin.wxqcloud.qq.com/aladin/ffmepeg/video-decode/1.2.46/wasm_video_decode.wasm
713+
714+ <span class="info">💡 提示:</span>
715+ 本地文件加载速度更快,建议优先使用本地部署。
716+ 中国大陆用户如果本地文件不可用,微信 CDN 是可靠的备选方案。
717+ ` . trim ( ) ;
718+ }
719+ }
657720 </ script >
658- < script src ="wechat_files/wasm_video_decode.js "> </ script >
659721
660722 <!-- 主程序 -->
661723 < script >
@@ -1225,21 +1287,58 @@ <h4>作者:Evil0ctal</h4>
12251287 window . addEventListener ( 'DOMContentLoaded' , function ( ) {
12261288 log ( '<span class="info">📦 正在加载 WASM 模块...</span>' ) ;
12271289
1290+ // 显示正在使用的资源地址
1291+ if ( window . WASM_USING_CDN ) {
1292+ log ( '<span class="warning">⚠️ 本地文件加载失败,已切换到微信 CDN</span>' ) ;
1293+ log ( `<span class="info"> JS: https://aladin.wxqcloud.qq.com/aladin/ffmepeg/video-decode/1.2.46/wasm_video_decode.js</span>` ) ;
1294+ log ( `<span class="info"> WASM: ${ window . VTS_WASM_URL } </span>` ) ;
1295+ } else {
1296+ log ( '<span class="info"> 使用本地文件(速度更快)</span>' ) ;
1297+ log ( `<span class="info"> JS: wechat_files/wasm_video_decode.js</span>` ) ;
1298+ log ( `<span class="info"> WASM: ${ window . VTS_WASM_URL } </span>` ) ;
1299+ }
1300+ log ( '' ) ;
1301+
12281302 // 检查 WASM 加载状态
1303+ let checkCount = 0 ;
12291304 const checkInterval = setInterval ( function ( ) {
1305+ checkCount ++ ;
1306+
12301307 if ( typeof Module !== 'undefined' && Module . WxIsaac64 ) {
12311308 clearInterval ( checkInterval ) ;
12321309 log ( '<span class="success">✅ WASM 模块加载成功</span>' ) ;
1310+ log ( '<span class="info"> 已就绪:Isaac64 PRNG 生成器</span>' ) ;
12331311 log ( '<span class="info">👉 选择"一键解密"标签页开始使用</span>\n' ) ;
1312+ } else if ( checkCount % 10 === 0 ) {
1313+ // 每秒显示一次加载状态
1314+ log ( `<span class="info">⏳ 加载中... (${ checkCount / 10 } s)</span>` ) ;
12341315 }
12351316 } , 100 ) ;
12361317
12371318 // 30 秒超时
12381319 setTimeout ( function ( ) {
12391320 clearInterval ( checkInterval ) ;
12401321 if ( typeof Module === 'undefined' || ! Module . WxIsaac64 ) {
1241- log ( '<span class="error">❌ WASM 模块加载超时</span>' ) ;
1242- log ( ' 请刷新页面重试,或检查浏览器控制台查看错误' ) ;
1322+ log ( '\n<span class="error">═══════════════════════════════════════════</span>' ) ;
1323+ log ( '<span class="error">❌ WASM 模块加载超时(30秒)</span>' ) ;
1324+ log ( '<span class="error">═══════════════════════════════════════════</span>\n' ) ;
1325+
1326+ log ( '<span class="warning">⚠️ 可能的原因:</span>' ) ;
1327+ log ( ' 1. 网络连接较慢或不稳定' ) ;
1328+ log ( ' 2. 微信 CDN 访问受限(防火墙/网络策略)' ) ;
1329+ log ( ' 3. 浏览器阻止了 WASM 加载' ) ;
1330+ log ( ' 4. 本地 WASM 文件缺失或路径错误\n' ) ;
1331+
1332+ log ( '<span class="info">💡 解决方案:</span>' ) ;
1333+ log ( ' 1. <strong>刷新页面重试</strong>' ) ;
1334+ log ( ' 2. 检查浏览器控制台(F12)查看详细错误' ) ;
1335+ log ( ' 3. 确认可以访问微信 CDN:' ) ;
1336+ log ( ' https://aladin.wxqcloud.qq.com/aladin/ffmepeg/video-decode/1.2.46/' ) ;
1337+ log ( ' 4. 或下载 wechat_files/ 目录到本地使用\n' ) ;
1338+
1339+ log ( '<span class="info">🌐 对于中国大陆用户:</span>' ) ;
1340+ log ( ' 微信 CDN 通常访问稳定,如加载失败可能是暂时的网络问题。' ) ;
1341+ log ( ' 建议刷新页面或稍后重试。\n' ) ;
12431342 }
12441343 } , 30000 ) ;
12451344
0 commit comments