input("code"); $miniProgram = app("wechat.mini_program"); $auth = $miniProgram->auth->session($code); if(array_key_exists("openid", $auth)) { return response()->json([ "status" => 0, "data" => [ "openid" => $auth["openid"], "token" => sha1($auth["openid"] . $auth["session_key"]) ]]); } else if(array_key_exists("errcode", $auth)){ return response()->json([ "status" => $auth["errcode"], "message" => $auth["errmsg"]]); } else { return response()->json([ "status" => -1, "data" => $auth ]); } } /** * 上传图片 * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function upload(Request $request) { try { if ($request->hasFile('file') && $request->file('file')->isValid()) { $photo = $request->file('file'); $extension = $photo->extension(); //$store_result = $photo->store('photo'); $name = "photos" . $extension; $store_result = Storage::putFile('public', $photo, 'public'); $http_path = asset(str_replace('public', 'storage', $store_result)); return response()->json([ 'status' => 0, 'location' => $http_path ]); } else { return response()->json([ 'status' => -1, 'message' => "error, photo is not valid!" ]); } } catch (Exception $e) { return response()->json([ 'status' => -2, 'message' => "error," . $e->getCode() . ": " . $e->getMessage() ]); } } /** * 添加评论, 一个订单只能评价一次 * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function addComment(Request $request, $order_id, $order_type) { $order_id = $request->route("order_id"); $order_type = $request->route("order_type"); $title = $request->input("title"); $content = $request->input("content"); //$user = session('wechat.oauth_user.default'); //$wechat_id = $user->getId(); $wechat_id = $request->input("openid"); if ($order_id && $title && $content) { $comment = new Comment; $comment->order_id = $order_id; $comment->order_type = $order_type; $comment->title = $title; $comment->content = $content; $comment->show = 0; $comment->wechat_id = $wechat_id; $comment->save(); return Response()->json([ "status" => 0, "message" => "保存成功!" ]); } else { return Response()->json([ "status" => -1, "message" => "信息不能为空!" ]); } } /** * 分页获取订单评论 * @param Request $request * @return mixed */ public function comments(Request $request, $order_type, $order_id) { $order_id = $request->input("order_id"); $order_type = $request->route("order_type"); if ($order_id) { return Comment::where("order_id", $order_id)->where("type", $order_type)->paginate(20); } } /** * 获取我的订单 * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function orders(Request $request) { //$user = session('wechat.oauth_user.default'); //$wechat_id = $user->getId(); $wechat_id = $request->input("openid"); if($wechat_id) { $houseApplianceCleanOrder = HouseApplianceCleanOrder::where("wechat_id", $wechat_id)->get(); $houseCleanOrder = HouseCleanOrder::where("wechat_id", $wechat_id)->get(); $housekeeperOrder = HousekeeperOrder::where("wechat_id", $wechat_id)->get(); $maternityMatronOrder = MaternityMatronOrder::where("wechat_id", $wechat_id)->get(); $productOrder = ProductOrder::where("wechat_id", $wechat_id)->get(); $orders = array(); foreach ($houseApplianceCleanOrder as $order) { $data = []; $data["id"] = $order->id; $data["classify1"] = $order->classify1; $data["classify2"] = $order->classify2; $data["status"] = $order->status; $data["price"] = $order->price; $data["created_at"] = $order->created_at; array_push($orders, $data); } foreach ($houseCleanOrder as $order) { $data = []; $data["id"] = $order->id; $data["classify1"] = $order->classify1; $data["classify2"] = $order->classify2; $data["status"] = $order->status; $data["price"] = $order->price; $data["created_at"] = $order->created_at; array_push($orders, $data); } foreach ($housekeeperOrder as $order) { $data = []; $data["id"] = $order->id; $data["classify1"] = $order->classify1; $data["classify2"] = $order->classify2; $data["status"] = $order->status; $data["price"] = $order->price; $data["created_at"] = $order->created_at; array_push($orders, $data); } foreach ($maternityMatronOrder as $order) { $data = []; $data["id"] = $order->id; $data["classify1"] = $order->classify1; $data["classify2"] = $order->classify2; $data["status"] = $order->status; $data["price"] = $order->price; $data["created_at"] = $order->created_at; array_push($orders, $data); } foreach ($productOrder as $order) { $data = []; $data["id"] = $order->id; $data["classify1"] = $order->classify1; $data["classify2"] = $order->classify2; $data["status"] = $order->status; $data["price"] = $order->price; $data["created_at"] = $order->created_at; array_push($orders, $data); } return Response()->json([ "status" => 0, "data" => $orders ]); } } /** * 修改状态 * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function status(Request $request, $order_type) { $id = $request->input("id"); $status = $request->input("status"); $order_type = $request->route("order_type"); if ($id && $order_type) { $record = $this->getRecord($order_type, $id); if ($record) { $record->status = $status; $record->save(); return Response()->json([ "status" => 0, "message" => "保存成功!" ]); } return Response()->json([ "status" => -2, "message" => "不存在的记录!" ]); } else { return Response()->json([ "status" => -1, "message" => "信息不能为空!" ]); } } /** * 删除记录 * @param Request $request * @param $type * @param $id * @return \Illuminate\Http\JsonResponse */ public function delete(Request $request, $order_type, $id) { $id = $request->route("id"); $order_type = $request->route("order_type"); if ($id && $order_type) { $record = $this->getRecord($order_type, $id); if ($record) { $record->delete(); return Response()->json([ "status" => 0, "message" => "删除成功!" ]); } return Response()->json([ "status" => -2, "message" => "不存在的记录!" ]); } else { return Response()->json([ "status" => -1, "message" => "信息不能为空!" ]); } } /** * 获取某个记录 * @param Request $request * @param $type * @param $id * @return \Illuminate\Http\JsonResponse */ public function get(Request $request, $order_type, $id) { $id = $request->route("id"); $order_type = $request->route("order_type"); if ($id && $order_type) { $record = $this->getRecord($order_type, $id); if ($record) { return Response()->json([ "status" => 0, "data" => $record ]); } return Response()->json([ "status" => -2, "message" => "不存在的记录!" ]); } else { return Response()->json([ "status" => -1, "message" => "id不能为空!" ]); } } /** * 根据type和id获取记录 * @param $type * @param $id * @return null */ public function getRecord($type, $id) { $record = null; switch ($type) { case "product": $record = Product::find($id); break; case "campaign": $record = Campaign::find($id); break; case "house_appliance_clean_order": $record = HouseApplianceCleanOrder::find($id); break; case "house_clean_order": $record = HouseCleanOrder::find($id); break; case "housekeeper_order": $record = HousekeeperOrder::find($id); break; case "maternity_matron_order": $record = MaternityMatronOrder::find($id); break; case "product_order": $record = ProductOrder::find($id); break; case "server_info": $record = ServerInfo::find($id); break; case "company_info": $record = CompanyInfo::find($id); break; default: return null; } return $record; } }