Browse Source

[调整]简化系统文件管理机制
[调整]更新系统权限机制

邹景立 8 years ago
parent
commit
ce393ea3e4

+ 6 - 3
application/admin/controller/Auth.php

@@ -45,6 +45,7 @@ class Auth extends BasicAdmin {
 
     /**
      * 权限授权
+     * @return void
      */
     public function apply() {
         $auth_id = $this->request->get('id', '0');
@@ -58,7 +59,8 @@ class Auth extends BasicAdmin {
                         unset($nodes[$key]);
                     }
                 }
-                return $this->success('获取节点成功!', '', $this->_filterNodes($this->_filterNodes(Tools::arr2tree($nodes, 'node', 'pnode', '_sub_'))));
+                $this->success('获取节点成功!', '', $this->_filterNodes($this->_filterNodes(Tools::arr2tree($nodes, 'node', 'pnode', '_sub_'))));
+                break;
             case 'save':
                 $data = [];
                 $post = $this->request->post();
@@ -67,10 +69,11 @@ class Auth extends BasicAdmin {
                 }
                 Db::name('SystemAuthNode')->where('auth', $auth_id)->delete();
                 Db::name('SystemAuthNode')->insertAll($data);
-                return $this->success('节点授权更新成功!', '');
+                $this->success('节点授权更新成功!', '');
+                break;
             default :
                 $this->assign('title', '节点授权');
-                return $this->_form($this->table, 'apply');
+                $this->_form($this->table, 'apply');
         }
     }
 

+ 1 - 2
application/admin/controller/Config.php

@@ -47,8 +47,7 @@ class Config extends BasicAdmin {
         } else {
             $data = $this->request->post();
             foreach ($data as $key => $vo) {
-                $_data = ['name' => $key, 'value' => $vo];
-                Data::save($this->table, $_data, 'name');
+                Data::save($this->table, ['name' => $key, 'value' => $vo], 'name');
             }
             $this->success('数据修改成功!', '');
         }

+ 40 - 84
application/admin/controller/Plugs.php

@@ -15,9 +15,7 @@
 namespace app\admin\controller;
 
 use controller\BasicAdmin;
