rabin 3 years ago
parent
commit
a5cc40caa1

+ 16 - 0
app/content/database/page.php

@@ -71,6 +71,22 @@ $config = array
             'list'      => true,
         ),
 
+        'pic'     => array
+        (
+            'type'      => 'text-255',
+            'name'      => '图片-可以上传多张图片,图片尺寸380*380px或等比尺寸,上传大小不能超过2M,支持JPG、PNG、GIF格式,建议上传JPG格式',
+            'default'   => '',
+            'desc'      => '图片',
+            'match'     => 'is_string',
+            'update'    => 'images',
+            'key'       => '1',
+            'place'     => '150',
+            //直接上传到云端
+            //'upload'  => 'qiniu',
+            //上传大数据
+            //'large'   => true,
+        ),
+
         'content'      => array
         (
             'type'      => 'text-255',

+ 110 - 0
app/course/database/msg.php

@@ -0,0 +1,110 @@
+<?php
+
+$status = array
+(
+	1 => '未联系',
+	2 => '已联系',
+);
+return array
+(
+	# 表名
+	'name' => 'msg',
+	# 显示给用户看的名称
+	'lang' => '用户报名',
+	# 后台菜单排序
+	'order' => 500,
+	# 数据结构
+	'struct' => array
+	(
+		'id' 		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> 'ID',
+			'default' 	=> '',
+			'desc' 		=> '',
+			'match' 	=> 'is_numeric',
+			'search'	=> 'order',
+			'list'		=> true,
+			'order'		=> 'desc',
+		),
+		
+		'name'		=> array
+		(
+			'type' 		=> 'varchar-132',
+			'name' 		=> '用户姓名',
+			'default' 	=> '',
+			'desc' 		=> '请输入用户姓名',
+			'match' 	=> 'is_string',
+			'update'	=> 'text',
+			'search'	=> 'fulltext',
+			'list'		=> true,
+		),
+
+		'mobile'		=> array
+		(
+			'type' 		=> 'varchar-30',
+			'name' 		=> '用户手机号',
+			'default' 	=> '',
+			'desc' 		=> '请输入用户手机号',
+			'match' 	=> 'is_string',
+			'update'	=> 'text',
+			'search'	=> 'fulltext',
+			'list'		=> true,
+		),
+
+		'content'		=> array
+		(
+			'type' 		=> 'varchar-800',
+			'name' 		=> '备注',
+			'default' 	=> '',
+			'desc' 		=> '备注',
+			'match' 	=> 'is_string',
+			'update'	=> 'text',
+			'search'	=> 'fulltext',
+			'list'		=> true,
+		),
+
+		'status'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '联系状态',
+			'default' 	=> '1',
+			'desc' 		=> '联系状态',
+			'match' 	=> 'is_numeric',
+			'option'	=> $status,
+			'list'		=> true,
+			'edit'		=> true,
+		),
+
+		'state'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '状态',
+			'default' 	=> '1',
+			'desc' 		=> '请选择状态',
+			'match' 	=> 'is_numeric',
+		),
+		
+		'cdate'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '录入时间',
+			'match' 	=> array('is_numeric', time()),
+			'desc' 		=> '',
+			# 只有insert时才生效
+			'insert'	=> true,
+			'list'		=> 'date("Y-m-d H:i:s", {cdate})',
+		),
+	),
+
+	'manage' => array
+	(
+		'insert' => false,
+		'edit' => false,
+	),
+
+	'request' => array
+	(
+		
+	),
+);

+ 11 - 12
app/gallery/database/info.php

@@ -55,6 +55,16 @@ return array
 			//增加预览
 			'preview'	=> true,
 		),
+
+		'desc'		=> array
+		(
+			'type' 		=> 'varchar-500',
+			'name' 		=> '摘要',
+			'default' 	=> '',
+			'desc' 		=> '摘要',
+			'match' 	=> 'is_string',
+			'update'	=> 'textarea',
+		),
 		
 		'cate_id'		=> array
 		(
@@ -106,18 +116,7 @@ return array
 			'match' 	=> array('is_numeric', time()),
 			'desc' 		=> '',
 		),
