返回列表 发布新帖

测试

11 0
发表于 昨天 22:52 来自手机 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

源社区应用商店
一、版本记录

版本  日期  作者  说明
v0.1    2025-09-9       ①全页面手机版视觉稿②后台完整布局③评论区管理+附件④UTF-8   

二、总体定位

  • 产品名称:Official App Center(官方应用中心)
  • 终端:PC(≥1200px)、Pad(768-1199px)、Mobile(≤767px)
  • 技术:DZX3.5 插件;PHP7.4-8.x+MySQL5.7-8.x;
  • 编码:插件所有代码文件强制 UTF-8 无 BOM(含模板、语言包、JS、CSS)

三、设计系统

3.1 品牌色

  • Primary:#5270FF → #7A87FF 45°渐变
  • 功能色:Success #10C961 / Error #FF3B30 / Warning #FFCC00
  • 中性色:Title #141733 / Body #3C4054 / Line #EEF0F6 / Bg #FAFBFC

3.2 圆角 & 阴影

  • 卡片圆角:PC 12px / Mobile 16px
  • 按钮圆角:PC 8px / Mobile 12px
  • 阴影:0 4 24px rgba(82,112,255,0.08)

3.3 字体

  • PC:PingFang SC, HarmonyOS_Sans, 14px
  • Mobile:系统字体,15px 基准

3.4 栅格

  • PC:24 列,间隙 24px,最大宽 1200px
  • Mobile:4 列,间隙 16px,左右安全距 16px

3.5 动效

  • hover: y-4px + 阴影 50ms ease
  • 路由切换:opacity 100ms + 微 blur
  • 按钮点击:涟漪中心扩散 200ms

3.6 暗黑模式

  • CSS 变量:跟随系统或顶部开关

四、技术与耦合策略

功能  复用论坛    插件自建
用户权限    $_G['group'] 原生权限体系   ❌
附件大小    $_G['group']['maxattachsize']
交易积分    后台【积分设置】已存在字段   ❌
消息通知    common_member_notice  ❌
缓存  memory()->get/set 跟随论坛配置   ❌
文件存储    本地/COS/OSS/Kodo(插件自建驱动) ✅
网盘上传    白名单+HEAD检测(插件自建)    ✅
评论区管理   后台设置管理组+附件权限    ✅   

五、文件存储策略(详细)

5.1 本地存储

  • 路径:data/attachment/appstore/
  • 命名:{uid}_{md5}_{timestamp}.{ext}
  • 病毒扫描:ClamAV 实时扫描

5.2 云存储(COS/OSS/Kodo)

  • 配置:后台填 Region、Bucket、SecretId、SecretKey、CDN域名
  • 上传流程:文件→病毒扫描→本地上传→云存储驱动→成功删除本地→remote=1
  • 下载流程:优先CDN→404时fallback本地→统计+1

5.3 迁移详细逻辑

  • 后台按钮:「本地→云」「云→本地」
  • 点击后弹窗:
    • 单选:①仅改配置 ②迁移文件
    • 输入:并发数(默认5)、失败重试(默认3)
  • 队列表 migration_queue
  id, file_id, direction(cloud/local), status(wait/done/fail), retry, update_time
  • 计划任务 cron_migration.php
    1. 消费 N 条队列
    2. 下载源文件到临时目录
    3. 上传到目标存储
    4. 校验 MD5
    5. 更新 remote 字段
    6. 失败:retry+1;达到上限写日志+后台红点
  • 站长通知:迁移完成发送 common_member_notice

六、缓存策略(跟随论坛)

  • 介质:后台【性能->内存】所选 File/Redis/Memcached
  • KEY 前缀:appstore_{sid}_
  • 生命周期:与论坛主题列表一致(300s);详情页 60s;评论 30s
  • 清理:应用状态变更时 memory()->rm()

七、信息架构 IA

根 /
├─ 首页(PC+Mobile)
├─ 分类列表
├─ 搜索页
├─ 排行榜
├─ 应用详情页(含评论区)
├─ 开发者主页
├─ 用户中心
├─ 上传应用
├─ 更新应用
├─ 审核跟踪
├─ 帮助&协议
└─ 后台管理(PC)

