From 51df660506d0a70ccd1fe9e813a42d8fed86989b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Thu, 25 Sep 2025 20:13:09 +0800 Subject: [PATCH 01/38] xiugaichenggtest --- doc.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc.md b/doc.md index 474c28b..2d86ba3 100644 --- a/doc.md +++ b/doc.md @@ -1,3 +1 @@ -undefined - -1312313131 \ No newline at end of file +修改成功test From c3c378b76bfaf792e4304f5dd517f0fd928c962b Mon Sep 17 00:00:00 2001 From: pxksbc67f <1481845467@qq.com> Date: Sun, 28 Sep 2025 17:04:10 +0800 Subject: [PATCH 02/38] Add doc --- doc | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc diff --git a/doc b/doc new file mode 100644 index 0000000..66dc905 --- /dev/null +++ b/doc @@ -0,0 +1 @@ +undefined \ No newline at end of file From c138ab8d57aeab48711a53afba05e5ff44927174 Mon Sep 17 00:00:00 2001 From: pxksbc67f <1481845467@qq.com> Date: Sun, 28 Sep 2025 17:05:15 +0800 Subject: [PATCH 03/38] Add src --- src | 1 + 1 file changed, 1 insertion(+) create mode 100644 src diff --git a/src b/src new file mode 100644 index 0000000..ed0f110 --- /dev/null +++ b/src @@ -0,0 +1 @@ +print('hello') \ No newline at end of file From d0115e3660bbb3e506f6f51567e86d2988069247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:16:22 +0800 Subject: [PATCH 04/38] add test1 --- test1.py | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 test1.py diff --git a/test1.py b/test1.py new file mode 100644 index 0000000..18e9514 --- /dev/null +++ b/test1.py @@ -0,0 +1,4 @@ +def gs(): + peinr("hello") + + From 731d3625dd350f1163d24ea087a3e86032b42350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:18:59 +0800 Subject: [PATCH 05/38] add test1 --- .idea/.gitignore | 8 ++++++++ .idea/PythonGITproject.iml | 10 ++++++++++ .idea/inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ 6 files changed, 44 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/PythonGITproject.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/PythonGITproject.iml b/.idea/PythonGITproject.iml new file mode 100644 index 0000000..ebf7230 --- /dev/null +++ b/.idea/PythonGITproject.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..011a4fa --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..8e97968 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From fd175c6b8f03d67bf243491dd2502b83821e111a Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:23:10 +0800 Subject: [PATCH 06/38] Delete 'test1.py' --- test1.py | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 test1.py diff --git a/test1.py b/test1.py deleted file mode 100644 index 18e9514..0000000 --- a/test1.py +++ /dev/null @@ -1,4 +0,0 @@ -def gs(): - peinr("hello") - - From d4f097745dad8479a00c6effd831341e73dbe153 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:23:20 +0800 Subject: [PATCH 07/38] Delete '.idea/.gitignore' --- .idea/.gitignore | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 35410ca..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# 默认忽略的文件 -/shelf/ -/workspace.xml -# 基于编辑器的 HTTP 客户端请求 -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml From c6fb2238ac9d22c4c009fa6603fbb103f509ebbb Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:23:33 +0800 Subject: [PATCH 08/38] Delete '.idea/inspectionProfiles/profiles_settings.xml' --- .idea/inspectionProfiles/profiles_settings.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file From 2b8a8293005b89594d7a8d4b203a44d879363966 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:23:55 +0800 Subject: [PATCH 09/38] Delete '.idea/PythonGITproject.iml' --- .idea/PythonGITproject.iml | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 .idea/PythonGITproject.iml diff --git a/.idea/PythonGITproject.iml b/.idea/PythonGITproject.iml deleted file mode 100644 index ebf7230..0000000 --- a/.idea/PythonGITproject.iml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file From 45f725295e16904a4c4518b9ded0c76321dcf888 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:24:05 +0800 Subject: [PATCH 10/38] Delete '.idea/misc.xml' --- .idea/misc.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/misc.xml diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 011a4fa..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file From 797f57fe57856657babe703706c39aa8e4b5fbc6 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:24:12 +0800 Subject: [PATCH 11/38] Delete '.idea/modules.xml' --- .idea/modules.xml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .idea/modules.xml diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 8e97968..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file From cc874b667fc6e3552f0365ebfc684d9b75865870 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:24:18 +0800 Subject: [PATCH 12/38] Delete '.idea/vcs.xml' --- .idea/vcs.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 4762f52d394bc198087c6836c7d28154c08fb2c1 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:37:47 +0800 Subject: [PATCH 13/38] Delete 'doc.md' --- doc.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 doc.md diff --git a/doc.md b/doc.md deleted file mode 100644 index 2d86ba3..0000000 --- a/doc.md +++ /dev/null @@ -1 +0,0 @@ -修改成功test From cca871a53b2fce21beb1a748b99cf1655324e606 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:37:54 +0800 Subject: [PATCH 14/38] Delete 'src.md' --- src.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src.md diff --git a/src.md b/src.md deleted file mode 100644 index 66dc905..0000000 --- a/src.md +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file From 2bb0abdc49fd340c6aef8b248085450db10296bb Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:45:15 +0800 Subject: [PATCH 15/38] Add doc --- doc | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc diff --git a/doc b/doc new file mode 100644 index 0000000..66dc905 --- /dev/null +++ b/doc @@ -0,0 +1 @@ +undefined \ No newline at end of file From cf77dfa0e702de9a9bea2336e83ab60d1835999a Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:45:23 +0800 Subject: [PATCH 16/38] Add src --- src | 1 + 1 file changed, 1 insertion(+) create mode 100644 src diff --git a/src b/src new file mode 100644 index 0000000..66dc905 --- /dev/null +++ b/src @@ -0,0 +1 @@ +undefined \ No newline at end of file From feddbef978b21f22bf4bdc04139fbd6e1bc4c0c4 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:46:10 +0800 Subject: [PATCH 17/38] Add doc --- doc | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc diff --git a/doc b/doc new file mode 100644 index 0000000..66dc905 --- /dev/null +++ b/doc @@ -0,0 +1 @@ +undefined \ No newline at end of file From 04a70ac42b8b76270938d126068facd849b87c0d Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:46:18 +0800 Subject: [PATCH 18/38] Add src --- src | 1 + 1 file changed, 1 insertion(+) create mode 100644 src diff --git a/src b/src new file mode 100644 index 0000000..66dc905 --- /dev/null +++ b/src @@ -0,0 +1 @@ +undefined \ No newline at end of file From 3b612a260f0817c026336a6f371ef6c933852fe0 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:46:23 +0800 Subject: [PATCH 19/38] Delete 'src' --- src | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src diff --git a/src b/src deleted file mode 100644 index 66dc905..0000000 --- a/src +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file From afc75321c916b1814afe7d89aa0d7fe7bfd58540 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 14:46:30 +0800 Subject: [PATCH 20/38] Add src --- src | 1 + 1 file changed, 1 insertion(+) create mode 100644 src diff --git a/src b/src new file mode 100644 index 0000000..66dc905 --- /dev/null +++ b/src @@ -0,0 +1 @@ +undefined \ No newline at end of file From 9bdaac90a5564f37136a23af3d98fb245050b0b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 15:21:12 +0800 Subject: [PATCH 21/38] add doc and src --- doc.md | 1 - src.md | 1 - 2 files changed, 2 deletions(-) delete mode 100644 doc.md delete mode 100644 src.md diff --git a/doc.md b/doc.md deleted file mode 100644 index 2d86ba3..0000000 --- a/doc.md +++ /dev/null @@ -1 +0,0 @@ -修改成功test diff --git a/src.md b/src.md deleted file mode 100644 index 66dc905..0000000 --- a/src.md +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file From 1a332d9c9207d996627c2a1579ad7d5c79aa25b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 15:45:58 +0800 Subject: [PATCH 22/38] test --- doc | 1 - 1 file changed, 1 deletion(-) delete mode 100644 doc diff --git a/doc b/doc deleted file mode 100644 index 66dc905..0000000 --- a/doc +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file From a7541d30935a89ac9d896c5186b3d89ee60e3fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 15:47:05 +0800 Subject: [PATCH 23/38] test2 --- src | 1 - 1 file changed, 1 deletion(-) delete mode 100644 src diff --git a/src b/src deleted file mode 100644 index 66dc905..0000000 --- a/src +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file From 65f769084fa6e57d83f715e22c5b58a9e7ab5b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 15:54:13 +0800 Subject: [PATCH 24/38] add doc --- doc/test.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/test.txt diff --git a/doc/test.txt b/doc/test.txt new file mode 100644 index 0000000..e69de29 From 580968353e1d98b2f97467330ce77818da27e5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 15:56:11 +0800 Subject: [PATCH 25/38] add src --- src/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/test diff --git a/src/test b/src/test new file mode 100644 index 0000000..e69de29 From 43fabaeb514482f90be64526c49e66704eefa6ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 15:58:57 +0800 Subject: [PATCH 26/38] add doc --- doc/test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/test diff --git a/doc/test b/doc/test new file mode 100644 index 0000000..e69de29 From 77df3e9e9e275a726839472848d53c11dcd33ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 16:06:28 +0800 Subject: [PATCH 27/38] add src --- src | 1 - src/test | 0 2 files changed, 1 deletion(-) delete mode 100644 src create mode 100644 src/test diff --git a/src b/src deleted file mode 100644 index 66dc905..0000000 --- a/src +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file diff --git a/src/test b/src/test new file mode 100644 index 0000000..e69de29 From 84f4c9e8f3433af6177e5bf8b6a05f7f88a5e711 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 17:33:59 +0800 Subject: [PATCH 28/38] Add week4work --- doc/week4work | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/week4work diff --git a/doc/week4work b/doc/week4work new file mode 100644 index 0000000..e57a9d2 --- /dev/null +++ b/doc/week4work @@ -0,0 +1,21 @@ +要分析 Django 模板的继承、包含关系及与模板标签(Tag)的依赖,并通过 UML 包图呈现,需从包结构和关系类型(泛化、依赖)两方面拆解: +1. 核心概念与关系类型 +• 模板继承(泛化 Generalization):子模板通过 {% extends %} 继承基础模板的整体结构(如页面骨架、公共区块)。 +• 模板包含(依赖 Dependency):模板通过 {% include %} 嵌入可复用的组件模板(如导航栏、侧边栏),属于 “使用” 关系。 +• 模板与标签的依赖(依赖 Dependency):模板使用 {% static %}、{% url %} 等模板标签时,依赖标签库提供的功能。 +2. UML 包图设计 +以 “博客园文章详情页” 的模板体系为例,设计包结构与关系: +(1)包结构 +• 顶层包 Templates:管理所有模板相关资源。 +o 子包 BaseTemplates:存放基础模板(定义页面通用骨架,如 base.html)。 +o 子包 ComponentTemplates:存放组件模板(可复用的局部模块,如 header.html 导航栏、sidebar.html 侧边栏)。 +o 子包 ArticleTemplates:存放业务模板(文章详情等场景化模板,如 article_detail.html)。 +o 子包 TagLibrary:存放模板标签库(提供 static、url 等内置 / 自定义标签)。 +(2)关系映射 +1. 继承(泛化):ArticleTemplates::article_detail.html 继承 BaseTemplates::base.html(子模板复用基础模板的整体结构)。 +2. 包含(依赖):BaseTemplates::base.html 包含 ComponentTemplates::header.html(嵌入导航栏)和 ComponentTemplates::sidebar.html(嵌入侧边栏)。 +3. 模板与标签的依赖:BaseTemplates::base.html(引入静态 CSS/JS)和 ArticleTemplates::article_detail.html(生成页面链接)都依赖 TagLibrary(使用 static、url 等标签)。 +4. 关系解释 +• 泛化(继承):箭头从子模板 article_detail.html 指向父模板 base.html,表示子模板复用父模板的结构(如 、公共导航、布局框架)。 +• 依赖(包含):虚线箭头从 base.html 指向 header.html/sidebar.html,表示 base.html 通过 {% include %} 嵌入这些组件模板。 +• 依赖(标签):虚线箭头从模板(base.html/article_detail.html)指向 TagLibrary,表示模板通过 {% static %}/{% url %} 等标签依赖标签库的功能。 From 15da01e6e960345ebf1b34d3be21b37764a435a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 17:45:28 +0800 Subject: [PATCH 29/38] rm week4work --- doc/week4work | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 doc/week4work diff --git a/doc/week4work b/doc/week4work deleted file mode 100644 index e57a9d2..0000000 --- a/doc/week4work +++ /dev/null @@ -1,21 +0,0 @@ -要分析 Django 模板的继承、包含关系及与模板标签(Tag)的依赖,并通过 UML 包图呈现,需从包结构和关系类型(泛化、依赖)两方面拆解: -1. 核心概念与关系类型 -• 模板继承(泛化 Generalization):子模板通过 {% extends %} 继承基础模板的整体结构(如页面骨架、公共区块)。 -• 模板包含(依赖 Dependency):模板通过 {% include %} 嵌入可复用的组件模板(如导航栏、侧边栏),属于 “使用” 关系。 -• 模板与标签的依赖(依赖 Dependency):模板使用 {% static %}、{% url %} 等模板标签时,依赖标签库提供的功能。 -2. UML 包图设计 -以 “博客园文章详情页” 的模板体系为例,设计包结构与关系: -(1)包结构 -• 顶层包 Templates:管理所有模板相关资源。 -o 子包 BaseTemplates:存放基础模板(定义页面通用骨架,如 base.html)。 -o 子包 ComponentTemplates:存放组件模板(可复用的局部模块,如 header.html 导航栏、sidebar.html 侧边栏)。 -o 子包 ArticleTemplates:存放业务模板(文章详情等场景化模板,如 article_detail.html)。 -o 子包 TagLibrary:存放模板标签库(提供 static、url 等内置 / 自定义标签)。 -(2)关系映射 -1. 继承(泛化):ArticleTemplates::article_detail.html 继承 BaseTemplates::base.html(子模板复用基础模板的整体结构)。 -2. 包含(依赖):BaseTemplates::base.html 包含 ComponentTemplates::header.html(嵌入导航栏)和 ComponentTemplates::sidebar.html(嵌入侧边栏)。 -3. 模板与标签的依赖:BaseTemplates::base.html(引入静态 CSS/JS)和 ArticleTemplates::article_detail.html(生成页面链接)都依赖 TagLibrary(使用 static、url 等标签)。 -4. 关系解释 -• 泛化(继承):箭头从子模板 article_detail.html 指向父模板 base.html,表示子模板复用父模板的结构(如 、公共导航、布局框架)。 -• 依赖(包含):虚线箭头从 base.html 指向 header.html/sidebar.html,表示 base.html 通过 {% include %} 嵌入这些组件模板。 -• 依赖(标签):虚线箭头从模板(base.html/article_detail.html)指向 TagLibrary,表示模板通过 {% static %}/{% url %} 等标签依赖标签库的功能。 From 62e81357dd85d7ddc5069fdeb170cf311701ffd1 Mon Sep 17 00:00:00 2001 From: puhanfmc3 <1319371613@qq.com> Date: Sat, 11 Oct 2025 17:50:52 +0800 Subject: [PATCH 30/38] Add week4work3 --- doc/week4work3 | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/week4work3 diff --git a/doc/week4work3 b/doc/week4work3 new file mode 100644 index 0000000..b02fe13 --- /dev/null +++ b/doc/week4work3 @@ -0,0 +1,21 @@ +要分析 Django 模板的继承、包含关系及与模板标签(Tag)的依赖,并通过 UML 包图呈现,需从包结构和关系类型(泛化、依赖)两方面拆解: +1. 核心概念与关系类型 +模板继承(泛化 Generalization):子模板通过 {% extends %} 继承基础模板的整体结构(如页面骨架、公共区块)。 +模板包含(依赖 Dependency):模板通过 {% include %} 嵌入可复用的组件模板(如导航栏、侧边栏),属于 “使用” 关系。 +模板与标签的依赖(依赖 Dependency):模板使用 {% static %}、{% url %} 等模板标签时,依赖标签库提供的功能。 +2. UML 包图设计 +以 “博客园文章详情页” 的模板体系为例,设计包结构与关系: +(1)包结构 +顶层包 Templates:管理所有模板相关资源; +子包 BaseTemplates:存放基础模板(定义页面通用骨架,如 base.html); +子包 ComponentTemplates:存放组件模板(可复用的局部模块,如 header.html 导航栏、sidebar.html 侧边栏); +子包 ArticleTemplates:存放业务模板(文章详情等场景化模板,如 article_detail.html); +子包 TagLibrary:存放模板标签库(提供 static、url 等内置 / 自定义标签)。 +(2)关系映射 +1. 继承(泛化):ArticleTemplates::article_detail.html 继承 BaseTemplates::base.html(子模板复用基础模板的整体结构)。 +2. 包含(依赖):BaseTemplates::base.html 包含 ComponentTemplates::header.html(嵌入导航栏)和 ComponentTemplates::sidebar.html(嵌入侧边栏)。 +3. 模板与标签的依赖:BaseTemplates::base.html(引入静态 CSS/JS)和 ArticleTemplates::article_detail.html(生成页面链接)都依赖 TagLibrary(使用 static、url 等标签)。 +4. 关系解释 +泛化(继承):箭头从子模板 article_detail.html 指向父模板 base.html,表示子模板复用父模板的结构(如 、公共导航、布局框架); +依赖(包含):虚线箭头从 base.html 指向 header.html/sidebar.html,表示 base.html 通过 {% include %} 嵌入这些组件模板; +依赖(标签):虚线箭头从模板(base.html/article_detail.html)指向 TagLibrary,表示模板通过 {% static %}/{% url %} 等标签依赖标签库的功能。 \ No newline at end of file From 3e0fc26d2cc2e94ae805aefc8f71d06efa01076d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 19:07:12 +0800 Subject: [PATCH 31/38] shanchu --- doc | 1 - doc.md | 3 --- src | 1 - src.md | 1 - 4 files changed, 6 deletions(-) delete mode 100644 doc delete mode 100644 doc.md delete mode 100644 src delete mode 100644 src.md diff --git a/doc b/doc deleted file mode 100644 index 66dc905..0000000 --- a/doc +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file diff --git a/doc.md b/doc.md deleted file mode 100644 index 474c28b..0000000 --- a/doc.md +++ /dev/null @@ -1,3 +0,0 @@ -undefined - -1312313131 \ No newline at end of file diff --git a/src b/src deleted file mode 100644 index ed0f110..0000000 --- a/src +++ /dev/null @@ -1 +0,0 @@ -print('hello') \ No newline at end of file diff --git a/src.md b/src.md deleted file mode 100644 index 66dc905..0000000 --- a/src.md +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file From ee8fcfefcb209ca18ca6e791778dcf87251b6608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 19:08:46 +0800 Subject: [PATCH 32/38] add doc and src --- doc/test | 0 src/test | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/test create mode 100644 src/test diff --git a/doc/test b/doc/test new file mode 100644 index 0000000..e69de29 diff --git a/src/test b/src/test new file mode 100644 index 0000000..e69de29 From 9792d18d9a289cc0114ae84fcaeaa10b0d8a5959 Mon Sep 17 00:00:00 2001 From: pxksbc67f <1481845467@qq.com> Date: Sat, 11 Oct 2025 19:11:08 +0800 Subject: [PATCH 33/38] Add frrweek4work2 --- doc/frrweek4work2 | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 doc/frrweek4work2 diff --git a/doc/frrweek4work2 b/doc/frrweek4work2 new file mode 100644 index 0000000..a4f17ab --- /dev/null +++ b/doc/frrweek4work2 @@ -0,0 +1,43 @@ +PixUI 编译为 WebAssembly 适配微信小程序的界面与流转分析 +一、界面结构分层(从技术依赖到最终渲染) +将界面从 “底层技术” 到 “用户可见界面” 拆分为 4 个层级,各层级核心内容与作用如下: +1. 技术依赖层 +核心内容:PixUI(C# 编写)、Skia(C++ 图形引擎) +核心作用:二者共同编译为 WebAssembly,作为界面渲染的 “逻辑与引擎基础”,为后续界面绘制提供底层技术支撑,决定了界面渲染的逻辑规则与图形处理能力。 +2. 资源文件层 +核心内容:包含_framework目录,内部有dotnet.js(41KB,微信小程序文件类型,3 月 14 日修改)、dotnet.native.js(152KB,微信小程序文件类型,当日 10:51 修改)、dotnet.runtime.js(195KB,微信小程序文件类型,3 月 14 日修改)、blazor.boot.json(17KB,JSON 文档,当日 10:51 修改)、dotnet.js.map(57KB,文档,3 月 14 日修改)、dotnet.native.wasm(2.9MB,文档,当日 10:51 修改),还有pkgs(当日 10:52 创建的文件夹)、supportFiles(当日 10:51 创建的文件夹)等。 +核心作用:存储 WebAssembly 运行所需的核心文件,是小程序加载 WASM 的 “资源载体”,这些文件共同保障 WebAssembly 能在微信小程序环境中正常启动与运行。 +3. 小程序代码层 +核心内容:微信小程序的 WXML(以index.wxml为例,包含标签,设置class="scrollarea"、scroll-y、type="list"等属性;标签,设置id="canvas"、type="webgl"、宽高为 390px 和 753px,样式为绝对定位、z-index:1,绑定bindtouchstart和bindtouchend事件;标签,设置id="input"、类型为 text,样式为绝对定位、z-index:3、无边框、宽高为 0 等)、TS(index.ts)等代码。 +核心作用:充当 “桥梁层”,通过 Canvas 承载 WASM 渲染结果,同时绑定交互事件,实现用户操作与 WASM 逻辑的连接,是小程序与 WebAssembly 交互的关键环节。 +4. 用户可见层 +核心内容:最终呈现给用户的界面,包含图表(柱状图与折线图组合,带有 “Series #1 11”“Series #2 17” 等数据提示)、“Hello World!” 按钮等元素,界面在微信开发者工具模拟器(iPhone 12/13 (Pro) 型号,85% 比例,16 亮度)中展示。 +核心作用:是用户直接交互的 “视觉结果”,用户通过该层进行操作,如触摸图表查看数据详情、点击按钮触发相关功能,直观感受小程序的功能与体验。 +二、界面流转逻辑(从代码到渲染的全链路) +以 “用户操作触发→代码响应→界面更新” 为线索,界面流转路径如下: +1. 启动与加载阶段 +触发条件:微信小程序启动 +流转 1:加载_framework目录下的 WASM 资源,即上述资源文件层中的dotnet.native.wasm等核心文件,这些文件是 WebAssembly 运行的基础素材,加载过程为后续渲染做资源准备。 +流转 2:小程序代码(index.wxml/index.ts)初始化 Canvas 组件,根据index.wxml中对 Canvas 的属性设置,为其分配相应的尺寸、定位等,准备好界面渲染的载体,使 Canvas 具备承载 WASM 渲染结果的能力。 +流转 3:WebAssembly 中的 PixUI(C#)与 Skia(C++)开始执行,按照自身的逻辑规则,在已初始化好的 Canvas 上绘制界面,最终呈现出微信开发者工具模拟器中看到的图表、“Hello World!” 按钮等元素。 +2. 交互阶段(以 “触摸图表” 为例) +触发条件:用户触摸模拟器中 Canvas 上的图表区域 +流转 1:小程序index.wxml中 Canvas 绑定的bindtouchstart/bindtouchend事件被触发,这是用户操作转化为代码响应的起始点,事件绑定机制确保用户触摸行为能被小程序捕捉。 +流转 2:触发的事件通过小程序代码(index.ts)传递到 WebAssembly 中的 PixUI(C#)逻辑层,index.ts在此过程中起到数据传递与逻辑衔接的作用,搭建起小程序与 WebAssembly 之间的通信桥梁。 +流转 3:C# 逻辑层接收事件后,处理触摸逻辑,比如判断触摸位置确定用户关注的图表数据点,然后生成 “Series #1 11”“Series #2 17” 等数据提示,并通知 Skia 重绘 Canvas,Skia 作为图形引擎,负责将处理后的界面效果重新绘制出来。 +流转 4:Canvas 重绘完成后,模拟器中的界面随之更新,图表提示动态变化,完成 “交互→反馈” 的完整流转,使用户能实时看到操作后的界面变化。 +三、核心界面元素与交互(用户可见层分析) +1. 图表区域 +载体:Canvas 组件(对应小程序代码层index.wxml中的canvas标签) +内容:由柱状图和折线图组合而成,并且带有 “Series #1 11”“Series #2 17” 等数据提示,图表能直观展示数据关系,数据提示则为用户提供具体数据信息。 +交互:支持用户触摸操作,当用户触摸图表时,触发相关事件,事件传递到 WebAssembly 中 C# 逻辑层进行处理,之后 Skia 重绘界面展示数据详情,使用户能精准获取触摸位置对应的图表数据。 +2. “Hello World!” 按钮 +载体:Canvas 上绘制的自定义按钮,并非微信原生按钮,由 PixUI 负责渲染生成,属于自定义界面元素。 +交互:理论上可绑定点击事件,不过该事件需在 WebAssembly 中通过 PixUI 逻辑实现,点击后可能触发数据更新(如生成新的图表数据)、新界面绘制(如展示新的界面元素)等操作,为用户提供功能触发入口。 +3. 小程序容器元素 +结构:由scroll-view标签包裹 Canvas(对应index.wxml中的scroll-view标签设置),scroll-view具备滚动功能。 +作用:提供页面滚动能力,当界面内容超出当前显示区域时,用户可通过滚动查看完整内容,确保长内容(若后续界面拓展增加更多元素)的良好浏览体验。 +四、设计特点总结 +“跨技术栈融合”:借助 WebAssembly 技术,成功桥接 C#/C++ 与微信小程序两个不同技术栈,实现 “用熟悉的 C#/C++ 语言开发,在微信小程序生态中运行” 的目标,打破技术栈之间的壁垒,让开发者能充分利用已有技术优势进行小程序开发。 +“Canvas 为核心载体”:摒弃以微信原生组件为主的传统界面构建思路,将 Canvas 作为核心载体,界面中的图表、按钮等元素均由 WASM 渲染生成,这种方式保证了界面的 “自定义性”(可根据需求灵活设计界面样式与交互)与 “跨端一致性”(在不同设备上呈现的界面效果更统一)。 +“事件桥接交互”:利用小程序原生事件(如bindtouchstart)与 WebAssembly 逻辑进行联动,用户操作先触发小程序原生事件,再通过代码传递到 WebAssembly 逻辑层处理,最后重绘界面反馈结果,实现 “原生容器 + 自定义交互” 的无缝衔接,既保留小程序的基础交互能力,又拓展了自定义交互的可能性。 \ No newline at end of file From 59897191acdc6e4c0b34d094104d10194a644c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Sat, 11 Oct 2025 19:20:48 +0800 Subject: [PATCH 34/38] del 2test --- doc/test | 0 doc/test.txt | 0 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/test delete mode 100644 doc/test.txt diff --git a/doc/test b/doc/test deleted file mode 100644 index e69de29..0000000 diff --git a/doc/test.txt b/doc/test.txt deleted file mode 100644 index e69de29..0000000 From 245a18b53f076cd57106025400a8efc2fc18ac9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Thu, 16 Oct 2025 10:50:27 +0800 Subject: [PATCH 35/38] add test --- doc/test333.docx | Bin 0 -> 19975 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/test333.docx diff --git a/doc/test333.docx b/doc/test333.docx new file mode 100644 index 0000000000000000000000000000000000000000..0bf6fc9375c9125eec3eda95d1a9f93f08c4dc39 GIT binary patch literal 19975 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

