root
|
39d69108f7
|
feat(P1-1本地/P2-1): beforeUpdate草稿转发布合并旧文档fail-closed / es.json ASCII安全西语(备份.zcode/bak)
|
2026-09-13 07:12:29 +08:00 |
|
root
|
3117146281
|
feat: 打通 HBuilderX CLI 构建 + 修复文章闭环静态盲区
构建:
- 新增 tools/build.js:junction HBuilderX 工具链,CLI 构建 h5/mp-weixin
- vue 指向补丁版 @dcloudio/uni-h5-vue(官方 npm vue 不导出 isInSSRComponentSetup)
- 设 HX_APP_ROOT 避免退化成 H5 空壳产物;产物完整性校验
校验工具:
- 新增 check-cloud-methods.js:acorn 解析云对象方法,比对 94 处调用点
- 新增 check-android-contract.js:Kotlin 侧云对象契约校验
- audit-project.js 修 downloadFile 误报(注释未剥离);tools/ 排除出扫描
- package.json 声明此前隐式依赖的 acorn
功能:
- 补 uni-cms-articles.getPublishedArticles(安卓端依赖但此前不存在)
- 修 u-parse <audio> 引用已移除组件导致 H5 构建失败
|
2026-09-12 01:02:45 +08:00 |
|
root
|
4f5893f87a
|
fix: 修复首页空白/失效外链/云函数越权,补齐缺失页面与种子数据
## 阻断性缺陷
- list.vue 是 0 字节空文件、slist.vue 与 search/search.vue 从未存在,
而前者是 tabBar 首页、后者是 tabBar「搜索」页 —— 开屏即白屏。
按 .nvue 原型与详情页契约重建三页(CSS 渐变主视觉、分类筛选、搜索历史/热搜/联想)。
- parse-image-url.js 对空封面调 undefined.startsWith 直接抛错,列表页整页崩。
- 云函数目录缺 uni-cms-articles / uni-cms-categories / uni-cms-unlock-record
schema 与 schema.ext.js,线上内容渲染与解锁逻辑无配置可用。
## 越权与数据一致性
- uni-cms-articles:del/update/add 全部无鉴权,未登录即可删任意文章、
改他人文章作者与阅读量。补 login + 作者归属校验,作者与计数改为服务端取值。
- comments.likeComment/relikeComment:直接采信客户端传入的 user_id,
可冒名点赞刷计数。改为以令牌为准,并纳入事务。
- comments.updateComment:对数组取 .author_id,权限判断恒失败;
字段名 updateTime 与 ip_location 类型与 schema 不符。
- comments.deleteComment:`!root_id === 0` 优先级错误导致计数恒不减;
且误更新 uni-cms-articles、按不存在的 type 字段删点赞明细产生孤儿数据。
- cms-articles-like/collect:查重条件混入本次请求时间戳,防重永远失效,
可无限重复刷计数;补唯一索引并事务化。
- cms-vote:读-改-写票数导致并发丢票,记录与统计非原子;改为事务 + 原子自增。
- cms-articles-log:忽略传入 user_id 直接返回全表,泄露全站浏览记录。
- article_info:get() 使用未定义变量必崩;读接口全部无鉴权。
- user-info:公开资料接口可查任意用户 last_login_ip。
## 资源与数据
- 全项目清空失效的签名外链(expire_at 均为 2025-03,必然 403),
改为本地生成资源:6 套文章模板、8 个编辑器图标、2 张文章配图。
- 新增分类 / 模板 / 礼物 / 热搜词种子数据,并在 db_init.json 登记,
同时补上点赞、收藏、投票、浏览日志的唯一索引。
## 功能
- 草稿箱:预览页拆出「发布」与「存为草稿」,作品列表按状态筛选并显示徽标。
原实现有 4 个 tab 但只有 1 个有内容,且 article_status 在 UI 上无体现。
- 编辑中断恢复:接上原本空实现的「编辑草稿」回调,区分新建与编辑已有文章。
## 工具
- tools/audit-project.js:编码 / 页面路由 / 云调用 / 云函数鉴权 / 敏感信息检查
- tools/check-vue.js:SFC 脚本语法(词法扫描处理 import·export 与条件编译)
- tools/verify.js:一键验证;两个检查器各带自测,防止"永远通过"
- tools/gen-*.py:模板与图标资源生成脚本
|
2026-09-11 17:48:27 +08:00 |
|
root
|
3cd8fc247d
|
fix: 启动页提为 tabBar 首页并修复失效的 switchTab;补写 README
- pages.json 启动页改为文章列表页(原启动页 pages/index/index 不在 tabBar,启动无底部导航,且其闪屏图签名已于 2025-03 过期显示裂图)
- 修复 editCms/editSetting/zetank-backBar 3 处 switchTab 指向非 tabBar 页面导致跳转失效的问题
- README.md 重写(原文件 UTF-16 编码仅 # t):补功能、技术栈、目录、运行说明与密钥安全提示
|
2026-09-08 16:30:28 +08:00 |
|
root
|
ffd214eeba
|
fix: 修复 uView 组件文件编码乱码
- 85 个 uView props.js 的中文注释由 GBK 乱码还原为 UTF-8 并去除 BOM
- uview-ui/index.js 修复 2 行注释乱码
- 各文件头部 uview-init 兜底 import 保留,功能改动不变
|
2026-09-08 15:44:20 +08:00 |
|
root
|
99c139d6ce
|
fix: Vue2 到 Vue3 迁移兼容修复
- 修复 uni-popup-dialog/uni-data-picker keypress.js 中 $once 在 H5 端报错(改用生命周期钩子清理监听)
- main.js 补 $delete globalProperties polyfill(z-paging 自动高度逻辑依赖)
- App.vue onLaunch 补设备信息初始化,修复 X-Device-Id 恒为 unknown
- 68 处 ::v-deep、/deep/ 旧深度选择器替换为 :deep()(含 login-page.scss)
- zetank-personalpage 组件 .sync 修饰符改为 v-model:xxx(Vue3 已移除 .sync)
- vite.config.js HBuilderX 路径支持 HBUILDERX_HOME 环境变量覆盖
- 根 package.json 清理 image-grid 插件遗留元数据
- 收录此前未提交的 uView Vue3 兜底补丁(common/uview-init.js 及各组件 props.js)
|
2026-09-06 19:36:36 +08:00 |
|
root
|
a68bf43112
|
添加 uni-cms-article 页面及数据库配置
|
2026-08-28 13:56:52 +08:00 |
|
root
|
315bc474d6
|
完善未完成功能:修复关注列表/评论发布/编辑器草稿等页面
|
2026-08-06 00:10:19 +08:00 |
|
root
|
b3c6fc67c9
|
Initial commit to Gitea
|
2026-05-04 00:43:20 +08:00 |
|
root
|
a41fbbd663
|
created
|
2025-06-13 20:48:15 +08:00 |
|
root
|
898b816655
|
test
|
2025-06-13 20:46:10 +08:00 |
|
root
|
a3e6a6d8b8
|
INFO
|
2025-03-28 16:27:26 +08:00 |
|
root
|
f654e16c18
|
info
|
2025-03-21 09:38:06 +08:00 |
|
root
|
8e35b74d86
|
info
|
2025-03-20 19:32:25 +08:00 |
|
root
|
ebc8c7bb26
|
info
|
2025-03-13 03:10:06 +08:00 |
|
c
|
70b7c82c97
|
info
|
2025-03-12 20:11:03 +08:00 |
|