mirror of
https://github.com/msojocs/wechat-web-devtools-linux.git
synced 2025-07-07 00:02:14 +08:00
update: wcc node module
fix: replace of wcc linux version
This commit is contained in:
parent
22b579ec5e
commit
a8c772b9a0
1
compiler/test/node-modules/.gitignore
vendored
Normal file
1
compiler/test/node-modules/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
data
|
18
compiler/test/node-modules/.vscode/launch.json
vendored
Normal file
18
compiler/test/node-modules/.vscode/launch.json
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
// 使用 IntelliSense 了解相关属性。
|
||||
// 悬停以查看现有属性的描述。
|
||||
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "nwjs",
|
||||
"request": "launch",
|
||||
"name": "Launch NWjs",
|
||||
"nwjsVersion": "any",
|
||||
"webRoot": "${workspaceFolder}",
|
||||
"reloadAfterAttached": true,
|
||||
"userDataDir": "${workspaceFolder}/data",
|
||||
"runtimeExecutable": "/mnt/disk2/wechat-web-devtools-linux/cache/wechat_devtools_1.05.2204180_x64/wechatdevtools.exe"
|
||||
}
|
||||
]
|
||||
}
|
4
compiler/test/node-modules/index.html
Normal file
4
compiler/test/node-modules/index.html
Normal file
@ -0,0 +1,4 @@
|
||||
<script>
|
||||
require('./wcc_test')
|
||||
require('./wcsc_test')
|
||||
</script>
|
3
compiler/test/node-modules/index.js
Normal file
3
compiler/test/node-modules/index.js
Normal file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env node
|
||||
require('./wcc_test')
|
||||
require('./wcsc_test')
|
File diff suppressed because it is too large
Load Diff
16
compiler/test/node-modules/package.json
Normal file
16
compiler/test/node-modules/package.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"forceVendor": true,
|
||||
"name": "nw_test",
|
||||
"main": "index.html",
|
||||
"productName": "test",
|
||||
"appname": "nw_test",
|
||||
"version": "1.0",
|
||||
"window": {
|
||||
"frame": true
|
||||
},
|
||||
"chromium-args": "--no-sandbox --ignore-gpu-blacklist --register-pepper-plugins=./node_modules/mpv.js/build/Release/mpvjs.node;application/x-mpvjs",
|
||||
"dependencies": {
|
||||
"mpv.js": "^0.3.0",
|
||||
"spdlog": "^0.13.6"
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
19
compiler/test/node-modules/wcc_test.js
Normal file → Executable file
19
compiler/test/node-modules/wcc_test.js
Normal file → Executable file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,18 +1,16 @@
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const MODE = typeof nw === 'object' ? 'wine': 'linux'
|
||||
|
||||
const wcsc_options1 = {"pageCount":34,"files":["./packageComponent/pages/view/view/view.wxss","./packageComponent/pages/view/scroll-view/scroll-view.wxss","./packageComponent/pages/view/swiper/swiper.wxss","./packageComponent/pages/view/movable-view/movable-view.wxss","./packageComponent/pages/view/cover-view/cover-view.wxss","./packageComponent/pages/content/text/text.wxss","./packageComponent/pages/content/icon/icon.wxss","./packageComponent/pages/content/progress/progress.wxss","./packageComponent/pages/content/rich-text/rich-text.wxss","./packageComponent/pages/form/button/button.wxss","./packageComponent/pages/form/checkbox/checkbox.wxss","./packageComponent/pages/form/form/form.wxss","./packageComponent/pages/form/input/input.wxss","./packageComponent/pages/form/label/label.wxss","./packageComponent/pages/form/picker/picker.wxss","./packageComponent/pages/form/picker-view/picker-view.wxss","./packageComponent/pages/form/radio/radio.wxss","./packageComponent/pages/form/slider/slider.wxss","./packageComponent/pages/form/switch/switch.wxss","./packageComponent/pages/form/textarea/textarea.wxss","./packageComponent/pages/form/editor/editor.wxss","./packageComponent/pages/nav/navigator/navigator.wxss","./packageComponent/pages/media/image/image.wxss","./packageComponent/pages/media/video/video.wxss","./packageComponent/pages/media/camera/camera.wxss","./packageComponent/pages/media/live-pusher/live-pusher.wxss","./packageComponent/pages/media/live-player/live-player.wxss","./packageComponent/pages/map/map/map.wxss","./packageComponent/pages/canvas/canvas-2d/canvas-2d.wxss","./packageComponent/pages/canvas/webgl/webgl.wxss","./packageComponent/pages/open/ad/ad.wxss","./packageComponent/pages/open/open-data/open-data.wxss","./packageComponent/pages/open/web-view/web-view.wxss","./packageComponent/pages/obstacle-free/aria-component/aria-component.wxss","./app.wxss","./common/lib/weui.wxss","./miniprogram_npm/miniprogram-barrage/index.wxss","./miniprogram_npm/miniprogram-recycle-view/recycle-item.wxss","./miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss","./miniprogram_npm/wxml-to-canvas/index.wxss","./page/API/index.wxss","./page/API/components/set-tab-bar/set-tab-bar.wxss","./page/cloud/index.wxss","./page/common/common.wxss","./page/common/index.wxss","./page/common/lib/weui.wxss","./page/component/index.wxss","./page/extend/index.wxss","./packageComponent/pages/form/editor/assets/iconfont.wxss"],"cwd":"/mnt/disk1/WeChatProjects/miniprogram-demo/miniprogram/","subPackage":"packageComponent/","replaceContent":{"./packageComponent/pages/camera-scan-code/camera-scan-code.wxss":"\n\ncamera {\n height: 250px;\n}\n\n.btn-area {\n margin-top: 0;\n}\n\nform {\n margin-top: 15px;\n}\n\n.weui-cell__bd {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n padding: 10px 0;\n min-height: 30px;\n}"},"debug":true}
|
||||
const wcsc_options2 = {"pageCount":9,"files":["./page/component/index.wxss","./page/API/index.wxss","./page/cloud/index.wxss","./page/extend/index.wxss","./miniprogram_npm/miniprogram-barrage/index.wxss","./miniprogram_npm/miniprogram-recycle-view/recycle-item.wxss","./miniprogram_npm/miniprogram-recycle-view/recycle-view.wxss","./miniprogram_npm/wxml-to-canvas/index.wxss","./page/API/components/set-tab-bar/set-tab-bar.wxss","./app.wxss","./common/lib/weui.wxss","./page/common/common.wxss","./page/common/index.wxss","./page/common/lib/weui.wxss"],"cwd":"/mnt/disk1/WeChatProjects/miniprogram-demo/miniprogram/","replaceContent":{"./packageComponent/pages/camera-scan-code/camera-scan-code.wxss":"\n\ncamera {\n height: 250px;\n}\n\n.btn-area {\n margin-top: 0;\n}\n\nform {\n margin-top: 15px;\n}\n\n.weui-cell__bd {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n padding: 10px 0;\n min-height: 30px;\n}"},"debug":true}
|
||||
// const wcc_options6 =
|
||||
// const wcc_options7 =
|
||||
|
||||
const test = async (options, id) => {
|
||||
console.log("============")
|
||||
const wcsc = require("wcsc");
|
||||
console.log("============", id)
|
||||
const wcsc = require("wcc_" + MODE).wcsc;
|
||||
const wcsc_result = await wcsc(options);
|
||||
fs.writeFileSync(path.resolve(__dirname, `wcsc_node${id}.txt`), JSON.stringify(wcsc_result, null, 4))
|
||||
// const win_result = fs.readFileSync(path.resolve(__dirname, '../package.nw/win.txt'))
|
||||
// console.log(wcsc_result == win_result)
|
||||
fs.writeFileSync(path.resolve(__dirname, `wcsc_node_${id}${MODE}.txt`), JSON.stringify(wcsc_result, null, 4))
|
||||
};
|
||||
test(wcsc_options1, 1);
|
||||
test(wcsc_options2, 2);
|
@ -6,13 +6,13 @@ const options = {
|
||||
"debugWXS": false,
|
||||
"debug": true,
|
||||
"genfuncname": "$gwx",
|
||||
"wxmlCompileConfig": "2>_<7055./pages/index/index.wxml>_<70550>_<7055./pages/logs/logs.wxml>_<70550",
|
||||
"wxmlCompileConfigSplit": ">_<7055",
|
||||
"wxmlCompileConfig": "2>_<9401./pages/index/index.wxml>_<94010>_<9401./pages/logs/logs.wxml>_<94010",
|
||||
"wxmlCompileConfigSplit": ">_<9401",
|
||||
"replaceContent": {
|
||||
"./pages/index/index.wxml": "<!--index.wxml-->\n<view class=\"container\" data-ib-structured-id=\"0\">\n <view class=\"userinfo\" data-ib-structured-id=\"1\">\n <block wx:if=\"{{canIUseOpenData}}\" data-ib-structured-id=\"2\">\n <view class=\"userinfo-avatar\" bindtap=\"bindViewTap\" style=\"width: 183rpx; height: 148rpx; display: block; box-sizing: border-box\" data-ib-structured-id=\"3\">\n <open-data type=\"userAvatarUrl\" data-ib-structured-id=\"4\"></open-data>\n </view>\n <open-data type=\"userNickName\" data-ib-structured-id=\"5\"></open-data>\n </block>\n <block wx:elif=\"{{!hasUserInfo}}\" data-ib-structured-id=\"6\">\n <button wx:if=\"{{canIUseGetUserProfile}}\" bindtap=\"getUserProfile\" data-ib-structured-id=\"7\"> 获取头像昵称 </button>\n <button wx:elif=\"{{canIUse}}\" open-type=\"getUserInfo\" bindgetuserinfo=\"getUserInfo\" data-ib-structured-id=\"8\"> 获取头像昵称 </button>\n <view wx:else data-ib-structured-id=\"9\"> 请使用1.4.4及以上版本基础库 </view>\n </block>\n <block wx:else data-ib-structured-id=\"10\">\n <image bindtap=\"bindViewTap\" class=\"userinfo-avatar\" src=\"{{userInfo.avatarUrl}}\" mode=\"cover\" data-ib-structured-id=\"11\"></image>\n <text class=\"userinfo-nickname\" data-ib-structured-id=\"12\">{{userInfo.nickName}}</text>\n </block>\n </view>\n <view class=\"usermotto\" data-ib-structured-id=\"13\">\n <text class=\"user-motto\" data-ib-structured-id=\"14\">{{motto}}</text>\n </view>\n</view>\n"
|
||||
"./pages/index/index.wxml": "<!--index.wxml-->\n<view class=\"container\" data-ib-structured-id=\"0\">\n <view class=\"userinfo\" data-ib-structured-id=\"1\">\n <block wx:if=\"{{canIUseOpenData}}\" data-ib-structured-id=\"2\">\n <view class=\"userinfo-avatar\" bindtap=\"bindViewTap\" style=\"width: 183rpx; height: 148rpx; display: block; box-sizing: border-box\" data-ib-structured-id=\"3\">\n <open-data type=\"userAvatarUrl\" data-ib-structured-id=\"4\"></open-data>\n </view>\n <open-data type=\"userNickName\" data-ib-structured-id=\"5\"></open-data>\n </block>\n <block wx:elif=\"{{!hasUserInfo}}\" data-ib-structured-id=\"6\">\n <button wx:if=\"{{canIUseGetUserProfile}}\" bindtap=\"getUserProfile\" data-ib-structured-id=\"7\"> 获取头像昵称 </button>\n <button wx:elif=\"{{canIUse}}\" open-type=\"getUserInfo\" bindgetuserinfo=\"getUserInfo\" data-ib-structured-id=\"8\"> 获取头像昵称 </button>\n <view wx:else data-ib-structured-id=\"9\"> 请使用1.4.4及以上版本基础库 </view>\n </block>\n <block wx:else data-ib-structured-id=\"10\">\n <image bindtap=\"bindViewTap\" class=\"userinfo-avatar\" src=\"{{userInfo.avatarUrl}}\" mode=\"cover\" data-ib-structured-id=\"11\"></image>\n <text class=\"userinfo-nickname\" data-ib-structured-id=\"12\">{{userInfo.nickName}}</text>\n </block>\n </view>\n <view class=\"usermotto\" style=\"width: 197rpx; height: 94rpx; display: block; box-sizing: border-box\" data-ib-structured-id=\"13\">\n <text class=\"user-motto\" data-ib-structured-id=\"14\">{{motto}}</text>\n </view>\n</view>\n"
|
||||
},
|
||||
"cwd": "/home/msojocs/Documents/we1",
|
||||
"lazyloadConfig": "./pages/index/index>_<7055./pages/logs/logs"
|
||||
"lazyloadConfig": "./pages/index/index>_<9401./pages/logs/logs"
|
||||
}
|
||||
wcc(options)
|
||||
.then(res => {
|
||||
|
@ -60,7 +60,7 @@ exports = async function (options) {
|
||||
|
||||
let wccResult
|
||||
try {
|
||||
wccResult = wcsc(options)
|
||||
wccResult = await wcsc(options)
|
||||
} catch (errmsg) {
|
||||
throw new Error(errmsg)
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -154,3 +154,4 @@ git clone https://github.com/msojocs/wechat-devtools-linux.git
|
||||
5. icepie
|
||||
6. zyk-miao
|
||||
7. Starrah
|
||||
8. CoryByte
|
||||
|
@ -36,8 +36,8 @@ fi
|
||||
|
||||
# open -a Terminal "`pwd`" --> gnome-terminal
|
||||
find_result=$( grep -lr 'open -a Terminal "`pwd`"' "$tmp_dir/core.wxvpkg" )
|
||||
if [[ ! -z $find_result ]];then
|
||||
echo "Terminal启动位置: $find_result"
|
||||
if [[ ! -z $find_result ]];then
|
||||
new_str="gnome-terminal"
|
||||
sed -i "s#open -a Terminal \"\`pwd\`\"#$new_str#g" "$find_result"
|
||||
fi
|
||||
@ -45,20 +45,21 @@ fi
|
||||
# wcc、wcsc处理,设置NO_WINE=true环境变量生效
|
||||
if [[ $NO_WINE == 'true' ]];then
|
||||
# "wcc.exe":!0,"wcsc.exe":!0
|
||||
find_result=$( grep -lr '{wcc:!0,wcsc:!0,DevToolProtector:!0}' "$tmp_dir/core.wxvpkg" )
|
||||
if [[ ! -z $find_result ]];then
|
||||
find_result=$( grep -lr '{wcc:!0,wcsc:!0}' "$tmp_dir/core.wxvpkg" )
|
||||
echo "wcc: $find_result"
|
||||
new_str='{"wcc.bin":!0,"wcsc.bin":!0,wcc:!0,wcsc:!0,DevToolProtector:!0}'
|
||||
sed -i "s#{wcc:!0,wcsc:!0,DevToolProtector:!0}#$new_str#g" "$find_result"
|
||||
if [[ ! -z $find_result ]];then
|
||||
new_str='{"wcc.bin":!0,"wcsc.bin":!0,wcc:!0,wcsc:!0}'
|
||||
sed -i "s#{wcc:!0,wcsc:!0}#$new_str#g" "$find_result"
|
||||
new_str='"linux"===process.platform'
|
||||
sed -i "s#\"darwin\"===process.platform#$new_str#g" "$find_result"
|
||||
sed -i 's#return I("wcc")#return I("wcc.bin"),I("wcc")#g' "$find_result"
|
||||
sed -i 's#return I("wcsc")#return I("wcsc.bin"),I("wcsc")#g' "$find_result"
|
||||
# TODO: 看能不能动态识别函数名j,因为不同版本会发生变化
|
||||
sed -i 's#return j("wcc")#return j("wcc.bin"),j("wcc")#g' "$find_result"
|
||||
sed -i 's#return j("wcsc")#return j("wcsc.bin"),j("wcsc")#g' "$find_result"
|
||||
fi
|
||||
# 处理报错时控制台显示的环境
|
||||
find_result=$( grep -lr '(env:' "$tmp_dir/core.wxvpkg" )
|
||||
if [[ ! -z $find_result ]];then
|
||||
echo "env: $find_result"
|
||||
if [[ ! -z $find_result ]];then
|
||||
for file in $find_result; do
|
||||
sed -i 's#"Windows"#"Linux"#g' "$file"
|
||||
done
|
||||
@ -72,6 +73,7 @@ fi
|
||||
# fix theme
|
||||
find_result=$( grep -lr "OSThemeController=" "$tmp_dir/core.wxvpkg" )
|
||||
echo "theme: $find_result"
|
||||
if [[ -n $find_result ]];then
|
||||
# require of child_process
|
||||
sed -i 's/"use strict";O/"use strict";const {execSync,spawn}=require("child_process");O/' $find_result
|
||||
# replace listener to monitor
|
||||
@ -80,6 +82,7 @@ sed -i 's/this.registerListeners()/this.monitorTheme()/' $find_result
|
||||
sed -i 's/mediaQuery.matches/isDark/' $find_result
|
||||
# add functions
|
||||
sed -i 's#}getDefaultTheme#}get isDark(){try{const{DESKTOP_SESSION}=process.env;console.log(DESKTOP_SESSION);let theme="";switch(DESKTOP_SESSION){case"deepin":theme=execSync(`gsettings get com.deepin.dde.appearance gtk-theme`);break;case"gnome":case"gnome-classic":theme=execSync(`gsettings get org.gnome.desktop.interface ${this.gnomeScheme}`);break;default:break}return theme.includes("dark");}catch(err){console.error("尝试获取主题信息失败,使用默认暗色",err);return true;}}get gnomeScheme(){try{const gnomeVersion=execSync(`gnome-shell --version`).toString().replace(/[\\r\\n]/g,"").split(" ");const gnomeVersionNum=gnomeVersion.length==3?Number(gnomeVersion[2]):0;return gnomeVersionNum>=42?"color-scheme":"gtk-theme";}catch(err){console.error("检查gnome版本失败, 使用gtk-theme", err);return "gtk-theme";}}monitorTheme(){try{let monitor=null;const{DESKTOP_SESSION}=process.env;switch(DESKTOP_SESSION){case"deepin":monitor=spawn("gsettings",["monitor","com.deepin.dde.appearance","gtk-theme",]);break;case"gnome":case"gnome-classic":monitor=spawn("gsettings",["monitor","org.gnome.desktop.interface",this.gnomeScheme,]);break;default:console.warn(`NOT SUPPORTED!!!DESKTOP_SESSION:${DESKTOP_SESSION}`);break}monitor\&\&monitor.on("error",(err)=>{console.error("monitorTheme",err)});monitor\&\&monitor.stdout.on("data",e.debounce((chunk)=>{const data=chunk.toString();const t=data.toLowerCase().includes("dark");(this._theme=t?i.Dark:i.Light),this._onDidThemeChange.fire(this._theme)},400));process.on("SIGTERM",(signal)=>{monitor.kill(signal);});}catch(err){console.error("尝试监听主题失败!", err);}}getDefaultTheme#' $find_result
|
||||
fi
|
||||
|
||||
# fix update check
|
||||
find_result=$( grep -lr "whatsnew.html" "$tmp_dir/core.wxvpkg" )
|
||||
|
Loading…
x
Reference in New Issue
Block a user