技术标签: layui php cms
开发框架
ZQCMS v1.0是使用layui2.4.5+laravel5.7搭建的
Zqcms介绍
系统主要是志在更快的开发后台,减少代码冗余,所以本cms基本大部分通过js渲染html,php代码均为模块化写法,只需要配置好你需要的就可以生成页面,使用了模块化的开发模式
第三方扩展
treeGrid树状表格:
安装
1、在数据库中创建数据库,并修改env文件中的数据库配置连到你的创建的数据库
2、运行composer install
3、运行 php artisan migrate
4、运行 php artisan db:seed 到此已安装完成
5、默认登录用户15600000000 密码123123
功能介绍
维持了layui原有模块开发方式,在layui基础上继续封装了,使用前建议先看layui文档。
权限控制:权限控制本cms使用了spatie/laravel-permission扩展包开发的。采用:角色赋权,用户分配角色模式
文章管理
广告管理
开发说明
PHP部分
后端功能核心模块BackendBaseController
BackendBaseController包含了权限判断和页面渲染,通用式增删改查、上传等功能,新增功能时候只需编写好需要保存的参数即可
Js部分
dialog 弹窗使用模块
confirm(jsonData) 确认框
参数:jsonData={
message:弹窗信息
success:确定按钮回调
cancel:取消按钮回调
}
page(title, url, w, h)
参数:title:弹窗标题
url:页面路径
w:弹窗宽度,默认:700px
h:弹窗高度,默认:300px
tips(title, obj)提示弹窗
参数:title:提示内容
Obj:吸附元素选择器
menuTpl: 菜单生成模块
不做过多说明,该模块只是渲染菜单使用
inputTpl: 输入框生成模块
调用顺序html再调render
html()模版html插入
** 使用jq的append()方法插入**
render(jsonData)渲染模板
通过模版生成出来的元素默认是 "属性+Id" 例如如name:zqcms ;该元素id则为:zqcmsId
参数格式JsonData={
content:[{
}]
}
jsonData
属性
说明
数据类型
使用type范围
content
label
名称
String
name
输入框name属性
String
inputType
input的type属性,默认为text
String
skin
属性lay-skin skin:switch(开关风格) primary(原始风格)
String
checkbox
layText
原layui属性lay-text可自定义开关两种状态的文本
String
checkbox
value
默认值
String/array
type
默认是text,tree:树形组件,select:选择器,formSelect:多选框,editor:富文本,textarea:多行的文本,uploadImg:单张图片,uploadGallery:相册
String
verify
输入框校验规则,直接使用layui的验证规则即可
String
autocomplete
设置是否自动完成
String
filter
事件过滤器即layui的lay-filter属性,默认为空
String
verType
用于定义异常提示层模式,系统默认tips
String
remark
输入框提示标签,默认不显示
String
keyVal
指定选项的值为选项对象的某个属性值:默认值:id
String
formSelect
keyName
指定选项标签为选项对象的某个属性值,默认值:name
String
formSelect
keyChildren
指定选项的子选项为选项对象的某个属性值,默认值:children
String
formSelect
keySel
指定选择已选择的标记,默认值selected
String
formSelect
linkage
是否开启联动选择
bool
formSelect
linkageWidth
联动多选每级宽度
number
formSelect
selectMax
最大选择数量,默认1
number
formSelect
style
默认primary, default 浅灰 primary 墨绿 normal 深蓝 warm 屎黄 danger 橘红
String
formSelect
optionData
选择框数据,当url属性存在该参数则失效
Json
formSelect、select
header
请求头,url属性存在才生效
Object
formSelect
url
从接口获取数据
String
formSelect使用
uploadUrl
上传文件路径
String
uploadImg、uploadGallery
formFilter
form表单lay-filter的值,默认:editForm
String
button
是否显示提交按钮
bool
view
渲染form表单id,默认:inputContent
String
tabTpl:tab渲染组件
调用顺序html再调render
html()模版html插入
** ** 使用jq的append()方法插入
render(jsonData)渲染模板
通过模版生成出来的元素默认是 "属性+Id" 例如如name:zqcms ;该元素id则为:zqcmsId
参数格式JsonData={
content:[{
}]
}
jsonData = {
layFilter: lay-filter属性,
groupData: tab数据
};
JsonData
属性
说明
类型
layFilter
lay-filter属性
String
groupData
tab数据
json
inputRender(jsonData)
参数参照inputTpl组件
request: 网络请求模块
zqajax(jsonData, loading = false, type = 1, shade = false)ajax请求
属性
说明
类型
jsonData
配置参数
Json
loading
是否开启等待效果
bool
type
加载效果类型支持值 支持0-2,
Number
shade
是否开启加载效果蒙层 boolean
bool
jsonData
属性
说明
类型
headers
请求头
Json
type
请求类型
String
url
请求链接
String
data
请求数据
Json
dataType
预期服务器返回的数据类型
String
success
请求成功回调
Function
error
请求失败回调
Function
complete
请求结束回调
Function
文章浏览阅读2.4k次。A. Sum in the treeMitya has a rooted tree with nn vertices indexed from 11 to nn, where the root has index 11. Each vertex vv initially had an integer number av≥0av≥0 written on it. For every vertex ..._cf1098a sum in the tree
文章浏览阅读2.1k次。link写在前面这一篇博客系统学习一下C++中String类的相关函数。这个类在之前做题的时候就经常遇到,其实说白了,它也就是一个vector < char >。但是,它又有一些独特的函数,可以在做题的时候简化代码,提高效率。所以在这一篇博客,就根据CPlusPlus官网中< string >中的内容做一个整理。自己整理之外,还有一些优秀的整理资料可供参考:std::string用法总结。string类与头文件包含string即为字符串。string是C++标准库的一个重要_std::string
文章浏览阅读9.1k次,点赞26次,收藏86次。python中的class Solution(object):的含义与类继承与类、对象概念的详解_class solution
文章浏览阅读1k次。读《疯狂的程序员》后感 花了几天功夫,把《疯狂的程序员》这本书看完了,这本书,是我无意间在校图书馆看到的,出版日期是2008年的,到现在为止已经过去好几年了,作者绝影。是在csdn上连载的博客,不过不知道作者在csdn上的名字是什么,自己搜索找,竟然没找到,很遗憾。书中讲述的是作者从大学时期到工作,再到创业7年时间的精力,说实话,作者的语文功底非常不错,能够生动的刻画
文章浏览阅读244次。感觉普通贪心是每一个维度都是平等的,没有优先级。而可后悔贪心是存在某个维度是不可变的,不能直接用排序或者堆进行维护,常常需要经过某种处理,通过挖掘出题目中关于不可变维度的特殊性质,使其可以用排序或者堆等数据结构进行贪心。可后悔贪心常用堆(priority_queue)进行维护。_e. buy low sell high
文章浏览阅读6.5k次,点赞14次,收藏93次。AMCL是ros导航中的一个定位功能包。其实现了机器人在2D平面中基于概率方法的定位系统。该方法使用粒子滤波器来针对已知地图跟踪机器人的位姿。MCL与AMCL的区别它们最重要的区别应该是重采用过程。AMCL在采样过程中仍然会随机的增加小数量的粒子。这一步骤正式为了解决MCL不能处理的重定位问题。当粒子逐渐聚集,其它地方的粒子将慢慢消失。对于MCL来说,如果此时将机器人搬动到另一个地方。此时原来..._amcl源码
文章浏览阅读2.6k次。最近使用uniapp开发app,使用开发环境中使用微信分享功能时可以正常分享到微信好友或者朋友圈,但是发布后提示,经过百度后发现需要在微信开放平台申请。附上步骤在项目中打开manifest.json,点击App模块权限配置,给Share(分享)打勾,给这个App加一个分享权限。点击App SDK配置,进去找到分享,填写appid那么问题来了,appid从哪弄呢?前往微信开放平台https://open.weixin.qq.com/注册,登录创建移动应用按要_uniapp实现app微信分享好友和朋友圈需要到微信开放平台申请吗
文章浏览阅读9.6k次,点赞2次,收藏6次。1. 步骤在Mac上安装docker使用oracle的dockerfile,构建image在docker中运行oracle实例启动,停止oracle docker容器连接数据库 2. 在Mac上安装docker到docker store下载docker-for-mac。我们需要适当调整一下cpu内存分配,如4核CPU,16G内存。 点击reveal in f..._docker 官方oracle 12.2安装包
文章浏览阅读50次。1. 检测变量是否是非数字的方法是? isNaN(变量) 结果:非数字为true。数字为false if嵌套2. switch语法格式? 注意点 switch(表达式){ case 常量表达式: 语句体; break; case 常量表达式: 语句体; break; 。。。 default: ...
文章浏览阅读974次。目录一、概述二、代码示例三、效果图一、概述二、代码示例Angular中ngModel指令实现双向数据绑定,ngFor实现遍历。组件的属性使用动态数据作为参数时,属性名用中括号包裹。单行文本框<ion-list> <ion-item> <ion-label>用户名:</ion-label>..._ionic 动态绑定数据
文章浏览阅读1.1k次。在下面的示例中,我们将演示如何拖放按钮小部件。from PyQt5.Qt import QPushButton, QWidget, QApplicationfrom PyQt5.QtCore import Qt, QMimeDatafrom PyQt5.QtGui import QDragimport sys#按钮类class Button(QPushButton): d..._pyqt qdrag
文章浏览阅读846次。Matlab进阶绘图第20期—带类别标签的三维柱状图_matlab画三标签柱状图