FastAdmin是一款功能强大的后台开发框架,其中CMS插件是功能体系最完善的一套系统,这为我们的开发工作提供了良好的参照。此次对CMS内容管理系统进行总结,该系统基于ThinkPHP+FastAdmin进行开发,拥有PC版、微信小程序版本以及UniAPP版,提供CMS的全部源代码以及CMS微信小程序源代码,且所有源代码都是无加密、无后门的,确保了系统的安全性。
一、系统概述
CMS内容管理系统是一款全面而强大的内容管理工具,适用于各种类型的企业和个人网站。它基于FastAdmin和ThinkPHP进行开发,具有出色的性能和易用性。该系统支持自定义内容模型、自定义字段和自定义表单,用户可以根据自己的需求灵活创建和管理网站内容。同时,该系统还提供了丰富的功能模块,包括付费阅读、评论模块、单页模块、投稿模块等,满足了用户对于内容管理的各种需求。
二、功能亮点
- 响应式设计:CMS内容管理系统采用了响应式布局,可以自适应手机、平板和PC等不同终端设备,确保用户在任何设备上都能获得良好的浏览体验。
- 自定义模型:系统支持自定义内容模型、自定义字段和自定义表单,用户可以根据自己的需求创建不同类型的内容模型,实现网站内容的多样化展示和管理。
- 付费阅读:该系统支持与企业支付宝、企业微信支付以及余额支付无缝整合,方便用户实现付费阅读功能,为网站内容创造更多价值。
- 微信小程序端:CMS内容管理系统提供微信小程序的CMS客户端和服务端的全部源代码,方便用户将内容快速同步到微信小程序,拓宽内容传播渠道。
- 评论模块:系统支持注册会员评论功能,并且有评论邮件通知功能,增强了网站与用户的互动性。
- 单页模块:支持创建单页,并有点赞、赞赏和评论功能,方便用户创建和管理一些独立的内容页面。
- 投稿模块:支持注册会员投稿,可以控制投稿字段和投稿栏目,鼓励用户参与网站内容的创作和分享。
- 统计控制台:提供丰富的统计功能,包括会员统计、文章排行、热门搜索等,帮助用户更好地了解网站运营情况。
三、安全性与灵活性
FastAdmin的CMS插件注重系统的安全性和灵活性。所有源代码无加密、无后门,确保用户在使用过程中的数据安全。同时,系统提供了丰富的API接口和插件扩展功能,方便用户根据实际需求进行二次开发和功能定制。
四、总结与展望
FastAdmin的CMS插件在内容管理系统领域具有领先地位,凭借其强大的功能体系和完善的技术支持赢得了用户的青睐。未来,我们期待FastAdmin团队继续推出更多优秀的插件和功能模块来满足市场的不断变化和用户需求的升级。
以下为官方插件介绍:
CMS内容管理系统(含小程序)
系统基础:
- 基于ThinkPHP+FastAdmin进行开发。
- 包含PC版、微信小程序版本以及UniAPP版(高级授权)。
- 提供CMS的全部源代码以及CMS微信小程序源代码。
- 所有的源代码都是无加密、无后门的。
功能特性:
- 响应式设计: 手机、平板、PC自适应。
- 自定义模型: 支持自定义内容模型、自定义字段和自定义表单。
- 付费阅读: 与企业支付宝、企业微信支付以及余额支付无缝整合。
- 微信小程序端: 提供微信小程序的CMS客户端和服务端的全部源代码。
- 评论模块: 支持注册会员评论,并有评论邮件通知功能。
- 单页模块: 支持创建单页,并有点赞、赞赏和评论功能。
- 投稿模块: 支持注册会员投稿,可以控制投稿字段和投稿栏目。
- 统计控制台: 提供会员统计、文章排行、热门搜索、热门标签以及订单的日/周/月/年统计。
- 回收站: 文章、评论、单页和专题都支持回收站功能,可以一键清空或恢复。
- 管理员数据控制: 管理员只能管理自己发布的数据,可以控制文档、区块、专题和自定义表单。
- 搜索引擎来访记录: 可以在后台设定关注的搜索引擎来访,并查看最近的5次来访记录。
其他功能:
- 栏目权限:可以为不同的管理员分配不同的栏目权限。
- 文档ID加密:支持开启文档ID加密和自定义加密ID长度。
- 批量变更:支持对文章内容批量变更状态、加入专题、修改标志和加入标签。
- 关键字自动链接:支持为文档内容中的关键字自动添加链接(目前只支持PC端)。
- Sitemap:支持文档、Tags、会员、专题、单页的Sitemap地址。
- API接口:提供新增文档的API接口,可用于迁移已有网站数据。
- 全文搜索:支持一键整合Xunsearch全文搜索插件,增强搜索功能。
- 专题模块:强大的专题模块,允许自定义专题模板和标签关联数据。
- 违禁词检测:支持违禁词检测功能,可以自定义和调用百度AI接口。
- 无缝整合:可以无缝整合微信支付宝、富文本、云存储插件。
- UniAPP版本高级授权:支持会员文章发布、自定义表单以及会员签到排行功能,同时允许自定义移动端样式、颜色和底部选项卡等。
我们来看下 fastadmin cms 插件高级版 3级别目录结构
├── Cms.php
├── README.md
├── application
│ ├── admin
│ │ ├── controller
│ │ ├── lang
│ │ ├── model
│ │ ├── validate
│ │ └── view
│ └── index
│ ├── controller
│ ├── lang
│ └── view
├── assets
│ ├── css
│ │ ├── common.css
│ │ ├── common.css.map
│ │ ├── iconfont.css
│ │ ├── jquery.autocomplete.min.css
│ │ ├── jquery.tagsinput.min.css
│ │ ├── share.min.css
│ │ ├── swiper.min.css
│ │ └── tinycss.css
│ ├── fonts
│ │ ├── basic
│ │ ├── iconfont
│ │ └── share
│ ├── hybrid
│ │ └── html
│ ├── img
│ │ ├── author-head.jpeg
│ │ ├── border.png
│ │ ├── colorful.png
│ │ ├── icons.png
│ │ ├── icons.svg
│ │ ├── loader.gif
│ │ ├── loading.gif
│ │ ├── logo
│ │ ├── logo.png
│ │ ├── new.png
│ │ ├── noimage-assets
│ │ ├── noimage.jpg
│ │ ├── noimage.png
│ │ ├── overlay.png
│ │ ├── plus.png
│ │ ├── qrcode.png
│ │ ├── search.png
│ │ ├── search.svg
│ │ ├── statusbar.png
│ │ ├── tabbar
│ │ ├── wave-bot.png
│ │ ├── wave-mid.png
│ │ └── wave-top.png
│ ├── js
│ │ ├── bootstrap-typeahead.min.js
│ │ ├── clipboard.min.js
│ │ ├── cms.js
│ │ ├── common.js
│ │ ├── jquery.autocomplete.js
│ │ ├── jquery.colorpicker.min.js
│ │ ├── jquery.tagsinput.js
│ │ ├── share.min.js
│ │ └── swiper.min.js
│ ├── less
│ │ ├── common.less
│ │ └── tinycss.less
│ ├── preview.html
│ └── static
│ ├── config.js
│ ├── favicon.ico
│ ├── home.png
│ ├── image
│ ├── img
│ ├── index.css
│ ├── js
│ └── tabbar
├── bootstrap.js
├── config.html
├── config.php
├── controller
│ ├── Ajax.php
│ ├── Api.php
│ ├── Archives.php
│ ├── Base.php
│ ├── Channel.php
│ ├── Comment.php
│ ├── Diyform.php
│ ├── Go.php
│ ├── Import.php
│ ├── Index.php
│ ├── Order.php
│ ├── Page.php
│ ├── Search.php
│ ├── Sitemap.php
│ ├── Special.php
│ ├── Tag.php
│ ├── User.php
│ ├── api
│ │ ├── Archives.php
│ │ ├── Base.php
│ │ ├── Collection.php
│ │ ├── Comment.php
│ │ ├── Common.php
│ │ ├── Diyform.php
│ │ ├── Ems.php
│ │ ├── Login.php
│ │ ├── My.php
│ │ ├── Page.php
│ │ ├── Search.php
│ │ ├── Sms.php
│ │ ├── Special.php
│ │ ├── Tag.php
│ │ ├── TheLogs.php
│ │ └── User.php
│ └── wxapp
│ ├── Archives.php
│ ├── Base.php
│ ├── Comment.php
│ ├── Common.php
│ ├── Index.php
│ ├── My.php
│ └── User.php
├── data
│ ├── dict.json
│ ├── dict.txt
│ ├── menu.php
│ ├── theme.json
│ └── words.dic
├── info.ini
├── install.sql
├── lang
│ └── zh-cn.php
├── library
│ ├── Alter.php
│ ├── Bootstrap.php
│ ├── CommentException.php
│ ├── FulltextSearch.php
│ ├── HashMap.php
│ ├── IntCode.php
│ ├── Jssdk.php
│ ├── Order.php
│ ├── OrderException.php
│ ├── SensitiveHelper.php
│ ├── Service.php
│ ├── Theme.php
│ ├── VicDict.php
│ ├── VicWord.php
│ ├── aip
│ │ ├── AipContentCensor.php
│ │ ├── AipImageCensor.php
│ │ ├── AipNlp.php
│ │ ├── AipOcr.php
│ │ └── lib
│ └── hashids
│ ├── Hashids.php
│ ├── HashidsException.php
│ ├── HashidsInterface.php
│ ├── LICENSE
│ ├── Math
│ └── composer.json
├── model
│ ├── Archives.php
│ ├── Autolink.php
│ ├── Block.php
│ ├── Channel.php
│ ├── Collection.php
│ ├── Comment.php
│ ├── Diydata.php
│ ├── Diyform.php
│ ├── Fields.php
│ ├── Modelx.php
│ ├── MoneyLog.php
│ ├── Order.php
│ ├── Page.php
│ ├── ScoreLog.php
│ ├── SearchLog.php
│ ├── Special.php
│ ├── SpiderLog.php
│ ├── Tag.php
│ ├── Taggable.php
│ └── User.php
├── public
│ └── assets
│ └── js
├── taglib
│ └── Cms.php
├── testdata.sql
├── uniapp
│ ├── App.vue
│ ├── common
│ │ ├── fa.mixin.js
│ │ ├── fa.route.js
│ │ ├── fa.style.mixin.js
│ │ ├── fa.weixin.mixin.js
│ │ ├── http.api.js
│ │ ├── http.interceptor.js
│ │ └── util.js
│ ├── components
│ │ ├── fa-add
│ │ ├── fa-app-share
│ │ ├── fa-article-item
│ │ ├── fa-dropdown
│ │ ├── fa-navbar
│ │ ├── fa-orderby
│ │ ├── fa-orderby-select
│ │ ├── fa-payment
│ │ ├── fa-search
│ │ ├── fa-tabbar
│ │ ├── fa-tags
│ │ ├── fa-u-tabs
│ │ └── l-file
│ ├── hybrid
│ │ └── html
│ ├── main.js
│ ├── manifest.json
│ ├── node_modules
│ │ └── jweixin-module
│ ├── package-lock.json
│ ├── package.json
│ ├── pages
│ │ ├── article
│ │ ├── diyform
│ │ ├── index
│ │ ├── login
│ │ ├── my
│ │ ├── page
│ │ ├── product
│ │ ├── publish
│ │ ├── search
│ │ ├── signin
│ │ ├── special
│ │ ├── tag
│ │ ├── user
│ │ └── webview
│ ├── pages.json
│ ├── static
│ │ ├── config.js
│ │ ├── favicon.ico
│ │ ├── home.png
│ │ ├── image
│ │ └── tabbar
│ ├── store
│ │ ├── $u.mixin.js
│ │ └── index.js
│ ├── template.h5.html
│ ├── uni.scss
│ ├── uview-ui
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── components
│ │ ├── iconfont.css
│ │ ├── index.js
│ │ ├── index.scss
│ │ ├── libs
│ │ ├── package.json
│ │ └── theme.scss
│ └── vue.config.js
├── view
│ ├── default
│ │ ├── ajax
│ │ ├── channel.html
│ │ ├── channel_download.html
│ │ ├── channel_news.html
│ │ ├── channel_product.html
│ │ ├── common
│ │ ├── diyform_list.html
│ │ ├── diyform_post.html
│ │ ├── diyform_show.html
│ │ ├── index.html
│ │ ├── list.html
│ │ ├── list_download.html
│ │ ├── list_news.html
│ │ ├── list_product.html
│ │ ├── outlink.html
│ │ ├── page.html
│ │ ├── search.html
│ │ ├── show.html
│ │ ├── show_download.html
│ │ ├── show_news.html
│ │ ├── show_product.html
│ │ ├── special.html
│ │ ├── tag.html
│ │ ├── user.html
│ │ └── xunsearch.html
│ └── hook
│ └── user_sidenav_after.html
└── wxapp
├── app.js
├── app.json
├── app.wxss
├── assets
│ ├── images
│ ├── libs
│ └── styles
├── component
│ └── count-down
├── miniprogram_npm
│ └── mp-html
├── node_modules
│ └── mp-html
├── package-lock.json
├── package.json
├── page
│ ├── index
│ ├── my
│ ├── news
│ ├── product
│ └── vips
├── project.config.json
├── sitemap.json
└── utils
└── util.js