-
-		'content'		=> array
-		(
-			'type' 		=> 'text-255',
-			'name' 		=> '内容',
-			'default' 	=> '',
-			'desc' 		=> '请输入内容',
-			'match' 	=> 'is_string',
-			'update'	=> 'editor',
-			'key'		=> '1',
-		),
-
+		
 		'status'		=> array
 		(
 			'type' 		=> 'int-11',

+ 3 - 3
main/assets/default/css/style.css

@@ -592,7 +592,7 @@ div#about {
 #about h5 {
     margin: 1em 0 1.2em;
     font-size: 1.2em;
-    font-style: italic;
+    /*font-style: italic;*/
     font-weight: 400;
     letter-spacing: 1px;
     color: #b5b5b5;
@@ -862,7 +862,7 @@ div#agileits-services {
     margin: 0 auto;
 }
 .owl-carousel .owl-item img{
-    visibility: hidden;
+    /*visibility: hidden;*/
 }
 .owl-carousel .owl-item.active img {
     visibility: visible;
@@ -1173,7 +1173,7 @@ button.btn1:hover i.fa.fa-paper-plane-o{
 /*-- footer --*/
 .agileits_w3layouts-map iframe{
 	width:100%;
-	min-height:400px;
+	min-height:317px;
 }
 .agileinfo-icons ul li {
     display: inline-block;

+ 104 - 114
main/assets/default/index.html

@@ -6,6 +6,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="keywords" content="" />
+<meta name="description" content="全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。">
 <script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false);
 		function hideURLbar(){ window.scrollTo(0,1); } </script>
 <!-- //for-mobile-apps -->
@@ -19,13 +20,14 @@
 <link href="css/owl.carousel.css" rel="stylesheet" type="text/css" media="all"> 
 <!-- //carousel slider -->
 <link href="css/font-awesome.css" rel="stylesheet"> 
-<script type="text/javascript" src="js/modernizr-2.6.2.min.js"></script>
 <script src="js/jquery-2.2.3.min.js"></script>
+<script type="text/javascript" src="js/modernizr-2.6.2.min.js"></script>
 <script src="js/bootstrap.js"></script>
-<!--/web-fonts-->
-<link href="http://fonts.googleapis.com/css?family=Josefin+Sans:100,100i,300,300i,400,400i,600,600i,700,700i" rel="stylesheet">
-<link href="http://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i" rel="stylesheet">
-<!--//web-fonts-->
+<style>
+	.modal-header .close {
+    margin-top: -25px;
+}
+</style>
 </head>
 <body>
 	<!--/banner-bottom-->
@@ -55,7 +57,7 @@
 							<span class="icon-bar"></span>
 							<span class="icon-bar"></span>
 						</button>
-						<h1><a  href="index.html"><span class="letter">T</span>ech <span>E</span>du</a></h1>
+						<h1><a  href="index.html"><span class="letter">小</span>码 <span>侠</span></a></h1>
 					</div>
 					<!-- navbar-header -->
 					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
@@ -80,7 +82,8 @@
 			       <h4>The best learning institution</h4>
 				   <h3><span>w</span>elcome to our <span>u</span>niversity</h3>
 				  <p>Itaque earum rerum hic tenetur a sapiente delectus </p>
-				  <a class="hvr-rectangle-out w3_play_icon1" href="#" data-toggle="modal" data-target="#myModal"> read more</a>
+				  <a class="hvr-rectangle-out w3_play_icon1" href="javascript:;" onclick="showModal('标题', 'mycontent', $(this))"> 查看详情</a>
+				  <div id="mycontent" style="display:none;">内容内容</div>
 			   </div>
 			<!--/banner-ingo-->		
 		</div> 
@@ -92,11 +95,12 @@
 			<div class="agileits-banner-grids text-center">
 				<div class="banner-bottom-girds">
 					<div class="agileits-banner-grid bg-w3ls-active">
-						<span class="fa fa-university banner-icon" aria-hidden="true"></span>
+						<img class="fa fa-tags banner-icon" src="http://192.168.33.10/xiaomaxia/main/assets/default/images/about3.jpg" class="img-responsive" alt="" width="50">
 						<h4>Academics</h4>
 						<p>Itaque earum rerum hic tenetur a sapiente delectus 
 							reiciendis maiores alias consequatur aut.</p>
-						<a class="hvr-rectangle-out w3_play_icon1" href="#" data-toggle="modal" data-target="#myModal"> read more</a>
+						<a class="hvr-rectangle-out w3_play_icon1" href="javascript:;" onclick="showModal('标题', 'course_1', $(this))"> 查看详情</a>
+						<div id="course_1" style="display:none;">内容内容</div>
 					</div>
 					<div class="agileits-banner-grid">
 						<span class="fa fa-tags banner-icon" aria-hidden="true"></span>
@@ -107,60 +111,62 @@
 					</div>
 					<div class="clearfix"></div>
 			    </div>		
-			</div>	
-			<h2 class="w3ls-title">about us</h2>
-			<h5>Roin vel enim nec ipsum finibus.Duis euismod massa utab.</h5>
-			<div class="col-md-7  w3ls-about-left">
-				<p>Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus. </p>
-				<p class="about-bottom">Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum.</p>
 			</div>
-			<div class="col-md-5 w3ls-row">
-				<div class="col-md-6 col-sm-6 wthree-about-left">
-					<img src="images/about2.jpg" class="img-responsive" alt=""/>
+			<div>
+				<h2 class="w3ls-title">about us</h2>
+				<h5>Roin vel enim nec ipsum finibus.Duis euismod massa utab.</h5>
+				<div class="col-md-7  w3ls-about-left">
+					<p>Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus. </p>
+					<p class="about-bottom">Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum finibus.Duis euismod massa ut sem fringilla blandit. Proin vel enim nec ipsum.</p>
 				</div>
-				<div class="col-md-6 col-sm-6 w3ls-row alert wthree-about-right">
-					<img src="images/about3.jpg" class="img-responsive" alt=""/>
+				<div class="col-md-5 w3ls-row">
+					<div class="col-md-6 col-sm-6 wthree-about-left">
+						<img src="images/about2.jpg" class="img-responsive" alt=""/>
+					</div>
+					<div class="col-md-6 col-sm-6 w3ls-row alert wthree-about-right">
+						<img src="images/about3.jpg" class="img-responsive" alt=""/>
+					</div>
+					<div class="clearfix"> </div>
 				</div>
 				<div class="clearfix"> </div>
-			</div>
-			<div class="clearfix"> </div>
-			<div class="stats-info agileits-w3layouts">
-				<div class="col-sm-3 col-xs-3 stats-grid">
-					<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='324' data-delay='.5' data-increment="1">324</div>
-					<div class="stats-img stat2">
-							<p>branches</p>
+				<div class="stats-info agileits-w3layouts">
+					<div class="col-sm-3 col-xs-3 stats-grid">
+						<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='324' data-delay='.5' data-increment="1">324</div>
+						<div class="stats-img stat2">
+								<p>branches</p>
+						</div>
 					</div>
-				</div>
-				<div class="col-sm-3 col-xs-3 stats-grid">
-					<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='200' data-delay='.5' data-increment="1">200</div>
-					<div class="stats-img stat2">
-						<p>visitors</p>
+					<div class="col-sm-3 col-xs-3 stats-grid">
+						<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='200' data-delay='.5' data-increment="1">200</div>
+						<div class="stats-img stat2">
+							<p>visitors</p>
+						</div>
 					</div>
-				</div>
-				<div class="col-sm-3 col-xs-3 stats-grid stat1">
-					<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='156' data-delay='.5' data-increment="1">156</div>
-					<div class="stats-img stat2">
-						<p>Awards</p>
+					<div class="col-sm-3 col-xs-3 stats-grid stat1">
+						<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='156' data-delay='.5' data-increment="1">156</div>
+						<div class="stats-img stat2">
+							<p>Awards</p>
+						</div>
 					</div>
-				</div>
-				<div class="col-sm-3 col-xs-3 stats-grid stat1">
-					<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='156' data-delay='.5' data-increment="1">156</div>
-					<div class="stats-img stat2">
-						<p>centres</p>
+					<div class="col-sm-3 col-xs-3 stats-grid stat1">
+						<div class='numscroller numscroller-big-bottom' data-slno='1' data-min='0' data-max='156' data-delay='.5' data-increment="1">156</div>
+						<div class="stats-img stat2">
+							<p>centres</p>
+						</div>
 					</div>
-				</div>
-				<div class="clearfix"></div>
-		 </div>
+					<div class="clearfix"></div>
+			 	</div>
+			 </div>
 		</div>
 	</div>
 	<!-- //about -->
   <!--services-->
-  <div class="agileits-services w3ls-section" id="agileits-services" >
+  <div class="agileits-services w3ls-section" id="service" >
 		<div class="container">
-			<h3 class="w3ls-title">services </h3>
+			<h3 class="w3ls-title">业务 </h3>
 			<div class="agileits-services-row">
 				<div class="col-md-3 col-sm-6 agileits-services-grids">
-					<span class="glyphicon glyphicon-stats effect-1" aria-hidden="true"></span>
+					<img class="glyphicon glyphicon-user effect-1" src="http://192.168.33.10/xiaomaxia/main/assets/default/images/about3.jpg" class="img-responsive" alt="" width="120">
 					<h4>Analytics</h4>
 					<p>Itaque earum rerum hic tenetur a sapiente delectus 
 						reiciendis maiores alias consequatur aut</p>
@@ -189,7 +195,7 @@
 	</div>
 	<!--//agileits-services-->
 <!--portfolio-->
-	<div id="portfolio" class="portfolio w3ls-section">
+	<div id="gallery" class="portfolio w3ls-section">
 		<div class="container">
 			<h3 class="w3ls-title">gallery</h3>
 		<div class="sap_tabs">			
@@ -383,57 +389,9 @@
 		</div>
 		</div>	
 	</div>
-	<!--//portfolio-->
-	<div class="tlinks">Collect from <a href="http://www.cssmoban.com/" >建站模板</a></div>
   <!--//main-header-->
 	<script type="text/javascript" src="js/jquery.zoomslider.min.js"></script>
-	<!-- testimonial -->
-	<div class="wthree-testi w3ls-section" id="testimonials">
-		<!-- container -->
-		<div class="container">
-			<h3 class="w3ls-title">Testimonials</h3> 
-			<div class="w3_wthree-testi_grids text-center">
-				<section class="slider">
-					<div class="flexslider">
-						<ul class="slides">
-							<li>	
-								<div class="wthree-testi_grid">
-									<div class="testimonial-left">
-										<i class="fa fa-user" aria-hidden="true"></i> 
-									</div>
-									<p>Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil 
-										impedit quo minus id quod possimus, omnis voluptas.</p>
-									<h5>John Frank</h5>
-								</div>
-							</li>
-							<li>	
-								<div class="wthree-testi_grid">
-									<div class="testimonial-left">
-										<i class="fa fa-user" aria-hidden="true"></i> 
-									</div>
-									<p>Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil 
-										impedit quo minus id quod possimus, omnis voluptas.</p>
-									<h5>Michael Doe</h5>
-								</div>
-							</li>
-							<li>	
-								<div class="wthree-testi_grid">
-									<div class="testimonial-left">
-										<i class="fa fa-user" aria-hidden="true"></i> 
-									</div>
-									<p>Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil 
-										impedit quo minus id quod possimus, omnis voluptas.</p>
-									<h5>Thomas Carl</h5>
-								</div>
-							</li>
-						</ul>
-					</div>
-				</section>
-				
-			</div>
-		</div>
-	</div>
-<!-- //testimonial --> 
+
 <!-- team -->
 	<div class="testimonials w3ls-section" id="team">
 		<div class="container">
@@ -485,25 +443,21 @@
 				<iframe src="" style="border:0" allowfullscreen></iframe>
 			</div>	
 			<div class="col-md-6 col-sm-6 col-xs-6 contact-right-w3l">
-				<form action="#" method="post">
-					<input type="text" class="name" name="name" placeholder="First Name" required="">
-					<input type="text" class="name" name="name" placeholder="Last Name" required="">
-					<input type="email" class="name" name="name" placeholder="Email" required="">
-					<input type="text" class="name" name="name" placeholder="Subject" required="">
-					<textarea placeholder="Your Message" required></textarea>
-					<input type="submit" value="SEND MESSAGE">
-				</form>
+				<input type="text" class="name" id="name" name="name" placeholder="姓名" required="">
+				<input type="text" class="name" id="mobile" name="mobile" placeholder="联系电话" required="">
+				<textarea placeholder="备注" id="content" required></textarea>
+				<input type="button" value="联系我" onclick="submit()">
 			</div>
 			<div class="clearfix"></div>
 		</div>
 	</div>
 <!-- //contact -->
 <!-- subscribe -->
-	<div class="w3ls-section subscribe text-center">
+	<div class="w3ls-section subscribe text-center" style="display:none;">
 		<div class="container">
 			<h3 class="w3ls-title">subscribe now!</h3>
 			<p>Enter your email address to get the latest news, special events and student activities delivered right to your inbox.</p>
-				<div class="subscribe-grid">
+			<div class="subscribe-grid">
 				<form action="#" method="post">
 					<input type="email" placeholder="Enter your email.." name="Subscribe" required="">
 					<button class="btn1">subscribe</button>
@@ -513,11 +467,11 @@
 	</div>
 	<!-- //subscribe -->
 	<!-- footer -->
-	<div class="agileits_w3layouts-footer">
-		<div class="col-md-6 col-sm-8 agileinfo-copyright">
+	<div class="agileits_w3layouts-footer" id="footer">
+		<div class="col-md-8 col-sm-8 agileinfo-copyright">
 			<p>Copyright &copy; 2017.Company name All rights reserved.More Templates <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">模板之家</a> - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></p>
 		</div>
-		<div class="col-md-6 col-sm-4 agileinfo-icons">
+		<div class="col-md-4 col-sm-4 agileinfo-icons" style="display: none;">
 			<ul>
 				<li><a class="icon fb" href="#"><i class="fa fa-facebook"></i></a></li>
 				<li><a class="icon tw" href="#"><i class="fa fa-twitter"></i></a></li>
@@ -534,7 +488,7 @@
 		<div class="modal-dialog" role="document">
 			<div class="modal-content">
 				<div class="modal-header">
-				  Tech Edu
+				  	<div class="modal-titles">Tech Edu</div>
 					<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>						
 				</div>
 					<div class="modal-body">
@@ -562,7 +516,41 @@
 				width: 'auto', //auto or any width like 600px
 				fit: true   // 100% fit in a container
 			});
