mirror of
https://github.com/tidys/cc-inspector-chrome
synced 2025-04-20 17:08:41 +00:00
适配3.x
This commit is contained in:
parent
db379e91b3
commit
37b02d5c13
@ -10,12 +10,14 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/kind-of": "^6.0.0",
|
"@types/kind-of": "^6.0.0",
|
||||||
|
"@types/lodash": "^4.14.176",
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"element-ui": "^2.15.1",
|
"element-ui": "^2.15.1",
|
||||||
"fs-extra": "^9.1.0",
|
"fs-extra": "^9.1.0",
|
||||||
"less": "^4.1.1",
|
"less": "^4.1.1",
|
||||||
"less-loader": "^7.3.0",
|
"less-loader": "^7.3.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-class-component": "^7.2.3",
|
"vue-class-component": "^7.2.3",
|
||||||
|
@ -19,6 +19,8 @@ import {
|
|||||||
} from "@/devtools/data";
|
} from "@/devtools/data";
|
||||||
import {Msg, Page, PluginEvent} from "@/core/types"
|
import {Msg, Page, PluginEvent} from "@/core/types"
|
||||||
import {BuildArrayOptions, BuildImageOptions, BuildObjectOptions, BuildVecOptions} from "@/inject/types";
|
import {BuildArrayOptions, BuildImageOptions, BuildObjectOptions, BuildVecOptions} from "@/inject/types";
|
||||||
|
// @ts-ignore
|
||||||
|
import {uniq} from "lodash"
|
||||||
|
|
||||||
declare const cc: any;
|
declare const cc: any;
|
||||||
|
|
||||||
@ -187,22 +189,61 @@ class CCInspector {
|
|||||||
return typeof cc !== "undefined";
|
return typeof cc !== "undefined";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getAllPropertyDescriptors(obj: Object): string[] {
|
||||||
|
let keys: string[] = [];
|
||||||
|
|
||||||
|
function circle(root: Object) {
|
||||||
|
const descriptors = Object.getOwnPropertyDescriptors(root);
|
||||||
|
for (let descriptorsKey in descriptors) {
|
||||||
|
if (Object.hasOwnProperty.call(descriptors, descriptorsKey)) {
|
||||||
|
const value = descriptors[descriptorsKey];
|
||||||
|
// 不可枚举的属性,并且允许修改get set的才有效
|
||||||
|
if (!value.enumerable && value.configurable) {
|
||||||
|
keys.push(descriptorsKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const proto = Object.getPrototypeOf(root);
|
||||||
|
if (proto) {
|
||||||
|
circle(proto)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
circle(obj)
|
||||||
|
return keys;
|
||||||
|
}
|
||||||
|
|
||||||
_getNodeKeys(node: any) {
|
_getNodeKeys(node: any) {
|
||||||
let keys = [];
|
// 3.x变成了getter
|
||||||
let excludeProperty = [
|
let excludeProperty = [
|
||||||
"children", "quat", "node",
|
"children", "quat", "node", "components", "parent",
|
||||||
// 生命周期函数
|
// 生命周期函数
|
||||||
"onFocusInEditor", "onRestore", "start", "lateUpdate", "update", "resetInEditor", "onLostFocusInEditor",
|
"onFocusInEditor", "onRestore", "start", "lateUpdate", "update", "resetInEditor", "onLostFocusInEditor",
|
||||||
"onEnable", "onDisable", "onDestroy", "onLoad",
|
"onEnable", "onDisable", "onDestroy", "onLoad",
|
||||||
];
|
];
|
||||||
for (let key in node) {
|
const keyHidden = this.getAllPropertyDescriptors(node);
|
||||||
if (!key.startsWith("_") &&
|
const keyVisible1 = Object.keys(node); // Object不走原型链
|
||||||
!excludeProperty.includes(key) &&
|
let keyVisible2: string[] = [];
|
||||||
typeof node[key] !== "function") {
|
for (let nodeKey in node) {// 走原型链
|
||||||
keys.push(key);
|
// 这里的判断暂时不能去掉,否则会检索不到很多数据
|
||||||
|
if (Object.hasOwnProperty.call(node, nodeKey) || true) {
|
||||||
|
keyVisible2.push(nodeKey)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return keys;
|
let allKeys: string[] = uniq(keyHidden.concat(keyVisible1, keyVisible2)).sort();
|
||||||
|
allKeys = allKeys.filter(key => {
|
||||||
|
return !key.startsWith("_") && !excludeProperty.includes(key);
|
||||||
|
});
|
||||||
|
|
||||||
|
allKeys = allKeys.filter(key => {
|
||||||
|
try {
|
||||||
|
return typeof node[key] !== "function"
|
||||||
|
} catch (e) {
|
||||||
|
// console.warn(`属性${key}出现异常:\n`, e);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return allKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
_getPairProperty(key: string) {
|
_getPairProperty(key: string) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user