moTzxx-CMS —— [一个基于PHP代码的后台管理系统(ThinkPHP5.1)]
【重要】:
- 如果你先前已经下载了源码,后期发现存在些许问题时
请及时反馈给我,以便及时更新;
或者回来参考我更新的内容,尤其是“使用指导”
部分,或许这时我已经自测并做了补充信息哦.
框架版本: ThinkPHP5.1.12
后台入口: xxxxx.com/cmsx;
2020-05-21
> 优化用户登录信息的加密保存
> 设计商品、文章操作日志记录功能
> 整合公用 CSS、JS 代码
> 设计商品管理功能、优化 SKU编辑
> 完善代码注释,优化数据库,更新 .sql文件
【推荐】一款正在优化中CMS管理系统 ——
Lin-CMS
- 近期使用 LayUI 的过程中;
- 越发觉得对方的设计理念符合我的审美,主要是后台开发者使用简单;
- 而另一方面;
- 想到作为一名 PHPer 却一直没有一套属于自己的后台管理系统;
- 所以决定花费一些时间;
- 在借鉴官方文档和其他开发者设计思路的前提下,打造一个属于自己的后台管理系统 ...
系统设计:后端基于
PHP
语言设计,前端基于Layui
模块化框架
> 补充时间:[2018-11-21 19:36]
> 项目开发中,难免会用到一些比较流行的 PHP开发框架, 所以在此提供 ThinkPHP5.1 框架下整理的系统代码
> 近期抽出时间,正在优化 ThinkPHP5 这个框架的代码,可用,也希望多给指点,进行后期的优化升级
> 后期的更新优化记录,会补充到后面的附录中 ...
毕竟一个人瞎折腾,能力有限,暂且展示已完成的主要功能,欢迎指摘以及技术指导,道友参上!
菜单的链接即为定义的路由
> 主要注意的是其中的 "action" 的填写,可以参考已有的数据,这是对应于路由文件中的写法
> 对于密码的加密,一般每个开发者都有自己的想法,我的加密比较简单 md5+base64,可自行复杂性优化
> 封装处理方法为:IAuth::setAdminUsrPassword()
> 修改数据的时候,注意,如果不想改动密码,是无需进行填写的!
此功能主要是为了给管理员分配不同的权限
> 1.对于权限控制功能,隐藏的比较深; 要求只对二级菜单后 做权限控制,以区分不同角色的分级管理
> 2.跟菜单的添加操作一样,填错了直接后面删除即可,感觉这样更少了麻烦
> 3.注意,新补充的方法链接如果不做权限的添加,那很可能无法访问哦!
layer文件上传
、UEditor富文本编辑器
的使用Laravel+Layer 图片上传功能整理
对于项目的安装配置,毕竟是两种不同的框架设计,所以在使用上,需要
“因材施教”
,在此进行分别指导说明
ThinkPHP
框架核心代码composer install
\vendor\topthink\think-captcha\src\helper.php
中的 captcha_img()
方法,并进行覆写如下:function captcha_img($id = '')
{
$js_src = "this.src='".captcha_src()."'";
return '. captcha_src($id) . '" title="点击更新验证码" alt="点击更新验证码" οnclick="'.$js_src.'" />';
//return '';
}
此处操作,保证登录验证码的正常使用,可参看文章 :【
ThinkPHP5.0+ 验证码功能实现
】
> 其次就是到 config/database.php 文件中,配置正确的数据库连接信息
这是鄙人的默认数据,后期可自行修改优化.
> 注意前面的 运行 composer 命令;
强烈建议学习新版本的框架,要学会使用composer哦
无聊的话,也可以试看一下之前写的一篇
Composer
简单使用 —— Composer de涉水初探
Ueditor
的配置项可参考之前的文章 —— 【Laravel 框架集成 UEditor 编辑器的方法】 ,为保证项目的正常使用,示例图如下:
> 为了图片的正常显示,建议修改 "public/ueditor-mz/php/config.json" 文件
> 当然,如果将参数 “imageUrlPrefix” 什么都不填写;
> 同一域名下自然是可以访问到静态图片的;
> 但是,如果向外提供数据,就无法获取图片资源;
> 比如我进行小程序设计时(不在一个域),接口数据中无法捕获图片资源,自然就无法正确使用
> 另外,如果涉及到不同的资源服务器,更要考虑到 FTP上传,可要好好优化咯.
对于配置完成后的访问,一般都是需要自行配置虚拟域名的哦
PhpStudy
服务中:> 配置的虚拟域名为 tp51Pro.com ;
> 选用的服务器为 apache ;
> PHP版本:5.6+ (请选择高版本,以避免不支持的情况)
如果使用的是
Nginx
做服务器,需要进行URL 重写
的设置,可参考文章 :【ThinkPHP5.1 配置Nginx/Apache下的 URL重写】
> 前台 : tp51pro.com/
> 后台 :
tp51pro.com/cmsx (推荐)
tp51pro.com/cms/login/index.html
登录数据 —— [用户名]:moTzxx@admin [密码]:admin
其实,对应的
Laravel5.5
框架初步编写的后台管理系统早已支持使用,后期优化完善后再做上传比较
> 可以注意到: 当下流行的 ThinkPHP5.1 和 Laravel5.5 有着极为接近的设计理念;
甚至同样的代码,仅仅稍作修改即能通用;
例如:
> 1. 注册路由方式类同
> 2. 模型的对象化使用极为相似,但是两者间的几个关键词要注意;
比如 ThinkPHP5.1使用 field、order、find、select、alias等;
而 Laravel5.5 使用 select、orderBy、get、first 等
> 3. model 类 命名的方式不一样,注意 "s",比如表格 articles ,前者 model 命名为 Articles,后者却为 Article
> 4. 对于数据表的字段命名
注意到一点:其中的 "created_at/updated_at" 不能生效,
是因为框架默认的自动时间戳配置不同
> 5. 页面跳转方式要注意下,同时前者可以 __construct() 初始化判断 Session 数据,而后者不可
> 6. 等等等 ...
moTzxx-CMS-ThinkPHP5.1.2
- 首先,此项目的设计参考了很多网上资源,所以即便有任何的谬赞之处也不好居功
尤其使用了好多自己中意的图片
比如 —— 吾皇巴扎黑,阿里巴巴矢量图标库
- 其次,自己主要是为了方便使用
下载使用的朋友,后期可根据自己的需求进行功能扩展
- 最后的最后,在接下来的时间里,我还会根据自己的经验进行项目优化
在此开放提供源码也希望能得到有兴趣的伙伴给与中肯的意见
欢迎指摘,谢谢...
2018/12/03
补充添加了 登录验证码 的功能方法请参考: ThinkPHP5 验证码功能实现,请自行补充
验证码点击刷新
功能的代码!
- 本项目做了处理,如果道友已经创建好了FTP信息,可以打开文件 "/config/ftp.php"
- 对应填写 FTP 配置信息
- 设置 "FTP_USE" 参数为 true
- 并配置 "IMG_SERVER_PUBLIC" 参数为图片服务器地址
2020-05-21
] > 其对应的配置文件为: "/config/sys_auth.php" ;
> 注意截图中的提示信息,方便后期安全性的更新操作!
【 补充
】:
session.php
配置文件中进行修改哦php openssl_encrypt