-use library\Data;
-use library\File;
-use think\Db;
+use service\FileService;
 
 /**
  * 插件助手控制器
@@ -45,52 +43,52 @@ class Plugs extends BasicAdmin {
      */
     public function upfile($mode = 'one') {
         $types = $this->request->get('type', 'jpg,png');
-        $field = $this->request->get('field', 'file');
-        $this->assign('field', $field);
+        $this->assign('mode', $mode);
         $this->assign('types', $types);
-        $this->assign('mimes', File::getMine($types));
         $this->assign('uptype', sysconf('storage_type'));
-        $this->assign('mode', $mode);
+        $this->assign('mimes', FileService::getFileMine($types));
+        $this->assign('field', $this->request->get('field', 'file'));
         return view();
     }
 
     /**
-     * 检查文件上传状态
+     * 通用文件上传
+     * @return string
+     */
+    public function upload() {
+        if ($this->request->isPost()) {
+            $md5s = str_split($this->request->post('md5'), 16);
+            if (($info = $this->request->file('file')->move('upload' . DS . $md5s[0], $md5s[1], true))) {
+                $site_url = FileService::getFileUrl(join('/', $md5s) . '.' . $info->getExtension());
+                return json(['data' => ['site_url' => $site_url], 'code' => 'SUCCESS']);
+            }
+        }
+        return json(['code' => 'ERROR']);
+    }
+
+    /**
+     * 文件状态检查
+     * @return string
      */
     public function upstate() {
         $post = $this->request->post();
-        // 组装返回数据
-        $data = [];
-        $data['uptype'] = $post['uptype'];
-        $ext = pathinfo($post['filename'], PATHINFO_EXTENSION);
-        $data['file_url'] = join('/', str_split($post['md5'], 16)) . ".{$ext}";
-        $data['token'] = $this->_getQiniuToken($data['file_url']);
-        $data['server'] = url('admin/plugs/upload');
-        // 检查文件是否已经上传
-        $fileinfo = Db::name('SystemFile')->where(['uptype' => $post['uptype'], 'md5' => $post['md5']])->find();
-        // 七牛云文件写入处理
-        if (sysconf('storage_type') === 'qiniu') {
-            $data['server'] = sysconf('storage_qiniu_is_https') ? 'https://up.qbox.me' : 'http://upload.qiniu.com';
-            if (empty($fileinfo)) {
-                $file = [];
-                $file['uptype'] = 'qiniu';
-                $file['md5'] = $post['md5'];
-                $file['real_name'] = $post['filename'];
-                $file['file_name'] = pathinfo($data['file_url'], PATHINFO_BASENAME);
-                $file['file_path'] = $data['file_url'];
-                $file['full_path'] = $data['file_url'];
-                $file['file_ext'] = $ext;
-                $file['file_url'] = $data['file_url'];
-                $file['site_url'] = (sysconf('storage_qiniu_is_https') ? 'https' : 'http') . '://' . sysconf('storage_qiniu_domain') . '/' . $data['file_url'];
-                $file['create_by'] = session('user.id');
-                Data::save('SystemFile', $file, 'md5', ['uptype' => $post['uptype']]);
-            }
+        $filename = join('/', str_split($post['md5'], 16)) . '.' . pathinfo($post['filename'], PATHINFO_EXTENSION);
+        // 检查文件是否已上传
+        if (($site_url = FileService::getFileUrl($filename))) {
+            return $this->result(['site_url' => $site_url], 'IS_FOUND');
         }
-        // 本地上传或文件不存在
-        if (empty($fileinfo) || ($fileinfo['uptype'] === 'local' && !file_exists($fileinfo['full_path']))) {
-            return $this->result($data, 'NOT_FOUND');
+        // 需要上传文件,生成上传配置参数
+        $config = ['uptype' => $post['uptype'], 'file_url' => $filename, 'server' => url('admin/plugs/upload')];
+        switch (strtolower(sysconf('storage_type'))) {
+            case 'qiniu':
+                $config['server'] = sysconf('storage_qiniu_is_https') ? 'https://up.qbox.me' : 'http://upload.qiniu.com';
+                $config['token'] = $this->_getQiniuToken($filename);
+                break;
+            case 'local':
+                $config['server'] = url('admin/plugs/upload');
+                break;
         }
-        return $this->result($fileinfo, 'IS_FOUND');
+        return $this->result($config, 'NOT_FOUND');
     }
 
     /**
@@ -99,61 +97,19 @@ class Plugs extends BasicAdmin {
      * @return string
      */
     protected function _getQiniuToken($key) {
+        empty($key) && exit('param error');
         $accessKey = sysconf('storage_qiniu_access_key');
         $secretKey = sysconf('storage_qiniu_secret_key');
         $bucket = sysconf('storage_qiniu_bucket');
         $host = sysconf('storage_qiniu_domain');
         $protocol = sysconf('storage_qiniu_is_https') ? 'https' : 'http';
-        $time = time() + 3600;
-        empty($key) && exit('param error');
         $params = [
             "scope"      => "{$bucket}:{$key}",
-            "deadline"   => $time,
+            "deadline"   => 3600 + time(),
             "returnBody" => "{\"data\":{\"site_url\":\"{$protocol}://{$host}/$(key)\",\"file_url\":\"$(key)\"}, \"code\": \"SUCCESS\"}",
         ];
-        $find = array('+', '/');
-        $replace = array('-', '_');
-        $data = str_replace($find, $replace, base64_encode(json_encode($params)));
-        $sign = hash_hmac('sha1', $data, $secretKey, true);
-        return $accessKey . ':' . str_replace($find, $replace, base64_encode($sign)) . ':' . $data;
-    }
-
-    /**
-     * 通用文件上传
-     * @return string
-     */
-    public function upload() {
-        if ($this->request->isPost()) {
-            $md5s = str_split($this->request->post('md5'), 16);
-            $filepath = 'upload' . DS . array_shift($md5s);
-            $savename = array_shift($md5s);
-            if (($info = $this->request->file('file')->move($filepath, $savename, true))) {
-                $data = [];
-                $data['uptype'] = 'local';
-                $data['md5'] = $this->request->post('md5', $info->md5());
-                $data['real_name'] = $this->replacePath($info->getInfo('name'));
-                $data['file_name'] = $this->replacePath($info->getFilename());
-                $data['file_path'] = $this->replacePath($info->getPathname());
-                $data['full_path'] = $this->replacePath($info->getRealPath());
-                $data['file_ext'] = $info->getExtension();
-                $data['file_size'] = $info->getSize();
-                $data['file_url'] = $this->replacePath($filepath . '/' . $info->getSaveName());
-                $data['site_url'] = $this->replacePath(pathinfo($this->request->baseFile(true), PATHINFO_DIRNAME) . '/' . $data['file_url']);
-                $data['create_by'] = session('user.id');
-                Data::save('SystemFile', $data, 'md5', ['uptype' => 'local']);
-                return json(['data' => $data, 'code' => 'SUCCESS']);
-            }
-        }
-        return json(['code' => 'ERROR']);
-    }
-
-    /**
-     * 路径替换
-     * @param type $path
-     * @return type
-     */
-    protected function replacePath($path) {
-        return str_replace('\\', '/', $path);
+        $data = str_replace(['+', '/'], ['-', '_'], base64_encode(json_encode($params)));
+        return $accessKey . ':' . str_replace(['+', '/'], ['-', '_'], base64_encode(hash_hmac('sha1', $data, $secretKey, true))) . ':' . $data;
     }
 
     /**

+ 3 - 0
application/admin/controller/User.php

@@ -33,6 +33,9 @@ class User extends BasicAdmin {
      */
     protected $table = 'SystemUser';
 
+    /**
+     * 用户列表
+     */
     public function index() {
         $this->title = '系统用户管理';
         $db = Db::name($this->table)->where('is_deleted', '0');

+ 0 - 21
application/admin/model/User.php

@@ -1,21 +0,0 @@
-<?php
-
-// +----------------------------------------------------------------------
-// | Think.Admin
-// +----------------------------------------------------------------------
-// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: http://think.ctolog.com
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | github开源项目:https://github.com/zoujingli/Think.Admin
-// +----------------------------------------------------------------------
-
-namespace app\admin\model;
-
-use think\Model;
-
-class User extends Model {
-
-}

+ 5 - 2
application/extra/minapp.php

@@ -17,6 +17,9 @@
  * @return array
  */
 return [
-    'appid'  => '',
-    'secret' => ''
+    'appid'      => 'wx19f64200446c3582',
+    'appsecret'  => 'fd4a29abd3c1d49e04c11f8ee914a245',
+    'mch_id'     => '1411857402',
+    'partnerkey' => '0ed5103f88f9b3417c8cba24b8cc268d',
+    'cachepath'  => RUNTIME_PATH . 'wechat/pay',
 ];

+ 161 - 0
application/extra/mines.php

@@ -0,0 +1,161 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | Think.Admin
+// +----------------------------------------------------------------------
+// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://think.ctolog.com
+// +----------------------------------------------------------------------
+// | 开源协议 ( https://mit-license.org )
+// +----------------------------------------------------------------------
+// | github开源项目:https://github.com/zoujingli/Think.Admin
+// +----------------------------------------------------------------------
+return [
+    'hqx'   => ['application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'],
+    'cpt'   => 'application/mac-compactpro',
+    'csv'   => ['text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'],
+    'bin'   => ['application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'],
+    'dms'   => 'application/octet-stream',
+    'lha'   => 'application/octet-stream',
+    'lzh'   => 'application/octet-stream',
+    'exe'   => ['application/octet-stream', 'application/x-msdownload'],
+    'class' => 'application/octet-stream',
+    'psd'   => ['application/x-photoshop', 'image/vnd.adobe.photoshop'],
+    'so'    => 'application/octet-stream',
+    'sea'   => 'application/octet-stream',
+    'dll'   => 'application/octet-stream',
+    'oda'   => 'application/oda',
+    'pdf'   => ['application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'],
+    'ai'    => ['application/pdf', 'application/postscript'],
+    'eps'   => 'application/postscript',
+    'ps'    => 'application/postscript',
+    'smi'   => 'application/smil',
+    'smil'  => 'application/smil',
+    'mif'   => 'application/vnd.mif',
+    'xls'   => ['application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'],
+    'ppt'   => ['application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'],
+    'pptx'  => ['application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'],
+    'wbxml' => 'application/wbxml',
+    'wmlc'  => 'application/wmlc',
+    'dcr'   => 'application/x-director',
+    'dir'   => 'application/x-director',
+    'dxr'   => 'application/x-director',
+    'dvi'   => 'application/x-dvi',
+    'gtar'  => 'application/x-gtar',
+    'gz'    => 'application/x-gzip',
+    'gzip'  => 'application/x-gzip',
+    'php'   => ['application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'],
+    'php4'  => 'application/x-httpd-php',
+    'php3'  => 'application/x-httpd-php',
+    'phtml' => 'application/x-httpd-php',
+    'phps'  => 'application/x-httpd-php-source',
+    'js'    => ['application/x-javascript', 'text/plain'],
+    'swf'   => 'application/x-shockwave-flash',
+    'sit'   => 'application/x-stuffit',
+    'tar'   => 'application/x-tar',
+    'tgz'   => ['application/x-tar', 'application/x-gzip-compressed'],
+    'z'     => 'application/x-compress',
+    'xhtml' => 'application/xhtml+xml',
+    'xht'   => 'application/xhtml+xml',
+    'zip'   => ['application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'],
+    'rar'   => ['application/x-rar', 'application/rar', 'application/x-rar-compressed'],
+    'mid'   => 'audio/midi',
+    'midi'  => 'audio/midi',
+    'mpga'  => 'audio/mpeg',
+    'mp2'   => 'audio/mpeg',
+    'mp3'   => ['audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'],
+    'aif'   => ['audio/x-aiff', 'audio/aiff'],
+    'aiff'  => ['audio/x-aiff', 'audio/aiff'],
+    'aifc'  => 'audio/x-aiff',
+    'ram'   => 'audio/x-pn-realaudio',
+    'rm'    => 'audio/x-pn-realaudio',
+    'rpm'   => 'audio/x-pn-realaudio-plugin',
+    'ra'    => 'audio/x-realaudio',
+    'rv'    => 'video/vnd.rn-realvideo',
+    'wav'   => ['audio/x-wav', 'audio/wave', 'audio/wav'],
+    'bmp'   => ['image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'],
+    'gif'   => 'image/gif',
+    'jpeg'  => ['image/jpeg', 'image/pjpeg'],
+    'jpg'   => ['image/jpeg', 'image/pjpeg'],
+    'jpe'   => ['image/jpeg', 'image/pjpeg'],
+    'png'   => ['image/png', 'image/x-png'],
+    'tiff'  => 'image/tiff',
+    'tif'   => 'image/tiff',
+    'css'   => ['text/css', 'text/plain'],
+    'html'  => ['text/html', 'text/plain'],
+    'htm'   => ['text/html', 'text/plain'],
+    'shtml' => ['text/html', 'text/plain'],
+    'txt'   => 'text/plain',
+    'text'  => 'text/plain',
+    'log'   => ['text/plain', 'text/x-log'],
+    'rtx'   => 'text/richtext',
+    'rtf'   => 'text/rtf',
+    'xml'   => ['application/xml', 'text/xml', 'text/plain'],
+    'xsl'   => ['application/xml', 'text/xsl', 'text/xml'],
+    'mpeg'  => 'video/mpeg',
+    'mpg'   => 'video/mpeg',
+    'mpe'   => 'video/mpeg',
+    'qt'    => 'video/quicktime',
+    'mov'   => 'video/quicktime',
+    'avi'   => ['video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'],
+    'movie' => 'video/x-sgi-movie',
+    'doc'   => ['application/msword', 'application/vnd.ms-office'],
+    'docx'  => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'],
+    'dot'   => ['application/msword', 'application/vnd.ms-office'],
+    'dotx'  => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'],
+    'xlsx'  => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'],
+    'word'  => ['application/msword', 'application/octet-stream'],
+    'xl'    => 'application/excel',
+    'eml'   => 'message/rfc822',
+    'json'  => ['application/json', 'text/json'],
+    'pem'   => ['application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'],
+    'p10'   => ['application/x-pkcs10', 'application/pkcs10'],
+    'p12'   => 'application/x-pkcs12',
+    'p7a'   => 'application/x-pkcs7-signature',
+    'p7c'   => ['application/pkcs7-mime', 'application/x-pkcs7-mime'],
+    'p7m'   => ['application/pkcs7-mime', 'application/x-pkcs7-mime'],
+    'p7r'   => 'application/x-pkcs7-certreqresp',
+    'p7s'   => 'application/pkcs7-signature',
+    'crt'   => ['application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'],
+    'crl'   => ['application/pkix-crl', 'application/pkcs-crl'],
+    'der'   => 'application/x-x509-ca-cert',
+    'kdb'   => 'application/octet-stream',
+    'pgp'   => 'application/pgp',
+    'gpg'   => 'application/gpg-keys',
+    'sst'   => 'application/octet-stream',
+    'csr'   => 'application/octet-stream',
+    'rsa'   => 'application/x-pkcs7',
+    'cer'   => ['application/pkix-cert', 'application/x-x509-ca-cert'],
+    '3g2'   => 'video/3gpp2',
+    '3gp'   => ['video/3gp', 'video/3gpp'],
+    'mp4'   => 'video/mp4',
+    'm4a'   => 'audio/x-m4a',
+    'f4v'   => 'video/mp4',
+    'webm'  => 'video/webm',
+    'webp'  => 'image/webp',
+    'aac'   => 'audio/x-acc',
+    'm4u'   => 'application/vnd.mpegurl',
+    'm3u'   => 'text/plain',
+    'xspf'  => 'application/xspf+xml',
+    'vlc'   => 'application/videolan',
+    'wmv'   => ['video/x-ms-wmv', 'video/x-ms-asf'],
+    'au'    => 'audio/x-au',
+    'ac3'   => 'audio/ac3',
+    'flac'  => 'audio/x-flac',
+    'ogg'   => 'audio/ogg',
+    'kmz'   => ['application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'],
+    'kml'   => ['application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'],
+    'ics'   => 'text/calendar',
+    'ical'  => 'text/calendar',
+    'zsh'   => 'text/x-scriptzsh',
+    '7zip'  => ['application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'],
+    'cdr'   => ['application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'],
+    'wma'   => ['audio/x-ms-wma', 'video/x-ms-asf'],
+    'jar'   => ['application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'],
+    'svg'   => ['image/svg+xml', 'application/xml', 'text/xml'],
+    'vcf'   => 'text/x-vcard',
+    'srt'   => ['text/srt', 'text/plain'],
+    'vtt'   => ['text/vtt', 'text/plain'],
+    'ico'   => ['image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'],
+];

+ 9 - 15
extend/controller/BasicApi.php

@@ -2,6 +2,7 @@
 
 namespace controller;
 
+use library\Tools;
 use think\Cache;
 use think\Request;
 use think\Response;
@@ -29,27 +30,20 @@ class BasicApi {
      * @param Request|null $request
      */
     public function __construct(Request $request = null) {
+        // CORS 跨域 Options 检测响应
+        Tools::corsOptionsHandler();
+        // 获取当前 Request 对象
         $this->request = is_null($request) ? Request::instance() : $request;
-        if (in_array($this->request->action(), ['response', 'setcache', 'getcache', 'delcache', '_empty'])) {
+        // 安全方法请求过滤
+        if (in_array(strtolower($this->request->action()), ['response', 'setcache', 'getcache', 'delcache', '_empty'])) {
             exit($this->response('禁止访问接口安全方法!', 'ACCESS_NOT_ALLOWED')->send());
         }
+        // 访问 Token 检测处理
         $this->token = $this->request->request('token', $this->request->header('token', false));
-        if ((empty($this->token) || !$this->getCache($this->token)) && ($this->request->action() !== 'auth')) {
+//        if ((empty($this->token) || !$this->getCache($this->token)) && ($this->request->action() !== 'auth')) {
+        if (empty($this->token) && $this->request->action() !== 'auth') {
             exit($this->response('访问TOKEN失效,请重新授权!', 'ACCESS_TOKEN_FAILD')->send());
         }
-        // CORS 跨域 Options 检测响应
-        if ($this->request->isOptions()) {
-            header('Access-Control-Allow-Origin:*');
-            header('Access-Control-Allow-Headers:Accept,Referer,Host,Keep-Alive,User-Agent,X-Requested-With,Cache-Control,Content-Type,token');
-            header('Access-Control-Allow-Credentials:true');
-            header('Access-Control-Allow-Methods:GET,POST,OPTIONS');
-            header('Access-Control-Max-Age:1728000');
-            header('Content-Type:text/plain charset=UTF-8');
-            header('Content-Length: 0', true);
-            header('status: 204');
-            header('HTTP/1.0 204 No Content');
-            exit;
-        }
     }
 
     /**

+ 1 - 1
extend/controller/BasicWechat.php

@@ -48,7 +48,7 @@ class BasicWechat extends Controller {
      */
     public function _initialize() {
         parent::_initialize();
-        $this->current = (is_https() ? 'https' : 'http') . '://' . $this->request->host() . $this->request->url();
+        $this->current = ($this->request->isSsl() ? 'https' : 'http') . '://' . $this->request->host() . $this->request->url();
         /* 网页授权,并获粉丝信息 */
         if ($this->check_auth && $this->oAuth()) {
             if ($this->request->isGet()) {

File diff suppressed because it is too large
+ 0 - 25
extend/library/Emoji.php


+ 0 - 167
extend/library/File.php

@@ -1,167 +0,0 @@
-<?php
-
-// +----------------------------------------------------------------------
-// | Think.Admin
-// +----------------------------------------------------------------------
-// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: http://think.ctolog.com
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | github开源项目:https://github.com/zoujingli/Think.Admin
-// +----------------------------------------------------------------------
-
-namespace library;
-
-use Exception;
-use Qiniu\Auth;
-use Qiniu\Storage\UploadManager;
-use think\Log;
-
-/**
- * 文件处理库
- *
- * @author Anyon <zoujingli@qq.com>
- * @date 2016/03/19 13:40
- */
-class File {
-
-    /**
-     * 获取文件MINE信息
-     * @param string $exts
-     * @return string
-     */
-    static public function getMine($exts) {
-        $_exts = is_string($exts) ? explode(',', $exts) : $exts;
-        $_mines = [];
-        $mines = require(__DIR__ . DS . 'resource' . DS . 'mines.php');
-        foreach ($_exts as $_e) {
-            if (isset($mines[strtolower($_e)])) {
-                $_exinfo = $mines[strtolower($_e)];
-                $_mines[] = is_array($_exinfo) ? join(',', $_exinfo) : $_exinfo;
-            }
-        }
-        return join(',', $_mines);
-    }
-
-    /**
-     * 存储微信上传的文件
-     * @param string $appid 公众号APPID
-     * @param string $medias MediaID列表
-     * @param string $ext 文件后缀
-     * @param string $method 获取素材接口方法(getForeverMedia|getMedia)
-     * @param string $split 多项分割符
-     * @param array $list 文件URL列表
-     * @return string
-     */
-    static public function wechat($appid, $medias, $ext = '.png', $method = 'getMedia', $split = ',', $list = array()) {
-        $wechat = &load_wechat('Media', $appid);
-        if (is_string($medias)) {
-            $medias = explode($split, $medias);
-        }
-        foreach ($medias as $media_id) {
-            if (stripos($media_id, 'http') === 0) {
-                $list[] = $media_id;
-                continue;
-            }
-            $filename = 'wechat/' . join('/', str_split(md5($media_id), 16)) . $ext;
-            $content = $wechat->$method($media_id, (strtolower($ext) === '.mp4'));
-            if ($content === FALSE) {
-                Log::record("获取微信素材失败,{$wechat->errMsg}" . var_export(func_get_args(), TRUE), Log::ERROR);
-                continue;
-            }
-            // 视频需要处理
-            if (strtolower($ext) === '.mp4' && is_array($content) && isset($content['down_url'])) {
-                $content = file_get_contents($content['down_url']);
-                // 半个小时就失效了
-                // $list[] = $content['down_url'];
-                // continue;
-            }
-            $result = self::save($filename, $content, 'qiniu');
-            if ($result !== false && isset($result['url'])) {
-                $list[] = $result['url'];
-            }
-        }
-        return join($split, $list);
-    }
-
-    /**
-     * 根据Key读取文件内容
-     * @param type $filename
-     * @param type $file_storage
-     * @return type
-     */
-    static public function get($filename, $file_storage = NULL) {
-        switch (empty($file_storage) ? sysconf('file_storage') : $file_storage) {
-            case 'local':
-                if (file_exists(ROOT_PATH . 'public/upload/' . $filename)) {
-                    return file_get_contents(ROOT_PATH . 'public/upload/' . $filename);
-                }
-            case 'qiniu':
-                $auth = new Auth(sysconf('qiniu_accesskey'), sysconf('qiniu_secretkey'));
-                return file_get_contents($auth->privateDownloadUrl(sysconf('qiniu_protocol') . '://' . sysconf('qiniu_domain') . '/' . $filename));
-        }
-        return null;
-    }
-
-    /**
-     * 根据当前配置存储文件
-     * @param string $filename
-     * @param string $bodycontent
-     * @param string|null $file_storage
-     * @return array|null
-     */
-    static public function save($filename, $bodycontent, $file_storage = NULL) {
-        $type = empty($file_storage) ? sysconf('file_storage') : $file_storage;
-        if (!method_exists(__CLASS__, $type)) {
-            Log::record("保存存储失败,调用{$type}存储引擎不存在!", Log::ERROR);
-            return null;
-        }
-        return self::$type($filename, $bodycontent);
-    }
-
-    /**
-     * 文件储存在本地
-     * @param string $filename
-     * @param string $bodycontent
-     * @return string
-     */
-    static public function local($filename, $bodycontent) {
-        $filepath = ROOT_PATH . 'public/upload/' . $filename;
-        try {
-            !is_dir(dirname($filepath)) && mkdir(dirname($filepath), '0755', true);
-            if (file_put_contents($filepath, $bodycontent)) {
-                return array(
-                    'hash' => md5_file($filepath),
-                    'key'  => "upload/{$filename}",
-                    'url'  => pathinfo(request()->baseFile(true), PATHINFO_DIRNAME) . '/upload/' . $filename
-                );
-            }
-        } catch (Exception $err) {
-            Log::record('本地文件存储失败, ' . var_export($err, true), Log::ERROR);
-        }
-        return null;
-    }
-
-    /**
-     * 七牛云存储
-     * @param string $filename
-     * @param string $bodycontent
-     * @return string
-     */
-    static public function qiniu($filename, $bodycontent) {
-        $auth = new Auth(sysconf('qiniu_accesskey'), sysconf('qiniu_secretkey'));
-        $token = $auth->uploadToken(sysconf('qiniu_bucket'));
-        $uploadMgr = new UploadManager();
-        list($result, $err) = $uploadMgr->put($token, $filename, $bodycontent);
-        if ($err !== null) {
-            Log::record('七牛云文件上传失败, ' . var_export($err, true), Log::ERROR);
-            return null;
-        } else {
-            $result['url'] = sysconf('qiniu_protocol') . '://' . sysconf('qiniu_domain') . '/' . $filename;
-            return $result;
-        }
-    }
-
-}

+ 0 - 73
extend/library/Node.php

@@ -1,73 +0,0 @@
-<?php
-
-// +----------------------------------------------------------------------
-// | Think.Admin
-// +----------------------------------------------------------------------
-// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: http://think.ctolog.com
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | github开源项目:https://github.com/zoujingli/Think.Admin
-// +----------------------------------------------------------------------
-
-namespace library;
-
-/**
- * 代码节点分析器
- * 
- * @author Anyon <zoujingli@qq.com>
- * @date 2017/02/23 14:46
- */
-class Node {
-
-    /**
-     * 获取节点列表
-     * @param string $path
-     * @param array $nodes
-     * @return array
-     */
-    static public function getNodeTree($path, $nodes = []) {
-        foreach (self::getFilePaths($path) as $vo) {
-            if (stripos($vo, DS . 'controller' . DS) === false) {
-                continue;
-            }
-            $_tmp = explode(DS, $vo);
-            $controllerName = rtrim(array_pop($_tmp), '.php');
-            array_pop($_tmp);
-            $moduleName = array_pop($_tmp);
-            $className = config('app_namespace') . "\\{$moduleName}\\controller\\{$controllerName}";
-            if (!class_exists($className)) {
-                continue;
-            }
-            foreach (get_class_methods($className) as $actionName) {
-                if ($actionName[0] !== '_') {
-                    $nodes[] = strtolower("{$moduleName}/{$controllerName}/{$actionName}");
-                }
-            }
-        }
-        return $nodes;
-    }
-
-    /**
-     * 获取所有PHP文件
-     * @param string $path
-     * @param array $data
-     * @param string $ext
-     * @return array
-     */
-    static public function getFilePaths($path, $data = [], $ext = 'php') {
-        foreach (scandir($path) as $dir) {
-            if ($dir[0] === '.') {
-                continue;
-            }
-            $tmp = realpath($path . DS . $dir);
-            if ($tmp && (is_dir($tmp) || pathinfo($tmp, PATHINFO_EXTENSION) === $ext)) {
-                is_dir($tmp) ? $data = array_merge($data, self::getFilePaths($tmp)) : $data[] = $tmp;
-            }
-        }
-        return $data;
-    }
-
-}

+ 18 - 74
extend/library/Tools.php

@@ -24,6 +24,24 @@ namespace library;
 class Tools {
 
     /**
+     * Cors Options 授权处理
+     */
+    static public function corsOptionsHandler() {
+        if (request()->isOptions()) {
+            header('Access-Control-Allow-Origin:*');
+            header('Access-Control-Allow-Headers:Accept,Referer,Host,Keep-Alive,User-Agent,X-Requested-With,Cache-Control,Content-Type,token');
+            header('Access-Control-Allow-Credentials:true');
+            header('Access-Control-Allow-Methods:GET,POST,OPTIONS');
+            header('Access-Control-Max-Age:1728000');
+            header('Content-Type:text/plain charset=UTF-8');
+            header('Content-Length: 0', true);
+            header('status: 204');
+            header('HTTP/1.0 204 No Content');
+            exit;
+        }
+    }
+
+    /**
      * 一维数据数组生成数据树
      * @param array $list 数据列表
      * @param string $id 父ID Key
@@ -93,78 +111,4 @@ class Tools {
         return $ids;
     }
 
-    /**
-     * 一维数据数组生成数据树(节点)
-     * @param array $_array_tree 数据列表
-     * @param string $node 节点
-     * @param string $pnode 父节点
-     * @param string $path
-     * @param string $ppath
-     * @return array
-     */
-    static public function node2table($_array_tree, $node = 'node', $pnode = 'pnode', $path = "id", $ppath = '') {
-        $tree = array();
-        foreach ($_array_tree as $_tree) {
-            $_tree[$path . "_node"] = $ppath . '-' . $_tree['id'];
-            $_tree['spl'] = str_repeat("&nbsp;&nbsp;&nbsp;├ ", substr_count($ppath, '-'));
-            if (!isset($_tree['sub'])) {
-                $_tree['sub'] = array();
-            }
-            $sub = $_tree['sub'];
-            unset($_tree['sub']);
-            $tree[] = $_tree;
-            if (!empty($sub)) {
-                $sub_array = self::node2table($sub, $node, $pnode, $path, $_tree[$path . "_node"]);
-                $tree = array_merge($tree, (Array) $sub_array);
-            }
-        }
-        return $tree;
-    }
-
-    /**
-     * 数组解析重组
-     * @param array $data 数据列表
-     * @param array $params ["分组名"=>["新字段名"=>["原字段名","分割符"]]]
-     * @param bool $remove 移除原字段
-     * @return array
-     */
-    static public function parseArrayValue(array $data, $params = [], $remove = true) {
-        foreach ($params as $new => $param) {
-            foreach ($data as $key => $value) {
-                foreach ($param as $newfield => $attr) {
-                    if (is_string($attr)) {
-                        $attr = [$attr, ','];
-                    }
-                    if ($attr[0] === $key) {
-                        if (is_string($value)) {
-                            foreach (explode($attr[1], $value) as $k => $v) {
-                                $data[$new][$k][$newfield] = $v;
-                            }
-                        }
-                        if ($remove) {
-                            unset($data[$key]);
-                        }
-                    }
-                }
-            }
-        }
-        return $data;
-    }
-
-    /**
-     * 多维数组去重
-     * @param array $data
-     * @return array
-     */
-    static public function uniqueArray(array $data) {
-        foreach ($data as &$v) {
-            $v = json_encode($v);
-        }
-        $data = array_unique($data);
-        foreach ($data as &$v) {
-            $v = json_decode($v, true);
-        }
-        return $data;
-    }
-
 }

+ 0 - 161
extend/library/resource/mines.php

@@ -1,161 +0,0 @@
-<?php
-
-// +----------------------------------------------------------------------
-// | Think.Admin
-// +----------------------------------------------------------------------
-// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: http://think.ctolog.com
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | github开源项目:https://github.com/zoujingli/Think.Admin
-// +----------------------------------------------------------------------
-return array(
-    'hqx'   => array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
-    'cpt'   => 'application/mac-compactpro',
-    'csv'   => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),
-    'bin'   => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
-    'dms'   => 'application/octet-stream',
-    'lha'   => 'application/octet-stream',
-    'lzh'   => 'application/octet-stream',
-    'exe'   => array('application/octet-stream', 'application/x-msdownload'),
-    'class' => 'application/octet-stream',
-    'psd'   => array('application/x-photoshop', 'image/vnd.adobe.photoshop'),
-    'so'    => 'application/octet-stream',
-    'sea'   => 'application/octet-stream',
-    'dll'   => 'application/octet-stream',
-    'oda'   => 'application/oda',
-    'pdf'   => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'),
-    'ai'    => array('application/pdf', 'application/postscript'),
-    'eps'   => 'application/postscript',
-    'ps'    => 'application/postscript',
-    'smi'   => 'application/smil',
-    'smil'  => 'application/smil',
-    'mif'   => 'application/vnd.mif',
-    'xls'   => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'),
-    'ppt'   => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'),
-    'pptx'  => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'),
-    'wbxml' => 'application/wbxml',
-    'wmlc'  => 'application/wmlc',
-    'dcr'   => 'application/x-director',
-    'dir'   => 'application/x-director',
-    'dxr'   => 'application/x-director',
-    'dvi'   => 'application/x-dvi',
-    'gtar'  => 'application/x-gtar',
-    'gz'    => 'application/x-gzip',
-    'gzip'  => 'application/x-gzip',
-    'php'   => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'),
-    'php4'  => 'application/x-httpd-php',
-    'php3'  => 'application/x-httpd-php',
-    'phtml' => 'application/x-httpd-php',
-    'phps'  => 'application/x-httpd-php-source',
-    'js'    => array('application/x-javascript', 'text/plain'),
-    'swf'   => 'application/x-shockwave-flash',
-    'sit'   => 'application/x-stuffit',
-    'tar'   => 'application/x-tar',
-    'tgz'   => array('application/x-tar', 'application/x-gzip-compressed'),
-    'z'     => 'application/x-compress',
-    'xhtml' => 'application/xhtml+xml',
-    'xht'   => 'application/xhtml+xml',
-    'zip'   => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'),
-    'rar'   => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'),
-    'mid'   => 'audio/midi',
-    'midi'  => 'audio/midi',
-    'mpga'  => 'audio/mpeg',
-    'mp2'   => 'audio/mpeg',
-    'mp3'   => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
-    'aif'   => array('audio/x-aiff', 'audio/aiff'),
-    'aiff'  => array('audio/x-aiff', 'audio/aiff'),
-    'aifc'  => 'audio/x-aiff',
-    'ram'   => 'audio/x-pn-realaudio',
-    'rm'    => 'audio/x-pn-realaudio',
-    'rpm'   => 'audio/x-pn-realaudio-plugin',
-    'ra'    => 'audio/x-realaudio',
-    'rv'    => 'video/vnd.rn-realvideo',
-    'wav'   => array('audio/x-wav', 'audio/wave', 'audio/wav'),
-    'bmp'   => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'),
-    'gif'   => 'image/gif',
-    'jpeg'  => array('image/jpeg', 'image/pjpeg'),
-    'jpg'   => array('image/jpeg', 'image/pjpeg'),
-    'jpe'   => array('image/jpeg', 'image/pjpeg'),
-    'png'   => array('image/png', 'image/x-png'),
-    'tiff'  => 'image/tiff',
-    'tif'   => 'image/tiff',
-    'css'   => array('text/css', 'text/plain'),
-    'html'  => array('text/html', 'text/plain'),
-    'htm'   => array('text/html', 'text/plain'),
-    'shtml' => array('text/html', 'text/plain'),
-    'txt'   => 'text/plain',
-    'text'  => 'text/plain',
-    'log'   => array('text/plain', 'text/x-log'),
-    'rtx'   => 'text/richtext',
-    'rtf'   => 'text/rtf',
-    'xml'   => array('application/xml', 'text/xml', 'text/plain'),
-    'xsl'   => array('application/xml', 'text/xsl', 'text/xml'),
-    'mpeg'  => 'video/mpeg',
-    'mpg'   => 'video/mpeg',
-    'mpe'   => 'video/mpeg',
-    'qt'    => 'video/quicktime',
-    'mov'   => 'video/quicktime',
-    'avi'   => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'),
-    'movie' => 'video/x-sgi-movie',
-    'doc'   => array('application/msword', 'application/vnd.ms-office'),
-    'docx'  => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'),
-    'dot'   => array('application/msword', 'application/vnd.ms-office'),
-    'dotx'  => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'),
-    'xlsx'  => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'),
-    'word'  => array('application/msword', 'application/octet-stream'),
-    'xl'    => 'application/excel',
-    'eml'   => 'message/rfc822',
-    'json'  => array('application/json', 'text/json'),
-    'pem'   => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'),
-    'p10'   => array('application/x-pkcs10', 'application/pkcs10'),
-    'p12'   => 'application/x-pkcs12',
-    'p7a'   => 'application/x-pkcs7-signature',
-    'p7c'   => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
-    'p7m'   => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
-    'p7r'   => 'application/x-pkcs7-certreqresp',
-    'p7s'   => 'application/pkcs7-signature',
-    'crt'   => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'),
-    'crl'   => array('application/pkix-crl', 'application/pkcs-crl'),
-    'der'   => 'application/x-x509-ca-cert',
-    'kdb'   => 'application/octet-stream',
-    'pgp'   => 'application/pgp',
-    'gpg'   => 'application/gpg-keys',
-    'sst'   => 'application/octet-stream',
-    'csr'   => 'application/octet-stream',
-    'rsa'   => 'application/x-pkcs7',
-    'cer'   => array('application/pkix-cert', 'application/x-x509-ca-cert'),
-    '3g2'   => 'video/3gpp2',
-    '3gp'   => array('video/3gp', 'video/3gpp'),
-    'mp4'   => 'video/mp4',
-    'm4a'   => 'audio/x-m4a',
-    'f4v'   => 'video/mp4',
-    'webm'  => 'video/webm',
-    'webp'  => 'image/webp',
-    'aac'   => 'audio/x-acc',
-    'm4u'   => 'application/vnd.mpegurl',
-    'm3u'   => 'text/plain',
-    'xspf'  => 'application/xspf+xml',
-    'vlc'   => 'application/videolan',
-    'wmv'   => array('video/x-ms-wmv', 'video/x-ms-asf'),
-    'au'    => 'audio/x-au',
-    'ac3'   => 'audio/ac3',
-    'flac'  => 'audio/x-flac',
-    'ogg'   => 'audio/ogg',
-    'kmz'   => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'),
-    'kml'   => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'),
-    'ics'   => 'text/calendar',
-    'ical'  => 'text/calendar',
-    'zsh'   => 'text/x-scriptzsh',
-    '7zip'  => array('application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
-    'cdr'   => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'),
-    'wma'   => array('audio/x-ms-wma', 'video/x-ms-asf'),
-    'jar'   => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'),
-    'svg'   => array('image/svg+xml', 'application/xml', 'text/xml'),
-    'vcf'   => 'text/x-vcard',
-    'srt'   => array('text/srt', 'text/plain'),
-    'vtt'   => array('text/vtt', 'text/plain'),
-    'ico'   => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'),
-);

+ 187 - 0
extend/service/FileService.php

@@ -0,0 +1,187 @@
+<?php
+
+// +----------------------------------------------------------------------
+// | Think.Admin
+// +----------------------------------------------------------------------
+// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
+// +----------------------------------------------------------------------
+// | 官方网站: http://think.ctolog.com
+// +----------------------------------------------------------------------
+// | 开源协议 ( http://www.apache.org/licenses/LICENSE-2.0 )
+// +----------------------------------------------------------------------
+// | github开源项目:https://github.com/zoujingli/Think.Admin
+// +----------------------------------------------------------------------
+
+namespace service;
+
+use Exception;
+use Qiniu\Auth;
+use Qiniu\Storage\BucketManager;
+use Qiniu\Storage\UploadManager;
+use think\Config;
+use think\Log;
+
+/**
+ * 文件服务处理
+ * @class FileService
+ * @author Anyon <zoujingli@qq.com>
+ * @date 2017/03/15 15:17
+ */
+class FileService {
+
+    /**
+     * 获取文件MINE信息
+     * @param string $exts
+     * @return string
+     */
+    static public function getFileMine($exts) {
+        $_exts = is_string($exts) ? explode(',', $exts) : $exts;
+        $_mines = [];
+        $mines = Config::get('mines');
+        foreach ($_exts as $_e) {
+            if (isset($mines[strtolower($_e)])) {
+                $_exinfo = $mines[strtolower($_e)];
+                $_mines[] = is_array($_exinfo) ? join(',', $_exinfo) : $_exinfo;
+            }
+        }
+        return join(',', $_mines);
+    }
+
+    /**
+     * 获取文件当前URL地址
+     * @param string $filename
+     * @param string|null $storage
+     * @return bool|string
+     */
+    static public function getFileUrl($filename, $storage = null) {
+        if (self::hasFile($filename, $storage) === false) {
+            return false;
+        }
+        switch (empty($storage) ? sysconf('storage_type') : $storage) {
+            case 'local':
+                return self::getBaseUriLocal() . $filename;
+            case 'qiniu':
+                return self::getBaseUriQiniu() . $filename;
+        }
+        return false;
+    }
+
+    /**
+     * 获取服务器URL前缀
+     * @return string
+     */
+    static public function getBaseUriLocal() {
+        $request = request();
+        $base = $request->root();
+        $root = strpos($base, '.') ? ltrim(dirname($base), DS) : $base;
+        if ('' != $root) {
+            $root = '/' . ltrim($root, '/');
+        }
+        return ($request->isSsl() ? 'https' : 'http') . '://' . $request->host() . "{$root}/upload/";
+    }
+
+    /**
+     * 获取七牛云URL前缀
+     * @return string
+     */
+    static public function getBaseUriQiniu() {
+        return (sysconf('storage_qiniu_is_https') ? 'https' : 'http') . '://' . sysconf('storage_qiniu_domain') . '/';
+    }
+
+    /**
+     * 检查文件是否已经存在
+     * @param string $filename
+     * @param string|null $storage
+     * @return bool
+     */
+    static public function hasFile($filename, $storage = null) {
+        switch (empty($storage) ? sysconf('storage_type') : $storage) {
+            case 'local':
+                return file_exists(ROOT_PATH . 'public/upload/' . $filename);
+            case 'qiniu':
+                $auth = new Auth(sysconf('storage_qiniu_access_key'), sysconf('storage_qiniu_secret_key'));
+                $bucketMgr = new BucketManager($auth);
+                list($ret, $err) = $bucketMgr->stat(sysconf('storage_qiniu_bucket'), $filename);
+                return $err === null;
+        }
+        return false;
+    }
+
+    /**
+     * 根据Key读取文件内容
+     * @param string $filename
+     * @param string|null $storage
+     * @return string|null
+     */
+    static public function readFile($filename, $storage = null) {
+        switch (empty($storage) ? sysconf('storage_type') : $storage) {
+            case 'local':
+                if (file_exists(ROOT_PATH . 'public/upload/' . $filename)) {
+                    return file_get_contents(ROOT_PATH . 'public/upload/' . $filename);
+                }
+            case 'qiniu':
+                $auth = new Auth(sysconf('storage_qiniu_access_key'), sysconf('storage_qiniu_secret_key'));
+                return file_get_contents($auth->privateDownloadUrl(self::getBaseUriQiniu() . $filename));
+        }
+        return null;
+    }
+
+    /**
+     * 根据当前配置存储文件
+     * @param string $filename
+     * @param string $bodycontent
+     * @param string|null $file_storage
+     * @return array|null
+     */
+    static public function save($filename, $bodycontent, $file_storage = null) {
+        $type = empty($file_storage) ? sysconf('storage_type') : $file_storage;
+        if (!method_exists(__CLASS__, $type)) {
+            Log::error("保存存储失败,调用{$type}存储引擎不存在!");
+            return null;
+        }
+        return self::$type($filename, $bodycontent);
+    }
+
+    /**
+     * 文件储存在本地
+     * @param string $filename
+     * @param string $bodycontent
+     * @return string
+     */
+    static public function local($filename, $bodycontent) {
+        $filepath = ROOT_PATH . 'public/upload/' . $filename;
+        try {
+            !is_dir(dirname($filepath)) && mkdir(dirname($filepath), '0755', true);
+            if (file_put_contents($filepath, $bodycontent)) {
+                return [
+                    'hash' => md5_file($filepath),
+                    'key'  => "upload/{$filename}",
+                    'url'  => pathinfo(request()->baseFile(true), PATHINFO_DIRNAME) . '/upload/' . $filename
+                ];
+            }
+        } catch (Exception $err) {
+            Log::error('本地文件存储失败, ' . var_export($err, true));
+        }
+        return null;
+    }
+
+    /**
+     * 七牛云存储
+     * @param string $filename
+     * @param string $bodycontent
+     * @return string
+     */
+    static public function qiniu($filename, $bodycontent) {
+        $auth = new Auth(sysconf('storage_qiniu_access_key'), sysconf('storage_qiniu_secret_key'));
+        $token = $auth->uploadToken(sysconf('storage_qiniu_bucket'));
+        $uploadMgr = new UploadManager();
+        list($result, $err) = $uploadMgr->put($token, $filename, $bodycontent);
+        if ($err !== null) {
+            Log::error('七牛云文件上传失败, ' . var_export($err, true));
+            return null;
+        }
+        $result['url'] = self::getBaseUriQiniu() . $filename;
+        return $result;
+    }
+
+}

+ 3 - 5
extend/service/PayService.php

@@ -15,8 +15,6 @@
 namespace service;
 
 use library\Data;
-use PHPQRCode\Constants;
-use PHPQRCode\QRcode;
 use think\Db;
 use think\Log;
 use Wechat\WechatPay;
@@ -35,7 +33,7 @@ class PayService {
      * @return bool
      */
     static public function isPay($order_no) {
-        return Db::table('wechat_pay_prepayid')->where('order_no', $order_no)->where('is_pay', '1')->count() > 0;
+        return Db::name('WechatPayPrepayid')->where('order_no', $order_no)->where('is_pay', '1')->count() > 0;
     }
 
     /**
@@ -76,7 +74,7 @@ class PayService {
         $prepayinfo = Db::table('wechat_pay_prepayid')->where('appid=:appid and order_no=:order_no and (is_pay=:is_pay or expires_in>:expires_in)', $map)->find();
         if (empty($prepayinfo) || empty($prepayinfo['prepayid'])) {
             $out_trade_no = Data::createSequence(18, 'WXPAY-OUTER-NO');
-            $prepayid = $pay->getPrepayId($openid, $title, $out_trade_no, $fee, url("@push/wechat/notify/{$pay->appid}", '', true, true), $trade_type);
+            $prepayid = $pay->getPrepayId($openid, $title, $out_trade_no, $fee, url("@store/api/notify", '', true, true), $trade_type);
             if (empty($prepayid)) {
                 Log::error("内部订单号{$order_no}生成预支付失败,{$pay->errMsg}");
                 return false;
@@ -125,7 +123,7 @@ class PayService {
      */
     static public function refund($pay, $order_no, $fee = 0, $refund_no = NULL, $refund_account = '') {
         $map = array('order_no' => $order_no, 'is_pay' => '1', 'appid' => $pay->appid);
-        $notify = Db::table('wechat_pay_prepayid')->where($map)->find();
+        $notify = Db::name('WechatPayPrepayid')->where($map)->find();
         if (empty($notify)) {
             Log::error("内部订单号{$order_no}验证退款失败");
             return false;

+ 0 - 98
extend/service/SmsService.php

@@ -1,98 +0,0 @@
-<?php
-
-// +----------------------------------------------------------------------
-// | Think.Admin
-// +----------------------------------------------------------------------
-// | 版权所有 2016~2017 广州楚才信息科技有限公司 [ http://www.cuci.cc ]
-// +----------------------------------------------------------------------
-// | 官方网站: http://think.ctolog.com
-// +----------------------------------------------------------------------
-// | 开源协议 ( https://mit-license.org )
-// +----------------------------------------------------------------------
-// | github开源项目:https://github.com/zoujingli/Think.Admin
-// +----------------------------------------------------------------------
-
-namespace service;
-
-use library\Sms;
-use think\Cache;
-
-/**
- * 短信服务
- *
- * @package service
- * @author Anyon <zoujingli@qq.com>
- * @date 2016/12/14 16:50
- */
-class SmsService extends BasicService {
-
-    /**
-     * 给手机发送短信
-     * @param string $phone 手机号码
-     * @param string $content 短信内容
-     * @param array $data 短信内容模板数据
-     * @return bool
-     */
-    static public function send($phone, $content, $data = []) {
-        $sms = new Sms();
-        return $sms->render($content, $data)->send($phone);
-    }
-
-    /**
-     * 给指定手机号码发送验证码
-     * @param string $phone 手机号码
-     * @param int $length 验证码长度
-     * @param string $string 验证码可选字符
-     * @param string $code
-     * @return array
-     */
-    static public function verify($phone, $length = 4, $string = "0123456789", $code = '') {
-        $max = strlen($string) - 1;
-        for ($i = 0; $i < $length; $i++) {
-            $code .= $string[rand(0, $max)];
-        }
-        $cache_key = "sms_verify_{$phone}";
-        $cache = Cache::get($cache_key);
-        if ($cache && !empty($cache['time']) && $cache['time'] + 60 > time()) {
-            return self::_data('同一手机号码60秒内只能发送一条短信哦!', 'SMS_60S_ONLY_SEND_A_SMS');
-        }
-        $result = self::send($phone, 'sms_tpl_register', ['code' => $code]);
-        if ($result) {
-            $cache = ['phone' => $phone, 'code' => $code, 'time' => time()];
-            Cache::set($cache_key, $cache, 180);
-            return self::_data('验证码发送成功,请查看手机短信!', 'SUCCESS');
-        }
-        return self::_data('验证码发送失败,请稍候再试!', 'ERROR');
-    }
-
-    /**
-     * 获取再次发送短信的等待时间
-     * @param string $phone
-     * @return int
-     */
-    static public function getVerifyWaitTime($phone) {
-        $cache_key = "sms_verify_{$phone}";
-        $cache = Cache::get($cache_key);
-        if (empty($cache) || empty($cache['time']) || $cache['time'] + 60 < time()) {
-            return 0;
-        }
-        return time() - $cache['time'] - 60;
-    }
-
-    /**
-     * 统一验证码验证
-     * @param string $phone
-     * @param string $code
-     * @return array
-     */
-    static public function checkVerify($phone, $code) {
-        $cache_key = "sms_verify_{$phone}";
-        $cache = Cache::get($cache_key);
-        if (empty($cache) || empty($cache['code']) || $cache['code'] !== $code) {
-            return self::_data('验证码验证失败,请输入正确的验证码!', 'SMS_VERIFY_FAILD');
-        }
-        Cache::rm($cache_key);
-        return self::_data('验证码验证成功!', 'SUCCESS');
-    }
-
-}

+ 0 - 168
think.admin.sql

@@ -158,174 +158,6 @@ INSERT INTO `system_config` VALUES ('182', 'username', 'admin');
 INSERT INTO `system_config` VALUES ('183', 'password', 'Test12345');
 
 -- ----------------------------
--- Table structure for system_file
--- ----------------------------
-DROP TABLE IF EXISTS `system_file`;
-CREATE TABLE `system_file` (
-  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `uptype` varchar(100) DEFAULT NULL COMMENT '上传方式',
-  `md5` varchar(32) DEFAULT NULL COMMENT '文件MD5值',
-  `real_name` varchar(100) DEFAULT NULL COMMENT '源文件名',
-  `file_name` varchar(100) NOT NULL DEFAULT '' COMMENT '服务器文件名',
-  `file_path` varchar(200) NOT NULL COMMENT '服务器相对路径',
-  `full_path` varchar(200) DEFAULT NULL COMMENT '绝对文件位置',
-  `file_ext` varchar(20) DEFAULT NULL COMMENT '文件后缀',
-  `file_size` decimal(20,2) DEFAULT NULL COMMENT '文件大小',
-  `file_url` varchar(300) DEFAULT NULL COMMENT '相对URL地址',
-  `site_url` varchar(300) DEFAULT NULL COMMENT '绝对URL地址',
-  `create_by` bigint(20) unsigned DEFAULT NULL COMMENT '创建人',
-  `create_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  PRIMARY KEY (`id`),
-  KEY `index_system_file_md5` (`md5`) USING BTREE,
-  KEY `index_system_file_uptype` (`uptype`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=163 DEFAULT CHARSET=utf8 COMMENT='系统文件';
-
--- ----------------------------
--- Records of system_file
--- ----------------------------
-INSERT INTO `system_file` VALUES ('22', 'qiniu', 'f47b8fe06e38ae9908e8398da45583b9', 'long.png', '08e8398da45583b9.png', 'f47b8fe06e38ae99/08e8398da45583b9.png', 'f47b8fe06e38ae99/08e8398da45583b9.png', 'png', null, 'f47b8fe06e38ae99/08e8398da45583b9.png', 'https://static.ctolog.com/f47b8fe06e38ae99/08e8398da45583b9.png', '10000', '2017-02-22 14:09:39');
-INSERT INTO `system_file` VALUES ('23', 'qiniu', '21f88ba102f896508660ff3e46f0a16c', '1486611399_308354_meitu_2_33副本.jpg', '8660ff3e46f0a16c.jpg', '21f88ba102f89650/8660ff3e46f0a16c.jpg', '21f88ba102f89650/8660ff3e46f0a16c.jpg', 'jpg', null, '21f88ba102f89650/8660ff3e46f0a16c.jpg', 'https://static.ctolog.com/21f88ba102f89650/8660ff3e46f0a16c.jpg', '10000', '2017-02-22 14:16:44');
-INSERT INTO `system_file` VALUES ('24', 'qiniu', '19af0e8b89b6696748a3b5c922642602', '1486623395_191494_副本.jpg', '48a3b5c922642602.jpg', '19af0e8b89b66967/48a3b5c922642602.jpg', '19af0e8b89b66967/48a3b5c922642602.jpg', 'jpg', null, '19af0e8b89b66967/48a3b5c922642602.jpg', 'https://static.ctolog.com/19af0e8b89b66967/48a3b5c922642602.jpg', '10000', '2017-02-22 14:16:57');
-INSERT INTO `system_file` VALUES ('25', 'qiniu', 'bd835163b61fa2dd11579b2de70023fc', 'a7.jpg', '11579b2de70023fc.jpg', 'bd835163b61fa2dd/11579b2de70023fc.jpg', 'bd835163b61fa2dd/11579b2de70023fc.jpg', 'jpg', null, 'bd835163b61fa2dd/11579b2de70023fc.jpg', 'https://static.ctolog.com/bd835163b61fa2dd/11579b2de70023fc.jpg', '10000', '2017-02-22 14:24:21');
-INSERT INTO `system_file` VALUES ('26', 'qiniu', '5112881784000c6cf6d81e5a8aa10f3c', 'index_4.jpg', 'f6d81e5a8aa10f3c.jpg', '5112881784000c6c/f6d81e5a8aa10f3c.jpg', '5112881784000c6c/f6d81e5a8aa10f3c.jpg', 'jpg', null, '5112881784000c6c/f6d81e5a8aa10f3c.jpg', 'https://static.ctolog.com/5112881784000c6c/f6d81e5a8aa10f3c.jpg', '10000', '2017-02-22 14:24:28');
-INSERT INTO `system_file` VALUES ('27', 'qiniu', '8feae3652f626ba9ec74d14792de6b95', 'qr_code.png', 'ec74d14792de6b95.png', '8feae3652f626ba9/ec74d14792de6b95.png', '8feae3652f626ba9/ec74d14792de6b95.png', 'png', null, '8feae3652f626ba9/ec74d14792de6b95.png', 'https://static.ctolog.com/8feae3652f626ba9/ec74d14792de6b95.png', '10000', '2017-02-22 14:24:39');
-INSERT INTO `system_file` VALUES ('28', 'qiniu', '2cb9a79d3ee3f3c990b6989eb0160adc', '9db4d90f1c470e7d2b5efe159534d979.jpg', '90b6989eb0160adc.jpg', '2cb9a79d3ee3f3c9/90b6989eb0160adc.jpg', '2cb9a79d3ee3f3c9/90b6989eb0160adc.jpg', 'jpg', null, '2cb9a79d3ee3f3c9/90b6989eb0160adc.jpg', 'https://static.ctolog.com/2cb9a79d3ee3f3c9/90b6989eb0160adc.jpg', '10000', '2017-02-22 15:13:07');
-INSERT INTO `system_file` VALUES ('29', 'qiniu', 'a80e2d293234bf0e8089c9563ae31622', 'background-wallpapers-for-pc-1.jpg', '8089c9563ae31622.jpg', 'a80e2d293234bf0e/8089c9563ae31622.jpg', 'a80e2d293234bf0e/8089c9563ae31622.jpg', 'jpg', null, 'a80e2d293234bf0e/8089c9563ae31622.jpg', 'https://static.ctolog.com/a80e2d293234bf0e/8089c9563ae31622.jpg', '10000', '2017-02-22 15:13:15');
-INSERT INTO `system_file` VALUES ('30', 'qiniu', '9a11b651d2f39f9c33e2b35b1d16e49e', 'error.png', '33e2b35b1d16e49e.png', '9a11b651d2f39f9c/33e2b35b1d16e49e.png', '9a11b651d2f39f9c/33e2b35b1d16e49e.png', 'png', null, '9a11b651d2f39f9c/33e2b35b1d16e49e.png', 'https://static.ctolog.com/9a11b651d2f39f9c/33e2b35b1d16e49e.png', '10000', '2017-02-22 15:42:53');
-INSERT INTO `system_file` VALUES ('31', 'qiniu', '131bd633cb97c07f657dae0b96467033', '325647047411570055.jpg', '657dae0b96467033.jpg', '131bd633cb97c07f/657dae0b96467033.jpg', '131bd633cb97c07f/657dae0b96467033.jpg', 'jpg', null, '131bd633cb97c07f/657dae0b96467033.jpg', 'https://static.ctolog.com/131bd633cb97c07f/657dae0b96467033.jpg', '10000', '2017-02-22 21:40:00');
-INSERT INTO `system_file` VALUES ('32', 'qiniu', '32d594fc8a7e1c7aa1ee4e1deab60466', '31bc1cc.png', 'a1ee4e1deab60466.png', '32d594fc8a7e1c7a/a1ee4e1deab60466.png', '32d594fc8a7e1c7a/a1ee4e1deab60466.png', 'png', null, '32d594fc8a7e1c7a/a1ee4e1deab60466.png', 'https://static.ctolog.com/32d594fc8a7e1c7a/a1ee4e1deab60466.png', '10000', '2017-02-23 09:20:58');
-INSERT INTO `system_file` VALUES ('33', 'qiniu', 'abf99fbe910fd4626d62f6e9168a7c8a', '6.gif', '6d62f6e9168a7c8a.gif', 'abf99fbe910fd462/6d62f6e9168a7c8a.gif', 'abf99fbe910fd462/6d62f6e9168a7c8a.gif', 'gif', null, 'abf99fbe910fd462/6d62f6e9168a7c8a.gif', 'https://static.ctolog.com/abf99fbe910fd462/6d62f6e9168a7c8a.gif', '10000', '2017-02-23 09:35:19');
-INSERT INTO `system_file` VALUES ('34', 'qiniu', 'f2d30a04ae01a091ed5c5f77f737310e', '87739079930835375.jpg', 'ed5c5f77f737310e.jpg', 'f2d30a04ae01a091/ed5c5f77f737310e.jpg', 'f2d30a04ae01a091/ed5c5f77f737310e.jpg', 'jpg', null, 'f2d30a04ae01a091/ed5c5f77f737310e.jpg', 'http://static.ctolog.com/f2d30a04ae01a091/ed5c5f77f737310e.jpg', '10000', '2017-02-23 11:37:03');
-INSERT INTO `system_file` VALUES ('35', 'qiniu', 'b490deabac7bfc82cc3622182f49a2d2', 'lALOo0qlkc0CDM0DkQ_913_524.png_620x10000q90g.jpg', 'cc3622182f49a2d2.jpg', 'b490deabac7bfc82/cc3622182f49a2d2.jpg', 'b490deabac7bfc82/cc3622182f49a2d2.jpg', 'jpg', null, 'b490deabac7bfc82/cc3622182f49a2d2.jpg', 'http://static.ctolog.com/b490deabac7bfc82/cc3622182f49a2d2.jpg', '10000', '2017-02-23 13:20:07');
-INSERT INTO `system_file` VALUES ('36', 'qiniu', 'dcf47fa0f5fe7489d397e7e6d839c00d', '331.jpg', 'd397e7e6d839c00d.jpg', 'dcf47fa0f5fe7489/d397e7e6d839c00d.jpg', 'dcf47fa0f5fe7489/d397e7e6d839c00d.jpg', 'jpg', null, 'dcf47fa0f5fe7489/d397e7e6d839c00d.jpg', 'https://static.ctolog.com/dcf47fa0f5fe7489/d397e7e6d839c00d.jpg', '10000', '2017-02-23 17:10:36');
-INSERT INTO `system_file` VALUES ('37', 'qiniu', 'dcbc7e8c27a18ec5f3b8119bdf026ba0', 'ada6b0039f246d16e6f788f1e35876fa.jpg', 'f3b8119bdf026ba0.jpg', 'dcbc7e8c27a18ec5/f3b8119bdf026ba0.jpg', 'dcbc7e8c27a18ec5/f3b8119bdf026ba0.jpg', 'jpg', null, 'dcbc7e8c27a18ec5/f3b8119bdf026ba0.jpg', 'https://static.ctolog.com/dcbc7e8c27a18ec5/f3b8119bdf026ba0.jpg', '10000', '2017-02-23 17:57:33');
-INSERT INTO `system_file` VALUES ('38', 'qiniu', '293d5b62eff82546ef5b6a1bbf33bbdc', 'logo.jpg', 'ef5b6a1bbf33bbdc.jpg', '293d5b62eff82546/ef5b6a1bbf33bbdc.jpg', '293d5b62eff82546/ef5b6a1bbf33bbdc.jpg', 'jpg', null, '293d5b62eff82546/ef5b6a1bbf33bbdc.jpg', 'https://static.ctolog.com/293d5b62eff82546/ef5b6a1bbf33bbdc.jpg', '10000', '2017-02-23 18:26:15');
-INSERT INTO `system_file` VALUES ('39', 'qiniu', 'dae77ae7bc80aff604df9d7aa9671625', 'logo.png', '04df9d7aa9671625.png', 'dae77ae7bc80aff6/04df9d7aa9671625.png', 'dae77ae7bc80aff6/04df9d7aa9671625.png', 'png', null, 'dae77ae7bc80aff6/04df9d7aa9671625.png', 'https://static.ctolog.com/dae77ae7bc80aff6/04df9d7aa9671625.png', '10000', '2017-02-23 18:26:24');
-INSERT INTO `system_file` VALUES ('40', 'qiniu', 'cd9d763f1dae9f31efa1edaf6e13be82', '14701.jpg', 'efa1edaf6e13be82.jpg', 'cd9d763f1dae9f31/efa1edaf6e13be82.jpg', 'cd9d763f1dae9f31/efa1edaf6e13be82.jpg', 'jpg', null, 'cd9d763f1dae9f31/efa1edaf6e13be82.jpg', 'https://static.ctolog.com/cd9d763f1dae9f31/efa1edaf6e13be82.jpg', '10000', '2017-02-24 01:15:18');
-INSERT INTO `system_file` VALUES ('41', 'local', '65fa8e868eba8874eb6ed4d852ff2dd9', '20114514542883.png', 'eb6ed4d852ff2dd9.png', 'upload/65fa8e868eba8874/eb6ed4d852ff2dd9.png', '/home/wwwroot/think/trunk/public/upload/65fa8e868eba8874/eb6ed4d852ff2dd9.png', 'png', '5812.00', 'upload/65fa8e868eba8874/eb6ed4d852ff2dd9.png', 'https://think.ctolog.com/upload/65fa8e868eba8874/eb6ed4d852ff2dd9.png', '10000', '2017-02-24 09:55:39');
-INSERT INTO `system_file` VALUES ('42', 'local', '079d8f191ddf58317ee3d803fb780048', '境淘APP.png', '7ee3d803fb780048.png', 'upload/079d8f191ddf5831/7ee3d803fb780048.png', '/home/wwwroot/think/trunk/public/upload/079d8f191ddf5831/7ee3d803fb780048.png', 'png', '7226.00', 'upload/079d8f191ddf5831/7ee3d803fb780048.png', 'https://think.ctolog.com/upload/079d8f191ddf5831/7ee3d803fb780048.png', '10000', '2017-02-24 12:00:26');
-INSERT INTO `system_file` VALUES ('43', 'local', 'f47b8fe06e38ae9908e8398da45583b9', 'long.png', '08e8398da45583b9.png', 'upload/f47b8fe06e38ae99/08e8398da45583b9.png', '/home/wwwroot/store/public/upload/f47b8fe06e38ae99/08e8398da45583b9.png', 'png', '25382.00', 'upload/f47b8fe06e38ae99/08e8398da45583b9.png', 'https://store.cuci.cc/upload/f47b8fe06e38ae99/08e8398da45583b9.png', '10000', '2017-02-24 12:20:04');
-INSERT INTO `system_file` VALUES ('44', 'local', 'cae0da0d68d73235fd6f83a97ef0af68', '黑底.png', 'fd6f83a97ef0af68.png', 'upload/cae0da0d68d73235/fd6f83a97ef0af68.png', '/home/wwwroot/think/trunk/public/upload/cae0da0d68d73235/fd6f83a97ef0af68.png', 'png', '246.00', 'upload/cae0da0d68d73235/fd6f83a97ef0af68.png', 'https://think.ctolog.com/upload/cae0da0d68d73235/fd6f83a97ef0af68.png', '10000', '2017-02-24 13:42:12');
-INSERT INTO `system_file` VALUES ('45', 'local', 'ba45c8f60456a672e003a875e469d0eb', 'Desert.jpg', 'e003a875e469d0eb.jpg', 'upload/ba45c8f60456a672/e003a875e469d0eb.jpg', '/home/wwwroot/think/trunk/public/upload/ba45c8f60456a672/e003a875e469d0eb.jpg', 'jpg', '845941.00', 'upload/ba45c8f60456a672/e003a875e469d0eb.jpg', 'https://think.ctolog.com/upload/ba45c8f60456a672/e003a875e469d0eb.jpg', '10000', '2017-02-24 14:10:44');
-INSERT INTO `system_file` VALUES ('46', 'local', '1d64fcf0f92414f0a6989fd5a7d1e547', 'icon.jpg', 'a6989fd5a7d1e547.jpg', 'upload/1d64fcf0f92414f0/a6989fd5a7d1e547.jpg', '/home/wwwroot/think/trunk/public/upload/1d64fcf0f92414f0/a6989fd5a7d1e547.jpg', 'jpg', '6883.00', 'upload/1d64fcf0f92414f0/a6989fd5a7d1e547.jpg', 'https://think.ctolog.com/upload/1d64fcf0f92414f0/a6989fd5a7d1e547.jpg', '10000', '2017-02-24 14:37:21');
-INSERT INTO `system_file` VALUES ('47', 'qiniu', '2eeadbbeec852d1c7112df7d14ec9c5a', '25fb8ce54bf912e6930eec178b945704.jpg', '7112df7d14ec9c5a.jpg', '2eeadbbeec852d1c/7112df7d14ec9c5a.jpg', '2eeadbbeec852d1c/7112df7d14ec9c5a.jpg', 'jpg', null, '2eeadbbeec852d1c/7112df7d14ec9c5a.jpg', 'https://static.ctolog.com/2eeadbbeec852d1c/7112df7d14ec9c5a.jpg', '10000', '2017-02-24 16:40:32');
-INSERT INTO `system_file` VALUES ('48', 'qiniu', 'fd1c9480827347b886bbf5655d6a073f', 'isLockBg.png', '86bbf5655d6a073f.png', 'fd1c9480827347b8/86bbf5655d6a073f.png', 'fd1c9480827347b8/86bbf5655d6a073f.png', 'png', null, 'fd1c9480827347b8/86bbf5655d6a073f.png', 'https://static.ctolog.com/fd1c9480827347b8/86bbf5655d6a073f.png', '10000', '2017-02-24 21:59:23');
-INSERT INTO `system_file` VALUES ('49', 'qiniu', '57b68be8b814ae7e816f51fb56d821d6', '12.jpg', '816f51fb56d821d6.jpg', '57b68be8b814ae7e/816f51fb56d821d6.jpg', '57b68be8b814ae7e/816f51fb56d821d6.jpg', 'jpg', null, '57b68be8b814ae7e/816f51fb56d821d6.jpg', 'https://static.ctolog.com/57b68be8b814ae7e/816f51fb56d821d6.jpg', '10000', '2017-02-24 22:06:48');
-INSERT INTO `system_file` VALUES ('50', 'qiniu', 'c5f42306de881a3790eacb3ef1fd7d45', '201702241613149402.jpg', '90eacb3ef1fd7d45.jpg', 'c5f42306de881a37/90eacb3ef1fd7d45.jpg', 'c5f42306de881a37/90eacb3ef1fd7d45.jpg', 'jpg', null, 'c5f42306de881a37/90eacb3ef1fd7d45.jpg', 'https://static.ctolog.com/c5f42306de881a37/90eacb3ef1fd7d45.jpg', '10000', '2017-02-24 23:14:11');
-INSERT INTO `system_file` VALUES ('51', 'qiniu', '134a1a44ae677c7b75b888cb218356af', '3 2.jpg', '75b888cb218356af.jpg', '134a1a44ae677c7b/75b888cb218356af.jpg', '134a1a44ae677c7b/75b888cb218356af.jpg', 'jpg', null, '134a1a44ae677c7b/75b888cb218356af.jpg', 'https://static.ctolog.com/134a1a44ae677c7b/75b888cb218356af.jpg', '10000', '2017-02-25 08:14:19');
-INSERT INTO `system_file` VALUES ('52', 'qiniu', 'f907d23fbd52f97db53ecca7e247af77', '组-3@3x.png', 'b53ecca7e247af77.png', 'f907d23fbd52f97d/b53ecca7e247af77.png', 'f907d23fbd52f97d/b53ecca7e247af77.png', 'png', null, 'f907d23fbd52f97d/b53ecca7e247af77.png', 'https://static.ctolog.com/f907d23fbd52f97d/b53ecca7e247af77.png', '10000', '2017-02-25 08:14:32');
-INSERT INTO `system_file` VALUES ('53', 'qiniu', '6607edc88a1553560ecee54869145ac7', 'news-logo.png', '0ecee54869145ac7.png', '6607edc88a155356/0ecee54869145ac7.png', '6607edc88a155356/0ecee54869145ac7.png', 'png', null, '6607edc88a155356/0ecee54869145ac7.png', 'https://static.ctolog.com/6607edc88a155356/0ecee54869145ac7.png', '10000', '2017-02-25 08:29:17');
-INSERT INTO `system_file` VALUES ('54', 'qiniu', '8da4e1d73862f317c6f35e0f82ec2da5', '016.jpg', 'c6f35e0f82ec2da5.jpg', '8da4e1d73862f317/c6f35e0f82ec2da5.jpg', '8da4e1d73862f317/c6f35e0f82ec2da5.jpg', 'jpg', null, '8da4e1d73862f317/c6f35e0f82ec2da5.jpg', 'https://static.ctolog.com/8da4e1d73862f317/c6f35e0f82ec2da5.jpg', '10000', '2017-02-25 14:55:42');
-INSERT INTO `system_file` VALUES ('55', 'qiniu', '1fcd96343822b4c48311f1f04c96d1dd', '568cf9379a7f0035_jpg!600x600.jpg', '8311f1f04c96d1dd.jpg', '1fcd96343822b4c4/8311f1f04c96d1dd.jpg', '1fcd96343822b4c4/8311f1f04c96d1dd.jpg', 'jpg', null, '1fcd96343822b4c4/8311f1f04c96d1dd.jpg', 'https://static.ctolog.com/1fcd96343822b4c4/8311f1f04c96d1dd.jpg', '10000', '2017-02-25 18:37:26');
-INSERT INTO `system_file` VALUES ('56', 'qiniu', '527bd63d7ee4a497657c534045a3385f', 'QQ截图20170117111058.png', '657c534045a3385f.png', '527bd63d7ee4a497/657c534045a3385f.png', '527bd63d7ee4a497/657c534045a3385f.png', 'png', null, '527bd63d7ee4a497/657c534045a3385f.png', 'https://static.ctolog.com/527bd63d7ee4a497/657c534045a3385f.png', '10000', '2017-02-26 00:27:54');
-INSERT INTO `system_file` VALUES ('57', 'qiniu', '1b757e1d50d2adf7c267511eb5d139b8', 'card.jpg', 'c267511eb5d139b8.jpg', '1b757e1d50d2adf7/c267511eb5d139b8.jpg', '1b757e1d50d2adf7/c267511eb5d139b8.jpg', 'jpg', null, '1b757e1d50d2adf7/c267511eb5d139b8.jpg', 'https://static.ctolog.com/1b757e1d50d2adf7/c267511eb5d139b8.jpg', '10000', '2017-02-26 11:44:30');
-INSERT INTO `system_file` VALUES ('58', 'qiniu', '4f48d81328902d717787acb397d2c379', '栏目管理.png', '7787acb397d2c379.png', '4f48d81328902d71/7787acb397d2c379.png', '4f48d81328902d71/7787acb397d2c379.png', 'png', null, '4f48d81328902d71/7787acb397d2c379.png', 'https://static.ctolog.com/4f48d81328902d71/7787acb397d2c379.png', '10000', '2017-02-26 11:44:54');
-INSERT INTO `system_file` VALUES ('59', 'qiniu', '2784b6f98620ab6c5a3d583a8ccd7fa1', 'icon_button3_3.png', '5a3d583a8ccd7fa1.png', '2784b6f98620ab6c/5a3d583a8ccd7fa1.png', '2784b6f98620ab6c/5a3d583a8ccd7fa1.png', 'png', null, '2784b6f98620ab6c/5a3d583a8ccd7fa1.png', 'https://static.ctolog.com/2784b6f98620ab6c/5a3d583a8ccd7fa1.png', '10000', '2017-02-26 14:04:07');
-INSERT INTO `system_file` VALUES ('60', 'qiniu', '0119c890cc181c7260532e946cf4294a', '222.png', '60532e946cf4294a.png', '0119c890cc181c72/60532e946cf4294a.png', '0119c890cc181c72/60532e946cf4294a.png', 'png', null, '0119c890cc181c72/60532e946cf4294a.png', 'https://static.ctolog.com/0119c890cc181c72/60532e946cf4294a.png', '10000', '2017-02-26 15:01:15');
-INSERT INTO `system_file` VALUES ('61', 'qiniu', '27d4787e4bb8515341ef2d1979306e9c', 'liebao01.png', '41ef2d1979306e9c.png', '27d4787e4bb85153/41ef2d1979306e9c.png', '27d4787e4bb85153/41ef2d1979306e9c.png', 'png', null, '27d4787e4bb85153/41ef2d1979306e9c.png', 'https://static.ctolog.com/27d4787e4bb85153/41ef2d1979306e9c.png', '10000', '2017-02-26 16:38:12');
-INSERT INTO `system_file` VALUES ('62', 'qiniu', 'c2a68101e58d5f8ce1ce1bba36c5dd0a', 'shijiezhichuangjisu01.png', 'e1ce1bba36c5dd0a.png', 'c2a68101e58d5f8c/e1ce1bba36c5dd0a.png', 'c2a68101e58d5f8c/e1ce1bba36c5dd0a.png', 'png', null, 'c2a68101e58d5f8c/e1ce1bba36c5dd0a.png', 'https://static.ctolog.com/c2a68101e58d5f8c/e1ce1bba36c5dd0a.png', '10000', '2017-02-26 16:38:17');
-INSERT INTO `system_file` VALUES ('63', 'qiniu', 'ac7dcf3c6c6ac5feb6ca4b714d37354d', 'psb (2).jpg', 'b6ca4b714d37354d.jpg', 'ac7dcf3c6c6ac5fe/b6ca4b714d37354d.jpg', 'ac7dcf3c6c6ac5fe/b6ca4b714d37354d.jpg', 'jpg', null, 'ac7dcf3c6c6ac5fe/b6ca4b714d37354d.jpg', 'http://static.ctolog.com/ac7dcf3c6c6ac5fe/b6ca4b714d37354d.jpg', '10000', '2017-02-26 22:18:34');
-INSERT INTO `system_file` VALUES ('64', 'qiniu', '4eba04624639b39066fc84faf30b2708', '555.jpg', '66fc84faf30b2708.jpg', '4eba04624639b390/66fc84faf30b2708.jpg', '4eba04624639b390/66fc84faf30b2708.jpg', 'jpg', null, '4eba04624639b390/66fc84faf30b2708.jpg', 'http://static.ctolog.com/4eba04624639b390/66fc84faf30b2708.jpg', '10000', '2017-02-27 11:10:24');
-INSERT INTO `system_file` VALUES ('65', 'qiniu', 'fcff0aae6874bec04626ac61edd04762', '544444.jpg', '4626ac61edd04762.jpg', 'fcff0aae6874bec0/4626ac61edd04762.jpg', 'fcff0aae6874bec0/4626ac61edd04762.jpg', 'jpg', null, 'fcff0aae6874bec0/4626ac61edd04762.jpg', 'http://static.ctolog.com/fcff0aae6874bec0/4626ac61edd04762.jpg', '10000', '2017-02-27 11:10:38');
-INSERT INTO `system_file` VALUES ('66', 'qiniu', '6daa6ed0a3fa4fdb926b90649ea63bd4', 'l1.png', '926b90649ea63bd4.png', '6daa6ed0a3fa4fdb/926b90649ea63bd4.png', '6daa6ed0a3fa4fdb/926b90649ea63bd4.png', 'png', null, '6daa6ed0a3fa4fdb/926b90649ea63bd4.png', 'http://static.ctolog.com/6daa6ed0a3fa4fdb/926b90649ea63bd4.png', '10000', '2017-02-27 11:10:47');
-INSERT INTO `system_file` VALUES ('67', 'qiniu', 'af93c22243dc34b2ccf5101d66170317', '100-100.png', 'ccf5101d66170317.png', 'af93c22243dc34b2/ccf5101d66170317.png', 'af93c22243dc34b2/ccf5101d66170317.png', 'png', null, 'af93c22243dc34b2/ccf5101d66170317.png', 'https://static.ctolog.com/af93c22243dc34b2/ccf5101d66170317.png', '10000', '2017-02-27 12:41:00');
-INSERT INTO `system_file` VALUES ('68', 'qiniu', 'ea478fa9ff81dca461f0595dd5dbe14b', '80-80.png', '61f0595dd5dbe14b.png', 'ea478fa9ff81dca4/61f0595dd5dbe14b.png', 'ea478fa9ff81dca4/61f0595dd5dbe14b.png', 'png', null, 'ea478fa9ff81dca4/61f0595dd5dbe14b.png', 'https://static.ctolog.com/ea478fa9ff81dca4/61f0595dd5dbe14b.png', '10000', '2017-02-27 12:41:06');
-INSERT INTO `system_file` VALUES ('69', 'qiniu', '9008f473ced9794630498bedc734afe7', 'timg.gif', '30498bedc734afe7.gif', '9008f473ced97946/30498bedc734afe7.gif', '9008f473ced97946/30498bedc734afe7.gif', 'gif', null, '9008f473ced97946/30498bedc734afe7.gif', 'https://static.ctolog.com/9008f473ced97946/30498bedc734afe7.gif', '10000', '2017-02-27 14:18:45');
-INSERT INTO `system_file` VALUES ('70', 'qiniu', 'b967d34ca852745071d17aed8f0b0c08', 'logo.jpg', '71d17aed8f0b0c08.jpg', 'b967d34ca8527450/71d17aed8f0b0c08.jpg', 'b967d34ca8527450/71d17aed8f0b0c08.jpg', 'jpg', null, 'b967d34ca8527450/71d17aed8f0b0c08.jpg', 'https://static.ctolog.com/b967d34ca8527450/71d17aed8f0b0c08.jpg', '10000', '2017-02-27 15:48:53');
-INSERT INTO `system_file` VALUES ('71', 'local', '456dc9de7ed0a821deb8474b506a312b', '测试平台.jpg', 'deb8474b506a312b.jpg', 'upload/456dc9de7ed0a821/deb8474b506a312b.jpg', '/home/wwwroot/think/trunk/public/upload/456dc9de7ed0a821/deb8474b506a312b.jpg', 'jpg', '29209.00', 'upload/456dc9de7ed0a821/deb8474b506a312b.jpg', 'https://think.ctolog.com/upload/456dc9de7ed0a821/deb8474b506a312b.jpg', '10000', '2017-02-27 16:42:12');
-INSERT INTO `system_file` VALUES ('72', 'qiniu', '894e8e22a139e3f9175b6acace62d9c9', 'logo.png', '175b6acace62d9c9.png', '894e8e22a139e3f9/175b6acace62d9c9.png', '894e8e22a139e3f9/175b6acace62d9c9.png', 'png', null, '894e8e22a139e3f9/175b6acace62d9c9.png', 'https://static.ctolog.com/894e8e22a139e3f9/175b6acace62d9c9.png', '10000', '2017-02-27 22:01:52');
-INSERT INTO `system_file` VALUES ('73', 'qiniu', 'f46f8e8025b9203e9d6ea16610859ba6', '91af3f416743c3f33d1bf89889282a95.jpg', '9d6ea16610859ba6.jpg', 'f46f8e8025b9203e/9d6ea16610859ba6.jpg', 'f46f8e8025b9203e/9d6ea16610859ba6.jpg', 'jpg', null, 'f46f8e8025b9203e/9d6ea16610859ba6.jpg', 'https://static.ctolog.com/f46f8e8025b9203e/9d6ea16610859ba6.jpg', '10000', '2017-02-28 11:34:48');
-INSERT INTO `system_file` VALUES ('74', 'qiniu', '7609a74086bd6b75112b89987f870fe9', 'Tulip.jpg', '112b89987f870fe9.jpg', '7609a74086bd6b75/112b89987f870fe9.jpg', '7609a74086bd6b75/112b89987f870fe9.jpg', 'jpg', null, '7609a74086bd6b75/112b89987f870fe9.jpg', 'http://static.ctolog.com/7609a74086bd6b75/112b89987f870fe9.jpg', '10000', '2017-02-28 14:42:22');
-INSERT INTO `system_file` VALUES ('75', 'qiniu', '9886d00b6b692408ad951b1227bf8c90', 'logo.png', 'ad951b1227bf8c90.png', '9886d00b6b692408/ad951b1227bf8c90.png', '9886d00b6b692408/ad951b1227bf8c90.png', 'png', null, '9886d00b6b692408/ad951b1227bf8c90.png', 'http://static.ctolog.com/9886d00b6b692408/ad951b1227bf8c90.png', '10000', '2017-02-28 14:42:31');
-INSERT INTO `system_file` VALUES ('76', 'qiniu', 'b9f8c028088d28787ea8f9c3efa5103c', 'QQ截图20170228152145.jpg', '7ea8f9c3efa5103c.jpg', 'b9f8c028088d2878/7ea8f9c3efa5103c.jpg', 'b9f8c028088d2878/7ea8f9c3efa5103c.jpg', 'jpg', null, 'b9f8c028088d2878/7ea8f9c3efa5103c.jpg', 'http://static.ctolog.com/b9f8c028088d2878/7ea8f9c3efa5103c.jpg', '10000', '2017-02-28 17:11:37');
-INSERT INTO `system_file` VALUES ('77', 'qiniu', '527bb4a55eff89bdfa61b9015883f241', '3950220_165919649390_2.jpg', 'fa61b9015883f241.jpg', '527bb4a55eff89bd/fa61b9015883f241.jpg', '527bb4a55eff89bd/fa61b9015883f241.jpg', 'jpg', null, '527bb4a55eff89bd/fa61b9015883f241.jpg', 'http://static.ctolog.com/527bb4a55eff89bd/fa61b9015883f241.jpg', '10000', '2017-02-28 17:46:05');
-INSERT INTO `system_file` VALUES ('78', 'qiniu', '309093df452a1e6cab14b25d057d2780', '04820d67c5839983de863f1eadd365d873b771cc.jpg', 'ab14b25d057d2780.jpg', '309093df452a1e6c/ab14b25d057d2780.jpg', '309093df452a1e6c/ab14b25d057d2780.jpg', 'jpg', null, '309093df452a1e6c/ab14b25d057d2780.jpg', 'http://static.ctolog.com/309093df452a1e6c/ab14b25d057d2780.jpg', '10000', '2017-02-28 20:54:34');
-INSERT INTO `system_file` VALUES ('79', 'qiniu', 'abef72bbe6b01000d325d04ca6e0714f', 'IMG_0870_看图王.jpg', 'd325d04ca6e0714f.jpg', 'abef72bbe6b01000/d325d04ca6e0714f.jpg', 'abef72bbe6b01000/d325d04ca6e0714f.jpg', 'jpg', null, 'abef72bbe6b01000/d325d04ca6e0714f.jpg', 'http://static.ctolog.com/abef72bbe6b01000/d325d04ca6e0714f.jpg', '10000', '2017-02-28 20:59:27');
-INSERT INTO `system_file` VALUES ('80', 'local', 'f160f98692210b7c297d07e1af4712f3', '20161127142604666.jpg', '297d07e1af4712f3.jpg', 'upload/f160f98692210b7c/297d07e1af4712f3.jpg', '/home/wwwroot/think/trunk/public/upload/f160f98692210b7c/297d07e1af4712f3.jpg', 'jpg', '39104.00', 'upload/f160f98692210b7c/297d07e1af4712f3.jpg', 'https://think.ctolog.com/upload/f160f98692210b7c/297d07e1af4712f3.jpg', '10000', '2017-03-01 10:50:01');
-INSERT INTO `system_file` VALUES ('81', 'local', '4c288616bf23b22de86725c8f63c0e50', 'QQ截图20160608092917.png', 'e86725c8f63c0e50.png', 'upload/4c288616bf23b22d/e86725c8f63c0e50.png', '/home/wwwroot/think/trunk/public/upload/4c288616bf23b22d/e86725c8f63c0e50.png', 'png', '375490.00', 'upload/4c288616bf23b22d/e86725c8f63c0e50.png', 'https://think.ctolog.com/upload/4c288616bf23b22d/e86725c8f63c0e50.png', '10000', '2017-03-01 11:40:56');
-INSERT INTO `system_file` VALUES ('82', 'local', '857f31caa49f171b07b44df1b6ca9afc', '0f1f16c4e7df412fa5411505a8f2b0aa - 副本.png', '07b44df1b6ca9afc.png', 'upload/857f31caa49f171b/07b44df1b6ca9afc.png', '/home/wwwroot/think/trunk/public/upload/857f31caa49f171b/07b44df1b6ca9afc.png', 'png', '24748.00', 'upload/857f31caa49f171b/07b44df1b6ca9afc.png', 'https://think.ctolog.com/upload/857f31caa49f171b/07b44df1b6ca9afc.png', '10000', '2017-03-01 14:47:46');
-INSERT INTO `system_file` VALUES ('83', 'local', '914219306d9811ea91b23de78eabcddd', '6a75a84235b94027ae805e265b154cf6 - 副本.png', '91b23de78eabcddd.png', 'upload/914219306d9811ea/91b23de78eabcddd.png', '/home/wwwroot/think/trunk/public/upload/914219306d9811ea/91b23de78eabcddd.png', 'png', '18743.00', 'upload/914219306d9811ea/91b23de78eabcddd.png', 'https://think.ctolog.com/upload/914219306d9811ea/91b23de78eabcddd.png', '10000', '2017-03-01 14:49:06');
-INSERT INTO `system_file` VALUES ('84', 'local', '8fb3d6d8ae0d0e2b16104fc8c3fe3921', '757ca65b622a4b41a9b3bb2b32938bb2.png', '16104fc8c3fe3921.png', 'upload/8fb3d6d8ae0d0e2b/16104fc8c3fe3921.png', '/home/wwwroot/think/trunk/public/upload/8fb3d6d8ae0d0e2b/16104fc8c3fe3921.png', 'png', '26375.00', 'upload/8fb3d6d8ae0d0e2b/16104fc8c3fe3921.png', 'https://think.ctolog.com/upload/8fb3d6d8ae0d0e2b/16104fc8c3fe3921.png', '10000', '2017-03-01 14:49:14');
-INSERT INTO `system_file` VALUES ('85', 'qiniu', '8a613430dc742499396540d18ff2393b', '11287039304867518bl.jpg', '396540d18ff2393b.jpg', '8a613430dc742499/396540d18ff2393b.jpg', '8a613430dc742499/396540d18ff2393b.jpg', 'jpg', null, '8a613430dc742499/396540d18ff2393b.jpg', 'http://static.ctolog.com/8a613430dc742499/396540d18ff2393b.jpg', '10000', '2017-03-01 14:59:28');
-INSERT INTO `system_file` VALUES ('86', 'qiniu', '1bfa981c3c33d5bc140d4e411337f673', '4(1).png', '140d4e411337f673.png', '1bfa981c3c33d5bc/140d4e411337f673.png', '1bfa981c3c33d5bc/140d4e411337f673.png', 'png', null, '1bfa981c3c33d5bc/140d4e411337f673.png', 'http://static.ctolog.com/1bfa981c3c33d5bc/140d4e411337f673.png', '10000', '2017-03-01 15:29:11');
-INSERT INTO `system_file` VALUES ('87', 'qiniu', 'c9d49fb465d39414a74cd558c2a8cad1', '17-18.jpg', 'a74cd558c2a8cad1.jpg', 'c9d49fb465d39414/a74cd558c2a8cad1.jpg', 'c9d49fb465d39414/a74cd558c2a8cad1.jpg', 'jpg', null, 'c9d49fb465d39414/a74cd558c2a8cad1.jpg', 'https://static.ctolog.com/c9d49fb465d39414/a74cd558c2a8cad1.jpg', '10000', '2017-03-01 16:25:54');
-INSERT INTO `system_file` VALUES ('88', 'qiniu', '6b48b02e1f0952ec4508f048a537a15a', 'x4.png', '4508f048a537a15a.png', '6b48b02e1f0952ec/4508f048a537a15a.png', '6b48b02e1f0952ec/4508f048a537a15a.png', 'png', null, '6b48b02e1f0952ec/4508f048a537a15a.png', 'https://static.ctolog.com/6b48b02e1f0952ec/4508f048a537a15a.png', '10000', '2017-03-01 17:40:22');
-INSERT INTO `system_file` VALUES ('89', 'qiniu', '4bea5c784e7d73120a33dc875ff81e40', '497a9a2e-a729-4cc8-926f-7e61cffbfbf5.jpg', '0a33dc875ff81e40.jpg', '4bea5c784e7d7312/0a33dc875ff81e40.jpg', '4bea5c784e7d7312/0a33dc875ff81e40.jpg', 'jpg', null, '4bea5c784e7d7312/0a33dc875ff81e40.jpg', 'https://static.ctolog.com/4bea5c784e7d7312/0a33dc875ff81e40.jpg', '10000', '2017-03-01 20:50:04');
-INSERT INTO `system_file` VALUES ('90', 'qiniu', '1ca7d52dd54841841a037017ffc93e68', 'addbiaoqing.png', '1a037017ffc93e68.png', '1ca7d52dd5484184/1a037017ffc93e68.png', '1ca7d52dd5484184/1a037017ffc93e68.png', 'png', null, '1ca7d52dd5484184/1a037017ffc93e68.png', 'https://static.ctolog.com/1ca7d52dd5484184/1a037017ffc93e68.png', '10000', '2017-03-01 20:50:19');
-INSERT INTO `system_file` VALUES ('91', 'qiniu', '64fa02803ecadc4bc821c5bbe247bfb6', 'timg.jpg', 'c821c5bbe247bfb6.jpg', '64fa02803ecadc4b/c821c5bbe247bfb6.jpg', '64fa02803ecadc4b/c821c5bbe247bfb6.jpg', 'jpg', null, '64fa02803ecadc4b/c821c5bbe247bfb6.jpg', 'https://static.ctolog.com/64fa02803ecadc4b/c821c5bbe247bfb6.jpg', '10000', '2017-03-01 23:18:07');
-INSERT INTO `system_file` VALUES ('92', 'qiniu', '9bbd2a7e27fba3dca75c5c58bd9bbe08', 'logo.png', 'a75c5c58bd9bbe08.png', '9bbd2a7e27fba3dc/a75c5c58bd9bbe08.png', '9bbd2a7e27fba3dc/a75c5c58bd9bbe08.png', 'png', null, '9bbd2a7e27fba3dc/a75c5c58bd9bbe08.png', 'https://static.ctolog.com/9bbd2a7e27fba3dc/a75c5c58bd9bbe08.png', '10000', '2017-03-01 23:18:20');
-INSERT INTO `system_file` VALUES ('93', 'qiniu', '57f9efc908b6bb078df7542820fb8286', 'QQ截图20170223154424.png', '8df7542820fb8286.png', '57f9efc908b6bb07/8df7542820fb8286.png', '57f9efc908b6bb07/8df7542820fb8286.png', 'png', null, '57f9efc908b6bb07/8df7542820fb8286.png', 'https://static.ctolog.com/57f9efc908b6bb07/8df7542820fb8286.png', '10000', '2017-03-02 09:25:56');
-INSERT INTO `system_file` VALUES ('94', 'qiniu', '07141c208a0faa4716ebad9127ccb970', 'u=3704122693,1924714915&fm=23&gp=0.jpg', '16ebad9127ccb970.jpg', '07141c208a0faa47/16ebad9127ccb970.jpg', '07141c208a0faa47/16ebad9127ccb970.jpg', 'jpg', null, '07141c208a0faa47/16ebad9127ccb970.jpg', 'https://static.ctolog.com/07141c208a0faa47/16ebad9127ccb970.jpg', '10000', '2017-03-02 11:19:04');
-INSERT INTO `system_file` VALUES ('95', 'qiniu', '54ee9342e243e355f642f60d376469d2', '57806f9ea11a6.jpg', 'f642f60d376469d2.jpg', '54ee9342e243e355/f642f60d376469d2.jpg', '54ee9342e243e355/f642f60d376469d2.jpg', 'jpg', null, '54ee9342e243e355/f642f60d376469d2.jpg', 'https://static.ctolog.com/54ee9342e243e355/f642f60d376469d2.jpg', '10000', '2017-03-02 11:51:40');
-INSERT INTO `system_file` VALUES ('96', 'qiniu', '9c65205d32c0ff8198283620e7052ec0', '3.png', '98283620e7052ec0.png', '9c65205d32c0ff81/98283620e7052ec0.png', '9c65205d32c0ff81/98283620e7052ec0.png', 'png', null, '9c65205d32c0ff81/98283620e7052ec0.png', 'https://static.ctolog.com/9c65205d32c0ff81/98283620e7052ec0.png', '10000', '2017-03-02 17:34:18');
-INSERT INTO `system_file` VALUES ('97', 'qiniu', '14f5e7123f62f79a67cb437f413a4d91', 'head1.png', '67cb437f413a4d91.png', '14f5e7123f62f79a/67cb437f413a4d91.png', '14f5e7123f62f79a/67cb437f413a4d91.png', 'png', null, '14f5e7123f62f79a/67cb437f413a4d91.png', 'https://static.ctolog.com/14f5e7123f62f79a/67cb437f413a4d91.png', '10000', '2017-03-02 17:34:25');
-INSERT INTO `system_file` VALUES ('98', 'qiniu', 'f5ebbcaf872eddfabf75095df5b87ec1', 'goutong.png', 'bf75095df5b87ec1.png', 'f5ebbcaf872eddfa/bf75095df5b87ec1.png', 'f5ebbcaf872eddfa/bf75095df5b87ec1.png', 'png', null, 'f5ebbcaf872eddfa/bf75095df5b87ec1.png', 'https://static.ctolog.com/f5ebbcaf872eddfa/bf75095df5b87ec1.png', '10000', '2017-03-03 00:53:01');
-INSERT INTO `system_file` VALUES ('99', 'qiniu', '907643036888645c66f716a7a251be7e', '20.jpg', '66f716a7a251be7e.jpg', '907643036888645c/66f716a7a251be7e.jpg', '907643036888645c/66f716a7a251be7e.jpg', 'jpg', null, '907643036888645c/66f716a7a251be7e.jpg', 'https://static.ctolog.com/907643036888645c/66f716a7a251be7e.jpg', '10000', '2017-03-03 00:53:15');
-INSERT INTO `system_file` VALUES ('100', 'qiniu', '7367c0e8fa7cc189a409bc895df60ba6', 'aimage160200051.jpg', 'a409bc895df60ba6.jpg', '7367c0e8fa7cc189/a409bc895df60ba6.jpg', '7367c0e8fa7cc189/a409bc895df60ba6.jpg', 'jpg', null, '7367c0e8fa7cc189/a409bc895df60ba6.jpg', 'https://static.ctolog.com/7367c0e8fa7cc189/a409bc895df60ba6.jpg', '10000', '2017-03-03 00:53:27');
-INSERT INTO `system_file` VALUES ('101', 'qiniu', '2810025ddf50b68c4220907231208362', 'big-img.png', '4220907231208362.png', '2810025ddf50b68c/4220907231208362.png', '2810025ddf50b68c/4220907231208362.png', 'png', null, '2810025ddf50b68c/4220907231208362.png', 'https://static.ctolog.com/2810025ddf50b68c/4220907231208362.png', '10000', '2017-03-03 00:53:45');
-INSERT INTO `system_file` VALUES ('102', 'qiniu', '2acd7c41ef3d1de4cb436d8ba7d77659', '222.png', 'cb436d8ba7d77659.png', '2acd7c41ef3d1de4/cb436d8ba7d77659.png', '2acd7c41ef3d1de4/cb436d8ba7d77659.png', 'png', null, '2acd7c41ef3d1de4/cb436d8ba7d77659.png', 'https://static.ctolog.com/2acd7c41ef3d1de4/cb436d8ba7d77659.png', '10000', '2017-03-03 09:09:43');
-INSERT INTO `system_file` VALUES ('103', 'qiniu', 'b4b78fe4c7a310aa10bacb1cdfd61427', '1.png', '10bacb1cdfd61427.png', 'b4b78fe4c7a310aa/10bacb1cdfd61427.png', 'b4b78fe4c7a310aa/10bacb1cdfd61427.png', 'png', null, 'b4b78fe4c7a310aa/10bacb1cdfd61427.png', 'https://static.ctolog.com/b4b78fe4c7a310aa/10bacb1cdfd61427.png', '10000', '2017-03-03 09:10:02');
-INSERT INTO `system_file` VALUES ('104', 'qiniu', '0776021c646c9cc3dbe74a0f4d731fd2', '1.jpg', 'dbe74a0f4d731fd2.jpg', '0776021c646c9cc3/dbe74a0f4d731fd2.jpg', '0776021c646c9cc3/dbe74a0f4d731fd2.jpg', 'jpg', null, '0776021c646c9cc3/dbe74a0f4d731fd2.jpg', 'https://static.ctolog.com/0776021c646c9cc3/dbe74a0f4d731fd2.jpg', '10000', '2017-03-03 14:17:42');
-INSERT INTO `system_file` VALUES ('105', 'qiniu', '16448cd6ec7af958e948e07267798042', '示例图片_03.jpg', 'e948e07267798042.jpg', '16448cd6ec7af958/e948e07267798042.jpg', '16448cd6ec7af958/e948e07267798042.jpg', 'jpg', null, '16448cd6ec7af958/e948e07267798042.jpg', 'https://static.ctolog.com/16448cd6ec7af958/e948e07267798042.jpg', '10000', '2017-03-03 14:18:53');
-INSERT INTO `system_file` VALUES ('106', 'qiniu', '473f88108946b70375affcd9b4fc73d8', 'wKiom1VBgMnzbv2-AABqqtUsIjk591.jpg', '75affcd9b4fc73d8.jpg', '473f88108946b703/75affcd9b4fc73d8.jpg', '473f88108946b703/75affcd9b4fc73d8.jpg', 'jpg', null, '473f88108946b703/75affcd9b4fc73d8.jpg', 'https://static.ctolog.com/473f88108946b703/75affcd9b4fc73d8.jpg', '10000', '2017-03-03 14:27:32');
-INSERT INTO `system_file` VALUES ('107', 'qiniu', 'f497af0c9dfe0cd9bb91a0c9be42370f', 'cbd977dbb6fd5266c807255aaa18972bd4073665.jpg', 'bb91a0c9be42370f.jpg', 'f497af0c9dfe0cd9/bb91a0c9be42370f.jpg', 'f497af0c9dfe0cd9/bb91a0c9be42370f.jpg', 'jpg', null, 'f497af0c9dfe0cd9/bb91a0c9be42370f.jpg', 'https://static.ctolog.com/f497af0c9dfe0cd9/bb91a0c9be42370f.jpg', '10000', '2017-03-03 15:54:49');
-INSERT INTO `system_file` VALUES ('108', 'qiniu', '4d458e3036ffa25ba9fe5638fe16b495', 'e77c93c451da81cb2aff98835366d01609243170.jpg', 'a9fe5638fe16b495.jpg', '4d458e3036ffa25b/a9fe5638fe16b495.jpg', '4d458e3036ffa25b/a9fe5638fe16b495.jpg', 'jpg', null, '4d458e3036ffa25b/a9fe5638fe16b495.jpg', 'https://static.ctolog.com/4d458e3036ffa25b/a9fe5638fe16b495.jpg', '10000', '2017-03-03 15:54:50');
-INSERT INTO `system_file` VALUES ('109', 'qiniu', '0068f5e8b09c4f00ed780012ca7a6859', '0.gif', 'ed780012ca7a6859.gif', '0068f5e8b09c4f00/ed780012ca7a6859.gif', '0068f5e8b09c4f00/ed780012ca7a6859.gif', 'gif', null, '0068f5e8b09c4f00/ed780012ca7a6859.gif', 'https://static.ctolog.com/0068f5e8b09c4f00/ed780012ca7a6859.gif', null, '2017-03-03 18:48:56');
-INSERT INTO `system_file` VALUES ('110', 'qiniu', 'cf847625f1a00fe63b464173f7128ff2', '26g58PICbJK.jpg', '3b464173f7128ff2.jpg', 'cf847625f1a00fe6/3b464173f7128ff2.jpg', 'cf847625f1a00fe6/3b464173f7128ff2.jpg', 'jpg', null, 'cf847625f1a00fe6/3b464173f7128ff2.jpg', 'https://static.ctolog.com/cf847625f1a00fe6/3b464173f7128ff2.jpg', '10000', '2017-03-04 18:27:39');
-INSERT INTO `system_file` VALUES ('111', 'qiniu', 'de0cec57622938c69850ced196020e26', 'b1.jpg', '9850ced196020e26.jpg', 'de0cec57622938c6/9850ced196020e26.jpg', 'de0cec57622938c6/9850ced196020e26.jpg', 'jpg', null, 'de0cec57622938c6/9850ced196020e26.jpg', 'https://static.ctolog.com/de0cec57622938c6/9850ced196020e26.jpg', '10000', '2017-03-04 18:28:11');
-INSERT INTO `system_file` VALUES ('112', 'qiniu', '47b4d829ffa31e188bcc0ef1f7afdded', '56a03dbcda4da.png', '8bcc0ef1f7afdded.png', '47b4d829ffa31e18/8bcc0ef1f7afdded.png', '47b4d829ffa31e18/8bcc0ef1f7afdded.png', 'png', null, '47b4d829ffa31e18/8bcc0ef1f7afdded.png', 'https://static.ctolog.com/47b4d829ffa31e18/8bcc0ef1f7afdded.png', '10000', '2017-03-04 18:28:26');
-INSERT INTO `system_file` VALUES ('113', 'qiniu', 'e2104bf6f1081b4f5b88730962f8bf70', '576b527377e3c.png', '5b88730962f8bf70.png', 'e2104bf6f1081b4f/5b88730962f8bf70.png', 'e2104bf6f1081b4f/5b88730962f8bf70.png', 'png', null, 'e2104bf6f1081b4f/5b88730962f8bf70.png', 'https://static.ctolog.com/e2104bf6f1081b4f/5b88730962f8bf70.png', '10000', '2017-03-04 18:46:23');
-INSERT INTO `system_file` VALUES ('114', 'local', 'd577aefc7b8284c12b5bd3b9c0b6cad4', 'TB2VJ.2dt4opuFjSZFLXXX8mXXa_!!853652705.jpg_400x400.jpg_.webp.jpg', '2b5bd3b9c0b6cad4.jpg', 'upload/d577aefc7b8284c1/2b5bd3b9c0b6cad4.jpg', 'D:/WWW/ThinkAdmin/upload/d577aefc7b8284c1/2b5bd3b9c0b6cad4.jpg', 'jpg', '111713.00', 'upload/d577aefc7b8284c1/2b5bd3b9c0b6cad4.jpg', 'http://127.0.0.1/upload/d577aefc7b8284c1/2b5bd3b9c0b6cad4.jpg', '10000', '2017-03-04 20:04:41');
-INSERT INTO `system_file` VALUES ('115', 'local', 'ed0b897ed997f5b0424bf4daf1ff74eb', 'bn01.jpg', '424bf4daf1ff74eb.jpg', 'upload/ed0b897ed997f5b0/424bf4daf1ff74eb.jpg', 'D:/WWW/ThinkAdmin/upload/ed0b897ed997f5b0/424bf4daf1ff74eb.jpg', 'jpg', '251954.00', 'upload/ed0b897ed997f5b0/424bf4daf1ff74eb.jpg', 'http://127.0.0.1/upload/ed0b897ed997f5b0/424bf4daf1ff74eb.jpg', '10000', '2017-03-04 20:05:13');
-INSERT INTO `system_file` VALUES ('116', 'local', '3cca6a5380a99aa46d63a0210d2a98b4', '1450923190375371.png', '6d63a0210d2a98b4.png', 'upload/3cca6a5380a99aa4/6d63a0210d2a98b4.png', 'D:/WWW/ThinkAdmin/upload/3cca6a5380a99aa4/6d63a0210d2a98b4.png', 'png', '108688.00', 'upload/3cca6a5380a99aa4/6d63a0210d2a98b4.png', 'http://127.0.0.1/upload/3cca6a5380a99aa4/6d63a0210d2a98b4.png', '10000', '2017-03-04 20:09:17');
-INSERT INTO `system_file` VALUES ('117', 'qiniu', '12f6099e6488999413c9a39f7d5304ae', 'QQ图片20170302134535.png', '13c9a39f7d5304ae.png', '12f6099e64889994/13c9a39f7d5304ae.png', '12f6099e64889994/13c9a39f7d5304ae.png', 'png', null, '12f6099e64889994/13c9a39f7d5304ae.png', 'https://static.ctolog.com/12f6099e64889994/13c9a39f7d5304ae.png', '10000', '2017-03-05 07:02:53');
-INSERT INTO `system_file` VALUES ('118', 'qiniu', 'f88bd49a988a22b452ea09497c477d0f', 'anonymous.jpg', '52ea09497c477d0f.jpg', 'f88bd49a988a22b4/52ea09497c477d0f.jpg', 'f88bd49a988a22b4/52ea09497c477d0f.jpg', 'jpg', null, 'f88bd49a988a22b4/52ea09497c477d0f.jpg', 'https://static.ctolog.com/f88bd49a988a22b4/52ea09497c477d0f.jpg', '10000', '2017-03-05 08:29:36');
-INSERT INTO `system_file` VALUES ('119', 'qiniu', '85ca89fbf48e897c3afaf8c7e12f9149', '16232Q101-0.gif', '3afaf8c7e12f9149.gif', '85ca89fbf48e897c/3afaf8c7e12f9149.gif', '85ca89fbf48e897c/3afaf8c7e12f9149.gif', 'gif', null, '85ca89fbf48e897c/3afaf8c7e12f9149.gif', 'https://static.ctolog.com/85ca89fbf48e897c/3afaf8c7e12f9149.gif', '10000', '2017-03-05 10:40:57');
-INSERT INTO `system_file` VALUES ('120', 'qiniu', '2e38372786fb7b3dcc51d84481e83215', '2015110514160726399.jpg', 'cc51d84481e83215.jpg', '2e38372786fb7b3d/cc51d84481e83215.jpg', '2e38372786fb7b3d/cc51d84481e83215.jpg', 'jpg', null, '2e38372786fb7b3d/cc51d84481e83215.jpg', 'https://static.ctolog.com/2e38372786fb7b3d/cc51d84481e83215.jpg', '10000', '2017-03-05 12:36:34');
-INSERT INTO `system_file` VALUES ('121', 'qiniu', '46771f56bdf9ea0419767d6c05af8157', '家装公司列表页.jpg', '19767d6c05af8157.jpg', '46771f56bdf9ea04/19767d6c05af8157.jpg', '46771f56bdf9ea04/19767d6c05af8157.jpg', 'jpg', null, '46771f56bdf9ea04/19767d6c05af8157.jpg', 'https://static.ctolog.com/46771f56bdf9ea04/19767d6c05af8157.jpg', '10000', '2017-03-05 14:22:53');
-INSERT INTO `system_file` VALUES ('122', 'qiniu', 'b4db5d2cc54db21f73177ddb0c06c1ba', '706031451644961253.jpg', '73177ddb0c06c1ba.jpg', 'b4db5d2cc54db21f/73177ddb0c06c1ba.jpg', 'b4db5d2cc54db21f/73177ddb0c06c1ba.jpg', 'jpg', null, 'b4db5d2cc54db21f/73177ddb0c06c1ba.jpg', 'http://static.ctolog.com/b4db5d2cc54db21f/73177ddb0c06c1ba.jpg', '10000', '2017-03-05 15:31:23');
-INSERT INTO `system_file` VALUES ('123', 'qiniu', 'ee0f46db71f71d39fe635dd35e8863cc', '603458451003609978.jpg', 'fe635dd35e8863cc.jpg', 'ee0f46db71f71d39/fe635dd35e8863cc.jpg', 'ee0f46db71f71d39/fe635dd35e8863cc.jpg', 'jpg', null, 'ee0f46db71f71d39/fe635dd35e8863cc.jpg', 'http://static.ctolog.com/ee0f46db71f71d39/fe635dd35e8863cc.jpg', '10000', '2017-03-05 15:31:32');
-INSERT INTO `system_file` VALUES ('124', 'qiniu', '0bf755483f42ab5cf95ccbb3b393baac', '598673.jpg', 'f95ccbb3b393baac.jpg', '0bf755483f42ab5c/f95ccbb3b393baac.jpg', '0bf755483f42ab5c/f95ccbb3b393baac.jpg', 'jpg', null, '0bf755483f42ab5c/f95ccbb3b393baac.jpg', 'http://static.ctolog.com/0bf755483f42ab5c/f95ccbb3b393baac.jpg', '10000', '2017-03-05 17:51:51');
-INSERT INTO `system_file` VALUES ('125', 'qiniu', '62f72471f5c0d16400643e371a2f5a70', 'img02.jpg', '00643e371a2f5a70.jpg', '62f72471f5c0d164/00643e371a2f5a70.jpg', '62f72471f5c0d164/00643e371a2f5a70.jpg', 'jpg', null, '62f72471f5c0d164/00643e371a2f5a70.jpg', 'https://static.ctolog.com/62f72471f5c0d164/00643e371a2f5a70.jpg', '10000', '2017-03-06 08:26:39');
-INSERT INTO `system_file` VALUES ('126', 'qiniu', '2ca1109411117c62e6376689cbe1ec5e', 'caiyilin.jpg', 'e6376689cbe1ec5e.jpg', '2ca1109411117c62/e6376689cbe1ec5e.jpg', '2ca1109411117c62/e6376689cbe1ec5e.jpg', 'jpg', null, '2ca1109411117c62/e6376689cbe1ec5e.jpg', 'http://static.ctolog.com/2ca1109411117c62/e6376689cbe1ec5e.jpg', '10000', '2017-03-06 10:02:45');
-INSERT INTO `system_file` VALUES ('127', 'qiniu', '7f5e19b55f1e95c7f319150baf6ea455', '2246_161119104622_1.png', 'f319150baf6ea455.png', '7f5e19b55f1e95c7/f319150baf6ea455.png', '7f5e19b55f1e95c7/f319150baf6ea455.png', 'png', null, '7f5e19b55f1e95c7/f319150baf6ea455.png', 'https://static.ctolog.com/7f5e19b55f1e95c7/f319150baf6ea455.png', '10000', '2017-03-06 11:08:52');
-INSERT INTO `system_file` VALUES ('128', 'qiniu', '0b2d3e977ce40e94c2279e0bcbef687a', 'getheadimg.jpg', 'c2279e0bcbef687a.jpg', '0b2d3e977ce40e94/c2279e0bcbef687a.jpg', '0b2d3e977ce40e94/c2279e0bcbef687a.jpg', 'jpg', null, '0b2d3e977ce40e94/c2279e0bcbef687a.jpg', 'https://static.ctolog.com/0b2d3e977ce40e94/c2279e0bcbef687a.jpg', '10000', '2017-03-06 11:24:12');
-INSERT INTO `system_file` VALUES ('129', 'qiniu', 'cfd4b538dc1d8b96a09310cab5fa44c9', '20150705211109.gif', 'a09310cab5fa44c9.gif', 'cfd4b538dc1d8b96/a09310cab5fa44c9.gif', 'cfd4b538dc1d8b96/a09310cab5fa44c9.gif', 'gif', null, 'cfd4b538dc1d8b96/a09310cab5fa44c9.gif', 'https://static.ctolog.com/cfd4b538dc1d8b96/a09310cab5fa44c9.gif', '10000', '2017-03-06 11:25:01');
-INSERT INTO `system_file` VALUES ('130', 'qiniu', '790382d9c355ecbdf7563f0d06e2b4e7', 'sshot-2.png', 'f7563f0d06e2b4e7.png', '790382d9c355ecbd/f7563f0d06e2b4e7.png', '790382d9c355ecbd/f7563f0d06e2b4e7.png', 'png', null, '790382d9c355ecbd/f7563f0d06e2b4e7.png', 'https://static.ctolog.com/790382d9c355ecbd/f7563f0d06e2b4e7.png', '10000', '2017-03-06 11:25:23');
-INSERT INTO `system_file` VALUES ('131', 'local', '790382d9c355ecbdf7563f0d06e2b4e7', 'sshot-2.png', 'f7563f0d06e2b4e7.png', 'upload/790382d9c355ecbd/f7563f0d06e2b4e7.png', '/home/wwwroot/think/trunk/public/upload/790382d9c355ecbd/f7563f0d06e2b4e7.png', 'png', '586029.00', 'upload/790382d9c355ecbd/f7563f0d06e2b4e7.png', 'https://think.ctolog.com/upload/790382d9c355ecbd/f7563f0d06e2b4e7.png', '10000', '2017-03-06 11:26:31');
-INSERT INTO `system_file` VALUES ('132', 'local', '0b2d3e977ce40e94c2279e0bcbef687a', 'getheadimg.jpg', 'c2279e0bcbef687a.jpg', 'upload/0b2d3e977ce40e94/c2279e0bcbef687a.jpg', 'D:/WebRoot/store/public/upload/0b2d3e977ce40e94/c2279e0bcbef687a.jpg', 'jpg', '1946.00', 'upload/0b2d3e977ce40e94/c2279e0bcbef687a.jpg', 'http://localhost/store/public/upload/0b2d3e977ce40e94/c2279e0bcbef687a.jpg', '10000', '2017-03-06 11:26:54');
-INSERT INTO `system_file` VALUES ('133', 'local', '943ef23f75adcffafdb4ab2c49f8e711', 'sshot-1.png', 'fdb4ab2c49f8e711.png', 'upload/943ef23f75adcffa/fdb4ab2c49f8e711.png', 'D:/WebRoot/store/public/upload/943ef23f75adcffa/fdb4ab2c49f8e711.png', 'png', '9716.00', 'upload/943ef23f75adcffa/fdb4ab2c49f8e711.png', 'http://localhost/store/public/upload/943ef23f75adcffa/fdb4ab2c49f8e711.png', '10000', '2017-03-06 11:28:42');
-INSERT INTO `system_file` VALUES ('134', 'local', 'cfd4b538dc1d8b96a09310cab5fa44c9', '20150705211109.gif', 'a09310cab5fa44c9.gif', 'upload/cfd4b538dc1d8b96/a09310cab5fa44c9.gif', '/home/wwwroot/think/trunk/public/upload/cfd4b538dc1d8b96/a09310cab5fa44c9.gif', 'gif', '129103.00', 'upload/cfd4b538dc1d8b96/a09310cab5fa44c9.gif', 'https://think.ctolog.com/upload/cfd4b538dc1d8b96/a09310cab5fa44c9.gif', '10000', '2017-03-06 11:38:01');
-INSERT INTO `system_file` VALUES ('135', 'qiniu', '4764d9b554c1e6cfc263c2920b4d00b5', '屏幕快照 2017-03-02 下午4.43.19.png', 'c263c2920b4d00b5.png', '4764d9b554c1e6cf/c263c2920b4d00b5.png', '4764d9b554c1e6cf/c263c2920b4d00b5.png', 'png', null, '4764d9b554c1e6cf/c263c2920b4d00b5.png', 'http://static.ctolog.com/4764d9b554c1e6cf/c263c2920b4d00b5.png', '10000', '2017-03-06 15:37:31');
-INSERT INTO `system_file` VALUES ('136', 'qiniu', 'cc1f297826b3528c5a6402c726d59106', 'b5_bg.jpg', '5a6402c726d59106.jpg', 'cc1f297826b3528c/5a6402c726d59106.jpg', 'cc1f297826b3528c/5a6402c726d59106.jpg', 'jpg', null, 'cc1f297826b3528c/5a6402c726d59106.jpg', 'http://static.ctolog.com/cc1f297826b3528c/5a6402c726d59106.jpg', '10000', '2017-03-06 15:42:24');
-INSERT INTO `system_file` VALUES ('137', 'qiniu', '60c944750206122af6b87602156235e2', '2.jpg', 'f6b87602156235e2.jpg', '60c944750206122a/f6b87602156235e2.jpg', '60c944750206122a/f6b87602156235e2.jpg', 'jpg', null, '60c944750206122a/f6b87602156235e2.jpg', 'http://static.ctolog.com/60c944750206122a/f6b87602156235e2.jpg', '10000', '2017-03-06 16:30:15');
-INSERT INTO `system_file` VALUES ('138', 'local', '60c944750206122af6b87602156235e2', '2.jpg', 'f6b87602156235e2.jpg', 'upload/60c944750206122a/f6b87602156235e2.jpg', 'D:/xampp/htdocs/Think/public/upload/60c944750206122a/f6b87602156235e2.jpg', 'jpg', '730822.00', 'upload/60c944750206122a/f6b87602156235e2.jpg', 'http://www.think.com/public/upload/60c944750206122a/f6b87602156235e2.jpg', '10000', '2017-03-06 17:21:53');
-INSERT INTO `system_file` VALUES ('139', 'local', '4a0856174dd9234a89c0bff42f5b94fd', '22.png', '89c0bff42f5b94fd.png', 'upload/4a0856174dd9234a/89c0bff42f5b94fd.png', 'D:/xampp/htdocs/Think/public/upload/4a0856174dd9234a/89c0bff42f5b94fd.png', 'png', '453.00', 'upload/4a0856174dd9234a/89c0bff42f5b94fd.png', 'http://www.think.com/public/upload/4a0856174dd9234a/89c0bff42f5b94fd.png', '10000', '2017-03-06 17:22:15');
-INSERT INTO `system_file` VALUES ('140', 'local', '771db63b6ffc9de1c06da564796adc6e', 'help.png', 'c06da564796adc6e.png', 'upload/771db63b6ffc9de1/c06da564796adc6e.png', 'D:/xampp/htdocs/Think/public/upload/771db63b6ffc9de1/c06da564796adc6e.png', 'png', '3299.00', 'upload/771db63b6ffc9de1/c06da564796adc6e.png', 'http://www.think.com/public/upload/771db63b6ffc9de1/c06da564796adc6e.png', '10000', '2017-03-06 17:41:34');
-INSERT INTO `system_file` VALUES ('141', 'local', '56f3bb329c7756e50a54e5c75a2104da', '111.png', '0a54e5c75a2104da.png', 'upload/56f3bb329c7756e5/0a54e5c75a2104da.png', '/home/wwwroot/think/trunk/public/upload/56f3bb329c7756e5/0a54e5c75a2104da.png', 'png', '1500606.00', 'upload/56f3bb329c7756e5/0a54e5c75a2104da.png', 'https://think.ctolog.com/upload/56f3bb329c7756e5/0a54e5c75a2104da.png', '10000', '2017-03-06 21:22:06');
-INSERT INTO `system_file` VALUES ('142', 'local', '908b0cdbd2f44f28e1ba347e8bc2c01c', '屏幕快照 2016-03-08 下午3.28.31.png', 'e1ba347e8bc2c01c.png', 'upload/908b0cdbd2f44f28/e1ba347e8bc2c01c.png', '/home/wwwroot/think/trunk/public/upload/908b0cdbd2f44f28/e1ba347e8bc2c01c.png', 'png', '188606.00', 'upload/908b0cdbd2f44f28/e1ba347e8bc2c01c.png', 'https://think.ctolog.com/upload/908b0cdbd2f44f28/e1ba347e8bc2c01c.png', '10000', '2017-03-06 21:22:24');
-INSERT INTO `system_file` VALUES ('143', 'qiniu', '32ae5ac7c6d854fcdf0bf338e266885c', 'logo.png', 'df0bf338e266885c.png', '32ae5ac7c6d854fc/df0bf338e266885c.png', '32ae5ac7c6d854fc/df0bf338e266885c.png', 'png', null, '32ae5ac7c6d854fc/df0bf338e266885c.png', 'https://static.ctolog.com/32ae5ac7c6d854fc/df0bf338e266885c.png', '10000', '2017-03-07 02:18:54');
-INSERT INTO `system_file` VALUES ('144', 'qiniu', 'e894d7f3a5069080c3b1b22a67e8d9db', 'i20160804_307_508.jpg', 'c3b1b22a67e8d9db.jpg', 'e894d7f3a5069080/c3b1b22a67e8d9db.jpg', 'e894d7f3a5069080/c3b1b22a67e8d9db.jpg', 'jpg', null, 'e894d7f3a5069080/c3b1b22a67e8d9db.jpg', 'https://static.ctolog.com/e894d7f3a5069080/c3b1b22a67e8d9db.jpg', '10000', '2017-03-07 08:47:40');
-INSERT INTO `system_file` VALUES ('145', 'qiniu', '7d81fb62455c5dc9f23d0dd6757acde6', 'i20161130_831_618.png', 'f23d0dd6757acde6.png', '7d81fb62455c5dc9/f23d0dd6757acde6.png', '7d81fb62455c5dc9/f23d0dd6757acde6.png', 'png', null, '7d81fb62455c5dc9/f23d0dd6757acde6.png', 'https://static.ctolog.com/7d81fb62455c5dc9/f23d0dd6757acde6.png', '10000', '2017-03-07 08:48:00');
-INSERT INTO `system_file` VALUES ('146', 'qiniu', '1ad981dbeca0eaab7c21246306331c92', '5837d9aeNf52e37e5.jpg', '7c21246306331c92.jpg', '1ad981dbeca0eaab/7c21246306331c92.jpg', '1ad981dbeca0eaab/7c21246306331c92.jpg', 'jpg', null, '1ad981dbeca0eaab/7c21246306331c92.jpg', 'https://static.ctolog.com/1ad981dbeca0eaab/7c21246306331c92.jpg', '10000', '2017-03-07 09:17:28');
-INSERT INTO `system_file` VALUES ('147', 'qiniu', 'a0e956aaf0cddf68adb98d95b23ad57e', '1.jpg', 'adb98d95b23ad57e.jpg', 'a0e956aaf0cddf68/adb98d95b23ad57e.jpg', 'a0e956aaf0cddf68/adb98d95b23ad57e.jpg', 'jpg', null, 'a0e956aaf0cddf68/adb98d95b23ad57e.jpg', 'https://static.ctolog.com/a0e956aaf0cddf68/adb98d95b23ad57e.jpg', '10000', '2017-03-07 09:20:26');
-INSERT INTO `system_file` VALUES ('148', 'local', '9fc61316490438944a63ed8c6be5f473', 'action.png', '4a63ed8c6be5f473.png', 'upload/9fc6131649043894/4a63ed8c6be5f473.png', '/home/wwwroot/think/trunk/public/upload/9fc6131649043894/4a63ed8c6be5f473.png', 'png', '1174.00', 'upload/9fc6131649043894/4a63ed8c6be5f473.png', 'https://think.ctolog.com/upload/9fc6131649043894/4a63ed8c6be5f473.png', '10000', '2017-03-07 12:01:49');
-INSERT INTO `system_file` VALUES ('149', 'local', '1437932ffe760ab55f5f31bfe50fbc04', '2bb0a9ef49ca4227c1142325b71cbac9.jpg', '5f5f31bfe50fbc04.jpg', 'upload/1437932ffe760ab5/5f5f31bfe50fbc04.jpg', '/home/wwwroot/think/trunk/public/upload/1437932ffe760ab5/5f5f31bfe50fbc04.jpg', 'jpg', '249098.00', 'upload/1437932ffe760ab5/5f5f31bfe50fbc04.jpg', 'https://think.ctolog.com/upload/1437932ffe760ab5/5f5f31bfe50fbc04.jpg', '10000', '2017-03-07 12:12:26');
-INSERT INTO `system_file` VALUES ('150', 'local', '4db940829027a8b09a2afe5074c225f3', '02e62bc197a94c42cb210ead4ddfe4ff.jpg', '9a2afe5074c225f3.jpg', 'upload/4db940829027a8b0/9a2afe5074c225f3.jpg', '/home/wwwroot/think/trunk/public/upload/4db940829027a8b0/9a2afe5074c225f3.jpg', 'jpg', '382601.00', 'upload/4db940829027a8b0/9a2afe5074c225f3.jpg', 'https://think.ctolog.com/upload/4db940829027a8b0/9a2afe5074c225f3.jpg', '10000', '2017-03-07 12:21:39');
-INSERT INTO `system_file` VALUES ('151', 'local', 'c5de903726fcce898fe6a29a240c1c4f', '6.png', '8fe6a29a240c1c4f.png', 'upload/c5de903726fcce89/8fe6a29a240c1c4f.png', 'D:/WebRoot/store/public/upload/c5de903726fcce89/8fe6a29a240c1c4f.png', 'png', '7539.00', 'upload/c5de903726fcce89/8fe6a29a240c1c4f.png', 'http://localhost/store/public/upload/c5de903726fcce89/8fe6a29a240c1c4f.png', '10000', '2017-03-08 15:19:50');
-INSERT INTO `system_file` VALUES ('152', 'local', 'd94dded06a2ffa09b864bce7ee156989', '22222.png', 'b864bce7ee156989.png', 'upload/d94dded06a2ffa09/b864bce7ee156989.png', 'D:/WebRoot/store/public/upload/d94dded06a2ffa09/b864bce7ee156989.png', 'png', '152018.00', 'upload/d94dded06a2ffa09/b864bce7ee156989.png', 'http://localhost/store/public/upload/d94dded06a2ffa09/b864bce7ee156989.png', '10000', '2017-03-08 15:31:48');
-INSERT INTO `system_file` VALUES ('153', 'local', '1a026a499503df160f8bcd6d71770ffa', 'QQ图片20170306155413.jpg', '0f8bcd6d71770ffa.jpg', 'upload/1a026a499503df16/0f8bcd6d71770ffa.jpg', 'D:/WebRoot/store/public/upload/1a026a499503df16/0f8bcd6d71770ffa.jpg', 'jpg', '605274.00', 'upload/1a026a499503df16/0f8bcd6d71770ffa.jpg', 'http://localhost/store/public/upload/1a026a499503df16/0f8bcd6d71770ffa.jpg', '10000', '2017-03-08 16:01:57');
-INSERT INTO `system_file` VALUES ('154', 'local', 'cd48631d3dd2a1e0d316a865c31cee11', '91857a2465724a878cb181608e33b759.jpg.webp', 'd316a865c31cee11.webp', 'upload/cd48631d3dd2a1e0/d316a865c31cee11.webp', 'D:/WebRoot/store/public/upload/cd48631d3dd2a1e0/d316a865c31cee11.webp', 'webp', '30020.00', 'upload/cd48631d3dd2a1e0/d316a865c31cee11.webp', 'http://localhost/store/public/upload/cd48631d3dd2a1e0/d316a865c31cee11.webp', '10000', '2017-03-08 16:06:10');
-INSERT INTO `system_file` VALUES ('155', 'local', 'e2a16716021b48d321908fc58d0bd367', '4349951.jpg', '21908fc58d0bd367.jpg', 'upload/e2a16716021b48d3/21908fc58d0bd367.jpg', 'D:/WebRoot/store/public/upload/e2a16716021b48d3/21908fc58d0bd367.jpg', 'jpg', '28728.00', 'upload/e2a16716021b48d3/21908fc58d0bd367.jpg', 'http://localhost/store/public/upload/e2a16716021b48d3/21908fc58d0bd367.jpg', '10000', '2017-03-09 14:52:26');
-INSERT INTO `system_file` VALUES ('156', 'local', '62d17f4d841baf801bac9032bc8e1056', 'logo.png', '1bac9032bc8e1056.png', 'upload/62d17f4d841baf80/1bac9032bc8e1056.png', '/home/wwwroot/think/trunk/public/upload/62d17f4d841baf80/1bac9032bc8e1056.png', 'png', '2965.00', 'upload/62d17f4d841baf80/1bac9032bc8e1056.png', 'https://think.ctolog.com/upload/62d17f4d841baf80/1bac9032bc8e1056.png', '10000', '2017-03-14 18:00:38');
-INSERT INTO `system_file` VALUES ('157', 'local', '8b457a0460091268b4d9e154b98f13a9', '4D5EB1BD-5146-4550-AF94-6730CE8C792E.png', 'b4d9e154b98f13a9.png', 'upload/8b457a0460091268/b4d9e154b98f13a9.png', '/home/wwwroot/think/trunk/public/upload/8b457a0460091268/b4d9e154b98f13a9.png', 'png', '12128.00', 'upload/8b457a0460091268/b4d9e154b98f13a9.png', 'https://think.ctolog.com/upload/8b457a0460091268/b4d9e154b98f13a9.png', '10000', '2017-03-14 22:19:54');
-INSERT INTO `system_file` VALUES ('158', 'local', 'b3a2413e763eeaabc5382bb0c1b767ad', 'background2.png', 'c5382bb0c1b767ad.png', 'upload/b3a2413e763eeaab/c5382bb0c1b767ad.png', '/home/wwwroot/think/trunk/public/upload/b3a2413e763eeaab/c5382bb0c1b767ad.png', 'png', '928822.00', 'upload/b3a2413e763eeaab/c5382bb0c1b767ad.png', 'https://think.ctolog.com/upload/b3a2413e763eeaab/c5382bb0c1b767ad.png', '10000', '2017-03-14 22:20:22');
-INSERT INTO `system_file` VALUES ('159', 'local', '0668a419d0237b98cedf1fd7ee70e8cd', 'WechatIMG65.jpg', 'cedf1fd7ee70e8cd.jpg', 'upload/0668a419d0237b98/cedf1fd7ee70e8cd.jpg', '/home/wwwroot/think/trunk/public/upload/0668a419d0237b98/cedf1fd7ee70e8cd.jpg', 'jpg', '63959.00', 'upload/0668a419d0237b98/cedf1fd7ee70e8cd.jpg', 'https://think.ctolog.com/upload/0668a419d0237b98/cedf1fd7ee70e8cd.jpg', '10000', '2017-03-15 09:07:34');
-INSERT INTO `system_file` VALUES ('160', 'local', 'd66b1ee970e32240c632cdfaedf676ce', '114965361564677479.jpg', 'c632cdfaedf676ce.jpg', 'upload/d66b1ee970e32240/c632cdfaedf676ce.jpg', '/home/wwwroot/think/trunk/public/upload/d66b1ee970e32240/c632cdfaedf676ce.jpg', 'jpg', '79927.00', 'upload/d66b1ee970e32240/c632cdfaedf676ce.jpg', 'https://think.ctolog.com/upload/d66b1ee970e32240/c632cdfaedf676ce.jpg', '10000', '2017-03-15 10:09:56');
-INSERT INTO `system_file` VALUES ('161', 'local', '03c09207ec37d3bc246339665ee1f718', 'app388_388_75.png', '246339665ee1f718.png', 'upload/03c09207ec37d3bc/246339665ee1f718.png', '/home/wwwroot/think/trunk/public/upload/03c09207ec37d3bc/246339665ee1f718.png', 'png', '10761.00', 'upload/03c09207ec37d3bc/246339665ee1f718.png', 'https://think.ctolog.com/upload/03c09207ec37d3bc/246339665ee1f718.png', '10000', '2017-03-15 10:17:51');
-INSERT INTO `system_file` VALUES ('162', 'local', '8cd2ab293660edf015723a9730c2d51a', 'app502_502_75.png', '15723a9730c2d51a.png', 'upload/8cd2ab293660edf0/15723a9730c2d51a.png', '/home/wwwroot/think/trunk/public/upload/8cd2ab293660edf0/15723a9730c2d51a.png', 'png', '8155.00', 'upload/8cd2ab293660edf0/15723a9730c2d51a.png', 'https://think.ctolog.com/upload/8cd2ab293660edf0/15723a9730c2d51a.png', '10000', '2017-03-15 10:17:56');
-
--- ----------------------------
 -- Table structure for system_menu
 -- ----------------------------
 DROP TABLE IF EXISTS `system_menu`;

Some files were not shown because too many files changed in this diff