# wujies-cms-plugin **Repository Path**: wujies/wujies-cms-plugin ## Basic Information - **Project Name**: wujies-cms-plugin - **Description**: 无界平台的建站插件可以建自己的官网 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-01 - **Last Updated**: 2026-11-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
内容中心,后台用 Vue 远程应用管内容,公开页用 Thymeleaf 服务端直出:主题 = 产物里的一个目录。
--- ## 这个应用是什么 Wujies 无界平台([wujies.cn](https://wujies.cn))的**内容应用**,Halo 的玩法:后台是 Vue 远程应用, 公开页是**服务端渲染的整页 HTML**,主题只是产物里的一个目录。默认主题(`themes/default/`)是 Nike 官网的版式骨架。 - **后台**:应用市场装上后多一个「内容中心」菜单,前端是远程应用(`frontend/`,27 个文件), 管文章、分类、标签、独立页面、菜单与站点配置的列表与编辑器。 - **前台**:`/site/**` 整页由本插件直出(首页 / 文章 / 分类列表 / 独立页面 / 商城页 / 商品详情 / 404), 模板与主题 CSS、JS 都在本仓库产物里(见「公开页与自带样式」)。 - **它也是整个前台的骨架**:主题令牌、共享件(`.pager` / `.row-list` / `.shop__list` …)都在这里, 各应用自己那一屏的样式经 `appStyles` 这个唯一的口子插进来 —— 图床、商城、报价、社交四个插件仓的 README 现在都引用本文「写主题时必须守住的五条」第 5 条。 应用编码 `cms` | 应用名称 内容中心 | 应用版本 `1.0.0` | 后端构件 `wujies-cms-plugin` | Java 源码 64 个文件 总体设计与分阶段计划在**项目根**的 `wujies/实施计划-CMS应用与Nike主题.md`(不在本仓库内)。 ## 界面截图 本仓库**还没有**放截图(没有 `docs/screenshots/`)。前台这几屏现在只能联机看, 入口是 `http://localhost/site/`(wujies-admin 的 vite 有 `/site` 代理,理由见「开发环境」)。 ## 使用方式 1. 在本仓库根打包(三条命令各管一段,都在**本仓库根**执行): ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File package.ps1 -CheckOnly # ① 打包前检查:清单/产物/迁移/菜单/密钥,几秒返回 powershell -NoProfile -ExecutionPolicy Bypass -File package.ps1 -Dev # ② 开发包:不签名,落 ..\.plugin-dist\cms\dev powershell -NoProfile -ExecutionPolicy Bypass -File package.ps1 # ③ 正式包:构建 + 用 keys\private.pem 签名 ``` 2. 安装:管理端「应用市场 → 本地安装」上传 zip,或经上架中心(`wujies-market`)发布后由平台拉取。 包内产物路径由 `app.json` 的 `assets` 决定:`frontend` → `frontend/index.js` | `backend` → `backend/wujies-cms-plugin-1.0.0.jar` 清单只有 1 项 `menus`(根「内容中心」,下挂概览 / 文章 / 页面 / 菜单 / 分类 / 标签 / 配置七个子项)。 关于上面三条命令的取值口径: - 判据是「脚本所在仓库根有没有 `app.json`」,所以在本仓库里**不要传 `-Plugin`**(它按子目录找清单, 会报「找不到插件目录」);`-FrontendProject` / `-FrontendDist` 也不用传 —— 独立布局的前端工程固定就是 本仓库 `frontend/`、产物 `frontend/dist`,脚本自己跑 `npm run build`(首次先 `cd frontend && npm install`, 缺依赖时脚本会把这条命令直接报给你)。只想复用现成产物就加 `-SkipBuild`。 - `-SkipFrontend` 只用于**没有前端**的纯后端应用:带前端时它会连「复制前端产物」一起跳过, 出的包只有 `app.json`,装上去没有界面。 - `-CheckOnly` 打出的 `CHECK|级别|项|说明` 行就是管理端「开发工具 → 插件开发 → 打包」抽屉里那份体检清单, 两边跑的是同一套检查;有 ERROR 时正式打包会被直接拦下。签名密钥在本仓库 `keys/` (`private.pem` + `public.pem`,已在 `.gitignore` 里),生成或更换用 `-Keygen` (覆盖已有密钥要显式加 `-KeygenForce`,旧钥先整份备份进 `keys\backup\<时间戳>\`)。 参数全表与产物结构见文档站[「打包应用」](https://docs.wujies.cn/docs/wujies/5.x/platform/package/build)与「密钥与签名」两页。 ## 开发环境 ```bash git clone git@gitee.com:wujies/wujies-cms-plugin.git cd wujies-cms-plugin ``` 最快的路子不用打包、不用重启宿主:启动平台宿主,打开管理端「**开发工具 → 插件开发**」, 找到 `cms` 这一行点「启动后端」(自动编译并加载 `target/classes`,同时开启监听)与「启动前端」 (常驻 `vite build --watch`,保存源码即重建,刷新页面生效,没有 HMR)。全流程见 文档站[「插件开发」](https://docs.wujies.cn/docs/wujies/5.x/platform/plugin)。 手工构建: ```bash mvn -o compile # 后端(宿主 dev-mode 加载的是 target/classes;前提见「现状与前提」) cd frontend && npm install && npm run build # 前端,库模式构建,没有 HMR ``` 后端改完 `POST /app/dev/reload {"appCode":"cms"}` 热加载;模板与 CSS 是资源,`mvn -o compile` 就会复制进 `target/classes`(用 `javac` 手工落类时不会,见「商品从别的应用借」那条末尾)。 **本机验收前台一律开 `http://localhost/site/`**(wujies-admin 的 vite 有 `/site` 代理 → `http://127.0.0.1:8086`), 别用 `http://localhost:8086/site/` 直连:两者不同 origin,前者才和后台共享 `Admin-Token`(见「前台认出后台的登录态」)。 ## 仓库布局 | 位置 | 内容 | |---|---| | `pom.xml` | Maven 模块(父 pom = `cn.wujies.plugins:wujies-plugins-parent`,`