input("code"); $miniProgram = app("wechat.mini_program"); $auth = $miniProgram->auth->session($code); if(array_key_exists("openid", $auth)) { return response()->json([ "status" => 0, "data" => [ "token" => sha1($auth->openid . $auth->access_token) ]]); } 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('photo') && $request->file('photo')->isValid()) { $photo = $request->file('photo'); $extension = $photo->extension(); $store_result = $photo->store('photo'); return response()->json([ 'status' => 0, 'path' => '' ]); } else { return response()->json([ 'status' => -1, 'message' => "error, photo is 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(); 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(); $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(); return Response()->json([ "status" => 0, "data" => [ "houseApplianceCleanOrder" => $houseApplianceCleanOrder, "houseCleanOrder" => $houseCleanOrder, "housekeeperOrder" => $housekeeperOrder, "maternityMatronOrder" => $maternityMatronOrder, "productOrder" => $productOrder ] ]); } /** * 修改状态 * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function status(Request $request, $type) { $id = $request->input("id"); $status = $request->input("status"); $type = $request->route("type"); if ($id) { $record = $this->getRecord($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, $type, $id) { $id = $request->route("id"); $type = $request->route("type"); if ($id && $type) { $record = getRecord($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, $type, $id) { $id = $request->route("id"); $type = $request->route("type"); if ($id && $type) { $record = getRecord($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; default: return null; } return $record; } }