-		});		
+
+
+		});
+
+		function showModal(title, content, e)
+		{
+			jQuery.noConflict();
+			var content = $('#' + content).html();
+			$('.modal-body').html(content);
+			$('.modal-titles').html(title);
+		    $("#myModal").modal('show');
+		}
+
+		function submit()
+		{
+			var name = $('#name').val();
+			var mobile = $('#mobile').val();
+			var content = $('#content').val();
+			if (!name) {
+				alert('请输入姓名');
+				return;
+			}
+			if (!mobile) {
+				alert('请输入联系电话');
+				return;
+			}
+
+			var url = config.host + 'content.msg';
+			$.post(url, {name:name,mobile:mobile,content:content}, function(t) {
+				$('#name').val('');
+				$('#mobile').val('');
+				$('#content').val('');
+				alert('提交成功,客服会尽量联系您');
+			})
+		}
 	</script>
 	<!--//script for portfolio-->
 
@@ -573,9 +561,11 @@
 			$("#owl-demo").owlCarousel({
 			  autoPlay: true, //Set AutoPlay to 3 seconds
 			  items :3,
+			  loop: true,
 			  itemsDesktop : [640,2],
-			  itemsDesktopSmall : [414,1],
+			  itemsDesktopSmall : [414,3],
 			  navigation : true,
+			  rewindNav : true,
 			  // THIS IS THE NEW PART
 				afterAction: function(el){
 					//remove class active

+ 40 - 0
main/database/config.php

@@ -60,6 +60,16 @@ return array
 			'update'	=> 'textarea',
 		),
 
+		'keywords'		=> array
+		(
+			'type' 		=> 'varchar-800',
+			'name' 		=> '站点关键字-多个用逗号隔开',
+			'default' 	=> '',
+			'desc' 		=> '站点关键字',
+			'match' 	=> 'option',
+			'update'	=> 'textarea',
+		),
+
 		'logo'		=> array
 		(
 			'type' 		=> 'varchar-150',
@@ -125,6 +135,36 @@ return array
 			//'large' 	=> true,
 		),
 
+		'contact'		=> array
+		(
+			'type' 		=> 'varchar-800',
+			'name' 		=> '联系简介',
+			'default' 	=> '',
+			'desc' 		=> '联系简介',
+			'match' 	=> 'option',
+			'update'	=> 'textarea',
+		),
+
+		'map_name'		=> array
+		(
+			'type' 		=> 'varchar-800',
+			'name' 		=> '高德地图标注名称-为空则自动显示站点名称',
+			'default' 	=> '',
+			'desc' 		=> '高德地图标注名称',
+			'match' 	=> 'option',
+			'update'	=> 'text',
+		),
+
+		'map'		=> array
+		(
+			'type' 		=> 'varchar-800',
+			'name' 		=> '高德地图坐标-<a href="https://lbs.amap.com/console/show/picker" target="_blank">点此访问坐标拾取工具</a>',
+			'default' 	=> '116.470098,39.992838',
+			'desc' 		=> '高德地图坐标',
+			'match' 	=> 'option',
+			'update'	=> 'text',
+		),
+
 		'foot'		=> array
 		(
 			'type' 		=> 'text-255',

+ 138 - 0
main/database/menu.php

@@ -0,0 +1,138 @@
+<?php
+
+return array
+(
+	# 表名
+	'name' => 'menu',
+	# 显示给用户看的名称
+	'lang' => '菜单管理',
+	# 后台菜单排序
+	'order' => 1,
+	# 数据结构
+	'struct' => array
+	(
+		'id' 		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> 'ID',
+			'default' 	=> '',
+			'desc' 		=> '',
+			'match' 	=> 'is_numeric',
+			'search'	=> 'order',
+			'list'		=> true,
+			'order'		=> 'desc',
+		),
+		
+		'name'		=> array
+		(
+			'type' 		=> 'varchar-32',
+			'name' 		=> '菜单名称',
+			'default' 	=> '',
+			'desc' 		=> '请输入名称',
+			'match' 	=> 'is_string',
+			'update'	=> 'text',
+			'search'	=> 'fulltext',
+			'list'		=> true,
+		),
+
+		'key'      => array
+        (
+            'type'      => 'varchar-180',
+            'name'      => '标识',
+            'default'   => '',
+            'desc'      => '标识',
+            'match'     => 'is_string',
+            //'update'    => 'text',
+            'search'    => 'fulltext',
+            'list'      => true,
+        ),
+		
+		'reorder'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '排序(数值越大越靠前)',
+			'default' 	=> '1',
+			'desc' 		=> '请输入排序',
+			'match' 	=> 'option',
+			'update'	=> 'text',
+			'search'	=> 'order',
+			'list'		=> true,
+			'order'		=> 'desc',
+			'edit'		=> true,
+		),
+
+		'state'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '状态',
+			'default' 	=> '1',
+			'desc' 		=> '请选择状态',
+			'match' 	=> 'is_numeric',
+		),
+		
+		'cdate'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '录入时间',
+			'match' 	=> array('is_numeric', time()),
+			'desc' 		=> '',
+			# 只有insert时才生效
+			'insert'	=> true,
+			'list'		=> 'date("Y-m-d H:i:s", {cdate})',
+		),
+	),
+
+	# 默认值
+	'default' => array
+	(
+		'col' => 'name,`key`,reorder,cdate',
+		'value' => array
+		(
+			'"关于我们","about",10,' . time(),
+			'"服务","service",9,' . time(),
+			'"图册","gallery",8,' . time(),
+			'"团队","team",7,' . time(),
+			'"服务","contact",6,' . time(),
+		),
+	),
+
+	'manage' => array
+	(
+		'insert' => false,
+		'edit' => false,
+
+		# 快捷更新
+		'list_button' => array
+		(
+			'edit' => array('编辑'),
+		),
+	),
+
+	'request' => array
+	(
+		'state' => array
+		(
+			# 匹配的正则或函数 选填项
+			'option' => array
+			(
+				'state' => 1,
+			),
+			'type' => 'all',
+			'order' => array('reorder' => 'desc','id' => 'desc'),
+			'col' => '*',
+		),
+		'getAll' => array
+		(
+			# 匹配的正则或函数 选填项
+			'option' => array
+			(
+				'state' => 1,
+				# 小程序去掉视频栏目
+				'id_no' => array('yes-id', '!='),
+			),
+			'type' => 'all',
+			'order' => array('reorder' => 'desc','id' => 'desc'),
+			'col' => '*',
+		),
+	),
+);

