group(function () { //获取用户token Route::get("/login/getUserToken", [LoginController::class, 'getUserToken'])->name('app.get.user.token'); //手机号密码登录 Route::post('mobile/pwd/login', [LoginController::class, 'pwdLogin'])->name('app.mobile.pwd.login'); //手机号验证码登录 Route::post('mobile/code/login', [LoginController::class, 'codeLogin'])->name('app.mobile.code.login'); //手机号一键登录 Route::post('mobile/local/login', [LoginController::class, 'localLogin'])->name('app.mobile.local.login'); Route::post('mobile/register/login', [LoginController::class, 'mobileRegisterLogin'])->name('app.mobile.register.login'); Route::post('local/mobile/register/login', [LoginController::class, 'localRegisterLogin'])->name('app.local.mobile.register.login'); Route::post('mobile/register', [LoginController::class, 'register'])->name('app.mobile.register'); Route::post('email/register', [LoginController::class, 'register'])->name('app.email.register'); //找回密码 Route::post("forget/passwd", [LoginController::class, 'findPwd'])->name('app.find.passwd'); //邮箱验证码 Route::post("email/code", [LoginController::class, 'sendEmailCode'])->name('app.send.email.code'); //手机验证码 Route::post('mobile/code', [LoginController::class, 'sendMobileCode'])->name('app.send.mobile.code')->middleware('checkeGainMobileCode'); Route::middleware(['auth:api', 'setLanguage'])->group(function () { //切换语言 Route::put('change/language', [UserController::class, 'changeLanguage'])->name('app.user.change.language'); //注销账号 Route::post("login/off", [LoginController::class, 'loginOff'])->name('app.login.off'); /** * 用户信息 */ //获取手机号 Route::post("/code/to/mobile", [UserController::class, 'codeMobile'])->name('app.code.mobile'); //填写用户手机号 Route::post('bind/mobile', [UserController::class, 'updateUserInfo'])->name('app.update.user.mobile')->middleware('checkInputUserInfo'); //填写用户信息 Route::put('user/info', [UserController::class, 'updateUserInfo'])->name('app.update.user.info')->middleware('checkInputUserInfo'); //用户信息 Route::get('get/user/info', [UserController::class, 'userInfo'])->name("app.user.info"); /** * 公共 */ //上传 Route::post('upload/image', [UploadController::class, 'uploadImage'])->name('app.upload.image'); Route::post('netease/upload', [UploadController::class, 'neteaseUpload'])->name("app.netease.upload"); //获取手机号验证码 Route::get('mobile/code', [UserController::class, 'mobileCode'])->name('app.mobile.code')->middleware('checkeGainMobileCode'); /** * 体脂信息 */ //首页 Route::get('home', [HealthController::class, 'home'])->name('app.health.home'); //保存体脂信息 Route::post('health/log', [HealthController::class, 'storeHealthLog'])->name('app.store.health.log'); Route::post('health/log/v1', [HealthController::class, 'storeHealthLogV1'])->name('app.store.health.log.v1'); Route::post('send/health/log', [HealthController::class, 'sendHealthMsgToGroup'])->name('app.send.health.log'); //深度报告 Route::get('deep/health/report', [HealthController::class, 'deepReport'])->name('app.deep.health.report'); //体脂记录 Route::get('health/logs', [HealthController::class, 'healthLogs'])->name('app.health.logs'); //体脂详情 Route::get('health/logs/detail', [HealthController::class, 'healthLog'])->name('app.health.logs.detail'); //体脂对比 Route::post('compare/health/logs', [HealthController::class, 'compareHealthLogs'])->name('app.compare.health.logs'); //删除体脂信息 Route::delete('health/log', [HealthController::class, 'deleteHealthLog'])->name('app.delete.health.log'); //图表统计 Route::get('health/stat', [HealthController::class, 'healthStat'])->name('app.health.stat'); //图标数据 Route::get('health/kinds', [HealthController::class, 'healthKinds'])->name('app.health.kinds'); /** * 体脂新-第二版 */ //首页 Route::get('fat/home', [FatController::class, 'home'])->name('app.fat.home'); //保存体脂信息 Route::post('fat/log', [FatController::class, 'storeFatLog'])->name('app.store.fat.log'); //体脂记录 Route::get('fat/logs', [FatController::class, 'fatLogs'])->name('app.fat.logs'); //体脂详情 Route::get('fat/logs/detail', [FatController::class, 'fatLog'])->name('app.fat.logs.detail'); //删除体脂信息 Route::delete('fat/log', [FatController::class, 'deleteFatLog'])->name('app.delete.fat.log'); //图标数据 Route::get('fat/kinds', [FatController::class, 'fatKinds'])->name('app.fat.kinds'); //图表统计 Route::get('fat/stat', [FatController::class, 'fatStat'])->name('app.fat.stat'); //体脂对比 Route::get('compare/fat/logs', [FatController::class, 'getDaysCompare'])->name('app.compare.fat.logs'); /** * 服务 */ //获取服务人员 Route::get("get/service/user", [ChatController::class, 'getServiceUser'])->name("app.get.service.user"); /** * 餐单 */ Route::get('user/guides', [GuideController::class, 'guides'])->name('app.guides'); Route::get('user/guides/v1', [GuideController::class, 'guidesV1'])->name('app.guides.v1'); Route::get('/get/user/guides', [GuideController::class, 'getGuides'])->name('app.get.guides'); /** * 订单 */ //下单 Route::post('pay/order/services/{service_id}', [OrderController::class, 'payOrder'])->name('app.pay.order'); //订单列表 Route::get('orders', [OrderController::class, 'orders'])->name('app.orders'); Route::get('order/log', [OrderController::class, 'getOrderLog'])->name('app.order.logs'); Route::post('order/update/server/status', [OrderController::class, 'updateServerStatus'])->name('app.order.update.server.status'); //订单详情 Route::get('orders/{order_id}', [OrderController::class, 'order'])->name("app.order.detail"); //虚拟订单绑定用户 Route::post('order/bind/{order_id}', [OrderController::class, 'bindUser'])->name('app.order.bind'); /** * app群聊相关接口 */ //发送消息敏感词过滤 Route::post('filter/message', [ChatController::class, 'filterMessage'])->name('app.filter.message'); //离开群聊 Route::post('leave/group', [ChatController::class, 'leaveGroup'])->name("app.leave.group"); //群聊记录 Route::get('groups/{group_id}/messages', [ChatController::class, 'chatMessages'])->name("app.group.messages"); //群资料 Route::get('groups/{group_id}/info', [ChatController::class, 'groupInfo'])->name('app.group.info'); Route::get('get/group/info', [ChatController::class, 'getGroupInfo'])->name('app.get.group.info'); //修改用户在群聊的昵称 Route::post('groups/{group_id}/updateUserNick', [ChatController::class, 'updateGroupUserNickname'])->name('app.group.updateUserNick'); /** * 个人信息 */ //个人健康信息 Route::get('user/health/info', [UserInfoController::class, 'healthInfo'])->name('app.user.health.info'); Route::get('user/health/info/v1', [UserInfoController::class, 'healthInfoV1'])->name('app.user.health.info/v1'); //个人健康信息修改 Route::put('user/health/info', [UserInfoController::class, 'updateHealthInfo'])->name('app.update.health.info'); Route::delete('delete/body/images', [UserInfoController::class, 'deleteBodyImages'])->name('app.delete.body.images'); Route::delete('delete/after/body/images', [UserInfoController::class, 'deleteAfterBodyImages'])->name('app.delete.after.body.images'); //体检报告 Route::get('user/health/report', [UserInfoController::class, 'healthReport'])->name("app.user.health.report"); Route::get('user/health/report/v2', [UserInfoController::class, 'healthReportV2'])->name("app.user.health.report.v2"); //修改报告 Route::put("user/health/report", [UserInfoController::class, 'updateHealthReport'])->name('app.health.report'); //上传体检报告 Route::post('user/health/report', [UserInfoController::class, 'storeHealthReport'])->name("app.store.health.report"); //删除报告 Route::delete('user/health/report/{report_id}', [UserInfoController::class, 'deleteHealthReport'])->name('app.delete.health.report'); //服务状态 Route::get('user/service/status', [UserInfoController::class, 'serviceStatus'])->name("app.service.status"); //生成营养素 Route::post('make/user/nutrient', [UserInfoController::class, 'makeNutrient'])->name('app.make.user.nutrient'); //添加补充资料 Route::post('add/other/health/file', [UserInfoController::class, 'addOtherHealthFile'])->name('app.add.other.health.file'); //获取补充资料列表 Route::get('get/other/health/list', [UserInfoController::class, 'getOtherHealthFileList'])->name('app.add.other.health.list'); //获取补充资料详情 Route::get('get/other/health/detail', [UserInfoController::class, 'getOtherHealthFileDetail'])->name('app.get.other.health.detail'); //删除补充资料 Route::delete('delete/other/health/file', [UserInfoController::class, 'deleteOtherHealthFile'])->name('app.delete.user.other.health.file'); /** * 商城接口 */ //获取商品列表 Route::get('get/shop/goods/list', [ShopController::class, 'getGoodsList'])->name('app.get.goods.list'); //获取商品详情 Route::get('get/shop/goods/detail', [ShopController::class, 'getGoodsDetail'])->name('app.get.goods.detail'); //获取订单列表 Route::get('get/shop/order/list', [ShopController::class, 'getShopOrderList'])->name('app.get.shop.order.list'); //获取订单详情 Route::get('get/shop/order/detail', [ShopController::class, 'getOrderDetail'])->name('app.get.shop.order.detail'); //购买商品 Route::post('pay/shop/order', [ShopController::class, 'payOrder'])->name('app.pay.shop.order'); //收货 Route::post('shop/take/goods', [ShopController::class, 'takeGoods'])->name('app.shop.take.goods'); /** * app配置相关接口 */ //意见反馈 Route::post('send/feedback', [UserController::class, 'sendFeedback'])->name('app.send.feedback'); //举报 Route::post('send/report', [UserController::class, 'sendReport'])->name('app.send.report'); //获取服务人员信息 Route::get('get/service/user/info', [UserInfoController::class, 'getServiceUserInfo'])->name('app.get.service.user.info'); Route::put('update/service/user/info', [UserInfoController::class, 'updateServiceUserInfo'])->name('app.update.service.user.info'); /** * 分享 */ Route::get('get/mp/share/config', [ConfigController::class, 'getMpShareConfig'])->name('app.get.mp.share.config'); /* * 视频 */ Route::get('search/video', [VideoController::class, 'searchVideo'])->name('app.search.video'); Route::get('get/search/log', [VideoController::class, 'getSearchLog'])->name('app.get.search.log'); Route::delete('delete/search/log', [VideoController::class, 'delSearchLog'])->name('app.del.search.log'); Route::get('get/video/list', [VideoController::class, 'getVideoList'])->name('app.get.video.list'); Route::get('get/video/detail/{id}', [VideoController::class, 'getVideoDetail'])->name('app.get.video.detail'); Route::post('collect/video', [VideoController::class, 'collectVideo'])->name('app.collect.video'); Route::get('get/collect/video', [VideoController::class, 'getCollect'])->name('app.get.collect.video'); Route::post('visitor', [VideoController::class, 'visitor'])->name('app.video.visitor'); Route::get('get/my/visitor', [VideoController::class, 'getMyVisitor'])->name('app.get.my.visitor'); /** * 设备 */ Route::post('add/device', [DeviceController::class, 'addDevice'])->name('app.add.device'); Route::get('get/device', [DeviceController::class, 'getDevice'])->name('app.get.device'); Route::put('update/device/{id}', [DeviceController::class, 'updateDevice'])->name('app.update.device'); /** * 快捷回复 */ Route::post('add/quick/reply', [ChatController::class, 'addQuickReply'])->name('app.add.quick.reply'); Route::get('get/quick/reply', [ChatController::class, 'getQuickReply'])->name('app.get.quick.reply'); Route::put('update/quick/reply/{id}', [ChatController::class, 'updateQuickReply'])->name('app.update.quick.reply'); Route::get('get/quick/reply/detail/{id}', [ChatController::class, 'getQuickReplyDetail'])->name('app.get.quick.reply.detail'); Route::delete('delete/quick/reply/{id}', [ChatController::class, 'deleteQuickReply'])->name('app.delete.quick.reply.detail'); /** * 发送网易云视频 */ Route::post('send/im/video', [ChatController::class, 'sendImVideo'])->name('app.send.im.video'); /** * 手环 */ //绑定手环 Route::post("bind/band", [BandController::class, 'bindBand'])->name('app.bind.band'); //手环列表 Route::get("bands", [BandController::class, 'bands'])->name('app.bands'); //解绑 Route::post("unbind/band", [BandController::class, 'unbindBand'])->name('app.unbind.band'); //切换手环 Route::post("connect/band", [BandController::class, 'connectBand'])->name('app.connect.band'); //断连手环 Route::post("break/band", [BandController::class, 'breakBand'])->name('app.break.band'); //设置目标 Route::post("set/goals", [BandController::class, 'setGoals'])->name('app.set.goals'); //查看目标 Route::get("goals", [BandController::class, 'goals'])->name('app.goals'); //上传数据 Route::post("upload/sleep/data", [BandController::class, 'uploadSleepData'])->name('app.upload.sleep.data'); Route::post("upload/hrrest/data", [BandController::class, 'uploadHrrestData'])->name('app.upload.hrrest.data'); Route::post("upload/temp/data", [BandController::class, 'uploadTempData'])->name('app.upload.temp.data'); Route::post("upload/hrv/data", [BandController::class, 'uploadHrvData'])->name('app.upload.hrv.data'); Route::post("upload/blood/data", [BandController::class, 'uploadBloodData'])->name('app.upload.blood.data'); Route::post("upload/syn/data", [BandController::class, 'uploadSynData'])->name('app.upload.syn.data'); Route::post("upload/origin/sleep/data", [BandController::class, 'uploadOriginSleepData'])->name('app.upload.origin.sleep.data'); Route::post("upload/origin/hrrest/data", [BandController::class, 'uploadOriginHrrestData'])->name('app.upload.origin.hrrest.data'); Route::post("upload/origin/temp/data", [BandController::class, 'uploadOriginTempData'])->name('app.upload.origin.temp.data'); Route::post("upload/origin/hrv/data", [BandController::class, 'uploadOriginHrvData'])->name('app.upload.origin.hrv.data'); Route::post("upload/origin/blood/data", [BandController::class, 'uploadOriginBloodData'])->name('app.upload.origin.blood.data'); Route::post("upload/origin/syn/data", [BandController::class, 'uploadOriginSynData'])->name('app.upload.origin.syn.data'); Route::post("upload/origin/battery/data", [BandController::class, 'uploadOriginBatteryData'])->name('app.upload.origin.battery.data'); //查看睡眠数据 Route::get("daily/sleep", [BandController::class, 'dailySleep'])->name('app.daily.sleep'); //手环绑定状态 Route::get("band/bind/status", [BandController::class, 'bindStatus'])->name('app.band.status'); //数据 Route::post("insert/data", [BandController::class, 'insertData']); //最新数据日期 Route::get("newest/date", [BandController::class, 'newestDate']); Route::get("newest/origin/date", [BandController::class, 'newestOriginDate']); //最新一组数据开始记录时间 Route::get("newest/origin/first/date", [BandController::class, 'newestOriginFirstDate']); //上传手环状态信息 Route::post("upload/band/consume/data", [BandController::class, 'uploadBandConsumeData'])->name('app.upload.band.consume.data'); //查看睡眠原始数据 Route::get("daily/origin/sleep", [BandController::class, 'dailyOriginSleep'])->name('app.daily.origin.sleep'); Route::get("daily/origin/hrrest", [BandController::class, 'dailyOriginHrrest'])->name('app.daily.origin.hrrest'); Route::get("daily/origin/temp", [BandController::class, 'dailyOriginTemp'])->name('app.daily.origin.temp'); Route::get("daily/origin/hrv", [BandController::class, 'dailyOriginHrv'])->name('app.daily.origin.hrv'); Route::get("daily/origin/blood", [BandController::class, 'dailyOriginBlood'])->name('app.daily.origin.blood'); Route::get("daily/origin/syn", [BandController::class, 'dailyOriginSyn'])->name('app.daily.origin.syn'); Route::get("daily/origin/battery", [BandController::class, 'dailyOriginBattery'])->name('app.daily.origin.battery'); //发送网易云消息 Route::post("send/im/msg", [ChatController::class, 'sendImMsg']); }); Route::get("get/oss/config", [UploadController::class, 'stsConfig'])->name('app.get.oss.config'); //网易云信消息回调 Route::post('message/callback', [ChatController::class, 'chatCallback'])->name('app.message.callback'); //获取隐私协议 Route::get('get/privacy', [ConfigController::class, 'getPrivacy'])->name('app.get.privacy'); //获取服务协议 Route::get('get/service/term', [ConfigController::class, 'getServiceTerm'])->name('app.get.service.term'); //根据版本号获取配置 Route::get('get/version/status', [ConfigController::class, 'getVersionStatus'])->name('app.get.version.status'); Route::get('get/app/version/config', [ConfigController::class, 'getAppVersionConfigV1'])->name('app.get.app.version.config'); Route::get('get/ios/version/config', [ConfigController::class, 'getIosVersionConfig'])->name('app.get.ios.version.config'); //获取国家电话编号 Route::get('get/country/phone/code', [ConfigController::class, 'getCountryPhoneCode'])->name('app.get.country.phone.code'); //订单回调 Route::post('shop/order/callback', [ShopController::class, 'orderCallback'])->name('app.shop.order.callback'); Route::post("send/error/notice", [\App\Http\Controllers\Controller::class, 'sendAppError']); });