diff --git a/application/admin/controller/Log.php b/application/admin/controller/Log.php
new file mode 100644
index 0000000..165fb62
--- /dev/null
+++ b/application/admin/controller/Log.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * 后台操作日志管理
+ * @since   2018-02-06
+ * @author  zhaoxiang <zhaoxiang051405@gmail.com>
+ */
+
+namespace app\admin\controller;
+
+
+use app\model\ApiAuthGroupAccess;
+use app\model\ApiUser;
+use app\model\ApiUserAction;
+use app\model\ApiUserData;
+use app\util\ReturnCode;
+use app\util\Tools;
+
+class Log extends Base {
+
+    /**
+     * 获取操作日志列表
+     * @return array
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @author zhaoxiang <zhaoxiang051405@gmail.com>
+     */
+    public function index() {
+
+        $limit = $this->request->get('size', config('apiAdmin.ADMIN_LIST_DEFAULT'));
+        $start = $limit * ($this->request->get('page', 1) - 1);
+        $type = $this->request->get('type', '');
+        $keywords = $this->request->get('keywords', '');
+
+        $where = [];
+        if ($type) {
+            switch ($type) {
+                case 1:
+                    $where['url'] = ['like', "%{$keywords}%"];
+                    break;
+                case 2:
+                    $where['nickname'] = ['like', "%{$keywords}%"];
+                    break;
+                case 3:
+                    $where['uid'] = $keywords;
+                    break;
+            }
+        }
+
+        $listInfo = (new ApiUserAction())->where($where)->order('addTime', 'DESC')->limit($start, $limit)->select();
+        $count = (new ApiUserAction())->where($where)->count();
+        $listInfo = Tools::buildArrFromObj($listInfo);
+
+        return $this->buildSuccess([
+            'list'  => $listInfo,
+            'count' => $count
+        ]);
+    }
+
+    /**
+     * 删除日志
+     * @return array
+     * @author zhaoxiang <zhaoxiang051405@gmail.com>
+     */
+    public function del() {
+        $id = $this->request->get('id');
+        if (!$id) {
+            return $this->buildFailed(ReturnCode::EMPTY_PARAMS, '缺少必要参数');
+        }
+        ApiUserAction::destroy($id);
+
+        return $this->buildSuccess([]);
+
+    }
+
+}
diff --git a/application/adminRoute.php b/application/adminRoute.php
index ba9a527..2090467 100644
--- a/application/adminRoute.php
+++ b/application/adminRoute.php
@@ -215,6 +215,14 @@ return [
             'admin/AppGroup/changeStatus',
             ['method' => 'get', 'after_behavior' => $afterBehavior]
         ],
+        'Log/index'        => [
+            'admin/Log/index',
+            ['method' => 'get', 'after_behavior' => $afterBehavior]
+        ],
+        'Log/del'          => [
+            'admin/Log/del',
+            ['method' => 'get', 'after_behavior' => $afterBehavior]
+        ],
         '__miss__'          => ['admin/Miss/index'],
     ],
 ];
diff --git a/application/model/ApiUserAction.php b/application/model/ApiUserAction.php
new file mode 100644
index 0000000..f6d267e
--- /dev/null
+++ b/application/model/ApiUserAction.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ *
+ * @since   2018-02-11
+ * @author  zhaoxiang <zhaoxiang051405@gmail.com>
+ */
+
+namespace app\model;
+
+
+class ApiUserAction extends Base {
+
+}