八、全局规则

  • 路由:plugin.php?id=appstore&mod={page}&ac={sub}
  • 伪静态:/app/{id}.html /category/{catid}.html
  • 权限:继承 $_G['group'];新增「开发者」「审核员」
  • 货币:使用论坛【积分设置】交易积分字段
  • 上传大小:读 maxattachsize;后缀后台白名单
  • 通知:插入 common_member_notice;跳论坛消息中心
  • 缓存:跟随论坛内存设置;KEY 见第 5 节
  • 评论:表结构复用 forum_thread/post;type='appstore_comment'
  • SEO:伪静态 + TKD + 结构化数据 Product

九、页面级需求(PC & Mobile 双模板)

9.1 首页

Mobile 视觉稿(像素级)

┌─ 状态栏高 24px(系统)                  ┐
├─ 导航栏高 56px                          │
│  分类图标(左)Logo 居中 发布+(右)      │
├─ Hero 轮播高 210px(16:9)               │
│  指示器圆点 6px;手势滑动                │
├─ 分类宫格 8 个 72px 图标 + 12px 文字       │
├─ 搜索入口高 48px(圆角 12)               │
├─ 新品卡片单列                           │
│  卡片高 120px;圆角 16;阴影 Y4           │
├─ 排行榜标签高 48px;指示线 2px            │
├─ 猜你喜欢瀑布流                         │
│  卡片宽 = (屏幕-48)/2;高度自适应         │
└─ 悬浮发布按钮 56px;右下 16px 安全距      │

PC 视觉稿

  • 导航通栏高 64px;轮播高 400px;三栏排行榜;瀑布流三列
  • 其余元素同 Mobile 比例放大

实现逻辑

  • 轮播/精选:后台「首页装修」拖拽排序;缓存 300s
  • 瀑布流:前端 column-count:2 + IntersectionObserver 懒加载
  • 下拉加载:URL plugin.php?id=appstore&mod=index&page=2 返回 JSON

9.2 分类列表

Mobile

  • 顶部 Tab 横向滑动(一级分类)
  • 筛选抽屉:价格、评分、时间、排序
  • 结果瀑布流;加载更多

PC

  • 左侧树形分类+标签多选;右侧双列卡片;排序条;网格/列表切换

逻辑

  • 分类树:读 forum_forum where type='appstore'
  • 筛选缓存 KEY appstore_cat_{catid}_{filter_md5} 300s

9.3 搜索页

Mobile

  • 搜索框吸顶;历史标签横向;即时建议下拉
  • 结果双列;空态插图+热门关键词

PC

  • 左侧高级筛选;右侧双列;支持语法 tag:游戏 价格:免费

逻辑

  • 建议接口:mod=suggest&q=关键词 返回 JSON
  • 结果缓存:appstore_search_{md5(q+filter)} 300s

9.4 排行榜

  • 维度:下载/评分/新品/飙升/付费;时间日周月总
  • Mobile:顶部标签;下拉加载
  • PC:三栏并排 TOP100
  • 缓存:每小时;KEY appstore_rank_{type}_{time} 3600s

9.5 应用详情页(含评论区)

Mobile 视觉稿

┌─ 返回+分享 │ 名称+收藏(右上)           ┐
├─ 媒体区轮播高 210px                     │
├─ 信息区吸顶(图标+名称+评分+下载按钮)    │
├─ Tab 横向滑动:详情 | 版本 | 评论 | 问答 │
├─ 评论区(见下独立章节)                 │
└─ 底部悬浮下载按钮高 56px                 │

PC 视觉稿

  • 媒体区左 640px;信息区右 360px;评论区全宽;侧边栏相关推荐

实现逻辑

  • 媒体:图片懒加载;视频自动播放静音
  • 价格:限时免费倒计时 JS;到期 cron 改回积分
  • 下载:按钮触发 gateway.php?id=xx→302→CDN/本地

9.6 评论区(手机版独立模板)

