MiFaZhan
|
9c9f6c2a29
|
chore: 并入 iotlcm-upstream-chan 历史到 upstream-chan/(原提交 1e74497)
|
2026-11-02 13:28:02 +08:00 |
|
MiFaZhan
|
691b792391
|
chore: 并入 iotlcm-sms 历史到 sms/(原提交 1d38bc4)
|
2026-11-02 13:28:02 +08:00 |
|
MiFaZhan
|
b10b8cfc51
|
chore: 并入 iotlcm-openapi 历史到 openapi/(原提交 3b05d5a)
|
2026-11-02 13:28:02 +08:00 |
|
MiFaZhan
|
c3c1f09ebd
|
chore: 并入 iotlcm-onelink-mock 历史到 onelink-mock/(原提交 f398595)
|
2026-11-02 13:28:02 +08:00 |
|
MiFaZhan
|
029f81fb1c
|
chore: 并入 iotlcm-docs 历史到 docs/(原提交 947e22e)
|
2026-11-02 13:28:01 +08:00 |
|
MiFaZhan
|
fa1f96e942
|
chore: 并入 iotlcm-deploy 历史到 deploy/(原提交 eb97c53)
|
2026-11-02 13:28:00 +08:00 |
|
MiFaZhan
|
05014446c3
|
chore: 并入 iotlcm-bot 历史到 bot/(原提交 31dbc1d)
|
2026-11-02 13:28:00 +08:00 |
|
MiFaZhan
|
226495365e
|
chore: 并入 iotlcm-app 历史到 app/(原提交 f40bda9)
|
2026-11-02 13:28:00 +08:00 |
|
MiFaZhan
|
03ef151f5b
|
chore: 并入 iotlcm-admin-ui 历史到 admin-ui/(原提交 f305eab)
|
2026-11-02 13:27:59 +08:00 |
|
MiFaZhan
|
193f7393c0
|
chore: 并入 iotlcm-admin-svr 历史到 admin-svr/(原提交 49818c6)
|
2026-11-02 13:27:59 +08:00 |
|
MiFaZhan
|
976980a3f5
|
chore: 初始化 iotlcm 单仓(开源版)
|
2026-11-02 13:27:59 +08:00 |
|
MiFaZhan
|
eb97c5300a
|
fix: 修复代理转发端口缺失与 mock 通道未实例化
测试反馈两个问题:
1. 代理转发地址只写了服务名 upstream-chan,未带端口 → 默认连 80 端口被拒。
改为 upstream-chan:8110。已核对其它服务(admin-svr / openapi / app-server /
worker-svr)的上游地址均带端口,只有 upstream-proxy 这一处遗漏。
2. 直连 8110 查询报「通道未实例化」。根因在种子数据的 is_normal:
该字段语义是 0=正常、1=异常(chan 侧 CanCreateInstance 只在 *IsNormal==0 时
创建实例;NULL 也不合格)。mock 通道原来写的 1,因此实例从未创建。
改为 0。注意内网演示环境种子同样是 1,属开源版修正。
种子的 ON DUPLICATE KEY UPDATE 已包含 is_normal,老库重跑该段即可修复。
已验证(清空 data 目录从零启动):
- t_sim_channels 中 channel_yd_mock 的 is_normal=0
- chan 日志出现 Create channel instance success, chanKey: channel_yd_mock
- 日志无 abnormal / 未实例化 相关记录
|
2026-10-30 17:44:02 +08:00 |
|
MiFaZhan
|
01d1e39c34
|
fix: docs 镜像改回 v1.0.4(修复已并入该版本,不新增版本号)
版本号与功能一一对应,这是开源发布版本,修复不能自造新版本号。
- iotlcm-docs 的 git tag v1.0.4 前移到含 nginx 修复的提交(947e22e)
- 镜像 iotlcm/iotlcm:iotlcm-docs-v1.0.4 用修复版覆盖(现 digest 8ae5b646)
- 删除临时产生的 git tag v1.0.5 与镜像 tag iotlcm-docs-v1.0.5
- 本仓 docs 镜像 tag 从 v1.0.5 改回 v1.0.4
实测重新拉取 v1.0.4 后:/ 302、/docs/ 200、/docs/manual/web/ 200、核心 CSS 200。
|
2026-10-30 13:39:20 +08:00 |
|
MiFaZhan
|
a8a5537c69
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:20:32 +08:00 |
|
MiFaZhan
|
f3985950cc
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:20:31 +08:00 |
|
MiFaZhan
|
947e22e3b9
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:20:30 +08:00 |
|
MiFaZhan
|
31dbc1d910
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:20:00 +08:00 |
|
MiFaZhan
|
1d38bc4226
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:19:59 +08:00 |
|
MiFaZhan
|
f40bda99a8
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:19:58 +08:00 |
|
MiFaZhan
|
1e74497728
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:19:56 +08:00 |
|
MiFaZhan
|
3b05d5a73a
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:19:53 +08:00 |
|
MiFaZhan
|
f305eab7d6
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:19:52 +08:00 |
|
MiFaZhan
|
49818c6dbe
|
ci: 镜像到 Gitee 增加退避重试与每日兜底
Gitee 在推送密集时返回 429 Pending queue overflowed / 408 Authorization server
timeout,属服务端限流,原实现一次失败即终止。
- 推送改为最多 5 次退避重试(30s/60s/90s/120s)
- 增加每日定时兜底(18:30 UTC = 次日 02:30 北京时间),
避免某次推送失败后长期不同步
|
2026-10-30 13:19:51 +08:00 |
|
MiFaZhan
|
6b5fb707c2
|
fix: docs 镜像升级到 v1.0.5,修复文档站白屏
测试反馈:访问文档站白屏、点击无反应。
根因:VitePress 配置 base: '/docs/',构建产物里资源引用是绝对路径 /docs/assets/xxx,
而 dist 目录是平铺的;镜像里的 nginx.conf 从根路径服务,/docs/assets/* 全部 404。
(此前修过同一问题,v1.0.4 同步代码时被覆盖回旧配置。)
上游已在 iotlcm-docs 修 nginx.conf(alias 剥前缀 + / -> /docs/ 重定向)并打 v1.0.5,
镜像 iotlcm-docs-v1.0.5 已由 tag 推送自动构建入库。
本仓把 docs 镜像 tag 从 v1.0.4 升到 v1.0.5。
实测:/ 302、/docs/ 200、/docs/manual/web/ 200、核心 CSS 200。
|
2026-10-30 13:19:18 +08:00 |
|
MiFaZhan
|
eeeb6572ba
|
fix: nginx 在 /docs/ 下服务产物,修复白屏
VitePress 配置 base: '/docs/',构建出的 HTML 里资源引用是绝对路径 /docs/assets/xxx;
而 dist 目录是平铺的(index.html、assets/ 直接在根)。原 nginx.conf 从根路径服务,
/docs/assets/* 全部 404 → 页面能打开但 JS/CSS 加载失败,白屏、点击无反应。
改为用 alias 把 /docs/ 前缀剥掉再落到产物目录,并加 / -> /docs/ 的 302,
避免直接访问根路径白屏。
实测(本地构建镜像后):/docs/ 200、/docs/manual/web/ 200、/docs/openapi/ 200、
核心 CSS 资源 200;/ 返回 302。
|
2026-10-30 13:11:58 +08:00 |
|
MiFaZhan
|
56e930c7d0
|
docs: 初始化脚本注释去掉内部环境措辞(仅注释,不影响执行)
schema/init.sql 两处「照预演」的注释改为直述授权范围,避免出现内部环境字样。
SQL 语句本身未改动。
|
2026-10-30 11:50:19 +08:00 |
|
MiFaZhan
|
644cbe164d
|
docs: 修复 crud-style 模板 README 的悬空引用
MEMORY.md 已从开源仓移除,README 仍要求「必须同步阅读 MEMORY.md」并列出其内容。
改为直接用「常见踩坑」小节承载这些纠错要点,目录树中同步去掉 MEMORY.md 条目。
|
2026-10-30 11:50:18 +08:00 |
|
MiFaZhan
|
5b039393dc
|
docs: 移除开发过程文档,开源版文档统一见文档站
- vue/aaa.md(临时草稿,实为 Vue 代码片段,扩展名误写成 .md)
- vue/apps/web-antd/src/template/iotlcm-crud-style/MEMORY.md(内部迁移实战记忆与踩坑记录,含本机绝对路径)
文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs
|
2026-10-30 11:43:53 +08:00 |
|
MiFaZhan
|
f38f15dd7e
|
docs: 移除开发过程文档,开源版文档统一见文档站
- AGENTS.md(内部 agent 协作规范与 GoFrame/Vben 开发约定,含内部项目概述)
文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs
|
2026-10-30 11:43:20 +08:00 |
|
MiFaZhan
|
ce0db55e36
|
docs: 移除开发过程文档,开源版文档统一见文档站
- docs/superpowers/plans/2026-07-13-sqlite-generated-cards.md(SQLite 挡板改造实施计划,含任务分解与勾选清单)
保留 docs/deploy.md(面向使用者的部署说明)。
文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs
|
2026-10-30 11:43:10 +08:00 |
|
MiFaZhan
|
6ed0691134
|
docs: 移除开发过程文档,开源版文档统一见文档站
- docs/apika-shared-token-integration.md(Apika 共享 Token 通道对接说明)
- docs/mingqian-integration.md(明千 v3 三方接入操作手册,含本地工作区路径与部署步骤)
- docs/mobile-public-token-integration.md(移动公共 Token 通道配置与签名说明)
- docs/telecom-v3-apn-integration.md(电信 V3 APN 状态与开停适配,含内部回退记录)
- docs/plans/channel-template-model-design.md(通道模板模型设计方案)
- docs/plans/telecom-v3-integration-and-switch.md(电信 v1/v3 切换与回退方案,含开发库现状)
- docs/scripts/query_sim_card_status.sh、docs/scripts/query_sim_session.sh(内部联调脚本)
- docs/sql/*.sql(共享模板迁移与种子 SQL)
保留 docs/config/*.json 通道模板样例(已脱敏,对使用者有参考价值)。
文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs
|
2026-10-30 11:42:38 +08:00 |
|
MiFaZhan
|
623af9e3c7
|
docs: 移除开发过程文档,开源版文档统一见文档站
- docs/batch-number.md(内部批次编号约定,含预演/生产 Redis 隔离说明)
- docs/openapi-permission-rollout.md(v1.0.4 权限修复上线说明,含路由下线决定与授权放量流程)
文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs
|
2026-10-30 11:40:50 +08:00 |
|
MiFaZhan
|
0e8b596bf6
|
docs: 移除开发过程文档,开源版文档统一见文档站
- docs/agent-role-template.md(代理角色模板与机构权限上限,内部业务规则)
- docs/agent-role-template-deployment.md(代理模板上线配置,含各环境角色 ID 核对)
- docs/角色权限异步同步.md(RabbitMQ 多级权限同步设计与失败重试语义)
- docs/普通角色与模板校验边界.md(普通角色维护边界与校验规则)
文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs
|
2026-10-30 11:40:42 +08:00 |
|
MiFaZhan
|
69a136b05d
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml
|
2026-10-30 11:27:41 +08:00 |
|
MiFaZhan
|
27ce9df7a5
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:32 +08:00 |
|
MiFaZhan
|
3b9b1bc045
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:32 +08:00 |
|
MiFaZhan
|
468796d843
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:31 +08:00 |
|
MiFaZhan
|
139ce6baad
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:31 +08:00 |
|
MiFaZhan
|
6d71fa79b1
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:29 +08:00 |
|
MiFaZhan
|
0f963ac085
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:28 +08:00 |
|
MiFaZhan
|
70fcb230eb
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:27 +08:00 |
|
MiFaZhan
|
af3988a738
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
|
2026-10-30 11:27:27 +08:00 |
|
MiFaZhan
|
e4298ef64c
|
ci: main/tag 推送时自动镜像到 Gitee
新增 .gitea/workflows/mirror-to-gitee.yml:
- 触发:push 到 main、push v* tag、手动 dispatch
- 动作:git clone --mirror 源仓 → git push --mirror 到 gitee.com/snowgoat/<同名仓库>
- 凭据:组织密钥 SRC_GIT_TOKEN(源仓只读)、GITEE_TOKEN / GITEE_OWNER / GITEE_USER(目标)
- 同一 ref 连续推送时取消旧任务
|
2026-10-30 11:26:19 +08:00 |
|
MiFaZhan
|
a30c286b03
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:50 +08:00 |
|
MiFaZhan
|
200846aee3
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:49 +08:00 |
|
MiFaZhan
|
1e3e2c4bb9
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:48 +08:00 |
|
MiFaZhan
|
10df6d65aa
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:48 +08:00 |
|
MiFaZhan
|
da84d3f010
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:47 +08:00 |
|
MiFaZhan
|
452f7c6549
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:45 +08:00 |
|
MiFaZhan
|
9fb667cc6a
|
ci: Jenkins job 改由组织密钥指定,适配 folder 化
Jenkins 的 job 已移入文件夹 iotlcm-opensrc,访问路径变为
/job/iotlcm-opensrc/job/iotlcm-oss-build/,原硬编码的 /job/iotlcm-oss-build/ 会 404。
改为读取组织密钥 JENKINS_JOB_PATH,默认回退到旧路径。
以后 Jenkins 里再移动 job 只需改该密钥,不必改 11 个仓。
|
2026-10-30 11:10:44 +08:00 |
|