11. 教 AI 上班:带出我的数字同事 —— 前后端部署上线 130,按 v1.7 回归清零与总结

11. 教 AI 上班:带出我的数字同事 ------ 前后端部署上线 130,按 v1.7 回归清零与总结

「教 AI 上班:带出我的数字同事」系列 · 第 11 篇:先把前面的问题一个个登录验一遍,然后部署上线到 130。

前言

先回头验证。super-admin、jg-admin、huangshan、xjts-admin、huyong 一个个号登录进去点,看前面说的改到位没有。

验证码能用了,首次登录改初始密码这个设计不错。胡勇那边又撞出一个:搜索结果有内容,左边却不显示所有类目。

然后是 1.16 部署上线,不用 docker。上线后脚本升到 1.8 全新测一轮,又揪出两件事:网关没配 RSA 公私钥,发布出来的作者全落在一个人身上。

一、前面那些问题,一个个登录进去验

1.1 super-admin:验证码可以了,登录就能直接进

验证码可以了

登录就可以直接进入,其他帐号还要看下

1.2 单位管理员 jg-admin:用户、部门、资料详情

登录主页面

用户管理

基本上能达到我的要求

部门管理

资料详情

1.3 huangshan:两张截图先看着

1.4 xjts-admin:首次登录要改初始密码

这个首次登录修改初始密码是不错的。

1.5 huyong:搜得到内容,左侧却不显示所有类目

胡勇不是极光智能的人吗? 为什么胡勇搜索的结果,没有极光智能的类目,他能查看springboot的, 全部分类/springboot/Springboot提升计划/ 1、Spring Boot + 装饰器模式,才是优雅扩展的终极解法 但搜索的结果有,左右不显示所有类目这是个大bug

二、再次查看问题:七条一起点

2.1 super-admin 的操作日志不分租户,其余六条一起说

接着点七条:

bash 复制代码
1、
super-admin的操作日志是所有人的,这个不分租户的,不知道是不是这样实现的
2、
查看详情还是没解决,就是
简搜 登录帐号这个,就固定死,不要让正文滚动到后面去,这样目录就可以定位正确。 这个问题上次没解决,要重视。
3、
界面操作
前端应该多记录一下,不能只有个登录,如查看详情也要记录,尽可能做到每个页面都要有操作。
4、
登录页面,按tab切换,将查看密码跳掉吧。密码下一个是验证码,不要查看密码,正常情况不会直接跳到查看密码
5、
单位管理员 nickname没有做唯一键吧,以后所有的单位管理员就叫单位管理员,不要搞那么长的名字。这是修改测试脚本吧
对了,那个创建租户,自动创建单位管理员和权限等,以我看下源码。
6、
 xjts-admin 界面操作 所有数据都是账户与权限 登录成功。这个看着有点不清楚,每个页面,如用户管理,角色权限,部门管理,只要进去就增加一条记录。只是叫查看,而真正操作,就是操作这种了。
 7、胡勇不是极光智能的人吗?
 为什么胡勇搜索的结果,没有极光智能的类目,他能查看springboot的,
 全部分类/springboot/Springboot提升计划/
1、Spring Boot + 装饰器模式,才是优雅扩展的终极解法
但搜索的结果有,左右不显示所有类目这是个大bug

2.2 补充一条:只有 super-admin 才跨租户

补一句,只有 super-admin 才跨租户:

java 复制代码
补充:
只有super-admin才跨租户,其他人查看日志还是不能跨租户

2.3 类别要唯一、不能有孤儿节点

类别这事我说过,两条:

java 复制代码
类别这个问题,我说过
1、自动创建,这时要保证唯一性
2、删除问题,有子类别不可以删除,这是前面说的只能删除叶子节点。
所以不能有重复,也不能有孤儿节点

操作日志的问题,super-admin只查看了自己的,这个是我说的问题1的主要原因,虽然你说是这么实现的,但你也要测试一下,确保是对的。
7、搜索结果有内容、左侧却不显示全部类目(大 bug,已用实数据复现根因) 
这个问题,我没仔细看代码,但要保证正确,类别只有租户管理,没有权限限制啊。
另建议清一次 category 孤儿/重复顶级数据。 这个可以的,现在只是测试,只要保证sql是正确的,但要保证后面不能出错。

其他的基本上没问题,按上面方案操作,还要自己认真测试。白盒测试完成后。
前面有要修改测试脚本的部分吧,那要升级版本。
再按最新的测试脚本进行操作。 

2.4 这次按推荐执行,界面路径的证据要补齐

这次按推荐执行,缺的界面证据要补齐:

