123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Http\Controllers\Controller;
- use App\Models\Setting;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Storage;
- use Illuminate\Support\Facades\Validator;
- use zgldh\QiniuStorage\QiniuStorage;
- use Qiniu\Auth;
- class SettingController extends Controller
- {
- //获取首页操作视频
- public function getHomeVideo()
- {
- $data = Setting::where('key', 'home.operation.video')->first();
- return $this->success($data);
- }
- //上传首页操作视频
- public function uploadHomeVideo(Request $request)
- {
- $rules = [
- 'video' => 'required|file|video_length:5000',
- ];
- // Custom validation rule
- Validator::extend('video_length', function($attribute, $value, $parameters) {
- $length = 0; // check length using library
- return $length <= $parameters[0];
- });
- if (!$request->hasFile('video')) {
- return $this->error('450001', '上传视频不存在');
- }
- $video = $request->file('video');
- $path = $video->store('public/video');
- if ($path) {
- $url = env('APP_URL') . Storage::url($path);
- $res = Setting::where('key', 'home.operation.video')
- ->update([
- 'value' => $url
- ]);
- if ($res) {
- return $this->success($url);
- }
- }
- return $this->error();
- }
- //上传操作视频
- public function uploadVideo(Request $request)
- {
- if (!$request->hasFile('video')) {
- return $this->error('450001', '上传视频不存在');
- }
- $video = $request->file('video');
- $path = $video->store('public/video');
- if ($path) {
- $url = env('APP_URL') . Storage::url($path);
- return $this->success($url);
- }
- return $this->error();
- }
- //获取全部视频信息
- public function getVideoAll(){
- $setting=Setting::all();
- if($setting){
- return $this->success($setting);
- }else{
- return $this->error();
- }
- }
- //获取单个视频信息
- public function getVideo2Id(Request $request){
- $id=$request->input('id');
- $setting=Setting::where('id',$id)->first();
- if($setting){
- return $this->success($setting);
- }else{
- return $this->error();
- }
- }
- //添加操作视频信息
- public function addVideo(Request $request)
- {
- $rules=[
- 'name'=>'required|max:32',
- 'url'=>'required'
- ];
- $messages=[
- 'name.required'=>'标题不能为空.',
- 'name.max'=>'标题长度最长32个字符.',
- 'url.required'=>'视频链接不能为空.'
- ];
- $validator = Validator::make($request->input(), $rules, $messages);
- if($validator->fails()){
- return $this->error('400013',$validator->errors()->first());
- }
- $name = $request->input('name');
- $value = $request->input('url');
- $res = Setting::create([
- 'name' => $name,
- 'value' => $value
- ]);
- if ($res) {
- return $this->success([]);
- } else {
- return $this->error();
- }
- }
- //修改操作视频信息
- public function editVideo(Request $request)
- {
- $rules=[
- 'name'=>'required|max:32',
- 'url'=>'required'
- ];
- $messages=[
- 'name.required'=>'标题不能为空.',
- 'name.max'=>'标题长度最长32个字符.',
- 'url.required'=>'视频链接不能为空.'
- ];
- $validator = Validator::make($request->input(), $rules, $messages);
- if($validator->fails()){
- return $this->error('400013',$validator->errors()->first());
- }
- $id=$request->input('id');
- $name = $request->input('name');
- $value = $request->input('url');
- $res = Setting::where('id',$id)->update([
- 'name' => $name,
- 'value' => $value
- ]);
- if ($res) {
- return $this->success([]);
- } else {
- return $this->error();
- }
- }
- //删除操作视频信息
- public function deleteVideo(Request $request)
- {
- $id=$request->input('id');
- $res = Setting::where('id',$id)->delete();
- if ($res) {
- return $this->success([]);
- } else {
- return $this->error();
- }
- }
- public function getUploadQiniu(){
- // 第一步,引入七牛Auth类
- // 第二步,实例话七牛Auth类
- // config是Laravel框架自带获取配置参数的函数。其他框架或者语言请自行填写
- // config('filesystems.qiniu.access_key')是取配置文件中的access_key参数
- // config('filesystems.qiniu.secret_key')是取配置文件中的secret_key参数
- // config('filesystems.qiniu.bucket')是取配置文件中的bucket参数
- $auth = new Auth(config('filesystems.disks.qiniu.access_key'),config('filesystems.disks.qiniu.secret_key'));
- // return response()->json([
- // 'token' => $auth->uploadToken(config('filesystems.qiniu.bucket'))
- // ]);
- //return config('filesystems.disks.qiniu.access_key');
- // 这里建议如果使用cdn加速,以及其他一些参数可以在这个接口返回必须的字段。如返回
- $data= [
- 'action' => config('filesystems.disks.qiniu.domains.default'),//'http://upload-z2.qiniup.com', // 七牛云存储客户端直传域名
- 'cdn' => config('filesystems.disks.qiniu.domains.https'),//'https://cdn.xxxx.com', // cdn域名
- 'token' => $auth->uploadToken(config('filesystems.disks.qiniu.bucket'))
- ];
- return $this->success($data);
- }
- }
|