chancms简介:
ChanCMS是一款基于Express和MySQL研发的一款轻量级高质量实用型CMS管理系统。它具备多种类型网站开发,如公司,企业,学校,***,图片,下载,产品等各类型网站建设。易扩展、基于模块化和插件化开发模式,适用于商用企业级程序开发。
大道至简
基于express自研mvc框架, 优秀的稳定性,可持续迭代,拒绝复杂设计模式。
独有特色
轻量、灵活、自研、稳定、高性能。
SEO标准:专注于seo功能,伪静态、html和拼音导航,自定义导航、灵活设置关键词和描述。
灵活:万能碎片功能,支持零碎文案配置,方便各类灵活文案配置,把灵活发挥到极致。
高扩展:无头cms和传统模板共存,多端渲染。灵活模块开发,开发多领域网站。支持扩展模型,字段配置,可动态生成表,超强扩展。
高持续性:多年深入nodejs技术栈,一心致力于自研开发,前后端代码逐行开发,可持续性强。
安全:基于knex,高防sql注入,接口权限校验,为安全提供保障。
模块化:一切模块相互独立,互不干扰。
插件化:灵活开发,支持完整功能模块。
开发历史
第一次构想 2015
基于express mongoDB尝试开发第一版cms
第二次重构 2018
基于koa2 mysql重构
第三次重构 2020
基于egg mysql Sequelize重构
第四次重构(ChanCMS) 2022
因eggjs不够稳定,故回归。基于express mysql knex开发第三版,经过多年开发和线上运营,回归最稳定的express。
核心功能
站点管理
栏目管理
文章模块
文章模块
标签管理
碎片管理 (广告,碎片文案,公司地址、电话、名称,微信等万能模块)
扩展模型
文章采集
在线留言
菜单管理
登录日志
pdf预览(按需加载)
本地上传&七牛云上传
日志功能
中英切换
语音播报
前端演示图
后端演示图
ChanCMS教程:安装运行快速入门
环境配置前置条件:安装node.js mysql 和 mysql可视化工具。本地开发推荐用phpStudy。
快速入门
环境配置前置条件:安装node.js mysql 和 mysql可视化工具。本地开发推荐用phpStudy。
注意:版本有要求
nodejs v20.17.0(强烈建议保持一致)
mysql v5.7.26(兼容v5.6)
项目地址
https://gitee.com/yanyutao0402/chanyue-cms
文件结构
|- data
|- app
|- config 配置
|- extend 扩展功能
|- middleware 中间件
|- modules 模块
|-api api模块
|-- controller
|-- service
|-- router.js
|-web web模块
|-- controller
|-- service
|-- view
|-- router.js
***
|- plugin 插件
|- public 静态资源
|- utils 工具
|- router.js 总路由
|-app.js 应用入口
|-pm2.json pm2管理
JavaScript
1.安装运行 导入数据库文件
chancms.sql(data文件夹里面)
2 修改数据库配置文件
server/config/config.dev.js //开发环境
server/config/config.prd.js //生产环境
3 进入server 文件夹 设置npm源安装依赖
npm config set registry https://registry.npmmirror.com //切换新镜像源
安装
npm i
npm run dev
后访问 http://localhost:81 ,完成网站启动。
后台管理访问地址
http://localhost:81/public/admin/index.html
默认账号密码:chancms 123456
ChanCms模板安装目录教程
default默认模板路径
app/modules/web/view/default
模板文件
default默认模板核心模板文件
common/head.html 头部
common/footer.html 底部
common/nav.html 导航
common/search.html 搜索
common/meta.html meta
common/lang.html 语言切换
index.html 首页
list.html 列表页
article.html 文章页
page.html 单页
search.html 搜索页
tag.html tag 列表页面
message.html 留言
404.html 404页面
500.html 500页面
default默认模板静态资源
默认模板静态资源目录
app/public/template/default/
模板开发核心流程(例:模板名称为chancms)
1. 创建模板目录
在目录下创建模板目录
app/modules/web/view/
2. 创建模板文件
在view目录下,创建chancms文件夹,把默认default模板中的文件复制过来,或者直接复制一份default文件夹并修改名称为chancms。
3. 创建模板静态资源
在`app/public/template/`目录下创建模板静态资源目录chancms,和模板目录名称保持一直。
4.修改默认模板名称
默认模板为default,当模板文件和静态资源都已经按照上面要求操作完成后,在后台管理系统->站点管理 ,默认default模板名称改成chancms。
5.根据自己的需求写静态页面,然后调用标签实现模板皮肤的开发。
自定义模板数据
复制一份`app/modules/web/controller/home.js`文件,进行备份。默认home首页数据固定,如果自己需要功能,调用common.js文件里面的方法。
在`app/modules/web/controller/home.js`中找到首页渲染的方法进行修改。
//首页展示特定栏目id为1.2.3的最新文章(头条和最新内容)
let article = await CommonService.getArticleListByCids([1.2.3.])
//获取所有栏目的最新文章(头条和最新内容)
let article = await CommonService.getArticleListByCids();
//指定栏目内容调用 cid->栏目id len->个数 attr->头条 2推荐 3轮播 4热门
let news = await CommonService.getArticleListByCid(cid, len = 5. attr = "");
更多的通用方法可以查看`app/modules/home/service/common.js`,需要什么数据直接调用对应方法,基本常见的都已经封装。
ChanCMS:常用模板标签
全局标签
站点名称
{{site.name}}
网站域名
{{site.domain}}
邮箱
{{site.email}}
微信
{{site.wx}}
icp备案号
{{site.icp}}
站点统计
{{site.code}}
静态资源目录
{{base_url}}
标签列表
{{each tag}}
{{$value.name}}
{{/each}}
引入模板
{{include './common/模板名称.html'}}
常用模板
{{include './common/header.html'}}
{{include './common/footer.html'}}
{{include './common/nav.html'}}
{{include './common/meta.html'}}
{{include './common/css.html'}}
{{include './common/js.html'}}
碎片
{{@ frag['名称']}}
chancms源码下载地址:https://gitee.com/yanyutao0402/ChanCMS
chancms官方网站:https://www.chancms.top/
本文由作者笔名:gitasp 于 2024-12-29 16:30:09发表在本站,原创文章,禁止转载,文章内容仅供娱乐参考,不能盲信。
本文链接: https://www.gitasp.com/kaiyuan/6b37259850a248b0.html