diff --git a/.gitignore b/.gitignore
index 75906eb..3926d81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
# Cocos Creator 3D Project
#///////////////////////////
node_modules/
+docs/
temp/
#//////////////////////////
# NPM
diff --git a/README.md b/README.md
index fb400be..21b64fd 100644
--- a/README.md
+++ b/README.md
@@ -1,48 +1,90 @@
-### 介绍
-Oops Framework 基于 Cocos Creator 3.x 开发的一款游戏框架。
-1. 提供游戏常用功能库,提高开发效率
-2. 提供业务模块代码模板,降低程序设计难度
-3. 框架内置模块低耦合,可自行删减不需要的模块,以适应不同类型的游戏
-4. 框架提供游戏常用插件工具
- - 热更新配置生成插件([传送门](https://gitee.com/dgflash/oops-plugin-hot-update))
- - 策划Excel配置表生成Json格式与配套ts代码插件([传送门](https://gitee.com/dgflash/oops-plugin-excel-to-json))
+
+

+
-### 框架文档
-### 学习部署说明
-1. 下载教程项目
-```
-git clone https://gitee.com/dgflash/oops-framework.git
-```
+
-2. 下载框架插件
- #### windows
- 执行根目录下的 update-oops-plugin-framework.bat 下载最新版本框架插件
-
- #### mac
- 项目下载后执行 update-oops-plugin-framework.sh 下载最新版本框架插件
+
-### QQ群
-- 798575969(1群 - 满)
+# 概览
+
+oops Framework 是一款基于 Cocos Creator 3.x 开发的游戏框架。自 2021 年 7 月开源起,它始终与 Cocos Creator 3.x 的各个版本保持同步更新。与此同时,该框架也在持续迭代版本,不断提升稳定性与易用性。
+
+
+
+
+
+# 设计理念
+
+oops Framework 致力于提供一个拥有游戏开发常用技术的框架,从而提高开发效率、降低开发门槛、专注于内容设计、促进技术共享和交流。
+
+
+
+
+
+# 框架特点
+
+- 提供较为全面的游戏开发常用技术
+- 提供可提高开发效率的插件工具
+- 提供教学项目以及不同类型的解决方案项目
+- 拥有稳定可靠的框架技术
+- 对新人极为友好,操作简单且易于上手
+
+
+
+
+
+# 官方推荐
+
+- Cocos 官方推荐框架
+- Cocos 官方2022年TOP10的插件工具
+- Cocos Creator 3.x 优秀开源框架
+- Cocos Creator 3.x 优秀开源框架盘点
+
+框架产品案例: [产品案例](https://gitee.com/dgflash/oops-framework/wikis/%E5%BA%94%E7%94%A8%E6%A1%88%E4%BE%8B)
+
+
+
+
+
+# 学习资源
+
+Oops框架文档: [WIKI](https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12002375&doc_id=2873565)
+
+Oops框架Api文档: [Api](https://oops-1255342636.cos.ap-shanghai.myqcloud.com/doc/oops-framework/index.html)
+
+bili视频教程:[dgflash](https://space.bilibili.com/479459079?spm_id_from=333.788.upinfo.detail.click)
+
+Cocos Store产品:[Cocos Store](https://store.cocos.com/app/search?name=dgflash)
+
+
+
+
+
+# 社群链接
+
+- 798575969(1群 - 满)
- 621415300(2群 - 满)
-- 628575875(3群 - 满)
+- 628575875(3群 - 满)
- 226524184(4群 - 满)
- 741197640(5群 - 满)
-- 438995424(6群 - 推荐)
+- 438995424(6群 - 满)
+- 916492808(7群 - 满)
+- 973884097(8群 - 推荐)
-QQ频道号:q366856bf5
-
-## [点击了解作者其它产品](https://store.cocos.com/app/search?name=oops)
\ No newline at end of file
+### QQ频道:q366856bf5
\ No newline at end of file
diff --git a/tsconfig.doc.json b/tsconfig.doc.json
new file mode 100644
index 0000000..f16a193
--- /dev/null
+++ b/tsconfig.doc.json
@@ -0,0 +1,22 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "outDir": "./dist-doc",
+ "rootDir": "./",
+ "types": [
+ "./temp/declarations/cc.custom-macro",
+ "./temp/declarations/cc",
+ "./temp/declarations/jsb",
+ "./temp/declarations/cc.env"
+ ]
+ },
+ "include": [
+ "assets/**/*",
+ "typedoc.ts"
+ ],
+ "exclude": [
+ "node_modules",
+ "dist",
+ "docs"
+ ]
+}
\ No newline at end of file
diff --git a/typedoc.json b/typedoc.json
index e426234..0fdff84 100644
--- a/typedoc.json
+++ b/typedoc.json
@@ -1,6 +1,15 @@
{
- "entryPoints": [
- "typedoc.ts"
- ],
- "out": "docs"
+ "entryPoints": ["typedoc.ts"],
+ "out": "docs",
+ "tsconfig": "tsconfig.doc.json",
+ "name": "Oops Framework API",
+ "readme": "README.md",
+ "theme": "default",
+ "excludePrivate": true,
+ "excludeProtected": false,
+ "excludeExternals": true,
+ "includeVersion": true,
+ "categorizeByGroup": true,
+ "sort": ["source-order"],
+ "skipErrorChecking": true
}
\ No newline at end of file
diff --git a/typedoc.ts b/typedoc.ts
new file mode 100644
index 0000000..f1045e7
--- /dev/null
+++ b/typedoc.ts
@@ -0,0 +1,178 @@
+// 该文件用作typedoc的入口点模块——我们的API生成器
+// 注:为避免项目代码中引用到生成API文档的TS文件,所以后缀加了.x避免VsCode提示导入,生成文档时去掉.x即可
+// npx typedoc
+
+/** core/common */
+export * from './assets/core/common/audio/AudioEffect';
+export * from './assets/core/common/audio/AudioEffectPool';
+export * from './assets/core/common/audio/AudioEnum';
+export * from './assets/core/common/audio/AudioManager';
+export * from './assets/core/common/audio/AudioMusic';
+export * from './assets/core/common/audio/IAudio';
+export * from './assets/core/common/event/EventDispatcher';
+export * from './assets/core/common/event/EventMessage';
+export * from './assets/core/common/event/MessageManager';
+export * from './assets/core/common/loader/ResLoader';
+export * from './assets/core/common/loader/ZipLoader';
+export * from './assets/core/common/log/Logger';
+export * from './assets/core/common/random/RandomManager';
+export * from './assets/core/common/random/SeedRandom';
+export * from './assets/core/common/storage/StorageManager';
+export * from './assets/core/common/storage/StorageSecurityCrypto';
+export * from './assets/core/common/storage/StorageSecuritySimple';
+export * from './assets/core/common/timer/Timer';
+export * from './assets/core/common/timer/TimerManager';
+/** core/game */
+export * from './assets/core/game/GameManager';
+/** core/gui */
+export * from './assets/core/gui/Gui';
+export * from './assets/core/gui/GuiEnum';
+export * from './assets/core/gui/layer/LayerDialog';
+export * from './assets/core/gui/layer/LayerEnum';
+export * from './assets/core/gui/layer/LayerGame';
+export * from './assets/core/gui/layer/LayerGameElement';
+export * from './assets/core/gui/layer/LayerHelper';
+export * from './assets/core/gui/layer/LayerManager';
+export * from './assets/core/gui/layer/LayerNotify';
+export * from './assets/core/gui/layer/LayerPopup';
+export * from './assets/core/gui/layer/LayerUI';
+export * from './assets/core/gui/layer/LayerUIElement';
+export * from './assets/core/gui/layer/UIConfig';
+export * from './assets/core/gui/prompt/LoadingIndicator';
+export * from './assets/core/gui/prompt/Notify';
+export * from './assets/core/Oops';
+export * from './assets/core/Root';
+/** core/utils */
+export * from './assets/core/utils/ArrayUtil';
+export * from './assets/core/utils/CameraUtil';
+export * from './assets/core/utils/DeviceUtil';
+export * from './assets/core/utils/EncryptUtil';
+export * from './assets/core/utils/ImageUtil';
+export * from './assets/core/utils/JsonUtil';
+export * from './assets/core/utils/LayerUtil';
+export * from './assets/core/utils/MathUtil';
+export * from './assets/core/utils/ObjectUtil';
+export * from './assets/core/utils/PhysicsUtil';
+export * from './assets/core/utils/PlatformUtil';
+export * from './assets/core/utils/RegexUtil';
+export * from './assets/core/utils/RotateUtil';
+export * from './assets/core/utils/StringUtil';
+export * from './assets/core/utils/TimeUtils';
+export * from './assets/core/utils/Vec3Util';
+export * from './assets/core/utils/ViewUtil';
+/** libs/animator */
+export * from './assets/libs/animator/AnimatorAnimation';
+export * from './assets/libs/animator/AnimatorCustomization';
+export * from './assets/libs/animator/AnimatorDragonBones';
+export * from './assets/libs/animator/AnimatorSkeletal';
+export * from './assets/libs/animator/AnimatorSpine';
+export * from './assets/libs/animator/AnimatorSpineSecondary';
+export * from './assets/libs/animator/core/AnimatorBase';
+export * from './assets/libs/animator/core/AnimatorCondition';
+export * from './assets/libs/animator/core/AnimatorController';
+export * from './assets/libs/animator/core/AnimatorParams';
+export * from './assets/libs/animator/core/AnimatorState';
+export * from './assets/libs/animator/core/AnimatorStateLogic';
+export * from './assets/libs/animator/core/AnimatorTransition';
+/** libs/animator-effect */
+export * from './assets/libs/animator-effect/Effect2DFollow3D';
+export * from './assets/libs/animator-effect/EffectDelayRelease';
+export * from './assets/libs/animator-effect/EffectEvent';
+export * from './assets/libs/animator-effect/EffectFinishedRelease';
+export * from './assets/libs/animator-effect/EffectSingleCase';
+export * from './assets/libs/animator-effect/2d/Ambilight';
+export * from './assets/libs/animator-effect/2d/FlashSpine';
+export * from './assets/libs/animator-effect/2d/FlashSprite';
+export * from './assets/libs/animator-effect/2d/SpineFinishedRelease';
+/** libs/animator-move */
+export * from './assets/libs/animator-move/MoveRigidBody';
+export * from './assets/libs/animator-move/MoveTo';
+export * from './assets/libs/animator-move/MoveTranslate';
+/** libs/behavior-tree */
+export * from './assets/libs/behavior-tree/BTreeNode';
+export * from './assets/libs/behavior-tree/BehaviorTree';
+export * from './assets/libs/behavior-tree/BranchNode';
+export * from './assets/libs/behavior-tree/Decorator';
+export * from './assets/libs/behavior-tree/IControl';
+export * from './assets/libs/behavior-tree/Priority';
+export * from './assets/libs/behavior-tree/Selector';
+export * from './assets/libs/behavior-tree/Sequence';
+export * from './assets/libs/behavior-tree/Task';
+export * from './assets/libs/behavior-tree/index';
+/** libs/camera */
+export * from './assets/libs/camera/FreeFlightCamera';
+export * from './assets/libs/camera/OrbitCamera';
+/** libs/collection */
+export * from './assets/libs/collection/AsyncQueue';
+export * from './assets/libs/collection/Collection';
+/** libs/ecs */
+export * from './assets/libs/ecs/ECS';
+export * from './assets/libs/ecs/ECSComp';
+export * from './assets/libs/ecs/ECSEntity';
+export * from './assets/libs/ecs/ECSGroup';
+export * from './assets/libs/ecs/ECSMask';
+export * from './assets/libs/ecs/ECSMatcher';
+export * from './assets/libs/ecs/ECSModel';
+export * from './assets/libs/ecs/ECSSystem';
+/** libs/extension */
+export * from './assets/libs/extension/ArrayExt';
+export * from './assets/libs/extension/DateExt';
+export * from './assets/libs/extension/DirectorExt';
+export * from './assets/libs/extension/NodeDragExt';
+export * from './assets/libs/extension/NodeExt';
+/** libs/gui */
+export * from './assets/libs/gui/button/ButtonEffect';
+export * from './assets/libs/gui/button/ButtonSimple';
+export * from './assets/libs/gui/button/ButtonTouchLong';
+export * from './assets/libs/gui/button/UIButton';
+export * from './assets/libs/gui/label/LabelChange';
+export * from './assets/libs/gui/label/LabelNumber';
+export * from './assets/libs/gui/label/LabelTime';
+export * from './assets/libs/gui/language/Language';
+export * from './assets/libs/gui/language/LanguageData';
+export * from './assets/libs/gui/language/LanguageLabel';
+export * from './assets/libs/gui/language/LanguagePack';
+export * from './assets/libs/gui/language/LanguageSpine';
+export * from './assets/libs/gui/language/LanguageSprite';
+export * from './assets/libs/gui/window/PromptBase';
+export * from './assets/libs/gui/window/PromptSkip';
+/** libs/model-view */
+export * from './assets/libs/model-view/JsonOb';
+export * from './assets/libs/model-view/StringFormat';
+export * from './assets/libs/model-view/VMBase';
+export * from './assets/libs/model-view/VMCompsEdit';
+export * from './assets/libs/model-view/VMCustom';
+export * from './assets/libs/model-view/VMEnv';
+export * from './assets/libs/model-view/VMEvent';
+export * from './assets/libs/model-view/VMLabel';
+export * from './assets/libs/model-view/VMModify';
+export * from './assets/libs/model-view/VMParent';
+export * from './assets/libs/model-view/VMProgress';
+export * from './assets/libs/model-view/VMState';
+export * from './assets/libs/model-view/ViewModel';
+export * from './assets/libs/model-view/ui/BhvButtonGroup';
+export * from './assets/libs/model-view/ui/BhvFrameIndex';
+export * from './assets/libs/model-view/ui/BhvRollNumber';
+export * from './assets/libs/model-view/ui/BhvSwitchPage';
+/** libs/network */
+export * from './assets/libs/network/HttpRequest';
+export * from './assets/libs/network/NetInterface';
+export * from './assets/libs/network/NetManager';
+export * from './assets/libs/network/NetNode';
+export * from './assets/libs/network/NetProtocolPako';
+export * from './assets/libs/network/WebSock';
+/** libs/render-texture */
+export * from './assets/libs/render-texture/RtToModel';
+export * from './assets/libs/render-texture/RtToSprite';
+/** module/common */
+export * from './assets/module/common/CCBusiness';
+export * from './assets/module/common/CCEntity';
+export * from './assets/module/common/CCView';
+export * from './assets/module/common/GameCollision';
+export * from './assets/module/common/GameComponent';
+export * from './assets/module/common/GameStorage';
+/** module/config */
+export * from './assets/module/config/BuildTimeConstants';
+export * from './assets/module/config/Config';
+export * from './assets/module/config/GameConfig';
+export * from './assets/module/config/GameQueryConfig';
diff --git a/typedoc.ts.x b/typedoc.ts.x
deleted file mode 100644
index b807d52..0000000
--- a/typedoc.ts.x
+++ /dev/null
@@ -1,98 +0,0 @@
-// 该文件用作typedoc的入口点模块——我们的API生成器
-// 注:为避免项目代码中引用到生成API文档的TS文件,所以后缀加了.x避免VsCode提示导入,生成文档时去掉.x即可
-// npx typedoc
-
-/** core/common */
-export * from './assets/core/common/audio/AudioEffect';
-export * from './assets/core/common/audio/AudioEffectPool';
-export * from './assets/core/common/audio/AudioManager';
-export * from './assets/core/common/audio/AudioMusic';
-export * from './assets/core/common/event/EventDispatcher';
-export * from './assets/core/common/event/EventMessage';
-export * from './assets/core/common/event/MessageManager';
-export * from './assets/core/common/loader/ResLoader';
-export * from './assets/core/common/log/Logger';
-export * from './assets/core/common/random/RandomManager';
-export * from './assets/core/common/random/SeedRandom';
-export * from './assets/core/common/storage/StorageManager';
-export * from './assets/core/common/storage/StorageSecuritySimple';
-export * from './assets/core/common/timer/Timer';
-export * from './assets/core/common/timer/TimerManager';
-/** core/game */
-export * from './assets/core/game/GameManager';
-/** core/gui */
-export * from './assets/core/gui/layer/Defines';
-export * from './assets/core/gui/layer/DelegateComponent';
-export * from './assets/core/gui/layer/LayerDialog';
-export * from './assets/core/gui/layer/LayerManager';
-export * from './assets/core/gui/layer/LayerNotify';
-export * from './assets/core/gui/layer/LayerPopup';
-export * from './assets/core/gui/layer/LayerUI';
-export * from './assets/core/gui/prompt/CommonPrompt';
-export * from './assets/core/gui/prompt/LoadingIndicator';
-export * from './assets/core/gui/prompt/Notify';
-// export * from './assets/core/Oops';
-// export * from './assets/core/Root';
-/** core/utils */
-export * from './assets/core/utils/ArrayUtil';
-export * from './assets/core/utils/CameraUtil';
-export * from './assets/core/utils/ImageUtil';
-export * from './assets/core/utils/JsonUtil';
-export * from './assets/core/utils/LayerUtil';
-export * from './assets/core/utils/MathUtil';
-export * from './assets/core/utils/ObjectUtil';
-export * from './assets/core/utils/PhysicsUtil';
-export * from './assets/core/utils/PlatformUtil';
-export * from './assets/core/utils/RegexUtil';
-export * from './assets/core/utils/RotateUtil';
-export * from './assets/core/utils/StringUtil';
-export * from './assets/core/utils/Vec3Util';
-export * from './assets/core/utils/ViewUtil';
-/** libs/animator-effect */
-// export * from './assets/libs/animator-effect/Effect2DFollow3D';
-// export * from './assets/libs/animator-effect/EffectDelayRelease';
-// export * from './assets/libs/animator-effect/EffectFinishedRelease';
-// export * from './assets/libs/animator-effect/EffectSingleCase';
-/** libs/collection */
-export * from './assets/libs/collection/AsyncQueue';
-export * from './assets/libs/collection/Collection';
-/** libs/ecs */
-export * from './assets/libs/ecs/ECS';
-export * from './assets/libs/ecs/ECSComp';
-export * from './assets/libs/ecs/ECSEntity';
-export * from './assets/libs/ecs/ECSSystem';
-/** libs/model-view */
-export * from './assets/libs/model-view/JsonOb';
-export * from './assets/libs/model-view/StringFormat';
-export * from './assets/libs/model-view/ui/BhvButtonGroup';
-export * from './assets/libs/model-view/ui/BhvFrameIndex';
-export * from './assets/libs/model-view/ui/BhvRollNumber';
-export * from './assets/libs/model-view/ui/BhvSwitchPage';
-export * from './assets/libs/model-view/ViewModel';
-export * from './assets/libs/model-view/VMBase';
-export * from './assets/libs/model-view/VMCompsEdit';
-export * from './assets/libs/model-view/VMCustom';
-export * from './assets/libs/model-view/VMEvent';
-export * from './assets/libs/model-view/VMLabel';
-export * from './assets/libs/model-view/VMModify';
-export * from './assets/libs/model-view/VMParent';
-export * from './assets/libs/model-view/VMProgress';
-export * from './assets/libs/model-view/VMState';
-
-/** module/network */
-export * from './assets/libs/network/HttpRequest';
-export * from './assets/libs/network/NetInterface';
-export * from './assets/libs/network/NetManager';
-export * from './assets/libs/network/NetNode';
-export * from './assets/libs/network/NetProtocolPako';
-export * from './assets/libs/network/WebSock';
-/** module/ecs */
-export * from './assets/module/common/CCComp';
-export * from './assets/module/common/CCVMParentComp';
-export * from './assets/module/common/GameCollision';
-export * from './assets/module/common/GameComponent';
-export * from './assets/module/common/ModuleUtil';
-/** module/config */
-export * from './assets/module/config/Config';
-export * from './assets/module/config/GameConfig';
-export * from './assets/module/config/GameQueryConfig';