diff --git a/.gitignore b/.gitignore index 914ac7f..b81bd16 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ arch/ nwjs/ node/ -package.nw/ +package.nw +package.nw copy cache/ tmp/ mew/ diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..5a7bb86 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,27 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "nwjs", + "request": "launch", + "name": "Launch NWjs", + "nwjsVersion": "0.47.0", + "webRoot": "${workspaceFolder}/package.nw", + "reloadAfterAttached": true, + "runtimeArgs": [ + "--load-extension=${workspaceFolder}/tmp/data/WeappPlugin", + "--custom-devtools-frontend=file://${workspaceFolder}/tmp/data/WeappPlugin/inspector/", + "--user-data-dir=${workspaceFolder}/tmp/data", + "--remote-debugging-port=9999" + ], + "env": { + "LANG": "zh_CN.UTF-8" + }, + "userDataDir": false, + "runtimeExecutable": "${workspaceFolder}/nwjs/nw" + } + ] +} \ No newline at end of file diff --git a/bin/wechat-devtools b/bin/wechat-devtools index 7ccd20f..35c5b32 100755 --- a/bin/wechat-devtools +++ b/bin/wechat-devtools @@ -16,12 +16,12 @@ export PATH="$DIR/../wine:$DIR/../node/bin:$DIR/../nwjs:$PATH" # LANG=zh_CN.UTF-8 exec "$DIR"/../nwjs/nw --load-extension="$DIR"/../nwjs/package.nw/js/ideplugin "$@" -EXTENSION1="-load-extension=$DIR/../nwjs/package.nw/js/ideplugin" -EXTENSION2="-load-extension=$( echo ~ )/.config/wechat_devtools/WeappPlugin" # 调试器AppData与Storage可用 -INSPECTOR1="--custom-devtools-frontend=$DIR/../nwjs/package.nw/js/ideplugin/inspector" -INSPECTOR2="--custom-devtools-frontend=$( echo ~ )/.config/wechat_devtools/WeappPlugin/inspector" +EXTENSION1="--load-extension=$DIR/../nwjs/package.nw/js/ideplugin" +EXTENSION2="--load-extension=$( echo ~ )/.config/wechat_devtools/WeappPlugin" # 调试器AppData与Storage可用 +INSPECTOR1="--custom-devtools-frontend=file://$DIR/../nwjs/package.nw/js/ideplugin/inspector" +INSPECTOR2="--custom-devtools-frontend=file://$( echo ~ )/.config/wechat_devtools/WeappPlugin/inspector/" USERDATADIR="$( echo ~ )/.config/wechat_devtools" # "$@"参数 LANG=zh_CN.UTF-8 -exec "$DIR"/../nwjs/nw $DIR/../package.nw $EXTENSION2 $INSPECTOR2 --user-data-dir=$USERDATADIR "$@" --app-session-id=XzpLGIehps \ No newline at end of file +exec "$DIR"/../nwjs/nw $DIR/../package.nw $EXTENSION2 $INSPECTOR1 --user-data-dir=$USERDATADIR "$@" \ No newline at end of file diff --git a/bin/wechat-devtools-test b/bin/wechat-devtools-test new file mode 100644 index 0000000..431ad38 --- /dev/null +++ b/bin/wechat-devtools-test @@ -0,0 +1,27 @@ +#!/bin/bash + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" + +cd $DIR/.. + +export WECHAT_DEVTOOLS_DIR="$DIR/../nwjs" +export APPDATA="$( echo ~ )/.config/wechat_devtools" +export PATH="$DIR/../wine:$DIR/../node/bin:$DIR/../nwjs:$PATH" + +# LANG=zh_CN.UTF-8 exec "$DIR"/../nwjs/nw --load-extension="$DIR"/../nwjs/package.nw/js/ideplugin "$@" + +EXTENSION1="--load-extension=$DIR/../nwjs/package.nw/js/ideplugin" +EXTENSION2="--load-extension=$( echo ~ )/.config/wechat_devtools/WeappPlugin" # 调试器AppData与Storage可用 +INSPECTOR1="--custom-devtools-frontend=$DIR/../nwjs/package.nw/js/ideplugin/inspector" +INSPECTOR2="--custom-devtools-frontend=$( echo ~ )/.config/wechat_devtools/WeappPlugin/inspector" +USERDATADIR="$( echo ~ )/.config/wechat_devtools" + +# "$@"参数 +LANG=zh_CN.UTF-8 +exec "$DIR"/../nwjs/nw $DIR/../package.nw $EXTENSION2 $INSPECTOR2 --user-data-dir=tmp/data "$@" \ No newline at end of file diff --git a/docs/DEBUG.MD b/docs/DEBUG.MD new file mode 100644 index 0000000..281f69f --- /dev/null +++ b/docs/DEBUG.MD @@ -0,0 +1,19 @@ +# js/ideplugin/devtools/devtools.html + 启动时,文件被复制到数据目录 + window.$messager undefined + window.parent.$messager Messenger + window === window.parent false + + + +# js/ideplugin/inspector + 仅复制一次 + +## main/MainImpl.js + constructor: $messager已经生成 + + + applyFeatures()--->WxmainImpl.getMessenger() + + +devtools_app.html并没有被加载 \ No newline at end of file diff --git a/docs/log.log b/docs/log.log index ad19e62..2b6a255 100644 --- a/docs/log.log +++ b/docs/log.log @@ -33,4 +33,26 @@ Chromium 86.0.4240.111 commit hash: e587598-d7277f7-d507c96-bbb240e NW.JS -并未出现“devtools is not loaded properly“ \ No newline at end of file +并未出现“devtools is not loaded properly“ + + + +测试: +"D:\Program Files (x86)\Tencent\微信web开发者工具\wechatdevtools.exe" "D:\Program Files (x86)\Tencent\微信web开发者工具\code\package.nw" "-load-extension=C:\Users\jiyec\AppData\Local\微信开发者工具\User Data\f13f1c30f325514de496c9db6e27b110\WeappPlugin" "--custom-devtools-frontend=file://C:/Users/jiyec/AppData/Local/%E5%BE%AE%E4%BF%A1%E5%BC%80%E5%8F%91%E8%80%85%E5%B7%A5%E5%85%B7/User Data/f13f1c30f325514de496c9db6e27b110/WeappPlugin/inspector" + +编辑器主界面: + 控制台devtools is not loaded properly + 调试器显示正常 +调试器: + 正常,可用 + 控制台window.parent.$messager正常 + +除去"--custom-devtools-frontend"参数: + 调试器: + 不可使用,空白 + 控制台window.parent.$messager异常,not exists + 主界面: + devtools is not loaded properly + custom devtools frontend param is missing + +安装 redux-logger redux-devtools-extension \ No newline at end of file diff --git a/docs/winEnv.json b/docs/winEnv.json new file mode 100644 index 0000000..5f981fd --- /dev/null +++ b/docs/winEnv.json @@ -0,0 +1,56 @@ +{ + "ALLUSERSPROFILE": "C:\\ProgramData", + "ANDROID_AVD_HOME": "D:\\.android\\avd", + "ANT_HOME": "D:\\Tool\\apache-ant-1.10.12", + "APPDATA": "C:\\Users\\jiyec\\AppData\\Roaming", + "CHROME_CRASHPAD_PIPE_NAME": "\\\\.\\pipe\\crashpad_10032_NITNEKBDVYUIXYIN", + "CHROME_RESTART": "NW.js|Whoa! NW.js has crashed. Relaunch now?|LEFT_TO_RIGHT", + "CommonProgramFiles": "C:\\Program Files\\Common Files", + "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files", + "CommonProgramW6432": "C:\\Program Files\\Common Files", + "COMPUTERNAME": "R24H55", + "ComSpec": "C:\\WINDOWS\\system32\\cmd.exe", + "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData", + "FPS_BROWSER_APP_PROFILE_STRING": "Internet Explorer", + "FPS_BROWSER_USER_PROFILE_STRING": "Default", + "HOMEDRIVE": "C:", + "HOMEPATH": "\\Users\\jiyec", + "JAVA_HOME": "D:\\Program Files (x86)\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot", + "LOCALAPPDATA": "C:\\Users\\jiyec\\AppData\\Local", + "LOGONSERVER": "\\\\R24H55", + "M2_HOME": "D:\\Tool\\Maven\\apache-maven-3.8.1", + "NODE_ENV": "production", + "NODE_PATH": "D:\\nodejs\\node_modules", + "NUMBER_OF_PROCESSORS": "4", + "OneDrive": "C:\\Users\\jiyec\\OneDrive", + "OneDriveConsumer": "C:\\Users\\jiyec\\OneDrive", + "OS": "Windows_NT", + "Path": "C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;D:\\adb;D:\\Program Files\\Python39\\;D:\\Program Files\\Python39\\Scripts\\;D:\\Program Files\\Git\\cmd;D:\\Program Files\\Microsoft VS Code\\bin;D:\\Program Files\\PuTTY\\;D:\\Program Files (x86)\\NetSarang\\Xftp 7\\;D:\\Program Files (x86)\\NetSarang\\Xshell 7\\;D:\\nodejs\\node_modules;D:\\Tool\\Maven\\apache-maven-3.8.1\\bin;C:\\Program Files\\dotnet\\;D:\\Program Files (x86)\\AdoptOpenJDK\\jdk-11.0.11.9-hotspot\\bin;C:\\Program Files (x86)\\dotnet\\;D:\\mingw64\\bin;D:\\Program Files\\nodejs\\node-v14.17.3-x64\\;D:\\Program Files\\Firefox Developer Edition;D:\\Tool\\apache-ant-1.10.12\\bin;D:\\DATA\\大三上\\软件测试\\软件测试实验资料\\实验3\\实验3\\codecover-batch-1.0;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\ProgramData\\DockerDesktop\\version-bin;D:\\PlatformTools\\php\\ts-8.1.1-x64;C:\\ProgramData\\ComposerSetup\\bin;D:\\Program Files (x86)\\Tencent\\微信web开发者工具\\dll;C:\\Users\\jiyec\\scoop\\shims;C:\\Users\\jiyec\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\jiyec\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\jiyec\\.dotnet\\tools;D:\\Program Files (x86)\\Fiddler;C:\\Users\\jiyec\\AppData\\Roaming\\Composer\\vendor\\bin", + "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW", + "PROCESSOR_ARCHITECTURE": "AMD64", + "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 69 Stepping 1, GenuineIntel", + "PROCESSOR_LEVEL": "6", + "PROCESSOR_REVISION": "4501", + "ProgramData": "C:\\ProgramData", + "ProgramFiles": "C:\\Program Files", + "ProgramFiles(x86)": "C:\\Program Files (x86)", + "ProgramW6432": "C:\\Program Files", + "PSModulePath": "C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules", + "PUBLIC": "C:\\Users\\Public", + "SESSIONNAME": "Console", + "SSLKEYLOGFILE": "C:\\Temp\\sslkey.log", + "SynaProgDir": "Synaptics\\SynTP", + "SystemDrive": "C:", + "SystemRoot": "C:\\WINDOWS", + "TEMP": "C:\\Users\\jiyec\\AppData\\Local\\Temp", + "TMP": "C:\\Users\\jiyec\\AppData\\Local\\Temp", + "UNPACK_DIR_PATH": "D:\\Program Files (x86)\\Tencent\\微信web开发者工具\\code\\package.nw\\js\\unpack", + "USERDOMAIN": "R24H55", + "USERDOMAIN_ROAMINGPROFILE": "R24H55", + "USERNAME": "jiyec", + "USERPROFILE": "C:\\Users\\jiyec", + "VBOX_MSI_INSTALL_PATH": "D:\\Program Files\\Oracle\\VirtualBox\\", + "windir": "C:\\WINDOWS", + "XW_DAEMON_IDX": "1", + "SUB_PROCESS": "1" +} \ No newline at end of file diff --git a/docs/winEnv.txt b/docs/winEnv.txt new file mode 100644 index 0000000..e3be16f --- /dev/null +++ b/docs/winEnv.txt @@ -0,0 +1,50 @@ +C:\Users\jiyec>set +ALLUSERSPROFILE=C:\ProgramData +ANDROID_AVD_HOME=D:\.android\avd +ANT_HOME=D:\Tool\apache-ant-1.10.12 +APPDATA=C:\Users\jiyec\AppData\Roaming +CommonProgramFiles=C:\Program Files\Common Files +CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files +CommonProgramW6432=C:\Program Files\Common Files +COMPUTERNAME=R24H55 +ComSpec=C:\WINDOWS\system32\cmd.exe +DriverData=C:\Windows\System32\Drivers\DriverData +HOMEDRIVE=C: +HOMEPATH=\Users\jiyec +JAVA_HOME=D:\Program Files (x86)\AdoptOpenJDK\jdk-11.0.11.9-hotspot +LOCALAPPDATA=C:\Users\jiyec\AppData\Local +LOGONSERVER=\\R24H55 +M2_HOME=D:\Tool\Maven\apache-maven-3.8.1 +NODE_PATH=D:\nodejs\node_modules +NUMBER_OF_PROCESSORS=4 +OneDrive=C:\Users\jiyec\OneDrive +OneDriveConsumer=C:\Users\jiyec\OneDrive +OS=Windows_NT +Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\adb;D:\Program Files\Python39\;D:\Program Files\Python39\Scripts\;D:\Program Files\Git\cmd;D:\Program Files\Microsoft VS Code\bin;D:\Program Files\PuTTY\;D:\Program Files (x86)\NetSarang\Xftp 7\;D:\Program Files (x86)\NetSarang\Xshell 7\;D:\nodejs\node_modules;D:\Tool\Maven\apache-maven-3.8.1\bin;C:\Program Files\dotnet\;D:\Program Files (x86)\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin;C:\Program Files (x86)\dotnet\;D:\mingw64\bin;D:\Program Files\nodejs\node-v14.17.3-x64\;D:\Program Files\Firefox Developer Edition;D:\Tool\apache-ant-1.10.12\bin;D:\DATA\大三上\软件测试\软件测试实验资料\实验3\实验3\codecover-batch-1.0;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;D:\PlatformTools\php\ts-8.1.1-x64;C:\ProgramData\ComposerSetup\bin;D:\Program Files (x86)\Tencent\微信web开发 者工具\dll;C:\Users\jiyec\scoop\shims;C:\Users\jiyec\AppData\Local\Microsoft\WindowsApps;C:\Users\jiyec\AppData\Local\GitHubDesktop\bin;C:\Users\jiyec\.dotnet\tools;D:\Program Files (x86)\Fiddler;C:\Users\jiyec\AppData\Roaming\Composer\vendor\bin +PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW +PROCESSOR_ARCHITECTURE=AMD64 +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 69 Stepping 1, GenuineIntel +PROCESSOR_LEVEL=6 +PROCESSOR_REVISION=4501 +ProgramData=C:\ProgramData +ProgramFiles=C:\Program Files +ProgramFiles(x86)=C:\Program Files (x86) +ProgramW6432=C:\Program Files +PROMPT=$P$G +PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules +PUBLIC=C:\Users\Public +SSLKEYLOGFILE=C:\Temp\sslkey.log +SynaProgDir=Synaptics\SynTP +SystemDrive=C: +SystemRoot=C:\WINDOWS +TEMP=C:\Users\jiyec\AppData\Local\Temp +TMP=C:\Users\jiyec\AppData\Local\Temp +USERDOMAIN=R24H55 +USERDOMAIN_ROAMINGPROFILE=R24H55 +USERNAME=jiyec +USERPROFILE=C:\Users\jiyec +VBOX_MSI_INSTALL_PATH=D:\Program Files\Oracle\VirtualBox\ +windir=C:\WINDOWS +WSLENV=WT_SESSION::WT_PROFILE_ID +WT_PROFILE_ID={0caa0dad-35be-5f56-a8ff-afceeeaa6101} +WT_SESSION=3aa44fe4-ec68-4c87-a7a9-e80eeaaa7be8 \ No newline at end of file