WIN-2308041133\Administrator 5 days ago
parent
commit
d0818fda74
1 changed files with 167 additions and 0 deletions
  1. 167 0
      app/api/controller/User.php

+ 167 - 0
app/api/controller/User.php

@@ -30,6 +30,7 @@ use app\model\api\City as CityModel;
 use app\model\api\Sys as SysModel;
 use app\model\api\ShowTemplate;
 use app\model\api\ShowTemplateOrder;
+use app\model\api\UserScoreDetail;
 use app\model\api\UserShowTemplate;
 use app\model\api\UserWorkType;
 use app\model\api\PayTrade as PayTradeModel;
@@ -484,6 +485,10 @@ class User extends BaseController
         (new UserShowTemplate)->userBindTempInit($save["uid"]);
         //删除以前的资料
         (new InfoAudit)->where('uid', $save['uid'])->where("id", "<>", $r)->delete();
+        $parent_uid = (new UserModel)->where("uid", $save["uid"])->value("parent_uid");
+        if ($parent_uid>0){
+            (new UserScoreDetail())->incomeScore($parent_uid,10,'',"subInfo_score");
+        }
         return app('json')->success("提交成功,数据已通过审核");
     }
 
@@ -943,6 +948,168 @@ class User extends BaseController
         $data = empty($data) ? [] : $data;
         return app('json')->success(["list" => $data, "pageSize" => $post['pageSize'], "page" => $post['page'], "totalCount" => $totalCount]);
     }
