120 Commits

Author SHA1 Message Date
4248e05616 fix(docker):修复SQL文件复制路径问题
- 更正Dockerfile中sql目录复制路径末尾添加斜杠
- 确保sql文件正确复制到/app/sql/目录下
- 避免因路径问题导致容器启动时找不到sql文件
2025-11-09 21:25:29 +08:00
8da5befc83 build(linux): 更新构建脚本并调整日志级别
- 指定输出文件名为 sportstore- 为 Docker 容器添加名称标识
- 添加日志查看命令以便调试
- 在构建后自动清理容器实例
- 将日志配置从 info 级别调整为 debug 级别
2025-11-09 21:18:28 +08:00
82e56f60b9 fix(docker):以分离模式运行容器- 在docker run命令中添加-d参数以在后台运行容器
- 更新配置文件以包含http名称字段
2025-11-09 21:14:29 +08:00
bc762a46b0 fix(docker):修正Docker镜像构建和运行命令- 将Docker镜像标签从go_SportStore更正为go_sport_store
- 更新Dockerfile中的二进制文件名从storestore到sportstore
-保持Docker运行端口映射不变,确保服务正常启动
2025-11-09 21:10:31 +08:00
8a627df6db fix(docker):修正Docker镜像构建和运行命令- 将Docker镜像标签从go_SportStore更正为go_sport_store
- 更新Dockerfile中的二进制文件名从storestore到sportstore
-保持Docker运行端口映射不变,确保服务正常启动
2025-11-09 21:03:55 +08:00
8d10979d0a build(scripts):修正构建脚本中的环境变量设置- 移除 BuildLinux.cmd 中多余的输出文件名指定
- 修正 BuildWindows.cmd 中环境变量赋值的空格问题
- 统一环境变量设置格式,去除引号包裹
2025-11-09 21:01:10 +08:00
a37040a413 chore(build): 更新构建脚本中的环境变量设置方式- 将 PowerShell 风格的 $Env: 变量设置改为标准 2025-11-09 20:59:57 +08:00
e321f56b64 feat(docker): 添加 Docker 支持以容器化应用- 新增 Dockerfile用于构建应用镜像
- 在 BuildLinux.cmd 中集成 docker build 和 docker run 命令
- 配置容器暴露端口5000 并设置工作目录
- 复制必要的文件和模板到容器中
- 使用 ENTRYPOINT 指令指定容器启动时执行的命令
2025-11-09 20:34:28 +08:00
4f0b88a1e9 feat(admin): 添加管理员身份验证和授权机制
- 引入 authorization 包实现默认登录和用户服务
- 注册用户存储服务以支持认证功能- 配置 AuthComponent 保护管理员路由访问
- 添加管理员相关处理器到认证组件中
- 注释掉原有未受保护的管理员路由处理器
- 新增认证处理器用于处理登录请求- 添加 API 路由支持 RESTful 产品管理接口
- 创建配置文件 config_publish.json 支持应用部署设置
- 添加 Linux 和 Windows 平台的构建脚本 BuildLinux.cmd 和 BuildWindows.cmd
2025-11-09 20:23:59 +08:00
3daf76dbb0 feat(admin): 添加管理员页面用户认证功能- 在 admin.html 中添加用户登出组件显示区域
- 新增 sign_in.html 模板用于用户登录界面- 实现 SignOutHandler 处理用户登出逻辑
- 创建 AuthenticationHandler 处理用户登录验证
- 添加 user_widget.html 模板显示登出按钮
- 更新配置文件添加认证失败跳转地址
- 调整模板中 handler 调用的缩进格式
2025-11-09 18:58:31 +08:00
9fdfcdd6e7 feat(auth): 添加用户存储服务实现
- 实现了基于内存的用户存储服务
- 支持通过ID和名称查找用户
- 注册了用户存储服务的单例模式
- 添加了基础用户数据初始化逻辑
2025-11-09 18:32:25 +08:00
0c5447eb39 feat(admin): 更新订单管理页面与数据库查询逻辑- 修改模板中订单ID和地址字段的引用方式
- 调整SQL查询语句以包含订单ID字段
- 修复处理器中URL生成函数的调用方式- 优化订单及订单行数据的扫描与映射逻辑
- 更新产品选择结构体的解析方法以支持订单关联- 调整订单列表获取逻辑以提高数据一致性
2025-11-09 18:25:10 +08:00
f004ae4d65 feat(admin): 添加数据库初始化和订单管理功能
- 实现了数据库初始化和种子数据填充的表单界面
- 添加了订单列表展示和发货状态切换功能
- 新增了更新订单发货状态的SQL命令和存储库方法
- 扩展了管理员数据库和订单处理程序的功能
- 在配置文件中注册了新的SQL更新命令
2025-11-09 17:52:26 +08:00
eb0750d9fd feat(admin): 实现分类管理功能- 添加分类列表展示页面模板- 实现分类编辑和保存功能
- 集成会话管理用于编辑状态跟踪
- 添加分类数据持久化支持
- 更新配置文件以包含分类相关SQL脚本路径
- 实现分类的增删改查逻辑
- 添加分类保存和更新的SQL脚本
2025-11-09 16:31:41 +08:00
66b6276a36 fix(admin):修复产品编辑状态判断和ID显示问题- 将模板中的 Edit 字段引用从 .Id 统一改为 .ID
- 修正产品列表中 ID 字段的大小写显示问题
- 统一使用 EditId 进行编辑状态判断
-修复分类选择器中当前选中项的判断逻辑
- 清理模板中多余的空行
2025-11-09 16:10:25 +08:00
65ba41606e fix(admin):修复产品列表循环语法错误
- 修正了模板中range循环的语法错误
- 移除了错误的赋值操作符
- 确保产品列表正确渲染
2025-11-09 15:52:00 +08:00
35837fc136 fix(templates):修复模板加载错误处理
- 在 ParseGlob 方法后添加错误检查
- 打印详细的错误信息以便调试- 确保在发生错误时函数能正确返回
2025-11-09 15:49:43 +08:00
6e04c9747b fix(templates): 增强模板加载和执行的错误处理- 在 layout_executor.go 中添加了对 getTemplates 返回值的空指针检查
- 当 getTemplates未定义或返回 nil 时,打印错误信息并提前返回
- 在 template_loader.go 中引入 fmt 包用于调试日志输出
- 在模板加载逻辑中增加调试信息打印,便于追踪 getTemplates 函数执行状态
- 添加了 doLoad 函数执行的调试日志,帮助定位模板加载问题
2025-11-09 15:44:15 +08:00
b228678813 refactor(templates):重构模板执行日志记录方式
- 移除对 logging.Logger 的依赖- 使用 fmt.Printf 替代 Debugf 记录模板执行信息- 统一模板执行日志格式- 简化 LayoutTemplateProcessor 结构体定义
2025-11-09 15:38:30 +08:00
c310a6b373 debug(layout): 增强模板执行日志记录- 在执行模板前添加详细日志,包括模板名称和参数- 统一布局模板和普通模板的日志格式-优化日志内容以提高调试效率 2025-11-09 15:35:48 +08:00
7f799e304f feat(http): 添加日志记录功能以追踪方法调用
- 在 createInvokeHandlerFunc 中注入 logging.Logger 参数
- 记录每个方法调用的处理器名称、动作名称及参数- 更新 request_dispatch.go以传递 logger 实例
- 支持在递归调用中传播日志记录器配置
2025-11-09 15:32:07 +08:00
78759db6d8 refactor(logging): 将模板加载日志级别从 Info 调整为 Debug
- 修改模板加载日志记录方式,减少生产环境日志输出
- 保持调试信息在开发环境中可用
- 避免频繁的日志记录影响性能
2025-11-09 15:24:32 +08:00
4626325f25 fix(pipeline): 增强错误处理组件的堆栈跟踪信息- 将错误恢复函数中的 runtime.Caller 替换为 debug.Stack 以获取完整堆栈
- 在组件错误处理中添加详细的堆栈跟踪日志记录
-优化错误日志格式,包含错误信息和堆栈跟踪内容
- 保持错误响应状态码为 500 Internal Server Error
2025-11-09 15:20:18 +08:00
5b08f05ee8 fix(pipeline): 增强错误处理组件的日志信息
- 在 recover 函数中添加文件名和行号信息
- 在组件错误处理中增加详细的调试日志位置
- 使用 runtime.Caller 获取调用栈信息
2025-11-09 15:18:47 +08:00
51eab428ff fix(url):修复URL生成时打印语句缺少换行符- 为起始URL生成打印语句添加换行符
- 为结束URL生成打印语句添加换行符
- 统一打印格式,便于日志阅读
2025-11-09 15:07:29 +08:00
0e928f0be2 refactor(url): 移除日志依赖并替换为标准输出- 删除 logging 包的导入- 移除 routeUrlGenerator 结构体中的 Logger 字段
- 将 Debugf 日志调用替换为 fmt.Printf 标准输出- 保持 URL 生成逻辑不变
2025-11-09 15:06:58 +08:00
32a25cb312 feat(http): 添加URL生成日志记录功能
- 在routeUrlGenerator结构体中嵌入logging.Logger
- 修改generateUrl为routeUrlGenerator的方法generateUrl
- 在URL生成开始和结束时添加调试日志输出- 更新GenerateUrl和GenerateUrlByName方法调用新的generateUrl方法- 引入platform/logging包用于日志记录
2025-11-09 15:05:24 +08:00
933ab464d4 feat(layout): 添加模板加载日志记录- 在模板执行前后添加日志记录功能
- 集成平台日志模块到布局处理器
- 记录主模板和布局模板的加载过程
- 提升模板执行过程的可观测性
2025-11-09 14:53:54 +08:00
dac1653565 feat(admin): 实现产品管理功能- 添加产品列表展示模板 admin_products.html
- 实现产品编辑和保存功能
- 新增分类选择下拉框模板 select_category.html
- 扩展 CategoriesHandler 支持分类选择功能
- 更新配置文件添加产品保存相关SQL脚本路径
- 在 ProductsHandler 中实现产品数据处理逻辑
- 扩展 Repository 接口和 SqlRepository 实现产品保存功能
- 添加保存和更新产品的 SQL 脚本文件
2025-11-09 14:44:00 +08:00
8bbf0eb835 feat(admin): 添加管理后台功能模块
- 新增管理员界面模板 admin.html
- 实现管理员路由处理器 AdminHandler
- 添加产品、分类、订单、数据库管理子模块
- 注册管理后台相关路由处理器
- 修改URL生成函数名为MustGenerateUrl并统一调用方式
- 更新购物车和订单处理中的URL生成方法调用
- 在主程序中配置管理后台路由别名
2025-11-08 23:02:39 +08:00
89ab365887 fix(checkout): 更新街道地址字段的标签和ID属性- 将标签文本从"Street Address:"更新为对应的英文标签
- 将输入字段的id和name属性从"address"更改为"StreetAddr"
-保持模板中字段值的绑定不变,仍使用$details.StreetAddr
2025-11-08 22:39:41 +08:00
6a51b72315 fix(order):修复结账页面取消按钮链接生成错误
-修复了 OrderTemplateContext 中 cancelUrl 字段名大小写不一致的问题
- 修正了结账页面取消按钮的链接生成逻辑
- 修复了订单处理完成后跳转到订单总结页面的 URL 生成错误
- 修复了产品页面 URL 生成函数中缺少处理器引用的问题
2025-11-08 22:35:33 +08:00
04c4876f5d feat(store): 添加结账功能并集成订单处理流程- 在购物车页面添加了结账按钮,链接至结账页面
- 新增结账页面模板,包含收货地址表单及验证错误显示- 新增结账完成后的感谢页面模板
- 在后端新增订单处理器,并注册到主路由中
- 扩展购物车上下文,增加结账页面跳转链接生成逻辑
2025-11-08 22:26:34 +08:00
e733a91595 feat(order): 实现订单结账和摘要功能
- 添加 PostCheckout 方法处理结账表单提交
- 实现 ShippingDetails 数据验证和错误处理
- 将验证错误存储到会话中用于页面回显- 创建订单并保存到仓库
- 重置购物车状态
- 添加 GetSummary 方法显示订单摘要页面
- 实现订单摘要模板渲染和参数传递
2025-11-08 21:37:11 +08:00
04b9a1200b refactor(store): 提取URL生成函数避免重复代码
- 将mustGenerateUrl函数提取到category_handler.go中- 在product_handler.go中移除重复的mustGenerateUrl函数实现
- 更新createCategoryUrlFunction和createPageUrlFunction调用方式
- 统一处理URL生成失败的情况,避免忽略错误返回值
2025-11-08 21:25:15 +08:00
4263acd8df refactor(store):重构URL生成逻辑以提高代码复用性
- 统一使用mustGenerateUrl函数处理所有URL生成逻辑
- 移除重复的mustGenerateUrl方法定义
- 简化处理器中的URL生成调用方式
- 新增订单处理模块并实现结账功能
-优化购物车和产品列表页面的URL生成代码结构
2025-11-08 21:16:01 +08:00
750f811ee7 feat(repo): 实现订单查询与保存功能
- 新增 GetOrder 方法用于获取单个订单及其产品列表
- 新增 GetOrders 方法用于获取所有订单及关联的产品信息
- 新增 SaveOrder 方法用于保存订单及其明细项
- 实现订单数据扫描函数 scanOrder、scanOrderRows 和 scanOrderLines
- 在保存订单时使用数据库事务确保数据一致性- 添加事务回滚逻辑以处理执行过程中的错误情况
2025-11-08 21:03:06 +08:00
aca85b5134 feat(order): 添加订单管理功能
- 在配置文件中新增订单相关SQL查询路径
- 创建获取单个订单及其商品详情的SQL查询
- 创建获取订单列表及其商品详情的SQL查询
- 创建保存订单及订单商品详情的SQL查询- 在数据库初始化脚本中添加订单和订单详情表结构
- 在数据库种子数据中添加初始订单数据
- 定义订单、配送信息和商品选择的模型结构- 在仓储接口中添加订单相关的操作方法- 注释掉内存仓储的注册函数以准备移除- 扩展SQL仓储结构体以支持订单相关查询和保存语句
2025-11-08 20:13:03 +08:00
dc9eddc638 feat(repo): 添加SQL语句执行日志功能
- 新增LoggedStmt结构体封装sql.Stmt以支持日志记录
- 在SQL命令加载时注入日志功能
- 实现ExecContext、QueryContext和QueryRowContext方法的日志记录- 修改GetCategoryPageCount字段类型为*LoggedStmt
- 调整scanProduct和scanProducts函数实现以提高代码可读性- 新增getSQLQuery函数用于读取SQL命令文件内容
-为多个SQL执行方法添加调试日志输出
2025-11-08 19:44:48 +08:00
1f1632588d fix(sql):修复数据库初始化脚本中的拼写错误
- 更正了 Categories 表外键约束名称中的拼写错误- 将 "CONSTRAING" 修正为 "CONSTRAINT"
- 确保外键引用语法正确无误
2025-11-08 19:35:26 +08:00
7e4292293a fix(repo): 改进初始化和种子命令的错误处理
- 在初始化命令失败时记录具体错误信息- 在种子命令失败时记录具体错误信息
- 添加 SQLite 驱动导入以支持数据库操作
2025-11-08 19:34:34 +08:00
945d371dd2 feat(repo): 实现SQL存储库服务并替换内存存储库
- 在配置文件中添加SQL相关配置项,包括连接字符串和SQL命令路径
- 更新go.mod和go.sum文件,添加新的依赖项如sqlite、humanize等
- 注释掉内存存储库注册,启用SQL存储库服务注册
- 新增SqlRepositoryService实现,支持数据库初始化和种子数据加载
- 实现SQL存储库的单次加载和重置逻辑,确保服务启动时正确初始化数据库
2025-11-08 18:22:18 +08:00
dd9b021513 feat(sql): 添加产品分页查询功能- 新增获取产品分页数据的SQL脚本
- 新增获取分类产品分页数据的SQL脚本
- 新增获取分页总数的SQL脚本
- 实现GetProductPage方法支持产品分页查询
- 实现GetProductPageCategory方法支持分类产品分页查询
- 修复scan错误日志信息不准确的问题
2025-11-08 18:12:12 +08:00
2943d0f839 feat(repo): 添加产品和分类的数据库查询功能
- 新增获取单个产品的 SQL 查询语句
- 新增获取所有产品的 SQL 查询语句
- 新增获取所有分类的 SQL 查询语句- 实现产品和分类数据的扫描解析逻辑
- 在 SqlRepository 中添加对应的数据访问方法- 支持通过 ID 查询特定产品信息
- 支持联表查询产品及其所属分类信息
2025-11-08 17:56:58 +08:00
6923c9be6c feat(sql): 初始化数据库和种子数据
- 添加初始化SQL脚本,创建Products和Categories表- 添加种子数据SQL脚本,插入示例分类和产品数据- 实现数据库命令加载和预处理逻辑
- 创建SQL仓库结构,支持配置和日志记录
- 添加数据库初始化和种子数据执行方法
2025-11-08 17:38:29 +08:00
570db08b65 chore(deps): 添加平台模块依赖和sqlite驱动
- 添加 platform 模块的 require 和 replace 配置
- 获取 platform 模块的依赖包
- 添加 modernc.org/sqlite 数据库驱动依赖
- 配置本地平台模块替换路径
- 执行依赖包下载命令
2025-11-08 17:10:12 +08:00
e9c876aafb feat(fontawesome): 添加 Font Awesome 5 样式文件- 添加动画图标样式 (_animated.less 和 _animated.scss)- 添加带边框和拉动效果的图标样式 (_bordered-pulled.less 和 _bordered-pulled.scss)
- 添加核心图标类定义 (_core.less 和 _core.scss)- 添加固定宽度图标样式 (_fixed-width.less 和 _fixed-width.scss)
- 添加不同尺寸图标样式 (_larger.less 和 _larger.scss)
- 添加列表图标样式 (_list.less 和 _list.scss)
- 添加混合宏定义 (_mixins.less 和 _mixins.scss)
- 添加旋转和翻转图标样式 (_rotated-flipped.less 和 _rotated-flipped.scss)
- 添加屏幕阅读器相关样式 (_screen-reader.less 和 _screen-reader.scss)
- 添加版本 5 的兼容性垫片样式 (_shims.less)
2025-11-08 17:03:05 +08:00
774c15e184 refactor(cart):重命名购物车移除商品方法
- 将 RemoveProduct 方法重命名为 RemoveLineForProduct
-保持方法功能不变,仅修改名称以提高代码可读性
2025-11-08 16:34:18 +08:00
b023878b65 fix(template): 调整 simple_layout.html 中的 body 标签位置
- 将 {{ body }} 移动到正确的 div 结束标签之后- 确保 HTML 结构符合标准布局要求
2025-11-08 16:23:42 +08:00
fd915c885a feat(cart): 实现购物车功能并集成到产品列表
- 新增购物车接口及基础实现- 实现购物车会话存储服务- 添加购物车页面模板
- 集成购物车处理器到路由
- 在产品列表页添加加入购物车表单- 注册购物车相关服务和组件- 创建简单布局模板用于购物车页面
- 实现添加和移除购物车商品的功能
- 支持购物车商品数量和总价计算- 添加购物车重置功能
2025-11-08 16:22:25 +08:00