bash 复制代码
待浏览器登录验证码环节恢复可用(如换真机或临时放宽验证码),用最新脚本执行 node projects/jet-simple-web/_pw/regression-v12.mjs,跑完 2.1.9 超管跨租户操作日志、3.2.11 分类重名拒·叶子删、3.2.12 面板留痕三条 UI 断言,补齐本次仅以 API+DB 降级验证的界面路径证据。

三、按 v1.7 执行,把我说的话全对一遍

3.1 按 1.7 的脚本和文档说明静默跑

makefile 复制代码
按最新代码打包。
然后在run中启动前后端,然后
前端:  http://docsolo.wayhua.vip 
后端: localhost:8100
mysql: 192.168.55.130:3306  root/Ivy@2024
redis: 192.168.55.130:6379  wayhua
elasticserach: 192.168.55.130:9200

 
私文简搜-界面全流程测试脚本-1.7.md
私文简搜-界面全流程测试脚本-文档说明-1.7.md
新开窗口,要记得不要弹出 拒绝 接受 对话框等,一定要先读取spec
静默测试,不要弹出任何框。认真对待测试脚本和文档说明以及spec。

3.2 搜索框图标右边距离这种小事,说了多少次

复制代码
你还真不行,搜索框 ,搜索放大镜和右边距离太大了,说了多少次。
还改不过来,你是猪啊

能不能将我以前说的所有话都对一下,看下有没有没完成的。这种任务没完成至少4,5次了。
不管你能力怎样,不按要求完成任务总是不对的吧

3.3 push 写在 spec 里定死的,还能忘

perl 复制代码
你妈,push不是写在spec里定死的吗

四、部署上线 130:先不考虑 docker

4.1 部署准备:打包复制到 run,清掉多余测试数据

arduino 复制代码
现在两件事:
1、按最新的代码打包,复制到run
2、清空多余的测试数据,

然后我来部署到服务器。

4.2 后端部署到 130:start.sh 起来,netstat 看一眼

我来部署到130,现在不考虑docker之类的,直接运行,前面就做了准备,现在只要复制到130就可以了。

start.sh也编写过了。

bash 复制代码
 chmod +x *.sh

剩下的就是开机自启动,但我这个暂时就不添加了。

bash 复制代码
./start.sh

 netstat -nlpt

http://192.168.55.130:8100/doc.html#/home

4.3 前端部署:源码编译装 nginx,再加 systemd service

前端要 nginx,从源码编译装,再加 systemd service:

bash 复制代码
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1/

./configure
yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel


./configure --prefix=/export/server/nginx

make & make install

添加service,将nginx.service 复制到/etc/systemd/system/

bash 复制代码
chmod +x /etc/systemd/system/nginx.service

4.4 nginx.conf 只认一个 /api 前缀

nginx.conf 里浏览器只认 /api 一个前缀:proxy_pass 带尾斜杠把 /api 剥掉,交给网关 StripPrefix=1 路由。^~ 要排在静态资源正则前面,否则上传的图片 404:

ini 复制代码
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

     server {
        listen       80;
        server_name  docsolo.wayhua.vip;
        client_max_body_size 500M;
        # 前端网页根 = run\web(history 路由,深链回退到 index.html)
     root html/web;              # ← 移到这里
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
         

        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|woff2?|ttf)$ {
            expires 7d;
            add_header Cache-Control "public";
        }

        # 统一前缀反代:浏览器只认 /api(前端 axios baseURL=/api、图片基址也带 /api)。
        # proxy_pass 带尾斜杠会剥离 /api 前缀:/api/sys/** -> 网关 /sys/**,/api/docsolo/** -> 网关 /docsolo/**,
        # 交由网关既有的「服务前缀 + StripPrefix=1」路由,无需在 nginx 为每个服务各写一块 location。
        # ^~ 使其优先于上面的静态资源正则:保证 /api/docsolo/upload/*.png 转发到网关而非按 web 根查找(404)。
        location ^~ /api/ {
            proxy_pass http://127.0.0.1:8100/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

 
}

启动nginx

bash 复制代码
systemctl enable nginx
systemctl start nginx
systemctl status nginx

4.5 前端上线

docsolo.wayhua.vip/login

五、上线后按测试脚本全新测一轮,脚本升到 1.8

5.1 example 里新加的 md 按分类上传,脚本细化到 1.8

复制代码
example\markdown中我增加了一些 md文件,
你按分类如运维的人员上传操作系统分类的。
更加细化一些,修改测试脚本。
再结合前面历史的我提出的需求,添加进测试脚本,并升级到1.8

5.2 全新测试,不许管以前测到哪

makefile 复制代码
项目已部署
 
