From a3a1abef0e1fe51c0ee2242aeeb8a96f5a416ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=80=E5=B3=B0?= <1feng.0595@gmail.com> Date: Tue, 8 Aug 2017 19:30:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E6=94=B6=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Common/Helper.php | 6 + .../Api/CollectGoodsController.php | 76 +++ .../Controllers/Api/CommentController.php | 114 ++++ .../Controllers/Api/FeedBackController.php | 53 ++ app/Http/Controllers/Api/IndexController.php | 92 +-- app/Http/Controllers/Api/QrcodeController.php | 25 + app/Http/Controllers/Api/UserController.php | 442 +++++++++++-- .../Controllers/Api/UserMoneyController.php | 9 +- .../Controllers/Api/UserPointController.php | 9 +- .../Controllers/Api/VerifyCodeController.php | 43 ++ .../Auth/ForgotPasswordController.php | 32 - app/Http/Controllers/Auth/LoginController.php | 39 -- .../Controllers/Auth/RegisterController.php | 71 -- .../Auth/ResetPasswordController.php | 39 -- app/Http/Controllers/Home/IndexController.php | 3 + app/Http/Model/BaseModel.php | 2 +- app/Http/Model/CollectGoods.php | 89 +++ app/Http/Model/Comment.php | 94 +++ app/Http/Model/FeedBack.php | 80 +++ app/Http/Model/{Product.php => Goods.php} | 10 +- app/Http/Model/GoodsPhoto.php | 13 + .../Model/{ProductType.php => GoodsType.php} | 10 +- app/Http/Model/ProductPic.php | 13 - app/Http/Model/Sysconfig.php | 67 +- app/Http/Model/User.php | 76 ++- app/Http/Model/UserAddress.php | 4 +- app/Http/Model/UserMoney.php | 12 +- app/Http/Model/UserPoint.php | 12 +- app/Http/Model/VerifyCode.php | 1 + composer.json | 1 + composer.lock | 621 ++++++++++++------ config/app.php | 6 +- routes/web.php | 25 +- 说明.txt | 5 +- 34 files changed, 1623 insertions(+), 571 deletions(-) create mode 100644 app/Http/Controllers/Api/CollectGoodsController.php create mode 100644 app/Http/Controllers/Api/CommentController.php create mode 100644 app/Http/Controllers/Api/FeedBackController.php create mode 100644 app/Http/Controllers/Api/QrcodeController.php create mode 100644 app/Http/Controllers/Api/VerifyCodeController.php delete mode 100644 app/Http/Controllers/Auth/ForgotPasswordController.php delete mode 100644 app/Http/Controllers/Auth/LoginController.php delete mode 100644 app/Http/Controllers/Auth/RegisterController.php delete mode 100644 app/Http/Controllers/Auth/ResetPasswordController.php create mode 100644 app/Http/Model/CollectGoods.php create mode 100644 app/Http/Model/Comment.php create mode 100644 app/Http/Model/FeedBack.php rename app/Http/Model/{Product.php => Goods.php} (83%) create mode 100644 app/Http/Model/GoodsPhoto.php rename app/Http/Model/{ProductType.php => GoodsType.php} (52%) delete mode 100644 app/Http/Model/ProductPic.php diff --git a/app/Common/Helper.php b/app/Common/Helper.php index 8f2e21c..1717ca2 100644 --- a/app/Common/Helper.php +++ b/app/Common/Helper.php @@ -164,6 +164,12 @@ class Helper return $result; } + + //生成二维码 + public static function qrcode($url,$size=150) + { + return 'data:image/png;base64,'.base64_encode(\QrCode::format('png')->encoding('UTF-8')->size($size)->margin(0)->errorCorrection('H')->generate($url)); + } //获取浏览器信息 public static function getBrowser() diff --git a/app/Http/Controllers/Api/CollectGoodsController.php b/app/Http/Controllers/Api/CollectGoodsController.php new file mode 100644 index 0000000..75ced80 --- /dev/null +++ b/app/Http/Controllers/Api/CollectGoodsController.php @@ -0,0 +1,76 @@ +input('limit', 10); + $data['offset'] = $request->input('offset', 0); + $data['user_id'] = Token::$uid; + + $res = CollectGoods::getList($data); + if(!$res) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //收藏商品 + public function collectGoodsAdd(Request $request) + { + //参数 + $data['goods_id'] = $request->input('goods_id',null); + if($request->input('is_attention', null) !== null){$data['is_attention'] = $request->input('is_attention');} + $data['add_time'] = time(); + $data['user_id'] = Token::$uid; + + if($data['goods_id']===null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = CollectGoods::add($data); + if($res !== true) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //取消收藏商品 + public function collectGoodsDelete(Request $request) + { + //参数 + $data['goods_id'] = $request->input('goods_id',null); + $data['user_id'] = Token::$uid; + + if($data['goods_id']===null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = CollectGoods::remove($data); + if($res !== true) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Api/CommentController.php b/app/Http/Controllers/Api/CommentController.php new file mode 100644 index 0000000..44de235 --- /dev/null +++ b/app/Http/Controllers/Api/CommentController.php @@ -0,0 +1,114 @@ +input('limit', 10); + $data['offset'] = $request->input('offset', 0); + $data['user_id'] = Token::$uid; + $data['comment_type'] = $request->input('comment_type', 0); //0商品评价,1文章评价 + if($request->input('comment_rank', null) !== null){$data['comment_rank'] = $request->input('comment_rank');} + + $res = Comment::getList($data); + if($res !== true) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //添加评价 + public function goodsCommentAdd(Request $request) + { + //参数 + $data['comment_type'] = $request->input('comment_type',0); + $data['id_value'] = $request->input('id_value',null); + $data['content'] = $request->input('content',null); + $data['comment_rank'] = $request->input('comment_rank',null); + if($request->input('email', null) !== null){$data['email'] = $request->input('email');} + if($request->input('user_name', null) !== null){$data['user_name'] = $request->input('user_name');} + if($request->input('ip_address', null) !== null){$data['ip_address'] = $request->input('ip_address');} + if($request->input('parent_id', null) !== null){$data['parent_id'] = $request->input('parent_id');} + $data['add_time'] = time(); + $data['user_id'] = Token::$uid; + + if($data['comment_type']===null || $data['id_value']===null || $data['content']===null || $data['comment_rank']===null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = Comment::add($data); + if($res !== true) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + public function goodsCommentUpdate(Request $request) + { + //参数 + $id = $request->input('id',null); + $data['comment_type'] = $request->input('comment_type',0); + $data['id_value'] = $request->input('id_value',null); + $data['content'] = $request->input('content',null); + $data['comment_rank'] = $request->input('comment_rank',null); + if($request->input('email', null) !== null){$data['email'] = $request->input('email');} + if($request->input('user_name', null) !== null){$data['user_name'] = $request->input('user_name');} + if($request->input('ip_address', null) !== null){$data['ip_address'] = $request->input('ip_address');} + if($request->input('parent_id', null) !== null){$data['parent_id'] = $request->input('parent_id');} + $data['add_time'] = time(); + $data['user_id'] = Token::$uid; + + if($id===null || $data['comment_type']===null || $data['id_value']===null || $data['content']===null || $data['comment_rank']===null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = Comment::modify(array('id'=>$id),$data); + if($res !== true) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //删除评价 + public function goodsCommentDelete(Request $request) + { + //参数 + $data['comment_type'] = $request->input('comment_type',null); + $data['id_value'] = $request->input('id_value',null); + $data['user_id'] = Token::$uid; + + if($data['comment_type']===null || $data['id_value']===null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = Comment::remove($data); + if($res !== true) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Api/FeedBackController.php b/app/Http/Controllers/Api/FeedBackController.php new file mode 100644 index 0000000..2e6fe6f --- /dev/null +++ b/app/Http/Controllers/Api/FeedBackController.php @@ -0,0 +1,53 @@ +input('limit', 10); + $data['offset'] = $request->input('offset', 0); + + $res = FeedBack::getList($data); + if(!$res) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + + //添加意见反馈 + public function feedbackAdd(Request $request) + { + //参数 + $data['content'] = $request->input('content',null); + if($request->input('title', null) !== null){$data['title'] = $request->input('title');} + $data['user_id'] = Token::$uid; + + if($data['content']===null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + $res = FeedBack::add($data); + if(!$res) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Api/IndexController.php b/app/Http/Controllers/Api/IndexController.php index be3e849..9221b56 100644 --- a/app/Http/Controllers/Api/IndexController.php +++ b/app/Http/Controllers/Api/IndexController.php @@ -2,7 +2,9 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Api\CommonController; -use Illuminate\Support\Facades\DB; +use Illuminate\Http\Request; +use App\Common\ReturnData; +use App\Common\Token; class IndexController extends CommonController { @@ -10,79 +12,21 @@ class IndexController extends CommonController { parent::__construct(); } - - //文章列表页 - public function listarc() + + //安卓升级信息 + public function andriodUpgrade() { - $res["code"] = 0; - $res["msg"] = "success"; - $res["data"] = ""; - - $where = array(); - $result = ""; - - $PageIndex = request('PageIndex',1); - $PageSize = request('PageSize', sysconfig('CMS_PAGESIZE')); - $skip = ($PageIndex-1)*$PageSize; - - $typeid = request('typeid');if(!empty($typeid)){ $where['typeid']=$typeid; } - $tuijian = request('tuijian');if(!empty($tuijian)){ $where['tuijian']=$tuijian; } - $field = array('field','id,typeid,click,title,writer,litpic,pubdate'); - $orderby = request('orderby',['pubdate','desc']); - $mname = request('mname','article'); - - $model = DB::table($mname); - if($where){$model = $model->where($where);} - if($orderby == 'rand()'){$model = $model->orderBy(\DB::raw('rand()'));}else{$model = $model->orderBy($orderby[0], $orderby[1]);} - - $count = $model->count(); - $list = object_to_array($model->skip($skip)->take($PageSize)->get()); - - if(!empty($list) && $PageIndex<=10) - { - /* foreach($list as $key=>$row) - { - //$list[$key]["pubdate"] = date("Y-m-d", $list[$key]["pubdate"]); - $result .= '
'; - - if(!empty($row['litpic']) && file_exists($_SERVER['DOCUMENT_ROOT'].$row['litpic'])) - { - $result .= ''.$row['title'].''; - } - - $result .= ''.$row['title'].'

