# pafish-mp **Repository Path**: shuyugit/pafish-mp ## Basic Information - **Project Name**: pafish-mp - **Description**: 纸鱼博客的 uni-app 微信小程序前端,自绘海盐天空界面,开箱可接 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-23 - **Last Updated**: 2026-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: 微信小程序, 纸鱼博客 ## README # pafish-mp 纸鱼博客(pafish)的开源微信小程序前端:**uni-app + Vue3 + vite**,自绘界面,TDesign 仅用于底层图标与弹层;配套服务端插件 [`wechat_mp`](https://github.com/shuyu0131/pafish-php) 提供 `/mp/*` 接口。 > 本仓库不包含任何服务端密钥。小程序只持有接口地址与用户自己的登录 token;微信 `AppSecret`、pafish `/api/v1` 的 `X-API-Key` 全部留在插件服务端。 ## 界面 - **首页**:全幅天空插画 + 压在插画下缘的玻璃搜索条 + 白色公告卡 + 最多 4 个分类宫格 + 文章卡 - **分类**:两列大卡片,分类封面优先,无封面用品牌分类插画 - **搜索**:首页搜索条直接输入,确认后原地切换为结果态,不跳转独立页面 - **微语**:按天分组的白卡时间流,标题居中 - **我的**:照片头图 + 头部数据带 + 服务卡 + 四宫格 + 列表 - **详情**:全幅封面 + 白色正文 + 黄色阅读提示 + 固定操作栏 + 返回顶部 底栏为自绘 4 Tab PNG 图标:文章 / 微语 / 分类 / 我的。手绘插画放在 `src/static/illus/`;文章卡圆角 10px,图片 8px。 ## 界面预览 > 截图来自 H5 构建 + 本地 mock 数据,用于展示布局与视觉;真实小程序以接口数据为准。
首页
首页
分类
分类
搜索结果
搜索结果
微语
微语
我的
我的
文章详情
文章详情
## 功能 | 页面 | 说明 | | --- | --- | | 首页 | 天空插画、玻璃搜索、公告卡、分类宫格、文章流、置顶标记、分页 | | 分类 | 两列分类大卡,封面优先,点击回首页筛选 | | 搜索 | 首页输入、原地结果、搜索历史与空态(可在插件侧关闭) | | 文章详情 | 正文 rich-text 渲染、浏览量、点赞 / 收藏、评论、返回顶部 | | 微语 | 按天分组的时间流卡片、图片预览、点赞与修改标记、单条分享 | | 我的 | 微信头像昵称授权、评论 / 收藏 / 历史、照片头图数据带 | | 设置 / 关于 | 账号入口、清除缓存、站点与版本信息、退出登录 | ## 审核合规设计 个人小程序类目对评论、点赞、第三方登录等互动功能有审核限制,本项目按"**功能可以存在,也可以随时关掉过审**"实现: - 插件端有一个 `audit_mode` 总开关。开启后 `/mp/config` 返回 `features.login / comment / like / favorite = false`,同时 **服务端对相应 POST 接口直接 403**——前端隐藏 + 服务端拦截双保险,抓包也绕不过。 - 微语浏览、文章浏览、搜索不受总开关影响,保证审核期间小程序仍有完整可读内容。 - 前端所有互动入口按 `feat()` / `auditMode()` 逐页门控;分享卡片在审核模式下退化为通用首页卡片。 ## 快速开始 ```bash npm install ``` 1. 修改 `src/common/config.js` 中的 `BASE_URL` 为你的站点地址(需 https 且在小程序后台配置 request 合法域名;本地联调用 `http://127.0.0.1:8123` 并勾选"不校验合法域名")。 2. 编译: ```bash npm run build:mp-weixin # 产物在 dist/build/mp-weixin ``` 3. 微信开发者工具导入 `dist/build/mp-weixin`,填入自己的小程序 AppID。 ## 配套插件 服务端需要在 pafish 后台启用 `wechat_mp` 插件,并在插件设置页填写: - 小程序 `AppID` / `AppSecret`(仅存服务端,用于 `/mp/login` 换取 openid) - 功能开关:审核模式、登录、评论、点赞、收藏、微语、搜索、每页条数 插件启用后 `/mp/*` 接口自动注册,无需其他配置。接口约定: - 读接口(`GET /mp/config`、`/mp/posts`、`/mp/micro` …)游客可直接访问; - 互动接口需 `X-MP-Token` 请求头(`/mp/login` 返回的 token)+ 表单 `_csrf`(`/mp/config` 返回,会话级校验)。 ## 技术栈 - uni-app 3.x / Vue 3 / vite / `@tdesign/uniapp`(easycom `t-*`) - 状态与网络层自写在 `src/common/`(config / request / store / format / theme / history / mdcss) - 业务组件 easycom `zz-*`(导航、底栏、文章卡、搜索条、空态、骨架、操作栏、微语卡、评论、头像、登录弹层),无原生 tabBar,底栏用自绘 PNG 图标 + `uni.reLaunch` 切换 ## 许可 MIT