From d18aeaae0f9bb6e21a74af2439142bb324e2e1ff Mon Sep 17 00:00:00 2001 From: WanP <3515436235@qq.com> Date: Fri, 14 Nov 2025 16:07:02 +0800 Subject: [PATCH] addfallbackimg --- README.md | 48 ++++++++++++++++-- src/pages/comments/comments.vue | 12 ++++- src/pages/findmore/findmore.vue | 2 +- src/pages/post.vue | 8 +-- src/static/imgs/empty-img/b-empty-img.webp | Bin 0 -> 2192 bytes src/static/imgs/empty-img/b-empty-img@2x.webp | Bin 0 -> 4360 bytes src/static/imgs/empty-img/b-empty-img@3x.webp | Bin 0 -> 6574 bytes 7 files changed, 60 insertions(+), 10 deletions(-) create mode 100644 src/static/imgs/empty-img/b-empty-img.webp create mode 100644 src/static/imgs/empty-img/b-empty-img@2x.webp create mode 100644 src/static/imgs/empty-img/b-empty-img@3x.webp diff --git a/README.md b/README.md index 7340ac9..3073be6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # paipweb 项目 + ## 项目概述 - **项目名称**: paipweb @@ -25,17 +26,21 @@ yarn install ## 开发环境运行 ### H5 开发模式 + ```bash npm run dev:h5 ``` + 启动后访问 http://localhost:5173 ### 自定义平台开发模式 + ```bash npm run dev:custom ``` ### SSR 模式(H5) + ```bash npm run dev:h5:ssr ``` @@ -43,17 +48,21 @@ npm run dev:h5:ssr ## 构建打包 ### H5 构建 + ```bash npm run build:h5 ``` + 构建产物位于 `dist/build/h5` 目录 ### 自定义平台构建 + ```bash npm run build:custom ``` ### SSR 构建(H5) + ```bash npm run build:h5:ssr ``` @@ -65,30 +74,44 @@ paipweb/ ├── src/ # 源代码目录 │ ├── App.vue # 应用入口 │ ├── main.js # 主入口文件 +│ ├── api/ # API 接口 +│ │ └── api.js # API 配置 │ ├── pages/ # 页面目录 -│ │ ├── components/ # 组件目录 -│ │ └── index/ # 首页 +│ │ ├── comments/ # 评论组件 +│ │ ├── findmore/ # 发现更多组件 +│ │ ├── head/ # 下载应用组件 +│ │ ├── index/ # 首页 +│ │ ├── intereact/ # 互动组件 +│ │ ├── news.vue # 新闻页面 +│ │ ├── post.vue # 帖子页面 +│ │ └── video.vue # 视频页面 │ ├── stores/ # 状态管理 │ │ └── common.js # 公共状态 │ ├── static/ # 静态资源 │ │ ├── fonts/ # 字体文件 │ │ ├── imgs/ # 图片资源 +│ │ ├── logo.png # 应用图标 │ │ └── videos/ # 视频资源 +│ ├── pages.json # 页面配置 +│ ├── manifest.json # 应用配置 │ └── uni.scss # 全局样式 -├── uni_modules/ # uni-app 模块 +├── uni_modules/ # uni-app 模块(包含各种UI组件) ├── package.json # 项目配置 ├── vite.config.js # Vite 配置 +├── index.html # HTML 入口文件 └── manifest.json # 应用配置 ``` ## 测试指南 ### 功能测试 + 1. 运行开发服务器:`npm run dev:h5` 2. 在浏览器中访问 http://localhost:5173 3. 测试各个页面的功能是否正常 ### 打包测试 + 1. 执行构建命令:`npm run build:h5` 2. 检查构建产物是否完整 3. 在服务器上部署构建产物进行测试 @@ -96,16 +119,19 @@ paipweb/ ## 常见问题 ### 依赖安装失败 + - 确保 Node.js 版本符合要求 - 尝试清除缓存:`npm cache clean --force` - 使用淘宝镜像:`npm config set registry https://registry.npmmirror.com` ### 构建失败 + - 检查 Node.js 和 npm 版本 - 确认所有依赖已正确安装 - 查看控制台错误信息进行排查 ### 样式问题 + - 检查 Sass 是否正确安装 - 确认 uni.scss 中的变量和混入是否正确导入 @@ -116,3 +142,19 @@ paipweb/ - 页面文件放在 `src/pages` 目录下 - 公共组件放在 `src/pages/components` 目录下 - 状态管理使用 Pinia + +# 当前存在问题 + +- 目前是自动跳转到指定页面,后续按需修改跳转逻辑 + - 等待阶段:当前还没有添加等待动画,后续按需添加 + - 加载失败:缺省图貌似需要修改 +- 页面布局问题 + - FindMore 组件:目前采用 fixed 定位,固定在页面底部 + - Video 页面:视频与评论在拉动时,评论和右侧互动区域会跟随浏览器窗口向上移动,导致重叠遮挡问题;右侧互动区域图标需要更换 + - Post/News 页面:评论组件互动区域布局问题(可以先检查) + - 评论组件 + - 互动区域图标需要更换 + - 评论父子关系需要使用数据中的 parent(Comment)Id 进行追踪再展示(还没有实现) + - 在 video 页面后续可能会变更为弹幕组件 + - 缺省图 + - 各个页面/组件缺省图需要更换 diff --git a/src/pages/comments/comments.vue b/src/pages/comments/comments.vue index e7d1f61..0ddb7b5 100644 --- a/src/pages/comments/comments.vue +++ b/src/pages/comments/comments.vue @@ -82,7 +82,7 @@ - 暂无评论 + 暂无评论 空空如也~ @@ -528,11 +528,19 @@ main { .nocomments { display: flex; flex-direction: column; + align-items: center; + justify-content: center; text-align: center; margin: 0 auto; max-width: 100%; - gap: 12px; + gap: 8px; padding: 12px; + height: 200px; +} + +.nocomments image { + display: block; + margin: 0 auto; } .nocommentstext { diff --git a/src/pages/findmore/findmore.vue b/src/pages/findmore/findmore.vue index 5a2ecf2..89f8596 100644 --- a/src/pages/findmore/findmore.vue +++ b/src/pages/findmore/findmore.vue @@ -28,7 +28,7 @@ const common = useCommonStore() .openapptext { width: 96px; height: 22px; - font-size: 16px; + font-size: 1em; font-weight: 600; font-stretch: normal; font-style: normal; diff --git a/src/pages/post.vue b/src/pages/post.vue index 1f21eaa..9fcada4 100644 --- a/src/pages/post.vue +++ b/src/pages/post.vue @@ -300,23 +300,23 @@ page, .page { width: 100%; max-width: 430px; - height: auto; + height: 100vh; display: flex; flex-direction: column; margin: 0 auto; - position: relative; + /* position: relative; */ } .content { flex-shrink: 0; - overflow: hidden; + /* overflow: hidden; */ display: flex; flex-direction: column; } .moment { width: 100%; - flex-shrink: 0; + /* flex-shrink: 0; */ display: flex; flex-direction: column; box-sizing: border-box; diff --git a/src/static/imgs/empty-img/b-empty-img.webp b/src/static/imgs/empty-img/b-empty-img.webp new file mode 100644 index 0000000000000000000000000000000000000000..1bb65212a9b499248f47d2d0b707d34442108e4c GIT binary patch literal 2192 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 literal 0 HcmV?d00001 diff --git a/src/static/imgs/empty-img/b-empty-img@3x.webp b/src/static/imgs/empty-img/b-empty-img@3x.webp new file mode 100644 index 0000000000000000000000000000000000000000..0631c7f7975a2adab44f1f4b99da61bbf08e6c88 GIT binary patch literal 6574 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 AIsgCw literal 0 HcmV?d00001