diff --git a/data/editor/editor_config.json b/data/editor/editor_config.json new file mode 100644 index 0000000..262f854 --- /dev/null +++ b/data/editor/editor_config.json @@ -0,0 +1,51 @@ +{ + "version": "1.0.0", + "theme": "default", + "custom_themes": [ + { + "id": "custom_default", + "name": "自定义 - 默认主题", + "primary_color": "#0080ff", + "background": "#ffffff", + "text_color": "#333333", + "link_color": "#576b95", + "code_bg": "#f6f8fa", + "blockquote_bg": "#f9f9f9", + "blockquote_border": "#dfe2e5" + } + ], + "font": { + "body_font": "-apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif", + "heading_font": "-apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif", + "code_font": "Consolas, Monaco, 'Courier New', monospace", + "body_size": 12, + "heading_scale": 1.3, + "line_height": 1.4 + }, + "code_block": { + "theme": "xcode", + "line_numbers": false, + "background": "#f6f8fa", + "border_radius": 6 + }, + "custom_css": "", + "css_schemes": [ + { + "id": "38e4f9a5", + "name": "简洁主题", + "css": "", + "font_config": { + "body_font": "-apple-system-font, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif", + "code_font": "Consolas, Monaco, 'Courier New', monospace", + "body_size": 12, + "line_height": 1.4 + }, + "code_block_config": { + "theme": "xcode", + "background": "#f6f8fa" + }, + "theme_id": "default", + "primary_color": "#0080ff" + } + ] +} \ No newline at end of file diff --git a/data/html/wechat.html b/data/html/wechat.html index 12c4cd5..46ce0c2 100644 --- a/data/html/wechat.html +++ b/data/html/wechat.html @@ -1,2 +1,2 @@ -

项目描述

视频演示

本系统包含管理员和用户两个角色。

管理员角色:

  1. 用户管理:管理系统中所有用户的信息,包括添加、删除和修改用户。

  2. 校规信息管理:管理校规信息,包括新增、查看、修改、删除和查看评论。

  3. 学校信息管理:管理学校信息,包括新增、查看、修改和删除。

  4. 入学须知管理:管理入学须知信息,包括新增、查看、修改、删除和查看评论。

  5. 论坛管理:管理论坛交流信息,包括查看和删除。

  6. 资料分享管理:管理资料类型和资料分享信息,包括新增、查看、修改和删除。

  7. 在线沟通管理:管理在线沟通信息,包括查看和删除。

  8. 在线交流管理:管理在线交流信息,包括查看和删除。

  9. 轮播图管理:管理轮播图信息,包括新增、查看、修改和删除。

用户角色:

  1. 在线沟通:用户可以进行在线沟通,包括新增、查看、修改和删除。

  2. 入学须知管理:用户可以查看入学须知信息。

  3. 校规信息管理:用户可以查看校规信息。

  4. 资料分享管理:用户可以查看资料分享信息。

  5. 论坛交流:用户可以新增、查看、修改和删除论坛交流信息。

  6. 学校信息管理:用户可以查看学校信息。

  7. 我的发布:用户可以查看和删除自己发布的论坛信息。

  8. 资料分享管理:用户可以新增、查看、修改和删除资料分享信息。

  9. 在线交流管理:用户可以新增、查看、修改、删除和审核在线交流信息。

  10. 我的收藏管理:用户可以查看自己的收藏信息。

技术选型

系统截图

1.首页

2.在线沟通

3.入学须知

4.资料分享

5.论坛交流

6.后台登录

7.校规信息管理

8.学校信息管理

9.入学须知管理

10.论坛交流管理

11.资料类型资料分享管理

运行步骤

准备环境

安装JDK 1.8、Maven、Node.js 14 和 MySQL 5.7以上

创建数据库

使用Navicat工具创建数据库并导入SQL脚本

配置后端

修改application.yml中的数据库连接信息(用户名/密码/库名)

启动后端服务

进入后端项目(/server_code) 执行:
mvn clean install - mvn spring-boot:run

前端依赖安装

进入前端目录(/manage_code或者/client_code),执行安装命令:
npm install

启动前端服务

执行启动命令:
npm run serve

访问系统

常见问题

端口冲突

前端安装依赖失败

推荐阅读

其他说明

源码获取


长按小程序码,打开小程序搜索 "A173" 即可获取资源
\ No newline at end of file +微信公众号文章

项目描述

视频演示

本系统包含管理员和用户两个角色。

管理员角色:

  1. 轮播图管理:管理轮播图的配置参数,包括新增、查看、修改和删除轮播图。

  2. 用户管理:管理系统中所有用户的信息,包括新增、查看、修改和删除用户。

  3. 资源分类管理:管理资源的分类信息,包括新增、查看、修改和删除资源分类。

  4. 资源分享区管理:管理资源分享区的帖子,包括新增、查看、修改和删除帖子。

  5. 资源信息管理:管理资源信息,包括查看、修改、删除和查看评论。

  6. 系统公告管理:管理系统公告,包括新增、查看、修改和删除公告。

