diff --git a/README.md b/README.md
index aa2e85e88..5c97b1556 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 ThinkAdmin for PHP
 --
 * ThinkAdmin 是一个基于 Thinkphp 5.0.x 开发的后台管理系统,集成后台系统常用功能。
-* 项目安装请参考 ThinkPHP 官方文档及下面的服务环境说明,数据库 sql 文件存放于项目根目录下。
+* 项目安装及二次开发请参考 ThinkPHP 官方文档及下面的服务环境说明,数据库 sql 文件存放于项目根目录下。
 > 注意:项目测试请另行搭建环境并创建数据库(数据库配置 application/database.php), 切勿直接使用测试环境数据!
 
 
@@ -18,6 +18,7 @@ Repositorie
 >* GitHub 托管地址:https://github.com/zoujingli/ThinkAdmin
 >* OSChina 托管地址:http://git.oschina.net/zoujingli/Think.Admin
 
+
 Module
 --
 * 简易`RBAC`权限管理(用户、权限、节点、菜单控制)
diff --git a/extend/service/DataService.php b/extend/service/DataService.php
index b7101d1f0..9956970fb 100644
--- a/extend/service/DataService.php
+++ b/extend/service/DataService.php
@@ -49,6 +49,8 @@ class DataService
      * @param string $sequence
      * @param string $type
      * @return bool
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
      */
     public static function deleteSequence($sequence, $type = 'SYSTEM')
     {
@@ -87,15 +89,17 @@ class DataService
      * @param string $key 条件主键限制
      * @param array $where 其它的where条件
      * @return bool
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
      */
     public static function save($dbQuery, $data, $key = 'id', $where = [])
     {
         $db = is_string($dbQuery) ? Db::name($dbQuery) : $dbQuery;
         $where[$key] = isset($data[$key]) ? $data[$key] : '';
         if ($db->where($where)->count() > 0) {
-            return $db->where($where)->update($data) !== false;
+            return $db->strict(false)->where($where)->update($data) !== false;
         }
-        return $db->insert($data) !== false;
+        return $db->strict(false)->insert($data) !== false;
     }
 
     /**
@@ -103,6 +107,8 @@ class DataService
      * @param \think\db\Query|string $dbQuery 数据查询对象
      * @param array $where 额外查询条件
      * @return bool|null
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
      */
     public static function update(&$dbQuery, $where = [])
     {
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 09c23cb7a..72de62716 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit468e08d63393129419db8541182b61a2::getLoader();
+return ComposerAutoloaderInit4bc699ddf295b08fae1ab3711fa28eb4::getLoader();
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 040113f45..764e2837e 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit468e08d63393129419db8541182b61a2
+class ComposerAutoloaderInit4bc699ddf295b08fae1ab3711fa28eb4
 {
     private static $loader;
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit468e08d63393129419db8541182b61a2
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit468e08d63393129419db8541182b61a2', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit4bc699ddf295b08fae1ab3711fa28eb4', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit468e08d63393129419db8541182b61a2', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit4bc699ddf295b08fae1ab3711fa28eb4', 'loadClassLoader'));
 
         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit468e08d63393129419db8541182b61a2::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInit4bc699ddf295b08fae1ab3711fa28eb4::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit468e08d63393129419db8541182b61a2
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit468e08d63393129419db8541182b61a2::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInit4bc699ddf295b08fae1ab3711fa28eb4::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire468e08d63393129419db8541182b61a2($fileIdentifier, $file);
+            composerRequire4bc699ddf295b08fae1ab3711fa28eb4($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire468e08d63393129419db8541182b61a2($fileIdentifier, $file)
+function composerRequire4bc699ddf295b08fae1ab3711fa28eb4($fileIdentifier, $file)
 {
     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
         require $file;
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 38113b9b2..186307eeb 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit468e08d63393129419db8541182b61a2
+class ComposerStaticInit4bc699ddf295b08fae1ab3711fa28eb4
 {
     public static $files = array (
         '9b552a3cc426e3287cc811caefa3cf53' => __DIR__ . '/..' . '/topthink/think-helper/src/helper.php',
@@ -391,9 +391,9 @@ class ComposerStaticInit468e08d63393129419db8541182b61a2
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit468e08d63393129419db8541182b61a2::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit468e08d63393129419db8541182b61a2::$prefixDirsPsr4;
-            $loader->classMap = ComposerStaticInit468e08d63393129419db8541182b61a2::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInit4bc699ddf295b08fae1ab3711fa28eb4::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInit4bc699ddf295b08fae1ab3711fa28eb4::$prefixDirsPsr4;
+            $loader->classMap = ComposerStaticInit4bc699ddf295b08fae1ab3711fa28eb4::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index c53756fe5..c83d24e18 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -49,18 +49,18 @@
         "source": {
             "type": "git",
             "url": "https://github.com/zoujingli/wechat-php-sdk.git",
-            "reference": "4e8563507213f030cb6612fafceb96380ce7cfb7"
+            "reference": "7869490b99e648d40a5a5169cc0469dccb8e8b0a"
         },
         "dist": {
             "type": "zip",
-            "url": "https://files.phpcomposer.com/files/zoujingli/wechat-php-sdk/4e8563507213f030cb6612fafceb96380ce7cfb7.zip",
-            "reference": "4e8563507213f030cb6612fafceb96380ce7cfb7",
+            "url": "https://files.phpcomposer.com/files/zoujingli/wechat-php-sdk/7869490b99e648d40a5a5169cc0469dccb8e8b0a.zip",
+            "reference": "7869490b99e648d40a5a5169cc0469dccb8e8b0a",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "time": "2018-02-05T02:44:49+00:00",
+        "time": "2018-02-28T13:30:53+00:00",
         "type": "project",
         "installation-source": "dist",
         "autoload": {
@@ -80,17 +80,17 @@
     },
     {
         "name": "qiniu/php-sdk",
-        "version": "v7.2.2",
-        "version_normalized": "7.2.2.0",
+        "version": "v7.2.3",
+        "version_normalized": "7.2.3.0",
         "source": {
             "type": "git",
             "url": "https://github.com/qiniu/php-sdk.git",
-            "reference": "79290fd9cb5d72cc2feef779008b3aaeeac49eb9"
+            "reference": "67852ba9cdd7f48e0e080961abebafee134fb329"
         },
         "dist": {
             "type": "zip",
-            "url": "https://files.phpcomposer.com/files/qiniu/php-sdk/79290fd9cb5d72cc2feef779008b3aaeeac49eb9.zip",
-            "reference": "79290fd9cb5d72cc2feef779008b3aaeeac49eb9",
+            "url": "https://files.phpcomposer.com/files/qiniu/php-sdk/67852ba9cdd7f48e0e080961abebafee134fb329.zip",
+            "reference": "67852ba9cdd7f48e0e080961abebafee134fb329",
             "shasum": ""
         },
         "require": {
@@ -100,7 +100,7 @@
             "phpunit/phpunit": "~4.0",
             "squizlabs/php_codesniffer": "~2.3"
         },
-        "time": "2017-11-07T06:12:11+00:00",
+        "time": "2018-02-20T13:59:54+00:00",
         "type": "library",
         "installation-source": "dist",
         "autoload": {
@@ -381,8 +381,8 @@
     },
     {
         "name": "symfony/options-resolver",
-        "version": "v3.4.4",
-        "version_normalized": "3.4.4.0",
+        "version": "v3.4.5",
+        "version_normalized": "3.4.5.0",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/options-resolver.git",
diff --git a/vendor/qiniu/php-sdk/CHANGELOG.md b/vendor/qiniu/php-sdk/CHANGELOG.md
index 943db0068..8547bd882 100644
--- a/vendor/qiniu/php-sdk/CHANGELOG.md
+++ b/vendor/qiniu/php-sdk/CHANGELOG.md
@@ -1,6 +1,13 @@
 # Changelog
 
-## 7.2.2 (2017-11-06
+## 7.2.3 (2018-01-20)
+### 增加
+* 新加坡机房
+### 修正
+* 获取域名的入口域名
+* http回复头部兼容大小写
+
+## 7.2.2 (2017-11-06)
 ### 增加
 * Qiniu算法的鉴权方法
 
diff --git a/vendor/qiniu/php-sdk/examples/upload_and_pfop.php b/vendor/qiniu/php-sdk/examples/upload_and_pfop.php
index b0c6608f1..898c09c63 100644
--- a/vendor/qiniu/php-sdk/examples/upload_and_pfop.php
+++ b/vendor/qiniu/php-sdk/examples/upload_and_pfop.php
@@ -12,7 +12,6 @@ $auth = new Auth($accessKey, $secretKey);
 
 // 在七牛保存的文件名
 $key = 'php-logo.png';
-$token = $auth->uploadToken($bucket);
 $uploadMgr = new UploadManager();
 
 $pfop = "imageMogr2/rotate/90|saveas/" . \Qiniu\base64_urlSafeEncode($bucket . ":php-logo-rotate.png");
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Config.php b/vendor/qiniu/php-sdk/src/Qiniu/Config.php
index d5ffeeef1..296caa9cd 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Config.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Config.php
@@ -3,14 +3,14 @@ namespace Qiniu;
 
 final class Config
 {
-    const SDK_VER = '7.2.2';
+    const SDK_VER = '7.2.3';
 
     const BLOCK_SIZE = 4194304; //4*1024*1024 分块上传块大小,该参数为接口规格,不能修改
 
     const RSF_HOST = 'rsf.qiniu.com';
     const API_HOST = 'api.qiniu.com';
     const RS_HOST = 'rs.qiniu.com';      //RS Host
-    const UC_HOST = 'https://uc.qbox.me';              //UC Host
+    const UC_HOST = 'https://api.qiniu.com';              //UC Host
 
     // Zone 空间对应的机房
     public $zone;
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Http/Client.php b/vendor/qiniu/php-sdk/src/Qiniu/Http/Client.php
index 03d9dbdfc..21beb05f8 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Http/Client.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Http/Client.php
@@ -83,7 +83,7 @@ final class Client
             CURLOPT_HEADER => true,
             CURLOPT_NOBODY => false,
             CURLOPT_CUSTOMREQUEST => $request->method,
-            CURLOPT_URL => $request->url
+            CURLOPT_URL => $request->url,
         );
 
         // Handle open_basedir & safe mode
@@ -129,6 +129,7 @@ final class Client
             $headerLine = trim($line);
             $kv = explode(':', $headerLine);
             if (count($kv) > 1) {
+                $kv[0] = ucwords($kv[0], '-');
                 $headers[$kv[0]] = trim($kv[1]);
             }
         }
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Http/Response.php b/vendor/qiniu/php-sdk/src/Qiniu/Http/Response.php
index e11a61742..f22ab371e 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Http/Response.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Http/Response.php
@@ -130,7 +130,7 @@ final class Response
 
     private static function bodyJson($body)
     {
-        return \Qiniu\json_decode((string)$body, true, 512);
+        return \Qiniu\json_decode((string) $body, true, 512);
     }
 
     public function xVia()
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Storage/FormUploader.php b/vendor/qiniu/php-sdk/src/Qiniu/Storage/FormUploader.php
index 02a4b8191..5c3361f96 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Storage/FormUploader.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Storage/FormUploader.php
@@ -30,14 +30,14 @@ final class FormUploader
         $data,
         $config,
         $params,
-        $mime
+        $mime,
+        $fname
     ) {
 
         $fields = array('token' => $upToken);
         if ($key === null) {
-            $fname = 'filename';
+            $fname='nullkey';
         } else {
-            $fname = $key;
             $fields['key'] = $key;
         }
 
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Storage/ResumeUploader.php b/vendor/qiniu/php-sdk/src/Qiniu/Storage/ResumeUploader.php
index 3d3c6b223..5d8bf8730 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Storage/ResumeUploader.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Storage/ResumeUploader.php
@@ -71,7 +71,7 @@ final class ResumeUploader
     /**
      * 上传操作
      */
-    public function upload()
+    public function upload($fname)
     {
         $uploaded = 0;
         while ($uploaded < $this->size) {
@@ -106,7 +106,7 @@ final class ResumeUploader
             array_push($this->contexts, $ret['ctx']);
             $uploaded += $blockSize;
         }
-        return $this->makeFile();
+        return $this->makeFile($fname);
     }
 
     /**
@@ -118,13 +118,14 @@ final class ResumeUploader
         return $this->post($url, $block);
     }
 
-    private function fileUrl()
+    private function fileUrl($fname)
     {
         $url = $this->host . '/mkfile/' . $this->size;
         $url .= '/mimeType/' . \Qiniu\base64_urlSafeEncode($this->mime);
         if ($this->key != null) {
             $url .= '/key/' . \Qiniu\base64_urlSafeEncode($this->key);
         }
+        $url .= '/fname/' . \Qiniu\base64_urlSafeEncode($fname);
         if (!empty($this->params)) {
             foreach ($this->params as $key => $value) {
                 $val = \Qiniu\base64_urlSafeEncode($value);
@@ -137,9 +138,9 @@ final class ResumeUploader
     /**
      * 创建文件
      */
-    private function makeFile()
+    private function makeFile($fname)
     {
-        $url = $this->fileUrl();
+        $url = $this->fileUrl($fname);
         $body = implode(',', $this->contexts);
         $response = $this->post($url, $body);
         if ($response->needRetry()) {
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Storage/UploadManager.php b/vendor/qiniu/php-sdk/src/Qiniu/Storage/UploadManager.php
index f80a81a97..ce58b2fe9 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Storage/UploadManager.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Storage/UploadManager.php
@@ -46,8 +46,9 @@ final class UploadManager
         $data,
         $params = null,
         $mime = 'application/octet-stream',
-        $checkCrc = false
+        $fname = null
     ) {
+    
         $params = self::trimParams($params);
         return FormUploader::put(
             $upToken,
@@ -56,7 +57,7 @@ final class UploadManager
             $this->config,
             $params,
             $mime,
-            $checkCrc
+            $fname
         );
     }
 
@@ -86,6 +87,7 @@ final class UploadManager
         $mime = 'application/octet-stream',
         $checkCrc = false
     ) {
+    
         $file = fopen($filePath, 'rb');
         if ($file === false) {
             throw new \Exception("file can not open", 1);
@@ -106,7 +108,8 @@ final class UploadManager
                 $this->config,
                 $params,
                 $mime,
-                $checkCrc
+                $checkCrc,
+                basename($filePath)
             );
         }
 
@@ -119,7 +122,7 @@ final class UploadManager
             $mime,
             $this->config
         );
-        $ret = $up->upload();
+        $ret = $up->upload(basename($filePath));
         fclose($file);
         return $ret;
     }
diff --git a/vendor/qiniu/php-sdk/src/Qiniu/Zone.php b/vendor/qiniu/php-sdk/src/Qiniu/Zone.php
index e6f954b0d..1a66d39bf 100644
--- a/vendor/qiniu/php-sdk/src/Qiniu/Zone.php
+++ b/vendor/qiniu/php-sdk/src/Qiniu/Zone.php
@@ -42,8 +42,8 @@ final class Zone
     public static function zone0()
     {
         $Zone_z0 = new Zone(
-            array("up.qiniup.com", 'up-nb.qiniup.com', 'up-xs.qiniup.com'),
-            array('upload.qiniup.com', 'upload-nb.qiniup.com', 'upload-xs.qiniup.com'),
+            array("up.qiniup.com", 'up-jjh.qiniup.com', 'up-xs.qiniup.com'),
+            array('upload.qiniup.com', 'upload-jjh.qiniup.com', 'upload-xs.qiniup.com'),
             'rs.qiniu.com',
             'rsf.qiniu.com',
             'api.qiniu.com',
@@ -71,8 +71,8 @@ final class Zone
     public static function zone2()
     {
         $Zone_z2 = new Zone(
-            array('up-z2.qiniup.com', 'up-gz.qiniup.com', 'up-fs.qiniup.com'),
-            array('upload-z2.qiniup.com', 'upload-gz.qiniup.com', 'upload-fs.qiniup.com'),
+            array('up-z2.qiniup.com', 'up-dg.qiniup.com', 'up-fs.qiniup.com'),
+            array('upload-z2.qiniup.com', 'upload-dg.qiniup.com', 'upload-fs.qiniup.com'),
             "rs-z2.qiniu.com",
             "rsf-z2.qiniu.com",
             "api-z2.qiniu.com",
@@ -96,6 +96,21 @@ final class Zone
         return $Zone_na0;
     }
 
+    //新加坡机房
+    public static function zoneAs0()
+    {
+        //新加坡机房
+        $Zone_as0 = new Zone(
+            array('up-as0.qiniup.com'),
+            array('upload-as0.qiniup.com'),
+            "rs-as0.qiniu.com",
+            "rsf-as0.qiniu.com",
+            "api-as0.qiniu.com",
+            "iovip-as0.qbox.me"
+        );
+        return $Zone_as0;
+    }
+
     /*
      * GET /v2/query?ak=<ak>&&bucket=<bucket>
      **/
@@ -108,6 +123,7 @@ final class Zone
             return array(null, new Error($url, $ret));
         }
         $r = ($ret->body === null) ? array() : $ret->json();
+        //print_r($ret);
         //parse zone;
 
         $iovipHost = $r['io']['src']['main'][0];
@@ -140,6 +156,10 @@ final class Zone
             $zone->rsHost = "rs-na0.qiniu.com";
             $zone->rsfHost = "rsf-na0.qiniu.com";
             $zone->apiHost = "api-na0.qiniu.com";
+        } elseif (strstr($zone->iovipHost, "as0") !== false) {
+            $zone->rsHost = "rs-as0.qiniu.com";
+            $zone->rsfHost = "rsf-as0.qiniu.com";
+            $zone->apiHost = "api-as0.qiniu.com";
         } else {
             $zone->rsHost = "rs.qiniu.com";
             $zone->rsfHost = "rsf.qiniu.com";
diff --git a/vendor/qiniu/php-sdk/tests/Qiniu/Tests/FormUpTest.php b/vendor/qiniu/php-sdk/tests/Qiniu/Tests/FormUpTest.php
index 6f324c624..4813eed97 100644
--- a/vendor/qiniu/php-sdk/tests/Qiniu/Tests/FormUpTest.php
+++ b/vendor/qiniu/php-sdk/tests/Qiniu/Tests/FormUpTest.php
@@ -24,7 +24,7 @@ class FormUpTest extends \PHPUnit_Framework_TestCase
     public function testData()
     {
         $token = $this->auth->uploadToken($this->bucketName);
-        list($ret, $error) = FormUploader::put($token, 'formput', 'hello world', $this->cfg, null, 'text/plain', true);
+        list($ret, $error) = FormUploader::put($token, 'formput', 'hello world', $this->cfg, null, 'text/plain', null);
         $this->assertNull($error);
         $this->assertNotNull($ret['hash']);
     }
@@ -33,7 +33,7 @@ class FormUpTest extends \PHPUnit_Framework_TestCase
     {
         $upManager = new UploadManager();
         $token = $this->auth->uploadToken($this->bucketName);
-        list($ret, $error) = $upManager->put($token, 'formput', 'hello world', null, 'text/plain', true);
+        list($ret, $error) = $upManager->put($token, 'formput', 'hello world', null, 'text/plain', null);
         $this->assertNull($error);
         $this->assertNotNull($ret['hash']);
     }
@@ -42,7 +42,7 @@ class FormUpTest extends \PHPUnit_Framework_TestCase
     {
         $key = 'formPutFile';
         $token = $this->auth->uploadToken($this->bucketName, $key);
-        list($ret, $error) = FormUploader::putFile($token, $key, __file__, $this->cfg, null, 'text/plain', true);
+        list($ret, $error) = FormUploader::putFile($token, $key, __file__, $this->cfg, null, 'text/plain', null);
         $this->assertNull($error);
         $this->assertNotNull($ret['hash']);
     }
@@ -52,7 +52,7 @@ class FormUpTest extends \PHPUnit_Framework_TestCase
         $key = 'formPutFile';
         $token = $this->auth->uploadToken($this->bucketName, $key);
         $upManager = new UploadManager();
-        list($ret, $error) = $upManager->putFile($token, $key, __file__, null, 'text/plain', true);
+        list($ret, $error) = $upManager->putFile($token, $key, __file__, null, 'text/plain', null);
         $this->assertNull($error);
         $this->assertNotNull($ret['hash']);
     }
diff --git a/vendor/qiniu/php-sdk/tests/Qiniu/Tests/ZoneTest.php b/vendor/qiniu/php-sdk/tests/Qiniu/Tests/ZoneTest.php
index cf9226c37..d32875bd2 100644
--- a/vendor/qiniu/php-sdk/tests/Qiniu/Tests/ZoneTest.php
+++ b/vendor/qiniu/php-sdk/tests/Qiniu/Tests/ZoneTest.php
@@ -36,7 +36,6 @@ class ZoneTest extends \PHPUnit_Framework_TestCase
     public function testUpHosts()
     {
         $zone = Zone::queryZone($this->ak, $this->bucketName);
-        print_r($zone);
         $this->assertContains('upload.qiniup.com', $zone->cdnUpHosts);
 
         $zone = Zone::queryZone($this->ak, $this->bucketNameBC);
diff --git a/vendor/zoujingli/wechat-php-sdk/README.md b/vendor/zoujingli/wechat-php-sdk/README.md
index 868ab61c3..fce95d2c7 100644
--- a/vendor/zoujingli/wechat-php-sdk/README.md
+++ b/vendor/zoujingli/wechat-php-sdk/README.md
@@ -13,6 +13,8 @@
 
 此`SDK`已历经数个线上项目验证与考验,可靠性与稳定性极高,欢迎`fork`或`star`此项目。
 
+# 新微信开发工具推荐
+WeChatDeveloper:https://github.com/zoujingli/WeChatDeveloper
 
 **微信SDK开发帮助及交流**
 --
@@ -20,7 +22,7 @@
 
 * **文档链接地址**:http://www.kancloud.cn/zoujingli/wechat-php-sdk
 
-* **ThinkAdmin**:https://github.com/zoujingli/ThinkAdmin
+* **Think.Admin**:https://github.com/zoujingli/Think.Admin
 
 * **开发交流QQ群:513350915(新)**
 
@@ -85,4 +87,3 @@
 --
 * 此SDK基于`MIT`协议发布,任何人可以用在任何地方,不受约束
 * 此SDK部分代码来自互联网,若有异议,可以联系作者进行删除
-