NOKRL`+MIpO zt~fB-j5A>?>c?;Bbf}LpJ@vCmw>w2EzmEEx;|g0NQa3EB?yM>eEpJ@TEo5G57$sm_ zy-K3Xl-?qGM169d68Ie}(PqvN%OKc-pQuVC>-Q(pNntRPGW0R<(`b6&C#6Z@-)I)u z!U%PWTL2_#Rf}j$x;l4sI#EYx_>PDz{BK$QJlu%(B3hqA_U;j1qvb7d(2Mi7EKaEt2`%D4cUf2!z>{%FUEGio}_1 zl6Kx329Z{Xa3DDjEit(iB_LT3S`7&~lqG!8pgd@@8lo7BnoQv56$TQ35oiR;nLLcZ ziWWg&MLX4)(O@ssxn&pMY~p|D^>-`Amky zdNAx-f7no;+ZoUBhxWOTUY&Y4rKDMjJM)z`?^X4)#+}aHj34Pk%hk!TAO}6>SICD0 zJJL#*?=_K&+i zF00gMp=wv@JxPD|knZF5C-u$uqwJp-?O=9vjzt1FspyZGeXiSM)K1th&c_cgab6+; zqoRy_@Vu4UP;Bv`L@8<*V*E*)Qfz;MJzj7HHc~A>xy4G*yEv8P48%RR_quFYw+5=G zk?V7oaZ&r%Rd6*LHtRXc+Xo1 z70|-soPs!uy%LeXqlnH@B_1*^ERW8zh(l_PjRUc@xZofBqeo?LjT9fcIfx_j6v$~* zG#jphgj~*?XMf@lmc12C8Wb1e=fliarbSb`xKAKLZjE$A=#yqt6mk0jUxZLsYe^YT zSX$%`ZTa2WuN1q&#eM1ffOtD!jRefKJ€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 X1#f^iD`-PI0}l|g02Aq3FAxs^RIr%f literal 0 HcmV?d00001 From f2cdcfba87cc7aaf62710c2ca45da152370221b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=9B=E9=92=A7=E6=B6=9B?= <1319371613@qq.com> Date: Fri, 17 Oct 2025 14:50:56 +0800 Subject: [PATCH 36/38] add week5work --- doc/week5work.docx | Bin 0 -> 558194 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/week5work.docx diff --git a/doc/week5work.docx b/doc/week5work.docx new file mode 100644 index 0000000000000000000000000000000000000000..0c238ef954e564f79a75dc55c6cef8c7f49b5f00 GIT binary patch literal 558194 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