+ 114 - 16
main/src/Content.php

@@ -10,7 +10,26 @@ class Content extends Core
     # 基本配置
     public function config()
     {
-        return Dever::db('main/config')->one();
+        $data = Dever::db('main/config')->one();
+
+        $name = $data['map_name'] ? $data['map_name'] : $data['name'];
+        $data['map_link'] = 'https://m.amap.com/navi/?dest='.$data['map'].'&destName='.$name.'&key=a67c32e862d0b4d3e7acf07a325fd6e5';
+        return $data;
+    }
+
+    # 报名
+    public function msg()
+    {
+        $data['name'] = Dever::input('name');
+        $data['mobile'] = Dever::input('mobile');
+        $data['content'] = Dever::input('content');
+
+        if (!$data['name'] || !$data['mobile']) {
+            Dever::alert('请输入完整的信息');
+        }
+
+        $info = Dever::db('course/msg')->insert($data);
+        return true;
     }
 
     # 菜单
@@ -18,58 +37,95 @@ class Content extends Core
     {
         $data = array
         (
-            array
+            'index' => array
             (
                 'name' => '首页',
                 'link' => Dever::url('home', 'main'),
-                'class' => '',
+                'class' => 'active',
             ),
-            array
+            'about' => array
             (
                 'name' => '关于我们',
-                'link' => Dever::url('home#about', 'main'),
+                'link' => '#about',
                 'class' => '',
             ),
-            array
+            'service' => array
             (
                 'name' => '服务',
-                'link' => Dever::url('home#service', 'main'),
+                'link' => '#service',
                 'class' => '',
             ),
-            array
+            'gallery' => array
             (
                 'name' => '图册',
-                'link' => Dever::url('home#gallery', 'main'),
+                'link' => '#gallery',
                 'class' => '',
             ),
-            array
+            'team' => array
             (
                 'name' => '团队',
-                'link' => Dever::url('home#team', 'main'),
+                'link' => '#team',
                 'class' => '',
             ),
-            array
+            'contact' => array
             (
                 'name' => '联系',
-                'link' => Dever::url('home#contact', 'main'),
+                'link' => '#contact',
                 'class' => '',
             ),
         );
 
+        $menu = Dever::db('main/menu')->state();
+
+        foreach ($menu as $k => $v) {
+            $data[$v['key']] = array
+            (
+                'name' => $v['name'],
+                'link' => '#' . $v['key'],
+                'class' => '',
+            );
+        }
+
         return $data;
     }
 