Mobile 视觉稿

├─ 评论输入框吸底高 88px                    │
│  左侧头像 32px;中间输入;右侧发送        │
│  支持图+语音+表情                         │
├─ 排序 Tab:最新/最热/最早(下拉菜单)      │
├─ 单条卡片:                               │
│  ├─ 头像 40px + 昵称 + 等级徽章           │
│  ├─ 内容区(图片宽度=屏幕-32px)          │
│  ├─ 底部:点赞 | 回复 | 举报 | 时间      │
│  └─ 楼中楼默认 2 条;点「展开 3 条」       │
└─ 加载更多:论坛原生分页 20                │

PC 视觉稿

  • 输入框右侧;楼中楼完整显示;分页页码

逻辑

  • 发帖:调用 forum_post.php?action=reply with type='appstore_comment'
  • 点赞:调用 home.php?mod=spacecp&ac=praise
  • 缓存:与帖子回帖一致 30s;KEY appstore_comments_{appid}_{page}

9.7 开发者主页

Mobile

  • 封面图 180px;头像 80px 居中;认证标
  • Tab:应用 | 动态 | 关于
  • 应用卡片双列瀑布流

PC

  • 封面 1440×320;左侧统计;右侧公告;应用三列

逻辑

  • 统计 SQL:应用数、下载数、积分收益(读 common_credit_log

9.8 用户中心

Mobile

  • 底部 Tab:首页/搜索/发布/消息/我的
  • 「我的」页面:用户卡片+宫格+动态时间轴
  • 点击「消息」→ 跳 home.php?mod=space&do=notice

PC

  • 左侧导航树;右侧 Dashboard 图表(Chart.js)
  • 积分图表:读 common_credit_log

逻辑

  • 所有数据读论坛原生表;不再自建

9.9 上传应用(首次)

Mobile 视觉稿(单页折叠)

┌─ 进度条(0%-100%)高 4px                  ┐
├─ 基础信息折叠块                         │
│  名称* / 分类* / 标签 / 简介*            │
├─ 文件折叠块                             │
│  选择文件按钮高 48px                    │
│  自动解析 config.xml→版本号             │
├─ 图文折叠块                             │
│  封面图拖拽裁剪                         │
│  截图≥3(拖拽排序)                     │
│  详情描述富文本+Markdown 切换            │
├─ 定价折叠块                             │
│  免费/积分/限时免费单选                 │
│  限时免费→日期时间选择器                │
└─ 底部保存草稿 + 提交按钮                │

PC 视觉稿

  • 4 步向导;左侧步骤指示;右侧内容区
  • 封面图裁剪弹窗(Cropper.js)

逻辑

  • 文件大小:实时读 <!--{eval echo $_G['group']['maxattachsize']}-->
  • 后缀:本地允许 = 论坛 attachextensions;网盘允许 = 后台白名单
  • 云存储:选择 COS/OSS/Kodo→后台填密钥→文件流上传→remote=1

9.10 更新应用(版本)

Mobile

  • 顶部提示「当前版本 1.2.3」
  • 表单块:
    • 版本号 / 更新日志(富文本)
    • 文件(可选,不选则只更新日志)
    • 截图(可选,可替换)
  • 提交→进入审核→原版本状态=历史

PC

  • 版本时间轴左+表单右
  • 支持「版本对比」diff 弹窗

逻辑

  • 写入 appstore_version 新记录;状态=待审核
  • 审核通过后旧版本 status=history

9.11 审核跟踪

Mobile

  • 时间轴垂直;图标+状态+时间+审核员留言
  • 底部「重新提交」按钮(如被拒绝)

PC

  • 横向时间轴+留言卡片

逻辑

  • 状态机:待审核→初审→复审→通过/拒绝→已上架/需修改
  • 每次变更:插入 common_member_notice + 邮件(跟随论坛)

9.12 帮助&协议

Mobile

  • 折叠面板 FAQ;顶部搜索关键词高亮
  • 底部「提交工单」→跳论坛工单插件

PC

  • 左侧树形帮助分类;右侧内容区

逻辑

  • 后台「帮助管理」富文本编辑;缓存 1 天

9.13 后台管理(PC 仅)

布局

┌─ 顶部导航:Logo | 消息 | 头像                     ┐
├─ 左侧菜单树(可折叠)                             │
│  ├─ 仪表盘
│  ├─ 应用管理
│  ├─ 评论管理
│  ├─ 云存储迁移
│  ├─ 首页装修
│  ├─ 营销工具
│  ├─ 财务
│  └─ 系统设置
├─ 右侧内容区(卡片式)                             │
└─ 底部:版本号 + 返回站点                         │

关键页面

  1. 仪表盘
    • 实时 PV、待审核、迁移进度(进度条+百分比)
    • 图表:7 日上传/下载趋势(Chart.js)
  2. 应用管理
    • 表格:ID、名称、作者、版本、状态、操作(审核/下架/删除)
    • 批量操作:审核、移动分类、生成兑换码
    • 版本对比弹窗:截图、日志、文件大小 diff
  3. 云存储迁移
    • 进度条+实时日志(WebSocket)
    • 按钮:暂停/继续/重试失败
  4. 首页装修
    • 拖拽排序轮播、精选位
    • 定时上线/下线
  5. 系统设置
    • 后缀白名单输入框
    • 交易积分下拉选择
    • 云存储密钥表单(测试按钮)
    • 暗黑模式开关

十、业务逻辑流

上传:
用户→JS校验→forum_attachment→云存储驱动→成功删除本地→写入appstore_apps→审核
下载:
用户→gateway.php→统计+1→302→CDN/本地→失败fallback本地
评论:
用户→forum_post.php→type='appstore_comment'→缓存30s→返回JSON
通知:
审核变更→common_member_notice→home.php?mod=space&do=notice

十一、数据库表 & 字段

表名  核心字段
appstore_apps   id, name, catid, price_type, price, credit_type, status, uid, create_time
appstore_version    id, app_id, version, log, file_url, size, md5, status
appstore_netdisk    id, app_id, url, password, status, check_time
appstore_download_log   id, app_id, uid, ip, create_time
migration_queue id, file_id, direction, status, retry, update_time
forum_attachment    沿用+ remote字段
forum_thread/post   沿用+ type='appstore_comment'

十二、安全 & 合规

  • 上传:后缀白名单+大小+病毒扫描(ClamAV)
  • 网盘:HEAD 限 5s;内网 IP 黑名单;SSRF 过滤
  • 下载:gateway 302;IP 限速 60/小时
  • 评论:敏感词;举报≥3 自动隐藏
  • 数据:HTTPS;云存储私有读+CDN 签名
  • 合规:GDDR 浮层;DMCA 投诉

十三、SEO & 结构化数据

  • 伪静态:/app/{id}.html
  • TKD:后台填;标题模板「{app_name} - 官方应用中心」
  • Schema:Product / AggregateRating / Offer / BreadcrumbList
  • Sitemap:自动生成;每日更新

十四、交付清单

  • 安装包:plugin.xml + 脚本(UTF-8)
  • 模板:所有页面 PC+Mobile 独立 .htm(UTF-8)
  • 后台:admin 模板 + 迁移 CLI(UTF-8)
  • 语言:lang/zh-cn.php、en.php(UTF-8)
  • 组件:轮播、瀑布流、评论、上传、富文本(UTF-8)
  • 文档:本文档 + 接口swagger + 测试用例(UTF-8)

十五、上线检查单

  • 论坛 cron 已开启
  • 内存缓存已配置(Redis/File)
  • 伪静态规则已写入 Nginx
  • 云存储密钥已测(一键测试通过)
  • 病毒扫描服务已启动
  • 评论敏感词库已同步
  • 数据库备份完成

不要执着于永远不可能的过去!

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

ysqbbs@outlook.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加QQ群
Copyright © 2001-2025 源社区 版权所有 All Rights Reserved.
关灯 在本版发帖
扫一扫添加QQ群
返回顶部
快速回复 返回顶部 返回列表