从 PHP 到 AI + Golang,程序员自救转型手记(三十四):后台初始化请求实现
📅 2026/7/13 0:07:55
👁️ 次浏览
这是一个系列 Blog作者将以一个 PHP 全栈工程师的身份利用 AI 工具claude code、codex、deepseek、豆包等从零开始学习 golang 语言并最终完成 ai-go-admingithub | gitee开源项目的制作全程记录分享。在上一期我们进行了 “权限规则管理器”本期将完成后台初始化请求实现后台初始化请求实现之前我们已经建立好了config和admin_rule模型加上以前就实现的admin模型数据源基本齐备我们可以开始初始化后台了。流程是管理员登录进入后台 跳转到 loading 页面 发送后台初始化请求并等待响应 注册动态路由 跳转到后台第一个路由简单解释一下后台有那些菜单可用是在后台进行可视化配置的菜单管理目前还没做而菜单管理的数据存储于admin_rule表表已经有了且插入了测试数据管理员登录后首先请求接口获取admin_rule表内的菜单数据然后将菜单动态的注册为vue-router的路由注册完成后就跳转到第一个路由去一般是控制台页面。在等待初始化接口响应时先跳转到admin/loading路由显示一个加载动画这是一个静态路由直接就能访问。初始化接口规划接口地址/admin/init请求方式GET使用AdminAuth中间件响应当前管理员信息AdminAuth中间件已经解析token并在请求上下文中保存了当前管理员信息响应站点配置也就是config表中的数据只返回namename|record_number|version的行响应当前管理员拥有权限的菜单规则数据admin_rule可以通过上一章建立的权限规则管理器快速获取写完规划我就想起目前时区配置放在了 config 表以便未来后台内可以可视化修改但是严格来讲我们最好是项目启动时就设定好时区而且pgsql的timestamptz字段类型也依赖于时区设定配置位置config/config.yaml.database.write.timezone也就是说存储于config表是不合适的改为统一在代码文件配置中设定这里让 CC 添加配置项并在项目启动时就完成时区初始化。再研究了一下直接让 AI 于config/config.yaml.app.timezone配置app级别的时区配置项首先是确定了一下Asia/Shanghai这种写法是兼容 GORM pgsql 的时区格式的其次数据库的写库和读副本也不存在需要设定不同时区的情况就算能也不推荐所以目前只保留config/config.yaml.app.timezone一个时区配置项就可以了让 CC 直接实现不再赘述。初始化接口也读取config/config.yaml.app.timezone配置项合并到站点配置中。关键缺失CC 实现初版之后我注意到还缺少一个能组装出树状数据菜单数据的包以及缺少 dto 目录。建立 dto 目录认证中间件中AdminSession管理员会话信息的结构体如下// AdminSession 管理员会话信息由认证中间件注入到请求上下文typeAdminSessionstruct{*model.Admin Tokenstring}在制作/admin/init接口的过程中发现管理员会话信息要传递到service层传递的参数类型如果使用middleware.AdminSessionHTTP 中间件的东西就入侵到service层了这与我们的规划不符未来假设要脱离HTTP层测试service是没有middleware.AdminSession的所以现在起建立 dto 目录用于专门存储数据传输对象比如响应结构体请求结构体还有这种跨层传递的数据结构。建立 tree树状数据管理包建立pkg/tree树状数据管理包用于处理树状数据。提供以下对外方法一、根据 pid 和 id 组装children的方法将数据源如[[id1,pid0, title标题1],[id2,pid1, title标题1-1],]转换为[id1,pid0,title标题1,children[id2,pid1,title标题1-1]]可设定 pid 和 id 字段名 可由方法参数传入二、将数组某个字段渲染为树状的方法输出的数据如[id2,pid0,title权限管理,nameauth],[id3,pid2,title ├角色组管理,nameauth/group],[id8,pid2,title ├管理员管理,nameauth/admin]title字段为树枝字段pid 和 id 为上下级根据这三个字段都需要能够通过方法参数自定义其实我的提示词已经非常详细了不过还是和 AI 折腾了很久比如 AI 以为一共只有两级等情况不过好在最终结果是好的完整代码位于pkg\tree\tree.go前端整合直接要求 CC:web/src/api/admin/index.ts添加请求/admin/init的请求函数web/src/layouts/admin/index.vue的init函数内执行init请求函数并填充数据至状态商店等去除临时 MOCK 数据得益于从 BuildAdmin/web 迁移过来的前端此时我们已经完成了后台布局前后两端的初始化工作属于是有点样子了。
HarmonyKit | 鸿蒙开发协作:如何为 HarmonyKit 贡献一个新的工具
引言:从使用者到贡献者
HarmonyKit 的架构设计原则之一是"零破坏性扩展"——新增一个工具不应该修改任何现有工具的代码。这意味着贡献一个新工具的门槛极低:看懂…
📅 2026/7/13 0:07:55
HarmonyKit | 移动端开发者工具类应用的现状与趋势
引言:开发者工具为什么在移动端缺席
上周我需要快速验证一个 JSON 字符串的格式是否正确。打开手机浏览器——搜索"JSON formatter"——前三结果都是广告,第五个页面加载了 20 秒ÿ…
📅 2026/7/13 0:07:55
HarmonyKit | 鸿蒙开发:kit.UIDesignKit 组件体系完整解读
引言:一套组件体系,而非一个组件库
kit.UIDesignKit 是 HarmonyOS 在 API 22 引入的核心 UI 套件。在 HarmonyKit 项目中,它被用于首页的 Tab 导航(HdsTabs…
📅 2026/7/13 0:07:55
如何快速掌握silk-v3-decoder:微信QQ语音转换完整指南 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion support. 项…
📅 2026/7/13 1:08:13
VSCode C 调试 3 大配置陷阱:tasks.json 与 launch.json 路径冲突解析当你在 VSCode 中调试 C 代码时,是否遇到过这样的场景:精心设置的断点变成了空心圆点,程序直接运行到底而不暂停?这往往是由于 tasks.json…
📅 2026/7/13 1:08:13
SAP MMNR配置实战:8种物料类型编码范围分配与NRIV冲突解决方案1. 物料编码范围配置的核心价值与业务场景在企业资源计划系统中,物料主数据作为所有业务操作的基石,其编码规则的科学性直接影响后续采购、生产、库存等模块的运转效率。通过事务…
📅 2026/7/13 1:08:13
> 本文是设计模式系列的起点,沿 **「SRP → OCP → LSP → ISP → DIP → LoD → CRP」** 这条主线,系统梳理面向对象设计的七大原则,为后续学习 23 种设计模式打下坚实基础。---## 一、模块总览:设计原则学什么| 原则 | 缩写 …
📅 2026/7/13 1:08:13
1. 项目背景与核心挑战在工业测量和精密仪器领域,模拟信号与数字系统的无缝衔接一直是设计难点。ADS1262作为TI推出的32位精密Δ-Σ ADC,其7nVRMS的超低噪声和3ppm的线性度,使其成为高精度测量的理想选择。而PIC18F4458微控制器凭借其丰富的外…
📅 2026/7/13 1:08:13
Word排版进阶:4种缩进方式深度解析与3大高频误区破解在文字处理领域,Word的标尺与段落设置堪称排版的双引擎。许多用户能够完成基础的首行缩进设置,却在面对悬挂缩进与多级列表混排时束手无策,更常因软硬回车使用不当导致整篇文档…
📅 2026/7/13 1:07:13
做技术的人都知道,环境配置是最让人头秃的环节。特别是当你面对一个相对小众或者刚起步的项目时,文档可能不全,社区可能冷清。这时候,找到靠谱的来源就显得尤为重要。今天咱们不聊虚的,就聊聊怎么稳妥地完成 openclaw安装官方 流程,顺便分享几个我踩过的坑,希望能帮你省…
📅 2026/7/13 0:01:22
1. 项目概述:当火焰特效成为帧率杀手在UE5项目里,尤其是那些追求电影级视觉的开放世界或者大场景战斗游戏,一个熊熊燃烧的篝火、一次震撼的爆炸,往往是点燃玩家情绪的关键。Niagara作为虚幻引擎5中取代了老旧的Cascade的下一代粒子…
📅 2026/7/13 0:01:52
1. 项目概述与核心价值 最近在对接抖音小游戏平台时,侧边栏复访功能成了一个绕不开的“必答题”。很多开发者朋友,包括我自己一开始,都对这个功能有点摸不着头脑:它到底是什么?为什么平台这么重视?不接入行…
📅 2026/7/13 0:01:52
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/12 0:00:04
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/12 0:00:28
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/12 0:00:28
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/12 0:15:59
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/12 15:39:57
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/12 8:07:36