+    public function getMenuName($key)
+    {
+        $menu = $this->menu();
+
+        return $menu[$key]['name'];
+    }
+
     # 焦点图
     public function focus()
     {
         $data = Dever::db('content/pic')->state();
-        return $data;
+        $result = array();
+        if ($data) {
+            foreach ($data as $k => $v) {
+                $result[] = $v['pic'];
+            }
+        }
+        //["images/b1.jpg","images/6.jpg","images/b2.jpg","images/b3.jpg","images/b4.jpg"]
+        return json_encode($result);
     }
 
     # 课程
     public function course()
     {
         $data = Dever::db('course/info')->state();
+
+        if ($data) {
+            foreach ($data as $k => $v) {
+                $data[$k] = $this->modal($data[$k], $v['name'], 'course_' . $v['id']);
+                if ($k %2 == 1) {
+                    $data[$k]['class'] = 'agileits-banner-grid ';
+                } else {
+                    $data[$k]['class'] = 'agileits-banner-grid bg-w3ls-active';
+                }
+                
+            }
+        }
         return $data;
     }
 
@@ -90,10 +146,16 @@ class Content extends Core
     # 图册
     public function gallery()
     {
-        $data = Dever::db('gallery/cate')->state();
+        $data[-1]['id'] = '-1';
+        $data[-1]['name'] = '全部';
+        $data += Dever::db('gallery/cate')->state();
         if ($data) {
             foreach ($data as $k => $v) {
-                $data[$k]['child'] = Dever::db('gallery/info')->state(array('cate_id' => $v['id']));
+                if ($v['id'] >= 0) {
+                    $data[$k]['child'] = Dever::db('gallery/info')->state(array('cate_id' => $v['id']));
+                } else {
+                    $data[$k]['child'] = Dever::db('gallery/info')->state();
+                }
             }
         }
         
@@ -104,6 +166,42 @@ class Content extends Core
     public function about()
     {
         $data = Dever::db('content/page')->one(array('key' => 'about'));
+        if ($data) {
+            $data['attr'] = Dever::array_decode($data['attr']);
+            $data['pic'] = explode(',', $data['pic']);
+            $data['pic_0'] = $data['pic'][0];
+            if (isset($data['pic'][1])) {
+                $data['pic_1'] = $data['pic'][1];
+            }
+        }
+        return $data;
+    }
+
+
+    public function attr()
+    {
+        $data = $this->about();
+        if ($data) {
+            return $data['attr'];
+        }
+        return array();
+    }
+
+    # 欢迎信息
+    public function welcome()
+    {
+        $data = Dever::db('content/page')->one(array('key' => 'welcome'));
+        if ($data) {
+            $data = $this->modal($data, $data['name'], 'mycontent');
+        }
+        
+        return $data;
+    }
+
+    private function modal($data, $name, $content)
+    {
+        $data['modal'] = 'showModal(\''.$name.'\', \''.$content.'\', $(this))';
+        $data['modal_content'] = $content;
         return $data;
     }
 }

