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 前端上线


五、上线后按测试脚本全新测一轮,脚本升到 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 里的,就是不查看。
-
验证只能一个个号登录进去看。不同帐号看到的类目、操作日志、详情都不一样,只看一个等于没验。
-
只有 super-admin 能跨租户看日志。类别只能删叶子、不许重名,不能有孤儿节点。
-
界面证据不能拿 API+DB 降级验证来替代,缺的要补。
-
部署不用 docker:后端复制到 130、start.sh 起;前端 nginx 只认 /api 前缀,^~ 排在静态资源正则前面,否则上传的图片会 404。
-
上线后要全新测试,不许沿用以前的进度。RSA 没配、作者归属全落在一个人身上,这两件在本地根本测不出来。
-
不按要求完成任务比能力不够更不能接受。同一句话说过四五遍还没做,spec 里写死的 push 也能忘。
-
前面所有操作和修改,唯一目的是服务这个数字同事。后面我还要用它继续开发。
下一篇是数字同事 v2.0:用 openspec 把这套东西整理成可复用的能力。