diff --git a/src/Advertise.php b/src/Advertise.php
deleted file mode 100644
index 7e5a98e..0000000
--- a/src/Advertise.php
+++ /dev/null
@@ -1,44 +0,0 @@
- ['attr' => 'time,format', 'close' => 0], //闭合标签,默认为不闭合
- 'open' => ['attr' => 'name,type', 'close' => 1],
-
- ];
-
- /**
- * 这是一个闭合标签的简单演示
- */
- public function tagClose($tag)
- {
- $format = empty($tag['format']) ? 'Y-m-d H:i:s' : $tag['format'];
- $time = empty($tag['time']) ? time() : $tag['time'];
- $parse = '';
- return $parse;
- }
-
- /**
- * 这是一个非闭合标签的简单演示
- */
- public function tagOpen($tag, $content)
- {
- $type = empty($tag['type']) ? 0 : 1; // 这个type目的是为了区分类型,一般来源是数据库
- $name = $tag['name']; // name是必填项,这里不做判断了
- $parse = '';
- $parse .= '{volist name="__LIST__" id="' . $name . '"}';
- $parse .= $content;
- $parse .= '{/volist}';
- return $parse;
- }
-}
diff --git a/src/Demo.php b/src/Demo.php
deleted file mode 100644
index f2869f2..0000000
--- a/src/Demo.php
+++ /dev/null
@@ -1,44 +0,0 @@
- ['attr' => 'time,format', 'close' => 0], //闭合标签,默认为不闭合
- 'open' => ['attr' => 'name,type', 'close' => 1],
-
- ];
-
- /**
- * 这是一个闭合标签的简单演示
- */
- public function tagClose($tag)
- {
- $format = empty($tag['format']) ? 'Y-m-d H:i:s' : $tag['format'];
- $time = empty($tag['time']) ? time() : $tag['time'];
- $parse = '';
- return $parse;
- }
-
- /**
- * 这是一个非闭合标签的简单演示
- */
- public function tagOpen($tag, $content)
- {
- $type = empty($tag['type']) ? 0 : 1; // 这个type目的是为了区分类型,一般来源是数据库
- $name = $tag['name']; // name是必填项,这里不做判断了
- $parse = '';
- $parse .= '{volist name="__LIST__" id="' . $name . '"}';
- $parse .= $content;
- $parse .= '{/volist}';
- return $parse;
- }
-}
diff --git a/src/Ui.php b/src/Ui.php
new file mode 100644
index 0000000..2b0f759
--- /dev/null
+++ b/src/Ui.php
@@ -0,0 +1,88 @@
+ ['attr' => 'id,div', 'close' => 0],
+ 'article' => ['attr' => 'category,order,limit', 'close' => 1],
+ ];
+ public function tagAdvertise($tag){
+ $result = '';
+
+ $ad = new \app\model\Advertise;
+ $id = $tag['id'];
+ $div = $tag['div'] ?? '';
+
+ $data = $ad->where('id',$id)->field('group,content,status')->find();
+
+ if (empty($data)) return $result;
+
+ // 判断定时广告是否到期
+ // if ($data->cycle == 2) if ($data->stime >= $data->etime) return $result;
+
+ $status = $data->status;
+ $group = $data->group;
+
+ if ($status == 1) {
+ switch ($group) {
+ case 'code':
+ $result = htmlspecialchars_decode($data->content);
+ break;
+ case 'text':
+ $arr = json_decode($data->content,true);
+ $result = ''.$arr['name'].'';
+ break;
+ case 'image':
+ $arr = json_decode($data->content,true);
+ $width = empty($arr['width'])?'':'width:'.$arr['width'].';';
+ $height = empty($arr['height'])?'':'height:'.$arr['height'].';';
+ $result = '';
+ break;
+ case 'slideshow':
+ $arr = json_decode($data->content,true);
+ break;
+ }
+ }
+
+ return $result;
+ }
+
+ public function tagArticle($tag,$content){
+ $category = $tag['category'] ?? '';
+ $order = $tag['order'] ?? 'id desc';
+ $limit = $tag['limit'] ?? 10;
+
+ $result = 'where("category","like","%,'.$category.',%")->limit('.$limit.')->order("'.$order.'")->select();';
+ }else{
+ $result .= '$article = \think\facade\Db::table("tco_article")->limit('.$limit.')->order("'.$order.'")->select();';
+ }
+
+
+ $result .= 'foreach ($article as $item) :';
+ $result .= '$item["aid"] = $skip::en("article",$item["id"]);';
+
+
+ $result .= '$c = $cache::store("article")->get($item["aid"].".md");';
+ $result .= '$item["thumbnail"] = $c["thumbnail"];';
+ $result .= '$item["category_name"] = $c["category_name"];';
+ $result .= '$item["des"] = $c["des"];';
+ $result .= '$item["time"] = $date::interval($item["atime"],["minutes","hours","days"]);';
+
+
+ $result .= 'extract($item);?>';
+ $result .= $content;
+ $result .= '';
+ return $result;
+ }
+}