'.mb_strcut(strip_tags($row['description']),0,126,'UTF-8').'..[详情]

'; - $result .= '
'.date("Y-m-d H:i",$row['pubdate']).''.$row['click'].'人阅读
'; - } */ - - foreach($list as $key=>$row) - { - $list[$key]["url"] = get_front_url(array("id"=>$row['id'],"type"=>'content')); - $list[$key]["pubdate"] = date("Y-m-d", $list[$key]["pubdate"]); - } - - $res["data"] = $list; - } - /* $result['List']=$list; - $result['Count']=$count>0?$count:0; */ - - //return $res; - exit(json_encode($res)); + $res = array( + 'appname' => 'lqycms', //app名字 + 'serverVersion' => 2, //服务器版本号 + 'serverFlag' => 1, //服务器标志 + 'lastForce' => 0, //是否强制更新,0不强制,1强制 + 'updateurl' => 'http://api.52danchuang.com/wap/app-release.apk', //apk下载地址 + 'upgradeinfo' => '描述:3.0.0' //版本更新的描述 + ); + + return ReturnData::create(ReturnData::SUCCESS, $res); } - - //测试页面 - public function test() - { - return date("Y-m-d H:i:s",strtotime("2017-04")); - } + + } diff --git a/app/Http/Controllers/Api/QrcodeController.php b/app/Http/Controllers/Api/QrcodeController.php new file mode 100644 index 0000000..00d09d5 --- /dev/null +++ b/app/Http/Controllers/Api/QrcodeController.php @@ -0,0 +1,25 @@ +input('url'); + $size = $request->input('size', 150); + + return ''; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 6cbe0eb..7ab0aa6 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Api\CommonController; use Illuminate\Http\Request; use App\Common\ReturnData; - +use App\Common\Token; use App\Http\Model\User; class UserController extends CommonController @@ -14,109 +14,417 @@ class UserController extends CommonController parent::__construct(); } + //用户信息 + public function userInfo(Request $request) + { + if ($user = User::getOne(Token::$uid)) + { + return ReturnData::create(ReturnData::SUCCESS, $user); + } + else + { + return ReturnData::create(ReturnData::RECORD_NOT_EXIST); + } + } + + //修改用户信息 + public function updateUserInfo(Request $request) + { + $data = $data2 = ''; + if($request->input('sex', null)!=null){$data['sex'] = $request->input('sex');} + if($request->input('head_img', null)!=null){$data['head_img'] = $request->input('head_img');} + if($request->input('name', null)!=null){$data['name'] = $request->input('name');} + if($request->input('nickname', null)!=null){$data['nickname'] = $request->input('nickname');} + if($request->input('verify_mobile', null)!=null){$data['verify_mobile'] = $request->input('verify_mobile');} + if($request->input('community_id', null)!=null){$data['community_id'] = $request->input('community_id');} + if($request->input('address', null)!=null){$data['address'] = $request->input('address');} + + if ($data != '') + { + MallDataManager::userUpdate(['id'=>Token::$uid],$data); + } + + return ReturnCode::create(ReturnCode::SUCCESS); + } + + //用户列表 + public function userList(Request $request) + { + //参数 + $data['limit'] = $request->input('limit', 10); + $data['offset'] = $request->input('offset', 0); + + $res = User::getList($data); + if(!$res) + { + return ReturnData::create(ReturnData::SYSTEM_FAIL); + } + + return ReturnData::create(ReturnData::SUCCESS,$res); + } + //签到 public function signin(Request $request) { - $user = MallDataManager::userFirst(['id'=>Token::$uid]); - if($user){}else{return ReturnCode::create(ReturnCode::PARAMS_ERROR);} + $res = User::signin(); + + if($res !== true) + { + return ReturnData::create(ReturnData::PARAMS_ERROR,null,$res); + } + + return ReturnData::create(ReturnData::SUCCESS); + } + + //注册 + public function register(Request $request) + { + $mobile = $request->input('mobile', null); + $password = $request->input('password', null); + $community_id = $request->input('community_id', null); + $address = $request->input('address', null); + $type = $request->input('type', null); + $verificationCode = $request->input('verificationCode', null); + $verificationType = $request->input('verificationType', null); //7表示验证码登录 + + $yezhu_mobile = $request->input('yezhu_mobile', null); + + Log::info("注册手机号==========mobile=======".$mobile); + + if ($mobile==null || $password==null || $verificationCode==null || $verificationType===null || $community_id===null) + { + return ReturnCode::create(ReturnCode::PARAMS_ERROR); + } + + if (!Helper::isValidMobile($mobile)) + { + return response(ReturnCode::create(ReturnCode::MOBILE_FORMAT_FAIL)); + } - $signin_time=''; - if(!empty($user->signin_time)){$signin_time = date('Ymd',strtotime($user->signin_time));} //签到时间 + $verifyCode = VerifyCode::isVerify($mobile, $verificationCode, $verificationType); + if(!$verifyCode) + { + return ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE); + } - $today = date('Ymd',time()); //今日日期 + if($yezhu_mobile!=null) + { + $yezhu = MallDataManager::userFirst(['mobile'=>$yezhu_mobile,'community_id'=>$community_id]); + if (!$yezhu) + { + return response(ReturnCode::create(ReturnCode::PARAMS_ERROR,'业主不匹配')); + } + } - if($signin_time==$today){return ReturnCode::create(101,'已经签到啦,请明天再来!');} + //判断是否已经注册 + $user = MallDataManager::userFirst(['mobile'=>$mobile]); + if ($user) + { + return response(ReturnCode::create(ReturnCode::MOBILE_EXIST)); + } - $signin_point = (int)DB::table('system')->where(['keyword'=>'signin_point'])->value('value'); //签到积分 - DB::table('user')->where(['id'=>Token::$uid])->update(['point'=>($user->point+$signin_point),'signin_time'=>date('Y-m-d H:i:s')]); //更新用户积分,及签到时间 - DB::table('user_point_log')->insert(['type'=>1,'point'=>$signin_point,'des'=>'签到','user_id'=>Token::$uid]); //添加签到积分记录 + try + { + DB::beginTransaction(); + //创建用户 + $userdata['mobile'] = $mobile; + $userdata['password'] = $password; + $userdata['verify_mobile'] = 1; + $userdata['name'] = $mobile; + $userdata['nickname'] = $mobile; + $userdata['community_id'] = $community_id; + $userdata['address'] = $address; + $userdata['type'] = $type; + $userid = DB::table('user')->insertGetId($userdata); + + //注册环信用户 + $Easemob = new Easemob(); + $Easemob->imRegister(['username'=>'cuobian'.$userid,'password'=>md5('cuobian'.$userid)]); + + //生成token + if ($user = MallDataManager::userFirst(['mobile'=>$mobile,'password'=>$password])) + { + //获取token + $expired_at = Carbon::now()->addDay()->toDateTimeString(); + $token = Token::generate(Token::TYPE_SHOP, $user->id); + } + + DB::commit(); + $response = ReturnCode::create(ReturnCode::SUCCESS); + $response['data'] = [ + 'id' => $user->id, + 'mobile' => $user->mobile, + 'expired_at' => $expired_at, + 'token' => $token, + ]; + } + catch (Exception $e) + { + DB::rollBack(); + Log::info($e->getMessage()); + return response(ReturnCode::error($e->getCode(), $e->getMessage())); + } + + return response($response); + } + + //登录 + public function login(Request $request) + { + $mobile = $request->input('mobile'); + $password = $request->input('password'); - return ReturnCode::create(ReturnCode::SUCCESS,'恭喜您今日签到成功!+'.$signin_point.'积分'); + if (!$mobile || !$password) + { + return response(ReturnCode::create(ReturnCode::PARAMS_ERROR)); + } + + if ($user = MallDataManager::userFirst(['mobile'=>$mobile])) + { + //判断密码 + if ($password == $user->password) + { + //获取token + $expired_at = Carbon::now()->addDay()->toDateTimeString(); + $token = Token::generate(Token::TYPE_SHOP, $user->id); + + $response = ReturnCode::success(); + $response['data']=[ + 'id' => $user->id, 'name' => $user->name, 'nickname' => $user->nickname, 'headimg' => (string)$user->head_img, 'token' => $token, 'expired_at' => $expired_at, 'mobile' => $user->mobile, 'hx_name' => 'cuobian'.$user->id, 'hx_pwd' => md5('cuobian'.$user->id) + ]; + + return response($response); + } + else + { + return response(ReturnCode::create(ReturnCode::PASSWORD_NOT_MATCH)); + } + } + else + { + return response(ReturnCode::create(ReturnCode::USER_NOT_EXIST)); + } } - //验证码校验 - public function verifyCodeCheck(Request $request) + //验证码登录 + public function verificationCodeLogin(Request $request) { - $mobile = $request->input('mobile', null); //手机号码 - $verificationCode = $request->input('verificationCode', null); //手机验证码 - $type = $request->input('type', null); //验证码类型 + $mobile = $request->input('mobile'); + $code = $request->input('code', null); + $type = $request->input('type', null); //7表示验证码登录 + + if (!$mobile || !$code) + { + return response(ReturnCode::create(ReturnCode::PARAMS_ERROR)); + } + + //判断验证码 + if ($type != VerifyCode::TYPE_LOGIN) + { + return response(ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE)); + } - if ($mobile==null || $verificationCode==null || $type==null) + $verifyCode = VerifyCode::isVerify($mobile, $code, $type); + if (!$verifyCode) + { + return response(ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE)); + } + + if ($user = MallDataManager::userFirst(['mobile'=>$mobile])) + { + //获取token + $expired_at = Carbon::now()->addDay()->toDateTimeString(); + $token = Token::generate(Token::TYPE_SHOP, $user->id); + + $response = ReturnCode::success(); + $response['data']=[ + 'id' => $user->id, 'name' => $user->name, 'nickname' => $user->nickname, 'headimg' => (string)$user->head_img, 'token' => $token, 'expired_at' => $expired_at, 'mobile' => $user->mobile, 'hx_name' => 'cuobian'.$user->id, 'hx_pwd' => md5('cuobian'.$user->id) + ]; + + return response($response); + } + else + { + return response(ReturnCode::create(ReturnCode::USER_NOT_EXIST)); + } + } + + //修改密码 + public function changePassword(Request $request) + { + $mobile = $request->input('mobile', null); + $password = $request->input('password', null); //新密码 + $oldPassword = $request->input('oldPassword', null); //旧密码 + + if (!$mobile || !$password || !$oldPassword) { return ReturnCode::create(ReturnCode::PARAMS_ERROR); } + if($password == $oldPassword) + { + return ReturnCode::create(ReturnCode::PARAMS_ERROR,'新旧密码相同'); + } + if (!Helper::isValidMobile($mobile)) { return ReturnCode::create(ReturnCode::MOBILE_FORMAT_FAIL); } - $verifyCode = VerifyCode::isVerify($mobile, $verificationCode, $type); - if(!$verifyCode) + $user = MallDataManager::userFirst(['mobile'=>$mobile,'password'=>$oldPassword,'id'=>Token::$uid]); + + if(!$user) { - return ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE); + return ReturnCode::create(ReturnCode::PARAMS_ERROR,'手机或密码错误'); } + DB::table('user')->where(['mobile'=>$mobile,'password'=>$oldPassword,'id'=>Token::$uid])->update(['password'=>$password]); + + MallDataManager::tokenDelete(['uid'=>Token::$uid]); + return ReturnCode::create(ReturnCode::SUCCESS); } - //积分记录 - public function getCommunityNoticeList(Request $request) + //找回密码,不用输入旧密码 + public function findPassword(Request $request) { - $where = ''; - $page = $request->input('page',1); - $size = $request->input('size',10); - $skip = ($page-1)*$size; + $mobile = $request->input('mobile', null); + $password = $request->input('password', null); - $select = ['id','title','des','litpic','type','created_at as time']; - $orderBy = ['id','desc']; - return ReturnCode::create(ReturnCode::SUCCESS,MallDataManager::getCommunityNoticeList($where,$select,$orderBy,$skip,$size)); + if ($mobile && $password) + { + if (!Helper::isValidMobile($mobile)) + { + return response(ReturnCode::create(ReturnCode::MOBILE_FORMAT_FAIL)); + } + + //判断验证码是否有效 + $code = $request->input('code', ''); + $type = $request->input('type', null); + if($type != VerifyCode::TYPE_CHANGE_PASSWORD) + return response(ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE,'验证码类型错误')); + $verifyCode = VerifyCode::isVerify($mobile, $code, $type); + + if($verifyCode) + { + try + { + DB::beginTransaction(); + $verifyCode->status = VerifyCode::STATUS_USE; + $verifyCode->save(); + + if ($user = MallDataManager::userFirst(['mobile'=>$mobile])) + { + DB::table('user')->where(['mobile'=>$mobile])->update(['password'=>$password]); + + MallDataManager::tokenDelete(['uid'=>$user->id]); + + $response = response(ReturnCode::create(ReturnCode::SUCCESS)); + } + else + { + $response = response(ReturnCode::create(ReturnCode::PARAMS_ERROR)); + } + + DB::commit(); + + return $response; + } + catch (Exception $e) + { + DB::rollBack(); + return response(ReturnCode::error($e->getCode(), $e->getMessage())); + } + } + else + { + return response(ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE)); + } + } + else + { + return response(ReturnCode::create(ReturnCode::PARAMS_ERROR)); + } } - //用户收货地址列表 - public function userAddressList(Request $request) - { - //参数 - $data['limit'] = $request->input('limit', 10); - $data['offset'] = $request->input('offset', 0); - - $res = UserAddress::getList($data); - if(!$res) + //用户意见反馈 + public function feedback(Request $request) + { + $content = $request->input('content', null); + if(!$content) + return response(ReturnCode::create(ReturnCode::PARAMS_ERROR)); + if ($user = MallDataManager::userFirst(['id'=>Token::$uid])) { - return ReturnData::create(ReturnData::SYSTEM_FAIL); - } - - return ReturnData::create(ReturnData::SUCCESS,$res); + $id = MallDataManager::mallFeedbackinsertGetId(['content' => $content, 'user_id' => Token::$uid]); + + return response(ReturnCode::create(ReturnCode::SUCCESS,$id)); + } + else + { + return response(ReturnCode::create(ReturnCode::AUTHORIZE_FAIL)); + } } - - //用户收货地址详情 - public function userAddressDetail(Request $request) - { - //参数 - $id = $request->input('id',null); - - $res = UserAddress::getOne($id); - if(!$res) + + //关于 + public function about(Request $request) + { + return response(ReturnCode::create(ReturnCode::SUCCESS,['url'=>'http://www.baidu.com'])); + } + + //修改手机号 + public function changeMobile(Request $request) + { + $mobile = $request->input('mobile', null); //新手机号码 + $verificationCode = $request->input('verificationCode', null); //新手机验证码 + $oldMobile = $request->input('oldMobile', null); //旧手机号码 + $oldVerificationCode = $request->input('oldVerificationCode', null); //旧手机验证码 + $type = $request->input('type', null); //验证码类型 + + if (!$mobile || !$verificationCode || !$oldMobile || !$oldVerificationCode || !$type) { - return ReturnData::create(ReturnData::SYSTEM_FAIL); + return ReturnCode::create(ReturnCode::PARAMS_ERROR); + } + + if (!Helper::isValidMobile($mobile)) + { + return ReturnCode::create(ReturnCode::MOBILE_FORMAT_FAIL); } - - return ReturnData::create(ReturnData::SUCCESS,$res); - } - - //设为默认地址 - public function userAddressSetDefault(Request $request) - { - //参数 - $id = $request->input('id',null); - - $res = UserAddress::setDefault($id); - if(!$res) + + if($mobile == $oldMobile) { - return ReturnData::create(ReturnData::SYSTEM_FAIL); + return ReturnCode::create(ReturnCode::PARAMS_ERROR,'新旧手机号码相同'); } - - return ReturnData::create(ReturnData::SUCCESS,$res); + + if($type != VerifyCode::TYPE_CHANGE_MOBILE) + { + return ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE,'验证码类型错误'); + } + + $verifyCode = VerifyCode::isVerify($oldMobile, $oldVerificationCode, $type); + if(!$verifyCode) + { + return ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE); + } + + $verifyCode = null; + $verifyCode = VerifyCode::isVerify($mobile, $verificationCode, $type); + if(!$verifyCode) + { + return ReturnCode::create(ReturnCode::INVALID_VERIFY_CODE); + } + + $user = MallDataManager::userFirst(['mobile'=>$oldMobile,'id'=>Token::$uid]); + + if(!$user) + { + return ReturnCode::create(ReturnCode::PARAMS_ERROR,'旧手机号码错误'); + } + + DB::table('user')->where(['mobile'=>$oldMobile,'id'=>Token::$uid])->update(['mobile'=>$mobile]); + + MallDataManager::tokenDelete(['uid'=>Token::$uid]); + + return ReturnCode::create(ReturnCode::SUCCESS); } //添加收货地址 diff --git a/app/Http/Controllers/Api/UserMoneyController.php b/app/Http/Controllers/Api/UserMoneyController.php index 1f33e55..32d4631 100644 --- a/app/Http/Controllers/Api/UserMoneyController.php +++ b/app/Http/Controllers/Api/UserMoneyController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Api\CommonController; use Illuminate\Http\Request; use App\Common\ReturnData; - +use App\Common\Token; use App\Http\Model\UserMoney; class UserMoneyController extends CommonController @@ -19,7 +19,7 @@ class UserMoneyController extends CommonController //参数 $data['limit'] = $request->input('limit', 10); $data['offset'] = $request->input('offset', 0); - if($request->input('type', null) !== null){$data['type'] = $request->input('type');}; + if($request->input('type', null) !== null){$data['type'] = $request->input('type');} $res = UserMoney::getList($data); if(!$res) @@ -34,11 +34,12 @@ class UserMoneyController extends CommonController public function userMoneyAdd(Request $request) { //参数 - $data['user_id'] = Token::$uid; $data['type'] = $request->input('type',null); $data['money'] = $request->input('money',null); - $data['add_time'] = time(); $data['des'] = $request->input('des',null); + if($request->input('user_money', null) !== null){$data['user_money'] = $request->input('user_money');} + $data['add_time'] = time(); + $data['user_id'] = Token::$uid; if($data['type']===null || $data['money']===null || $data['des']===null) { diff --git a/app/Http/Controllers/Api/UserPointController.php b/app/Http/Controllers/Api/UserPointController.php index 059af43..0fdf739 100644 --- a/app/Http/Controllers/Api/UserPointController.php +++ b/app/Http/Controllers/Api/UserPointController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Api\CommonController; use Illuminate\Http\Request; use App\Common\ReturnData; - +use App\Common\Token; use App\Http\Model\UserPoint; class UserPointController extends CommonController @@ -34,18 +34,19 @@ class UserPointController extends CommonController public function userPointAdd(Request $request) { //参数 - $data['user_id'] = Token::$uid; $data['type'] = $request->input('type',null); $data['point'] = $request->input('point',null); - $data['add_time'] = time(); $data['des'] = $request->input('des',null); + if($request->input('user_point', null) !== null){$data['user_point'] = $request->input('user_point');} + $data['add_time'] = time(); + $data['user_id'] = Token::$uid; if($data['type']===null || $data['point']===null || $data['des']===null) { return ReturnData::create(ReturnData::PARAMS_ERROR); } - $res = UserMoney::add($data); + $res = UserPoint::add($data); if(!$res) { return ReturnData::create(ReturnData::SYSTEM_FAIL); diff --git a/app/Http/Controllers/Api/VerifyCodeController.php b/app/Http/Controllers/Api/VerifyCodeController.php new file mode 100644 index 0000000..91d8b27 --- /dev/null +++ b/app/Http/Controllers/Api/VerifyCodeController.php @@ -0,0 +1,43 @@ +input('mobile', null); //手机号码 + $verifyCode = $request->input('verifyCode', null); //手机验证码 + $type = $request->input('type', null); //验证码类型 + + if ($mobile==null || $verifyCode==null || $type==null) + { + return ReturnData::create(ReturnData::PARAMS_ERROR); + } + + if (!Helper::isValidMobile($mobile)) + { + return ReturnData::create(ReturnData::MOBILE_FORMAT_FAIL); + } + + $verifyCode = VerifyCode::isVerify($mobile, $verifyCode, $type); + if(!$verifyCode) + { + return ReturnData::create(ReturnData::INVALID_VERIFYCODE); + } + + return ReturnData::create(ReturnData::SUCCESS); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php deleted file mode 100644 index 6a247fe..0000000 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ /dev/null @@ -1,32 +0,0 @@ -middleware('guest'); - } -} diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php deleted file mode 100644 index b2ea669..0000000 --- a/app/Http/Controllers/Auth/LoginController.php +++ /dev/null @@ -1,39 +0,0 @@ -middleware('guest')->except('logout'); - } -} diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php deleted file mode 100644 index ed8d1b7..0000000 --- a/app/Http/Controllers/Auth/RegisterController.php +++ /dev/null @@ -1,71 +0,0 @@ -middleware('guest'); - } - - /** - * Get a validator for an incoming registration request. - * - * @param array $data - * @return \Illuminate\Contracts\Validation\Validator - */ - protected function validator(array $data) - { - return Validator::make($data, [ - 'name' => 'required|string|max:255', - 'email' => 'required|string|email|max:255|unique:users', - 'password' => 'required|string|min:6|confirmed', - ]); - } - - /** - * Create a new user instance after a valid registration. - * - * @param array $data - * @return User - */ - protected function create(array $data) - { - return User::create([ - 'name' => $data['name'], - 'email' => $data['email'], - 'password' => bcrypt($data['password']), - ]); - } -} diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php deleted file mode 100644 index cf726ee..0000000 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ /dev/null @@ -1,39 +0,0 @@ -middleware('guest'); - } -} diff --git a/app/Http/Controllers/Home/IndexController.php b/app/Http/Controllers/Home/IndexController.php index 09e95b6..81beb1e 100644 --- a/app/Http/Controllers/Home/IndexController.php +++ b/app/Http/Controllers/Home/IndexController.php @@ -259,6 +259,9 @@ class IndexController extends CommonController //测试页面 public function test() { + $qrcode = new \SimpleSoftwareIO\QrCode\BaconQrCodeGenerator; + return $qrcode->size(500)->generate('Make a qrcode without Laravel!'); + //return ''; //set_exception_handler('myException'); //return uniqid(); //return \App\Common\Helper::formatPrice(1.2346); diff --git a/app/Http/Model/BaseModel.php b/app/Http/Model/BaseModel.php index 989bb1d..8862d4a 100644 --- a/app/Http/Model/BaseModel.php +++ b/app/Http/Model/BaseModel.php @@ -6,4 +6,4 @@ use Illuminate\Database\Eloquent\Model; class BaseModel extends Model { -} +} \ No newline at end of file diff --git a/app/Http/Model/CollectGoods.php b/app/Http/Model/CollectGoods.php new file mode 100644 index 0000000..a21e862 --- /dev/null +++ b/app/Http/Model/CollectGoods.php @@ -0,0 +1,89 @@ +where($where); + + $res['count'] = $model->count(); + $res['list'] = array(); + + if($res['count']>0) + { + $res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); + } + else + { + return false; + } + + return $res; + } + + public static function getOne($id) + { + return self::where('id', $id)->first()->toArray(); + } + + public static function add(array $data) + { + if(self::where(array('user_id'=>$data['user_id'],'goods_id'=>$data['goods_id']))->first()){return '亲,您已经收藏啦!';} + + if ($id = self::insertGetId($data)) + { + return true; + } + + return false; + } + + public static function modify($where, array $data) + { + if (self::where($where)->update($data)) + { + return true; + } + + return false; + } + + //删除一条记录 + public static function remove(array $data) + { + if(!self::where(array('user_id'=>$data['user_id'],'goods_id'=>$data['goods_id']))->first()){return '商品未收藏';} + + if (!self::where(array('user_id'=>$data['user_id'],'goods_id'=>$data['goods_id']))->delete()) + { + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/app/Http/Model/Comment.php b/app/Http/Model/Comment.php new file mode 100644 index 0000000..49b5418 --- /dev/null +++ b/app/Http/Model/Comment.php @@ -0,0 +1,94 @@ +where($where); + + $res['count'] = $model->count(); + $res['list'] = array(); + + if($res['count']>0) + { + $res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); + } + else + { + return '暂无记录'; + } + + return $res; + } + + public static function getOne($id) + { + return self::where('id', $id)->first()->toArray(); + } + + public static function add(array $data) + { + if(self::where(array('user_id'=>$data['user_id'],'id_value'=>$data['id_value'],'comment_type'=>$data['comment_type']))->first()){return '亲,您已经评价啦!';} + + if ($id = self::insertGetId($data)) + { + return true; + } + + return false; + } + + public static function modify($where, array $data) + { + if (self::where($where)->update($data)) + { + return true; + } + + return false; + } + + //删除一条记录 + public static function remove(array $data) + { + if(!self::where(array('user_id'=>$data['user_id'],'comment_type'=>$data['comment_type'],'id_value'=>$data['id_value']))->first()){return '商品尚未评价';} + + if (!self::where(array('user_id'=>$data['user_id'],'comment_type'=>$data['comment_type'],'id_value'=>$data['id_value']))->delete()) + { + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/app/Http/Model/FeedBack.php b/app/Http/Model/FeedBack.php new file mode 100644 index 0000000..90ab008 --- /dev/null +++ b/app/Http/Model/FeedBack.php @@ -0,0 +1,80 @@ +count(); + $res['list'] = array(); + + if($res['count']>0) + { + $res['list'] = $model->select('title','created_at')->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); + } + else + { + return false; + } + + return $res; + } + + public static function getOne($id) + { + return self::where('id', $id)->first()->toArray(); + } + + public static function add(array $data) + { + if ($id = self::insertGetId($data)) + { + return $id; + } + + return false; + } + + public static function modify($where, array $data) + { + if (self::where($where)->update($data)) + { + return true; + } + + return false; + } + + //删除一条记录 + public static function remove($id) + { + if (!self::whereIn('id', explode(',', $id))->delete()) + { + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/app/Http/Model/Product.php b/app/Http/Model/Goods.php similarity index 83% rename from app/Http/Model/Product.php rename to app/Http/Model/Goods.php index 8725d6d..cefbf01 100644 --- a/app/Http/Model/Product.php +++ b/app/Http/Model/Goods.php @@ -1,9 +1,9 @@ belongsTo(ProductType::class, 'typeid', 'id'); + return $this->belongsTo(GoodsType::class, 'typeid', 'id'); } } diff --git a/app/Http/Model/GoodsPhoto.php b/app/Http/Model/GoodsPhoto.php new file mode 100644 index 0000000..bbd29e1 --- /dev/null +++ b/app/Http/Model/GoodsPhoto.php @@ -0,0 +1,13 @@ +hasMany(ProductType::class, 'typeid', 'id'); + return $this->hasMany(GoodsType::class, 'typeid', 'id'); } } diff --git a/app/Http/Model/ProductPic.php b/app/Http/Model/ProductPic.php deleted file mode 100644 index f7ab507..0000000 --- a/app/Http/Model/ProductPic.php +++ /dev/null @@ -1,13 +0,0 @@ -count(); + $res['list'] = array(); + + if($res['count']>0) + { + $res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); + } + else + { + return false; + } + + return $res; + } + + public static function getOne($id) + { + return self::where('id', $id)->first()->toArray(); + } + + public static function add(array $data) + { + if ($id = self::insertGetId($data)) + { + return $id; + } + + return false; + } + + public static function modify($where, array $data) + { + if (self::where($where)->update($data)) + { + return true; + } + + return false; + } + + //删除一条记录 + public static function remove($id) + { + if (!self::whereIn('id', explode(',', $id))->delete()) + { + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/app/Http/Model/User.php b/app/Http/Model/User.php index 40bf924..210360b 100644 --- a/app/Http/Model/User.php +++ b/app/Http/Model/User.php @@ -43,4 +43,78 @@ class User extends BaseModel return true; } -} + + //获取列表 + public static function getList(array $param) + { + extract($param); //参数:limit,offset + + $where = ''; + $limit = isset($limit) ? $limit : 10; + $offset = isset($offset) ? $offset : 0; + + $model = new User; + + if(isset($group_id)){$where['group_id'] = $group_id;} + + if($where != '') + { + $model = $model->where($where); + } + + $res['count'] = $model->count(); + $res['list'] = array(); + + if($res['count']>0) + { + $res['list'] = $model->select('id','user_name','email','sex','money','point','mobile','nickname','add_time')->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); + } + else + { + return false; + } + + return $res; + } + + //用户信息 + public static function getOne($id) + { + $user = self::where('id', $id)->first(); + if(!$user){return false;} + $user['reciever_address'] = UserAddress::getOne($user->address_id); + + return $user; + } + + public static function add(array $data) + { + if ($id = self::insertGetId($data)) + { + return $id; + } + + return false; + } + + public static function modify($where, array $data) + { + if (self::where($where)->update($data)) + { + return true; + } + + return false; + } + + //删除一条记录 + public static function remove($id) + { + if (!self::whereIn('id', explode(',', $id))->delete()) + { + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/app/Http/Model/UserAddress.php b/app/Http/Model/UserAddress.php index dd8ca01..3a90649 100644 --- a/app/Http/Model/UserAddress.php +++ b/app/Http/Model/UserAddress.php @@ -56,7 +56,7 @@ class UserAddress extends BaseModel } //获取一条记录,不传address_id表示获取默认地址 - public static function getOne($address_id) + public static function getOne($address_id='') { $arr = ''; @@ -79,7 +79,7 @@ class UserAddress extends BaseModel { // 取默认地址 $arr = self::join('user','user_address.id', '=', 'user.address_id') - ->where('user.user_id',Token::$uid) + ->where('user.id',Token::$uid)->select('user_address.id','user_address.name','country','province','city','district','address','user_address.mobile','zipcode','best_time') ->first(); if($arr) diff --git a/app/Http/Model/UserMoney.php b/app/Http/Model/UserMoney.php index 9e5573f..f16a1cf 100644 --- a/app/Http/Model/UserMoney.php +++ b/app/Http/Model/UserMoney.php @@ -38,7 +38,7 @@ class UserMoney extends BaseModel if($res['count']>0) { - $res['list'] = $model->skip($offset)->take($limit)->get()->toArray(); + $res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); } else { @@ -48,9 +48,14 @@ class UserMoney extends BaseModel return $res; } + public static function getOne($id) + { + return self::where('id', $id)->first()->toArray(); + } + public static function add(array $data) { - if ($id = DB::table(self::$table)->insertGetId($data)) + if ($id = self::insertGetId($data)) { return $id; } @@ -60,8 +65,7 @@ class UserMoney extends BaseModel public static function modify($where, array $data) { - $slide = DB::table(self::$table); - if ($slide->where($where)->update($data)) + if (self::where($where)->update($data)) { return true; } diff --git a/app/Http/Model/UserPoint.php b/app/Http/Model/UserPoint.php index b1c1651..6d4fc47 100644 --- a/app/Http/Model/UserPoint.php +++ b/app/Http/Model/UserPoint.php @@ -37,7 +37,7 @@ class UserPoint extends BaseModel if($res['count']>0) { - $res['list'] = $model->skip($offset)->take($limit)->get()->toArray(); + $res['list'] = $model->skip($offset)->take($limit)->orderBy('id','desc')->get()->toArray(); } else { @@ -47,9 +47,14 @@ class UserPoint extends BaseModel return $res; } + public static function getOne($id) + { + return self::where('id', $id)->first()->toArray(); + } + public static function add(array $data) { - if ($id = DB::table(self::$table)->insertGetId($data)) + if ($id = self::insertGetId($data)) { return $id; } @@ -59,8 +64,7 @@ class UserPoint extends BaseModel public static function modify($where, array $data) { - $slide = DB::table(self::$table); - if ($slide->where($where)->update($data)) + if (self::where($where)->update($data)) { return true; } diff --git a/app/Http/Model/VerifyCode.php b/app/Http/Model/VerifyCode.php index 79417f9..f22d46d 100644 --- a/app/Http/Model/VerifyCode.php +++ b/app/Http/Model/VerifyCode.php @@ -6,6 +6,7 @@ use App\Common\Sms; use App\Common\Helper; use App\Common\ReturnData; +//验证码 class VerifyCode extends BaseModel { protected $table = 'verify_code'; diff --git a/composer.json b/composer.json index 2bf13b0..f570e23 100644 --- a/composer.json +++ b/composer.json @@ -11,6 +11,7 @@ "laravel/tinker": "~1.0", "maatwebsite/excel": "~2.1.0", "overtrue/laravel-wechat": "~3.1", + "simplesoftwareio/simple-qrcode": "~1", "jpush/jpush": "v3.5.*" }, "require-dev": { diff --git a/composer.lock b/composer.lock index d46d9a0..3587774 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,50 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "2367b038aae2731238e00c910f6f6cc3", + "content-hash": "e7606121c9508220e3848d04772f6938", "packages": [ + { + "name": "bacon/bacon-qr-code", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Bacon/BaconQrCode.git", + "reference": "031a2ce68c5794064b49d11775b2daf45c96e21c" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/Bacon/BaconQrCode/031a2ce68c5794064b49d11775b2daf45c96e21c.zip", + "reference": "031a2ce68c5794064b49d11775b2daf45c96e21c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-gd": "to generate QR code images" + }, + "type": "library", + "autoload": { + "psr-0": { + "BaconQrCode": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "http://www.dasprids.de", + "role": "Developer" + } + ], + "description": "BaconQrCode is a QR code generator for PHP.", + "homepage": "https://github.com/Bacon/BaconQrCode", + "time": "2016-01-09T22:55:35+00:00" + }, { "name": "dnoegel/php-xdg-base-dir", "version": "0.1", @@ -41,16 +83,16 @@ }, { "name": "doctrine/cache", - "version": "v1.6.1", + "version": "v1.6.2", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3" + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/doctrine/cache/b6f544a20f4807e81f7044d31e679ccbb1866dc3.zip", - "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3", + "url": "https://files.phpcomposer.com/files/doctrine/cache/eb152c5100571c7a45470ff2a35095ab3f3b900b.zip", + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b", "shasum": "" }, "require": { @@ -107,7 +149,7 @@ "cache", "caching" ], - "time": "2016-10-29T11:16:17+00:00" + "time": "2017-07-22T12:49:21+00:00" }, { "name": "doctrine/inflector", @@ -178,16 +220,16 @@ }, { "name": "erusev/parsedown", - "version": "1.6.2", + "version": "1.6.3", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "1bf24f7334fe16c88bf9d467863309ceaf285b01" + "reference": "728952b90a333b5c6f77f06ea9422b94b585878d" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/erusev/parsedown/1bf24f7334fe16c88bf9d467863309ceaf285b01.zip", - "reference": "1bf24f7334fe16c88bf9d467863309ceaf285b01", + "url": "https://files.phpcomposer.com/files/erusev/parsedown/728952b90a333b5c6f77f06ea9422b94b585878d.zip", + "reference": "728952b90a333b5c6f77f06ea9422b94b585878d", "shasum": "" }, "require": { @@ -216,20 +258,20 @@ "markdown", "parser" ], - "time": "2017-03-29T16:04:15+00:00" + "time": "2017-05-14T14:47:48+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "6.2.3", + "version": "6.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006" + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/guzzle/guzzle/8d6c6cc55186db87b7dc5009827429ba4e9dc006.zip", - "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006", + "url": "https://files.phpcomposer.com/files/guzzle/guzzle/f4db5a78a5ea468d4831de7f0bf9d9415e348699.zip", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", "shasum": "" }, "require": { @@ -239,9 +281,12 @@ }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "^4.0", + "phpunit/phpunit": "^4.0 || ^5.0", "psr/log": "^1.0" }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, "type": "library", "extra": { "branch-alias": { @@ -278,7 +323,7 @@ "rest", "web service" ], - "time": "2017-02-28T22:50:30+00:00" + "time": "2017-06-22T18:50:49+00:00" }, { "name": "guzzlehttp/promises", @@ -398,16 +443,16 @@ }, { "name": "intervention/image", - "version": "2.3.13", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "15a517f052ee15d373ffa145c9642d5fec7ddf5c" + "reference": "322a4ade249467179c50a3e50eda8760ff3af2a3" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/Intervention/image/15a517f052ee15d373ffa145c9642d5fec7ddf5c.zip", - "reference": "15a517f052ee15d373ffa145c9642d5fec7ddf5c", + "url": "https://files.phpcomposer.com/files/Intervention/image/322a4ade249467179c50a3e50eda8760ff3af2a3.zip", + "reference": "322a4ade249467179c50a3e50eda8760ff3af2a3", "shasum": "" }, "require": { @@ -417,7 +462,7 @@ }, "require-dev": { "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "3.*" + "phpunit/phpunit": "^4.8 || ^5.7" }, "suggest": { "ext-gd": "to use GD library based image processing.", @@ -428,6 +473,14 @@ "extra": { "branch-alias": { "dev-master": "2.3-dev" + }, + "laravel": { + "providers": [ + "Intervention\\Image\\ImageServiceProvider" + ], + "aliases": { + "Image": "Intervention\\Image\\Facades\\Image" + } } }, "autoload": { @@ -442,8 +495,8 @@ "authors": [ { "name": "Oliver Vogel", - "email": "oliver@olivervogel.net", - "homepage": "http://olivervogel.net/" + "email": "oliver@olivervogel.com", + "homepage": "http://olivervogel.com/" } ], "description": "Image handling and manipulation library with support for Laravel integration", @@ -456,7 +509,7 @@ "thumbnail", "watermark" ], - "time": "2017-04-23T18:45:36+00:00" + "time": "2017-07-03T15:50:40+00:00" }, { "name": "jakub-onderka/php-console-color", @@ -603,22 +656,65 @@ ], "time": "2016-12-07T09:37:55+00:00" }, + { + "name": "jpush/jpush", + "version": "v3.5.22", + "source": { + "type": "git", + "url": "https://github.com/jpush/jpush-api-php-client.git", + "reference": "a3d1907b01980de034995c73e5d0c24edf4cedcd" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/jpush/jpush-api-php-client/a3d1907b01980de034995c73e5d0c24edf4cedcd.zip", + "reference": "a3d1907b01980de034995c73e5d0c24edf4cedcd", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "JPush\\": "src/JPush/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "JPush", + "email": "support@jpush.cn", + "homepage": "https://www.jpush.cn/", + "role": "Developer" + } + ], + "description": "JPush API PHP Client", + "homepage": "https://github.com/jpush/jpush-api-php-client", + "time": "2017-08-01T05:13:49+00:00" + }, { "name": "laravel/framework", - "version": "v5.4.24", + "version": "v5.4.32", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "ec8548db26c1b147570f661128649e98f3ac0f29" + "reference": "b8300578d159199b1195413b67318c79068cd24d" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/laravel/framework/ec8548db26c1b147570f661128649e98f3ac0f29.zip", - "reference": "ec8548db26c1b147570f661128649e98f3ac0f29", + "url": "https://files.phpcomposer.com/files/laravel/framework/b8300578d159199b1195413b67318c79068cd24d.zip", + "reference": "b8300578d159199b1195413b67318c79068cd24d", "shasum": "" }, "require": { - "doctrine/inflector": "~1.0", + "doctrine/inflector": "~1.1.0", "erusev/parsedown": "~1.6", "ext-mbstring": "*", "ext-openssl": "*", @@ -730,20 +826,20 @@ "framework", "laravel" ], - "time": "2017-05-30T12:44:32+00:00" + "time": "2017-08-03T12:59:42+00:00" }, { "name": "laravel/tinker", - "version": "v1.0.0", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "3d5b675b55b24ccbf86395964042dbe061d5a965" + "reference": "203978fd67f118902acff95925847e70b72e3daf" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/laravel/tinker/3d5b675b55b24ccbf86395964042dbe061d5a965.zip", - "reference": "3d5b675b55b24ccbf86395964042dbe061d5a965", + "url": "https://files.phpcomposer.com/files/laravel/tinker/203978fd67f118902acff95925847e70b72e3daf.zip", + "reference": "203978fd67f118902acff95925847e70b72e3daf", "shasum": "" }, "require": { @@ -764,6 +860,11 @@ "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] } }, "autoload": { @@ -788,20 +889,20 @@ "laravel", "psysh" ], - "time": "2016-12-30T18:13:17+00:00" + "time": "2017-07-13T13:11:05+00:00" }, { "name": "league/flysystem", - "version": "1.0.40", + "version": "1.0.41", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3828f0b24e2c1918bb362d57a53205d6dc8fde61" + "reference": "f400aa98912c561ba625ea4065031b7a41e5a155" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/thephpleague/flysystem/3828f0b24e2c1918bb362d57a53205d6dc8fde61.zip", - "reference": "3828f0b24e2c1918bb362d57a53205d6dc8fde61", + "url": "https://files.phpcomposer.com/files/thephpleague/flysystem/f400aa98912c561ba625ea4065031b7a41e5a155.zip", + "reference": "f400aa98912c561ba625ea4065031b7a41e5a155", "shasum": "" }, "require": { @@ -822,13 +923,13 @@ "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-copy": "Allows you to use Copy.com storage", "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", "league/flysystem-webdav": "Allows you to use WebDAV storage", "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage" + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" }, "type": "library", "extra": { @@ -871,20 +972,20 @@ "sftp", "storage" ], - "time": "2017-04-28T10:15:08+00:00" + "time": "2017-08-06T17:41:04+00:00" }, { "name": "maatwebsite/excel", - "version": "2.1.17", + "version": "2.1.20", "source": { "type": "git", "url": "https://github.com/Maatwebsite/Laravel-Excel.git", - "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d" + "reference": "a8baf7de1030d261318f90fa5c273a47ef616b59" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/Maatwebsite/Laravel-Excel/14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d.zip", - "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d", + "url": "https://files.phpcomposer.com/files/Maatwebsite/Laravel-Excel/a8baf7de1030d261318f90fa5c273a47ef616b59.zip", + "reference": "a8baf7de1030d261318f90fa5c273a47ef616b59", "shasum": "" }, "require": { @@ -900,7 +1001,7 @@ }, "require-dev": { "mockery/mockery": "~0.9", - "orchestra/testbench": "3.1.*", + "orchestra/testbench": "3.1.*|3.2.*|3.3.*|3.4.*|3.5.*", "phpseclib/phpseclib": "~1.0", "phpunit/phpunit": "~4.0" }, @@ -911,6 +1012,16 @@ "illuminate/view": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Maatwebsite\\Excel\\ExcelServiceProvider" + ], + "aliases": { + "Excel": "Maatwebsite\\Excel\\Facades\\Excel" + } + } + }, "autoload": { "classmap": [ "src/Maatwebsite/Excel" @@ -939,20 +1050,20 @@ "import", "laravel" ], - "time": "2017-04-04T18:28:12+00:00" + "time": "2017-07-26T18:04:04+00:00" }, { "name": "monolog/monolog", - "version": "1.22.1", + "version": "1.23.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0" + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/Seldaek/monolog/1e044bc4b34e91743943479f1be7a1d5eb93add0.zip", - "reference": "1e044bc4b34e91743943479f1be7a1d5eb93add0", + "url": "https://files.phpcomposer.com/files/Seldaek/monolog/fd8c787753b3a2ad11bc60c063cff1358a32a3b4.zip", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", "shasum": "" }, "require": { @@ -973,7 +1084,7 @@ "phpunit/phpunit-mock-objects": "2.3.0", "ruflin/elastica": ">=0.90 <3.0", "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "~5.3" + "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", @@ -1017,7 +1128,7 @@ "logging", "psr-3" ], - "time": "2017-03-13T07:08:03+00:00" + "time": "2017-06-19T01:22:40+00:00" }, { "name": "mtdowling/cron-expression", @@ -1118,16 +1229,16 @@ }, { "name": "nikic/php-parser", - "version": "v3.0.5", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d" + "reference": "4d4896e553f2094e657fe493506dc37c509d4e2b" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/nikic/PHP-Parser/2b9e2f71b722f7c53918ab0c25f7646c2013f17d.zip", - "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d", + "url": "https://files.phpcomposer.com/files/nikic/PHP-Parser/4d4896e553f2094e657fe493506dc37c509d4e2b.zip", + "reference": "4d4896e553f2094e657fe493506dc37c509d4e2b", "shasum": "" }, "require": { @@ -1165,26 +1276,36 @@ "parser", "php" ], - "time": "2017-03-05T18:23:57+00:00" + "time": "2017-07-28T14:45:09+00:00" }, { "name": "overtrue/laravel-wechat", - "version": "3.1.8", + "version": "3.1.10", "source": { "type": "git", "url": "https://github.com/overtrue/laravel-wechat.git", - "reference": "a9c0b0117326571fb164cb513ae9ec15ca910c46" + "reference": "70b655714b5445f9be7f03a1c66c1b6deb26ef33" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/overtrue/laravel-wechat/a9c0b0117326571fb164cb513ae9ec15ca910c46.zip", - "reference": "a9c0b0117326571fb164cb513ae9ec15ca910c46", + "url": "https://files.phpcomposer.com/files/overtrue/laravel-wechat/70b655714b5445f9be7f03a1c66c1b6deb26ef33.zip", + "reference": "70b655714b5445f9be7f03a1c66c1b6deb26ef33", "shasum": "" }, "require": { - "overtrue/wechat": "~3.0" + "overtrue/wechat": "^3.3.3" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Overtrue\\LaravelWechat\\ServiceProvider" + ], + "aliases": { + "EasyWeChat": "Overtrue\\LaravelWechat\\Facade" + } + } + }, "autoload": { "psr-4": { "Overtrue\\LaravelWechat\\": "src/" @@ -1207,20 +1328,20 @@ "wechat", "weixin" ], - "time": "2017-03-21T08:59:43+00:00" + "time": "2017-07-03T09:53:13+00:00" }, { "name": "overtrue/socialite", - "version": "1.0.25", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/overtrue/socialite.git", - "reference": "234b3051e7864bc94744c7cfa2a9fb1999a9ca2c" + "reference": "0b943f2b2063c8c4f1672b4d2f4451e57d7415a7" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/overtrue/socialite/234b3051e7864bc94744c7cfa2a9fb1999a9ca2c.zip", - "reference": "234b3051e7864bc94744c7cfa2a9fb1999a9ca2c", + "url": "https://files.phpcomposer.com/files/overtrue/socialite/0b943f2b2063c8c4f1672b4d2f4451e57d7415a7.zip", + "reference": "0b943f2b2063c8c4f1672b4d2f4451e57d7415a7", "shasum": "" }, "require": { @@ -1257,31 +1378,31 @@ "wechat", "weibo" ], - "time": "2017-05-16T15:34:16+00:00" + "time": "2017-07-27T08:22:56+00:00" }, { "name": "overtrue/wechat", - "version": "3.3.2", + "version": "3.3.12", "source": { "type": "git", "url": "https://github.com/overtrue/wechat.git", - "reference": "18f22de7a1d88d81a8e38ce03f23fa020369e8ed" + "reference": "7cd51ceb6b44245b724bb565f94d72de7150dfa8" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/overtrue/wechat/18f22de7a1d88d81a8e38ce03f23fa020369e8ed.zip", - "reference": "18f22de7a1d88d81a8e38ce03f23fa020369e8ed", + "url": "https://files.phpcomposer.com/files/overtrue/wechat/7cd51ceb6b44245b724bb565f94d72de7150dfa8.zip", + "reference": "7cd51ceb6b44245b724bb565f94d72de7150dfa8", "shasum": "" }, "require": { - "doctrine/cache": "~1.4", + "doctrine/cache": "^1.4", "ext-openssl": "*", - "guzzlehttp/guzzle": "~6.2.1", + "guzzlehttp/guzzle": "^6.2", "monolog/monolog": "^1.17", - "overtrue/socialite": ">=1.0.24", + "overtrue/socialite": "^1.0.25", "php": ">=5.5.0", - "pimple/pimple": "~3.0", - "symfony/http-foundation": "~2.6|~2.7|~2.8|~3.0", + "pimple/pimple": "^3.0", + "symfony/http-foundation": "^2.6|^3.0", "symfony/psr-http-message-bridge": "~0.3|^1.0" }, "require-dev": { @@ -1315,7 +1436,7 @@ "weixin", "weixin-sdk" ], - "time": "2017-04-27T04:10:13+00:00" + "time": "2017-08-01T09:38:23+00:00" }, { "name": "paragonie/random_compat", @@ -1424,25 +1545,29 @@ }, { "name": "pimple/pimple", - "version": "v3.0.2", + "version": "v3.2.2", "source": { "type": "git", "url": "https://github.com/silexphp/Pimple.git", - "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a" + "reference": "4d45fb62d96418396ec58ba76e6f065bca16e10a" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/silexphp/Pimple/a30f7d6e57565a2e1a316e1baf2a483f788b258a.zip", - "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a", + "url": "https://files.phpcomposer.com/files/silexphp/Pimple/4d45fb62d96418396ec58ba76e6f065bca16e10a.zip", + "reference": "4d45fb62d96418396ec58ba76e6f065bca16e10a", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.3.0", + "psr/container": "^1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "3.2.x-dev" } }, "autoload": { @@ -1466,7 +1591,56 @@ "container", "dependency injection" ], - "time": "2015-09-11T15:10:35+00:00" + "time": "2017-07-23T07:32:15+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/php-fig/container/b7ce3b176482dbbc1245ebf52b181af44c2cf55f.zip", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" }, { "name": "psr/http-message", @@ -1567,16 +1741,16 @@ }, { "name": "psy/psysh", - "version": "v0.8.5", + "version": "v0.8.11", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "38a9d21406597a0440690eafbcb0222f528c8ac6" + "reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/bobthecow/psysh/38a9d21406597a0440690eafbcb0222f528c8ac6.zip", - "reference": "38a9d21406597a0440690eafbcb0222f528c8ac6", + "url": "https://files.phpcomposer.com/files/bobthecow/psysh/b193cd020e8c6b66cea6457826ae005e94e6d2c0.zip", + "reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0", "shasum": "" }, "require": { @@ -1606,7 +1780,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-develop": "0.9.x-dev" + "dev-develop": "0.8.x-dev" } }, "autoload": { @@ -1636,20 +1810,20 @@ "interactive", "shell" ], - "time": "2017-05-17T06:49:19+00:00" + "time": "2017-07-29T19:30:02+00:00" }, { "name": "ramsey/uuid", - "version": "3.6.1", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "4ae32dd9ab8860a4bbd750ad269cba7f06f7934e" + "reference": "0ef23d1b10cf1bc576e9d865a7e9c47982c5715e" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/ramsey/uuid/4ae32dd9ab8860a4bbd750ad269cba7f06f7934e.zip", - "reference": "4ae32dd9ab8860a4bbd750ad269cba7f06f7934e", + "url": "https://files.phpcomposer.com/files/ramsey/uuid/0ef23d1b10cf1bc576e9d865a7e9c47982c5715e.zip", + "reference": "0ef23d1b10cf1bc576e9d865a7e9c47982c5715e", "shasum": "" }, "require": { @@ -1718,7 +1892,58 @@ "identifier", "uuid" ], - "time": "2017-03-26T20:37:53+00:00" + "time": "2017-08-04T13:39:04+00:00" + }, + { + "name": "simplesoftwareio/simple-qrcode", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/SimpleSoftwareIO/simple-qrcode.git", + "reference": "0d8fbf73f7adc166ec5aabbf898b7327f6c69600" + }, + "dist": { + "type": "zip", + "url": "https://files.phpcomposer.com/files/SimpleSoftwareIO/simple-qrcode/0d8fbf73f7adc166ec5aabbf898b7327f6c69600.zip", + "reference": "0d8fbf73f7adc166ec5aabbf898b7327f6c69600", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "1.0.*", + "ext-gd": "*", + "illuminate/support": ">=4.2.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "~5" + }, + "type": "library", + "autoload": { + "psr-0": { + "SimpleSoftwareIO\\QrCode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Simple Software LLC", + "email": "support@simplesoftware.io" + } + ], + "description": "Simple QrCode is a QR code generator made for Laravel.", + "homepage": "http://www.simplesoftware.io", + "keywords": [ + "Simple", + "generator", + "laravel", + "qrcode", + "wrapper" + ], + "time": "2016-12-06T01:39:52+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -1776,16 +2001,16 @@ }, { "name": "symfony/console", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c80e63f3f5e3a331bfc25e6e9332b10422eb9b05" + "reference": "b0878233cb5c4391347e5495089c7af11b8e6201" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/console/c80e63f3f5e3a331bfc25e6e9332b10422eb9b05.zip", - "reference": "c80e63f3f5e3a331bfc25e6e9332b10422eb9b05", + "url": "https://files.phpcomposer.com/files/symfony/console/b0878233cb5c4391347e5495089c7af11b8e6201.zip", + "reference": "b0878233cb5c4391347e5495089c7af11b8e6201", "shasum": "" }, "require": { @@ -1798,6 +2023,7 @@ }, "require-dev": { "psr/log": "~1.0", + "symfony/config": "~3.3", "symfony/dependency-injection": "~3.3", "symfony/event-dispatcher": "~2.8|~3.0", "symfony/filesystem": "~2.8|~3.0", @@ -1840,11 +2066,11 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2017-05-28T14:08:56+00:00" + "time": "2017-07-29T21:27:59+00:00" }, { "name": "symfony/css-selector", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -1897,16 +2123,16 @@ }, { "name": "symfony/debug", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "ef5f19a7a68075a0bd05969a329ead3b0776fb7a" + "reference": "7c13ae8ce1e2adbbd574fc39de7be498e1284e13" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/debug/ef5f19a7a68075a0bd05969a329ead3b0776fb7a.zip", - "reference": "ef5f19a7a68075a0bd05969a329ead3b0776fb7a", + "url": "https://files.phpcomposer.com/files/symfony/debug/7c13ae8ce1e2adbbd574fc39de7be498e1284e13.zip", + "reference": "7c13ae8ce1e2adbbd574fc39de7be498e1284e13", "shasum": "" }, "require": { @@ -1949,20 +2175,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2017-05-27T16:02:27+00:00" + "time": "2017-07-28T15:27:31+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a9f8b02b0ef07302eca92cd4bba73200b7980e9c" + "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/event-dispatcher/a9f8b02b0ef07302eca92cd4bba73200b7980e9c.zip", - "reference": "a9f8b02b0ef07302eca92cd4bba73200b7980e9c", + "url": "https://files.phpcomposer.com/files/symfony/event-dispatcher/67535f1e3fd662bdc68d7ba317c93eecd973617e.zip", + "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e", "shasum": "" }, "require": { @@ -2012,20 +2238,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2017-05-04T12:23:07+00:00" + "time": "2017-06-09T14:53:08+00:00" }, { "name": "symfony/finder", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "30cb2a2c09627823a7243638dd456de4e2748fed" + "reference": "baea7f66d30854ad32988c11a09d7ffd485810c4" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/finder/30cb2a2c09627823a7243638dd456de4e2748fed.zip", - "reference": "30cb2a2c09627823a7243638dd456de4e2748fed", + "url": "https://files.phpcomposer.com/files/symfony/finder/baea7f66d30854ad32988c11a09d7ffd485810c4.zip", + "reference": "baea7f66d30854ad32988c11a09d7ffd485810c4", "shasum": "" }, "require": { @@ -2061,20 +2287,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2017-05-25T23:10:31+00:00" + "time": "2017-06-01T21:01:25+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a3272c06d538bd48261e7d83308e7f84992d4ec8" + "reference": "49e8cd2d59a7aa9bfab19e46de680c76e500a031" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/http-foundation/a3272c06d538bd48261e7d83308e7f84992d4ec8.zip", - "reference": "a3272c06d538bd48261e7d83308e7f84992d4ec8", + "url": "https://files.phpcomposer.com/files/symfony/http-foundation/49e8cd2d59a7aa9bfab19e46de680c76e500a031.zip", + "reference": "49e8cd2d59a7aa9bfab19e46de680c76e500a031", "shasum": "" }, "require": { @@ -2114,20 +2340,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2017-05-25T13:39:26+00:00" + "time": "2017-07-21T11:04:46+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "4ad34a0d20a5848c0fcbf6ff6a2ff1cd9cf4b9ed" + "reference": "db10d05f1d95e4168e638db7a81c79616f568ea5" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/http-kernel/4ad34a0d20a5848c0fcbf6ff6a2ff1cd9cf4b9ed.zip", - "reference": "4ad34a0d20a5848c0fcbf6ff6a2ff1cd9cf4b9ed", + "url": "https://files.phpcomposer.com/files/symfony/http-kernel/db10d05f1d95e4168e638db7a81c79616f568ea5.zip", + "reference": "db10d05f1d95e4168e638db7a81c79616f568ea5", "shasum": "" }, "require": { @@ -2140,7 +2366,8 @@ "conflict": { "symfony/config": "<2.8", "symfony/dependency-injection": "<3.3", - "symfony/var-dumper": "<3.3" + "symfony/var-dumper": "<3.3", + "twig/twig": "<1.34|<2.4,>=2" }, "require-dev": { "psr/cache": "~1.0", @@ -2199,20 +2426,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2017-05-29T21:02:12+00:00" + "time": "2017-08-01T10:25:59+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" + "reference": "f29dca382a6485c3cbe6379f0c61230167681937" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/polyfill-mbstring/e79d363049d1c2128f133a2667e4f4190904f7f4.zip", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", + "url": "https://files.phpcomposer.com/files/symfony/polyfill-mbstring/f29dca382a6485c3cbe6379f0c61230167681937.zip", + "reference": "f29dca382a6485c3cbe6379f0c61230167681937", "shasum": "" }, "require": { @@ -2224,7 +2451,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -2258,20 +2485,20 @@ "portable", "shim" ], - "time": "2016-11-14T01:06:16+00:00" + "time": "2017-06-09T14:24:12+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c" + "reference": "bc0b7d6cb36b10cfabb170a3e359944a95174929" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/polyfill-php56/1dd42b9b89556f18092f3d1ada22cb05ac85383c.zip", - "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c", + "url": "https://files.phpcomposer.com/files/symfony/polyfill-php56/bc0b7d6cb36b10cfabb170a3e359944a95174929.zip", + "reference": "bc0b7d6cb36b10cfabb170a3e359944a95174929", "shasum": "" }, "require": { @@ -2281,7 +2508,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -2314,20 +2541,20 @@ "portable", "shim" ], - "time": "2016-11-14T01:06:16+00:00" + "time": "2017-06-09T08:25:21+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb" + "reference": "ebccbde4aad410f6438d86d7d261c6b4d2b9a51d" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/polyfill-util/746bce0fca664ac0a575e465f65c6643faddf7fb.zip", - "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb", + "url": "https://files.phpcomposer.com/files/symfony/polyfill-util/ebccbde4aad410f6438d86d7d261c6b4d2b9a51d.zip", + "reference": "ebccbde4aad410f6438d86d7d261c6b4d2b9a51d", "shasum": "" }, "require": { @@ -2336,7 +2563,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -2366,20 +2593,20 @@ "polyfill", "shim" ], - "time": "2016-11-14T01:06:16+00:00" + "time": "2017-06-09T08:25:21+00:00" }, { "name": "symfony/process", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf" + "reference": "07432804942b9f6dd7b7377faf9920af5f95d70a" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/process/8e30690c67aafb6c7992d6d8eb0d707807dd3eaf.zip", - "reference": "8e30690c67aafb6c7992d6d8eb0d707807dd3eaf", + "url": "https://files.phpcomposer.com/files/symfony/process/07432804942b9f6dd7b7377faf9920af5f95d70a.zip", + "reference": "07432804942b9f6dd7b7377faf9920af5f95d70a", "shasum": "" }, "require": { @@ -2415,7 +2642,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2017-05-22T12:32:03+00:00" + "time": "2017-07-13T13:05:09+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -2479,16 +2706,16 @@ }, { "name": "symfony/routing", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3aa0c7d759a2c88f4dff47c3d6776e7380bb2c9a" + "reference": "4aee1a917fd4859ff8b51b9fd1dfb790a5ecfa26" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/routing/3aa0c7d759a2c88f4dff47c3d6776e7380bb2c9a.zip", - "reference": "3aa0c7d759a2c88f4dff47c3d6776e7380bb2c9a", + "url": "https://files.phpcomposer.com/files/symfony/routing/4aee1a917fd4859ff8b51b9fd1dfb790a5ecfa26.zip", + "reference": "4aee1a917fd4859ff8b51b9fd1dfb790a5ecfa26", "shasum": "" }, "require": { @@ -2553,20 +2780,20 @@ "uri", "url" ], - "time": "2017-05-24T11:35:23+00:00" + "time": "2017-07-21T17:43:13+00:00" }, { "name": "symfony/translation", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "dc3b2a0c6cfff60327ba1c043a82092735397543" + "reference": "35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/translation/dc3b2a0c6cfff60327ba1c043a82092735397543.zip", - "reference": "dc3b2a0c6cfff60327ba1c043a82092735397543", + "url": "https://files.phpcomposer.com/files/symfony/translation/35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3.zip", + "reference": "35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3", "shasum": "" }, "require": { @@ -2618,20 +2845,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2017-05-22T07:42:36+00:00" + "time": "2017-06-24T16:45:30+00:00" }, { "name": "symfony/var-dumper", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "568ce40d88b14f6b42aa48f50572cc4427be9757" + "reference": "b2623bccb969ad595c2090f9be498b74670d0663" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/var-dumper/568ce40d88b14f6b42aa48f50572cc4427be9757.zip", - "reference": "568ce40d88b14f6b42aa48f50572cc4427be9757", + "url": "https://files.phpcomposer.com/files/symfony/var-dumper/b2623bccb969ad595c2090f9be498b74670d0663.zip", + "reference": "b2623bccb969ad595c2090f9be498b74670d0663", "shasum": "" }, "require": { @@ -2643,7 +2870,7 @@ }, "require-dev": { "ext-iconv": "*", - "twig/twig": "~1.20|~2.0" + "twig/twig": "~1.34|~2.4" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -2686,7 +2913,7 @@ "debug", "dump" ], - "time": "2017-05-22T17:32:12+00:00" + "time": "2017-07-28T06:06:09+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -3097,22 +3324,22 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" + "reference": "183824db76118b9dddffc7e522b91fa175f75119" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/phpDocumentor/ReflectionDocBlock/8331b5efe816ae05461b7ca1e721c01b46bafb3e.zip", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", + "url": "https://files.phpcomposer.com/files/phpDocumentor/ReflectionDocBlock/183824db76118b9dddffc7e522b91fa175f75119.zip", + "reference": "183824db76118b9dddffc7e522b91fa175f75119", "shasum": "" }, "require": { "php": ">=5.5", "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", + "phpdocumentor/type-resolver": "^0.3.0", "webmozart/assert": "^1.0" }, "require-dev": { @@ -3138,24 +3365,24 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2016-09-30T07:12:33+00:00" + "time": "2017-08-04T20:55:59+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.2.1", + "version": "0.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" + "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/phpDocumentor/TypeResolver/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb.zip", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", + "url": "https://files.phpcomposer.com/files/phpDocumentor/TypeResolver/fb3933512008d8162b3cdf9e18dba9309b7c3773.zip", + "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773", "shasum": "" }, "require": { - "php": ">=5.5", + "php": "^5.5 || ^7.0", "phpdocumentor/reflection-common": "^1.0" }, "require-dev": { @@ -3185,7 +3412,7 @@ "email": "me@mikevanriel.com" } ], - "time": "2016-11-25T06:54:22+00:00" + "time": "2017-06-03T08:32:36+00:00" }, { "name": "phpspec/prophecy", @@ -3501,16 +3728,16 @@ }, { "name": "phpunit/phpunit", - "version": "5.7.20", + "version": "5.7.21", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b" + "reference": "3b91adfb64264ddec5a2dee9851f354aa66327db" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/sebastianbergmann/phpunit/3cb94a5f8c07a03c8b7527ed7468a2926203f58b.zip", - "reference": "3cb94a5f8c07a03c8b7527ed7468a2926203f58b", + "url": "https://files.phpcomposer.com/files/sebastianbergmann/phpunit/3b91adfb64264ddec5a2dee9851f354aa66327db.zip", + "reference": "3b91adfb64264ddec5a2dee9851f354aa66327db", "shasum": "" }, "require": { @@ -3579,20 +3806,20 @@ "testing", "xunit" ], - "time": "2017-05-22T07:42:55+00:00" + "time": "2017-06-21T08:11:54+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "3.4.3", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/sebastianbergmann/phpunit-mock-objects/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24.zip", - "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", + "url": "https://files.phpcomposer.com/files/sebastianbergmann/phpunit-mock-objects/a23b761686d50a560cc56233b9ecf49597cc9118.zip", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", "shasum": "" }, "require": { @@ -3638,7 +3865,7 @@ "mock", "xunit" ], - "time": "2016-12-08T20:27:08+00:00" + "time": "2017-06-30T09:13:00+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -4155,16 +4382,16 @@ }, { "name": "symfony/yaml", - "version": "v3.3.0", + "version": "v3.3.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994" + "reference": "ddc23324e6cfe066f3dd34a37ff494fa80b617ed" }, "dist": { "type": "zip", - "url": "https://files.phpcomposer.com/files/symfony/yaml/885db865f6b2b918404a1fae28f9ac640f71f994.zip", - "reference": "885db865f6b2b918404a1fae28f9ac640f71f994", + "url": "https://files.phpcomposer.com/files/symfony/yaml/ddc23324e6cfe066f3dd34a37ff494fa80b617ed.zip", + "reference": "ddc23324e6cfe066f3dd34a37ff494fa80b617ed", "shasum": "" }, "require": { @@ -4206,7 +4433,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2017-05-28T10:56:20+00:00" + "time": "2017-07-23T12:43:26+00:00" }, { "name": "webmozart/assert", diff --git a/config/app.php b/config/app.php index 4e8afcf..3cfd63d 100644 --- a/config/app.php +++ b/config/app.php @@ -177,7 +177,8 @@ return [ App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, - 'Maatwebsite\Excel\ExcelServiceProvider', //Excel导入导出 + SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class, //Simple QrCode By FLi + 'Maatwebsite\Excel\ExcelServiceProvider', //Excel导入导出 By FLi ], /* @@ -226,7 +227,8 @@ return [ 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, 'Image' => Intervention\Image\Facades\Image::class, //图片处理 - 'Excel' => Maatwebsite\Excel\Facades\Excel::class, //Excel导入导出 + 'Excel' => Maatwebsite\Excel\Facades\Excel::class, //Excel导入导出 By FLi + 'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class, //Simple QrCode By FLi ], ]; diff --git a/routes/web.php b/routes/web.php index 20aa0e2..08ad983 100644 --- a/routes/web.php +++ b/routes/web.php @@ -187,10 +187,24 @@ Route::group(['prefix' => 'dataapi', 'namespace' => 'Api', 'middleware' => ['web //接口路由,需token验证 Route::group(['prefix' => 'dataapi', 'namespace' => 'Api', 'middleware' => ['web','token']], function () { //用户中心 + Route::post('/user_signin', 'UserController@signin'); + Route::get('/user_info', 'UserController@userInfo'); + Route::get('/user_list', 'UserController@userList'); + Route::get('/user_money_list', 'UserMoneyController@userMoneyList'); //余额明细 + Route::post('/user_money_add', 'UserMoneyController@userMoneyAdd'); //添加余额明细 //浏览记录 //商品 + Route::get('/goods_list', 'GoodsController@goodsList'); //商品列表 + Route::get('/goodstype_list', 'GoodsTypeController@goodsTypeList'); //商品分类列表 //商品评价 + Route::get('/goods_comment_list', 'CommentController@goodsCommentList'); //商品评价列表 + Route::post('/goods_comment_add', 'CommentController@goodsCommentAdd'); //商品评价添加 + Route::post('/goods_comment_update', 'CommentController@goodsCommentUpdate'); //商品评价修改 + Route::post('/goods_comment_delete', 'CommentController@goodsCommentDelete'); //商品评价删除 //商品收藏 + Route::get('/collect_goods_list', 'CollectGoodsController@collectGoodsList'); //收藏商品列表 + Route::post('/collect_goods_add', 'CollectGoodsController@collectGoodsAdd'); //收藏商品 + Route::post('/collect_goods_delete', 'CollectGoodsController@collectGoodsDelete'); //取消收藏商品 //订单 //购物车 @@ -198,17 +212,22 @@ Route::group(['prefix' => 'dataapi', 'namespace' => 'Api', 'middleware' => ['web //分销 //积分 - + Route::get('/user_point_list', 'UserPointController@userPointList'); + Route::post('/user_point_add', 'UserPointController@userPointAdd'); //优惠券 //微信 - + //意见反馈 + Route::get('/feedback_list', 'FeedBackController@feedbackList'); + Route::post('/feedback_add', 'FeedBackController@feedbackAdd'); //其它 + Route::get('/verifycode_check', 'VerifyCodeController@check'); //验证码校验 + Route::get('/andriod_upgrade', 'IndexController@andriodUpgrade'); //安卓升级 //图片上传 //二维码 - + Route::get('/create_simple_qrcode', 'QrcodeController@createSimpleQrcode'); //轮播图 Route::get('/slide_list', 'SlideController@slideList'); //收货地址 diff --git a/说明.txt b/说明.txt index 31a476b..0b72700 100644 --- a/说明.txt +++ b/说明.txt @@ -34,8 +34,11 @@ php artisan key:generate +Simple QrCodeĵhttps://www.simplesoftware.io/docs/simple-qrcode/zh +$qrcode = new \SimpleSoftwareIO\QrCode\BaconQrCodeGenerator; +return $qrcode->size(500)->generate('Make a qrcode without Laravel!'); - +ֱʾɶάͼƬreturn '';