+ 218 - 0
main/template/default/home.php

@@ -4,7 +4,225 @@ $view
 
 ->set('name', 'index')
 
+->fetch('title',    'main/content.config#name')
+->fetch('meta[name="keywords"]@content',    'main/content.config#keywords')
+->fetch('meta[name="description"]@content',    'main/content.config#info')
+
+# 头部信息
 ->fetch('#tel span',    'main/content.config#mobile')
 ->fetch('#email a',    'main/content.config#email') 
+->fetch('#email a@href',    'mailto:<{Dever::load("main/content.config#email")}>') 
+
+
+# 各个模块的标题
+->fetch(array('.w3ls-title', 0), '<{Dever::load("main/content.getMenuName", "about")}>')
+->fetch(array('.w3ls-title', 1), '<{Dever::load("main/content.getMenuName", "service")}>')
+->fetch(array('.w3ls-title', 2), '<{Dever::load("main/content.getMenuName", "gallery")}>')
+->fetch(array('.w3ls-title', 3), '<{Dever::load("main/content.getMenuName", "team")}>')
+->fetch(array('.w3ls-title', 4), '<{Dever::load("main/content.getMenuName", "contact")}>')
+
+# 焦点图
+->fetch('#demo-1@data-zs-src', 'main/content.focus')
+
+# 菜单
+->loop
+(
+    '.navbar-nav li',
+    'main/content.menu',
+    array
+    (
+        'a' => array
+        (
+            'href' => '$v.link',
+            'title' => '$v.name',
+            'html' => '$v.name',
+        ),
+
+        'self' => array
+        (
+            'class' => '$v.class',
+        ),
+    )
+)
+
+# 欢迎语
+->fetch('.baner-info h4',    'main/content.welcome#ename')
+->fetch('.baner-info h3',    'main/content.welcome#name')
+->fetch('.baner-info p',    'main/content.welcome#desc')
+->fetch('.baner-info a@onclick',    'main/content.welcome#modal')
+->fetch('.baner-info div@id',    'main/content.welcome#modal_content')
+->fetch('.baner-info div',    'main/content.welcome#content')
+
+# 欢迎语下面的两个文章:课程
+->loop
+(
+    '.agileits-banner-grid',
+    'main/content.course',
+    array
+    (
+        'h4' => array
+        (
+            'html' => '$v.name',
+        ),
+
+        'p' => array
+        (
+            'html' => '$v.desc',
+        ),
+
+        'img' => array
+        (
+            'src' => '$v.pic_cover',
+        ),
+
+        'a' => array
+        (
+            'onclick' => '$v.modal',
+        ),
+
+        'div' => array
+        (
+            'id' => '$v.modal_content',
+            'html' => '$v.content',
+        ),
+        'self' => array
+        (
+        	'class' => '$v.class',
+        ),
+    )
+)
+
+# 关于我们
+->fetch('#about@style',    'main/content.about', 'none')
+->fetch('#about h5',    'main/content.about#desc')
+->fetch('#about .w3ls-about-left',    'main/content.about#content')
+->fetch(array('#about .img-responsive@src', 0),    'main/content.about#pic_0')
+->fetch(array('#about .img-responsive@src', 1),    'main/content.about#pic_1')
+->loop
+(
+    '#about .stats-grid',
+    'main/content.attr',
+    array
+    (
+        '.numscroller' => array
+        (
+        	'data-max' => '$v.value',
+            'html' => '$v.value',
+        ),
+
+        'p' => array
+        (
+            'html' => '$v.name',
+        ),
+    )
+)
+
+# 服务
+->fetch('#service@style',    'main/content.service', 'none')
+->loop
+(
+    '#service .agileits-services-grids',
+    'main/content.service',
+    array
+    (
+        'h4' => array
+        (
+            'html' => '$v.name',
+        ),
+
+        'p' => array
+        (
+            'html' => '$v.desc',
+        ),
+        'img' => array
+        (
+            'src' => '$v.pic',
+        ),
+    )
+)
+
+# 图库
+->fetch('#gallery@style',    'main/content.gallery', 'none')
+->loop
+(
+    '#gallery .resp-tab-item',
+    'main/content.gallery',
+    array
+    (
+        'span' => array
+        (
+            'html' => '$v.name',
+        ),
+    )
+)
+
+->loop
+(
+    '#gallery .resp-tab-content',
+    'main/content.gallery',
+    array
+    (
+        '.portfolio-grids|$v.child' => array
+        (
+            'h5' => array
+	        (
+	            'html' => '$v1.name',
+	        ),
+
+	        'img' => array
+	        (
+	            'src' => '$v1.pic',
+	        ),
+
+	        'a' => array
+	        (
+	            'href' => '$v1.pic',
+	            'data-title' => '$v1.desc',
+	        ),
+        ),
+    )
+)
+
+# 团队
+->fetch('#team@style',    'main/content.teacher', 'none')
+->loop
+(
+    '#team .w3_agileits_testimonials_grid',
+    'main/content.teacher',
+    array
+    (
+        'img' => array
+        (
+            'src' => '$v.pic',
+            'alt' => '$v.name',
+            'width' => '200',
+        ),
+
+        'h4' => array
+        (
+            'html' => '$v.name',
+        ),
+
+        'p' => array
+        (
+            'html' => '$v.desc',
+        ),
+    )
+)
+
+
+->fetch('#contact p',    'main/content.config#contact')
+->fetch(array('#contact h6', 0),    'main/content.config#address')
+->fetch(array('#contact h6', 1),    'main/content.config#mobile')
+->fetch(array('#contact a', 0),    'main/content.config#email')
+->fetch(array('#contact a@href', 0),    'mailto:<{Dever::load("main/content.config#email")}>')
+
+
+->fetch('iframe@src', 'main/content.config#map_link')
+
+
+->fetch('#footer p', 'main/content.config#foot')
+
+->append('head',    '<script><{Dever::script()}></script>')
 
 ->display();