+    /**
+     * 图片上传
+     * @param Request $request
+     * @return type
+     */
+    public function upload(Request $request){
+        $uploadConfig = config('filesystem');
+        $sysData = (new SysModel())->where("id",1)->find();
+        $file = $request->file('file');
+        $code = $request->post("code","image");
+        if(empty($file)) {
+            return app('json')->fail("未上传文件");
+        }
+        $size = $file->getSize();
+        if(!empty($size) && $size>$uploadConfig["image"]["size"]*1024*1024){
+            return app('json')->fail("图片不能超过{$uploadConfig["image"]["size"]}M");
+        }
+
+        if(!in_array($code, $uploadConfig['image']['path'])){
+            return app('json')->fail("上传路径错误");
+        }
+        $ext = $file->extension();
+        if(!in_array($ext, $uploadConfig['image']['ext'])){
+            return app('json')->fail("图片类型错误");
+        }
+        $upPath = \think\facade\Filesystem::disk('resource')->putFile( $code, $file);
+        if(!$upPath){
+            return app('json')->fail("上传失败01");
+        }
+        $savePath = $sysData['system_url'].'/resource/' . $upPath;
+        $imgUrl = str_replace("\\", "/", $savePath);
+        return app('json')->success(['img'=>$imgUrl,'size'=>$size]);
+    }
+
+    /**
+     * 视频上传
+     * @param Request $request
+     * @return type
+     */
+    public function uploadVideo(Request $request){
+        $uploadConfig = config('filesystem');
+        $sysData = (new SysModel())->where("id",1)->find();
+        $file = $request->file('file');
+        $code = $request->post("code","video");
+        if(empty($file)) {
+            return app('json')->fail("未上传文件");
+        }
+        if(!in_array($code, $uploadConfig['video']['path'])){
+            return app('json')->fail("上传路径错误");
+        }
+        $ext = $file->extension();
+        if(!in_array($ext, $uploadConfig['video']['ext'])){
+            return app('json')->fail("视频类型错误");
+        }
+        $upPath = \think\facade\Filesystem::disk('resource')->putFile( $code, $file);
+        if(!$upPath){
+            return app('json')->fail("上传失败01");
+        }
+        $savePath = $sysData['system_url'].'/resource/' . $upPath;
+        $imgUrl = str_replace("\\", "/", $savePath);
+        return app('json')->success(['video'=>$imgUrl]);
+    }
+
+    /**
+     * base64文件上传
+     * @param type $code
+     * @param type $base64
+     */
+    public function uploadImageBase64($code,$base64,$isQiniu=0){
+        $sysData = (new SysModel())->where("id",1)->find();
+        $uploadConfig = config('filesystem');
+        //验证base64格式
+        preg_match('/^(data:\s*image\/(\w+);base64,)/',$base64, $result);
+        if(!$result){
+            return ["code"=>-1,"msg"=>"base64格式格式错误"];
+        }
+        //验证图片后缀
+        if (!in_array($result[2], $uploadConfig['image']['ext'], true)) {
+            return ["code"=>-1,"msg"=>"不支持的图片格式"];
+        }
+        $rootPath = config('filesystem.disks.resource.root');
+        $hashName = $code.DIRECTORY_SEPARATOR.date('Ymd') . DIRECTORY_SEPARATOR . md5((string) microtime(true)).".".$result[2];
+        $filePath = $rootPath. DIRECTORY_SEPARATOR .$hashName;
+        $path = dirname($filePath);
+        // 检测目录
+        if (!is_dir($path)) {
+            if (!mkdir($path, 0777, true)) {
+                return ["code"=>-1,"msg"=>"生成目录失败"];
+            }
+            return ["code"=>-1,"msg"=>"上传目录不存在"];
+        }
+
+
+        //重名文件验证
+        if (is_file($filePath)) {
+            return ["code"=>-1,"msg"=>"文件已存在"];
+        }
+        if(!file_put_contents($filePath, base64_decode(str_replace($result[1], '', $base64)))){
+            return ["code"=>-1,"msg"=>"文件报错失败"];
+        }
+        //七牛上传
+        if($isQiniu==1){
+            $qiniu   = new  Qiniu;
+            $img_url = $qiniu->updateFile('img', $filePath, $filePath);
+            if (empty($img_url['url'])) {
+                return ["code"=>-1,"msg"=>"文件报错失败:".$qiniu->getError()];
+            }
+            @unlink($filePath);
+            return ["code"=>1,"url"=>str_replace("\\", "/", $img_url['url'])];
+        }
+
+
+        $savePath = $sysData['system_url'].config('filesystem.disks.resource.url').DIRECTORY_SEPARATOR.$hashName;
+        return ["code"=>1,"url"=>str_replace("\\", "/", $savePath)];
+    }
+
+
+
+    /**
+     * 七牛上传图片
+     * @param Request $request
+     */
+    public function qiniuUpload(Request $request)
+    {
+        $file = $request->file('file');
+        if (empty($file)) {
+            return app('json')->fail("未上传文件");
+        }
+        $rootTmp    = config('filesystem.disks.local.root') . '/' . \think\facade\Filesystem::putFile('tmp', $file);
+        $image_size = @getimagesize($rootTmp);
+        if ($image_size[0] > 1000) {
+            $imgS = Image::open($rootTmp);
+            $imgS->thumb(1000, $image_size[1]);
+            $imgS->save($rootTmp);
+        } else {
+            if ($image_size[1] > 1000) {
+                $imgS = Image::open($rootTmp);
+                $imgS->thumb($image_size[0], 1000);
+                $imgS->save($rootTmp);
+            }
+        }
+        $qiniu   = new  Qiniu;
+        $img_url = $qiniu->updateFile('img', $rootTmp, $rootTmp);
+        if (empty($img_url['url'])) {
+            return app('json')->fail($qiniu->getError());
+        }
+        @unlink($rootTmp);
+        return app('json')->success(['img' => $img_url['url']]);
+    }
+
+    /**
+     * 七牛上传token
+     * @param Request $request
+     */
+    public function qiniuUploadToken(Request $request){
+        [$bucket] = UtilService::getMore([
+            ['bucket', ''],
+        ], $request,true);
+        $qiniu   = new  Qiniu;
+        $token = $qiniu->createUploadToken($bucket);
+        return app('json')->success(['token' => $token]);
+    }
     /**
      * 合约列表
      * @param \app\Request $request