前端:  http://docsolo.wayhua.vip 
后端: 192.168.55.130:8100
mysql: 192.168.55.130:3306  root/Ivy@2024
redis: 192.168.55.130:6379  wayhua
elasticserach: 192.168.55.130:9200

 
私文简搜-界面全流程测试脚本-1.8.md
私文简搜-界面全流程测试脚本-文档说明-1.8.md
新开窗口,要记得不要弹出 拒绝 接受 对话框等,一定要先读取spec
全新测试,不要管以前测试到哪,都必须全新测试
  
静默测试,不要弹出任何框。一定要查看历史找到静默方式,不要弹出接收拒绝对话框和终端运行对话框,那样会浪费我的时间,我不在机器旁边。

5.3 网关没配 RSA 公私钥,发布的作者全落在一个人身上

它说要我这边处理才能转绿。我问它什么意思、什么问题,另外反问两句:

bash 复制代码
需要你侧处理才能转绿
网关/sys 服务配置 RSA 公私钥(消除 500),否则接口探针与自动收尾清理走不通;
后端排查发布落库与作者会话归属(BUG-001:在线编辑/ZIP/指定目录批量三种发布在部署环境的持久化与「我的文档」按作者过滤)------这是核心缺陷,修复并重新部署后,我再按大回归从第 1 章重跑,问题集清空即判通过。

什么意思?什么问题,详细解释一下
复制代码
问题一:有没有可能前端测试没有使用这个公钥?就是你认为通过了,其实是没使用
问题二:也要认真查一下原因,你可以先使用源码,本地先测试一次。查清为什么会作者错误,会不会是jwt token的问题。一直使用同一token发布的。所以所有作者是一人。下次登录后也要加入检测token是否切换的问题。
按你说的和我说的改吧。

5.4 再跑一整轮做最终确认

问它现在什么情况、要不要重新发布,不需要就接着测,再跑一整轮做最终确认。

复制代码
现在什么情况?要重新发布吗?
如果不需要就接着测试
复制代码
再跑一整轮做最终确认

算了,就此为此吧。

六、1.17 总结:这一切都是为数字同事服务的

复制代码
最后,前面所有的操作,修改,唯一目的是服务于这个数字同事。
要让数字同事能同时满足前面的所有条件,并有一定智力,按要求办事,而不是由AI瞎搞。
这是一个小总结,后面我会使用这个数字同事进行开发,一定要认真满足这一切。

小结

这一段亲测也确实测出了不少问题。测试脚本还是有些功能是测试不了的。不过也还是可以做事的。

忘记 spec 是常态。一下忘记 push,一下全电脑找 mvn,这些明明写在 spec 里的,就是不查看。

  1. 验证只能一个个号登录进去看。不同帐号看到的类目、操作日志、详情都不一样,只看一个等于没验。

  2. 只有 super-admin 能跨租户看日志。类别只能删叶子、不许重名,不能有孤儿节点。

  3. 界面证据不能拿 API+DB 降级验证来替代,缺的要补。

  4. 部署不用 docker:后端复制到 130、start.sh 起;前端 nginx 只认 /api 前缀,^~ 排在静态资源正则前面,否则上传的图片会 404。

  5. 上线后要全新测试,不许沿用以前的进度。RSA 没配、作者归属全落在一个人身上,这两件在本地根本测不出来。

  6. 不按要求完成任务比能力不够更不能接受。同一句话说过四五遍还没做,spec 里写死的 push 也能忘。

  7. 前面所有操作和修改,唯一目的是服务这个数字同事。后面我还要用它继续开发。

下一篇是数字同事 v2.0:用 openspec 把这套东西整理成可复用的能力。

相关推荐
踏雪亦无痕1 小时前
论文笔记:Distilling the Knowledge in a Neural Network
论文阅读·人工智能·深度学习·知识蒸馏
soft_hub11 小时前
如何从采访录音中提取新闻重点?
人工智能
Allen_LVyingbo1 小时前
生命过程的分子语言:AI 解析范式与场景应用全景研究(下)
大数据·人工智能·知识图谱·健康医疗·数据库开发·数据库架构
豆角焖肉1 小时前
SpringBoot 集成腾讯 AI 人脸识别
人工智能·spring boot·后端·人脸识别·腾讯 ai·base64 图片
唐老板1 小时前
Claude Code 的上下文与扩展:窗口满了之后怎么办(下)
ai编程
AI情绪识别开源1 小时前
检信 ALLEMOTION AI驱动振动感知健康分析平台多维度技术参数
人工智能·宽度优先·推荐算法
代码方舟1 小时前
Go数据工程:利用天远柠檬查出险优化二手车批发拍卖车源出险核查合规体验
人工智能·go
杰克的技术随笔1 小时前
00_从模型推理到生产运行:2026 年 Agent、Harness 与 Runtime 总体架构
人工智能
AI情绪识别开源1 小时前
检信ALLEMOTION自主研发的FH256高精度频谱技术
人工智能·深度学习