用户角色:

  1. 我的收藏管理:管理用户的收藏信息,包括查看和删除收藏。

  2. 资源信息管理:管理用户发布的资源信息,包括新增、查看、修改、删除和查看评论。

  3. 资源分享区管理:管理用户在资源分享区发布的帖子,包括新增、查看、修改和删除帖子。

  4. 个人信息管理:管理用户的个人信息,包括账号、姓名、性别、手机、邮箱等。

技术选型

系统截图

1.后台登录

 

2.后台首页

 

3.轮播图管理

 

4.用户管理

 

5.资源分类管理

 

6.资源分享区管理

 

7.资源信息管理

 

8.系统公告管理

 

9.首页

 

10.资源信息

 

11.系统公告

 

12.资源分享区

运行步骤

准备环境

安装JDK 1.8、Maven、Node.js 14 和 MySQL 5.7以上

创建数据库

使用Navicat工具创建数据库并导入SQL脚本

配置后端

修改application.yml中的数据库连接信息(用户名/密码/库名)

启动后端服务

进入后端项目(/server_code) 执行:
mvn clean install + mvn spring-boot:run

前端依赖安装

进入前端目录(/manage_code或者/client_code),执行安装命令:
npm install

启动前端服务

执行启动命令:
npm run serve

访问系统

常见问题

端口冲突

前端安装依赖失败

推荐阅读

其他说明

源码获取


长按小程序码,打开小程序搜索 "A177" 即可获取资源
diff --git a/gui.py b/gui.py index 2cfe5df..e8e8352 100644 --- a/gui.py +++ b/gui.py @@ -803,13 +803,9 @@ class YidaimaGUI: ps_code_target_entry = ttk.Entry(path_frame, textvariable=self.ps_code_target_var, width=60) ps_code_target_entry.grid(row=3, column=1, sticky=(tk.W, tk.E), padx=(10, 0), pady=(10, 0)) - # 是否有前台前端 - self.ps_has_front_var = tk.BooleanVar(value=ps_config.get("has_front", True)) - ttk.Checkbutton(path_frame, text="有前台前端", variable=self.ps_has_front_var).grid(row=4, column=1, sticky=tk.W, padx=(10, 0), pady=(10, 0)) - # 是否显示 CMD 窗口 self.ps_show_cmd_var = tk.BooleanVar(value=ps_config.get("show_cmd_window", True)) - ttk.Checkbutton(path_frame, text="显示CMD窗口", variable=self.ps_show_cmd_var).grid(row=5, column=1, sticky=tk.W, padx=(10, 0), pady=(10, 0)) + ttk.Checkbutton(path_frame, text="显示CMD窗口", variable=self.ps_show_cmd_var).grid(row=4, column=1, sticky=tk.W, padx=(10, 0), pady=(10, 0)) # === 操作按钮区域 === button_frame = ttk.LabelFrame(self.tab_screenshot, text="操作按钮", padding="10") @@ -892,10 +888,15 @@ class YidaimaGUI: def _get_ps_config(self) -> ProjectConfig: """获取项目截图配置""" ps_config = self.config.get("project_screenshot", {}) + + # 自动检测是否有前台前端 + has_front = self._check_has_front(self.ps_project_path_var.get()) + self._ps_log(f"自动检测前台前端: {'有' if has_front else '无'}") + return ProjectConfig( project_path=self.ps_project_path_var.get(), desktop_path=self.ps_desktop_path_var.get(), - has_front=self.ps_has_front_var.get(), + has_front=has_front, install_server=ps_config.get("scripts", {}).get("install_server", "run_install_server.bat"), install_front=ps_config.get("scripts", {}).get("install_front", "run_install_front.bat"), install_admin=ps_config.get("scripts", {}).get("install_admin", "run_install_admin.bat"), @@ -932,6 +933,45 @@ class YidaimaGUI: show_cmd_window=self.ps_show_cmd_var.get() ) + def _check_has_front(self, project_path: str) -> bool: + """ + 自动检测是否有前台前端 + 检查项目路径下的源码文件夹中是否包含 client_code 目录 + + Args: + project_path: 项目路径 + + Returns: + 是否有前台前端 + """ + try: + code_dir = os.path.join(project_path, "源码") + + if not os.path.exists(code_dir): + return False + + # 获取 code 文件夹下的第一个子目录 + first_subdir = None + for item in os.listdir(code_dir): + item_path = os.path.join(code_dir, item) + if os.path.isdir(item_path): + first_subdir = item_path + break + + if not first_subdir: + return False + + # 遍历查找 client_code 目录 + for root, dirs, files in os.walk(first_subdir): + if 'client_code' in dirs: + return True + + return False + + except Exception as e: + print(f"检测前台前端失败: {str(e)}") + return False + def _ps_set_running(self, running: bool): """设置项目截图运行状态""" if running: