提交 6fa4d440 authored 作者: 窦斌's avatar 窦斌

edit

上级 675d17c3
<?php
namespace App\Http\Controllers\Api\MobileWeb;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Validators\Api\MobileWeb\LoginValidator;
use BlueCity\Core\Inc\ErrorInc;
use App\Services\Api\MobileWeb\LoginService;
use Illuminate\Support\Facades\Crypt;
class LoginController extends Controller
{
public function __construct()
{
$this->dataValidator = new LoginValidator();
}
// 登录
public function login(Request $request)
{
// 验证数据
$error_message = $this->dataValidator->loginValidator($request->all());
if ($error_message) {
return response()->json(['ErrorCode'=>ErrorInc::INVALID_PARAM, 'ErrorMessage'=>$error_message->first(), 'data'=>[]]);
}
$return_data = LoginService::login($request->all());
return $return_data;
}
//退出
public function quit(Request $request)
{
return LoginService::quit($request->all());
}
}
<?php
namespace App\Http\Middleware;
use Closure;
use DB;
use Illuminate\Support\Facades\Crypt;
class WebLogin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(!$request->exists('api_token')){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效,请重新登录!','data'=>'']);
}
$request['api_token_old'] = $request['api_token'];
// 解密api_token,如果不是系统生成的token会解密失败
try{
$api_token = Crypt::decrypt($request['api_token']);
}catch (\Exception $e){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效,请重新登录!2','data'=>'']);
}
// 拿到token获取登录表信息
$login_web = DB::table('login_web')
->where('api_token','=',$api_token)
->select('lowe_last_login','api_token')
->first();
if(empty($login_web)){
return response()->json(["ErrorCode"=>300,'ErrorMessage'=>'api_token失效,请重新登录!3','data'=>'']);
}
// 当前时间
$hours = time();
// 如果最后登录时间小于当前时间,说明登陆过期
if($login_web->lowe_last_login < $hours){
return response()->json(["ErrorCode"=>300, 'ErrorMessage'=>'登陆过期,请重新登录', 'data'=>'']);
}
$now_time = $hours + 10*60*60;
if ($now_time > $login_web->lowe_last_login) {
// 每隔2个小时更新一次,降低更新次数,如果登录时间超过2个小时在操作就当前时间加12小时
DB::table('login_web')->where('api_token','=',$api_token)->update(['lowe_last_login'=>$hours + 12*60*60]);
}
$request['api_token'] = $api_token;//赋值解密后的token值
return $next($request);
}
}
<?php
namespace App\Http\Requests\Validators\Api\MobileWeb;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Validator;
// 移动端-账单列表
class BillingModuleValidator extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
// 列表验证器
public function indexValidator($data)
{
// 自定义错误消息
$messages = [
'admin_id.required' => '请输入服务商id',
'admin_id.integer' => '参数错误',
'type.required' => '请输入type值',
'type.max' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'admin_id' => 'required|integer|min:1',
'type' => [
'required',
Rule::in([1, 2]),
],
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 查看详情验证器
public function checkInfoValidator($data)
{
// 自定义错误消息
$messages = [
'admin_id.required' => '参数错误',
'stl_wat.required' => '请输入结算单号',
];
// 数据验证
$validator = Validator::make($data, [
'admin_id' => 'required|integer|min:1',
'stl_wat' => 'required',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 确认账单验证器
public function affirmBillValidator($data)
{
// 自定义错误消息
$messages = [
'admin_id.required' => '参数错误',
'wat_num.required' => '请输入结算单号',
];
// 数据验证
$validator = Validator::make($data, [
'admin_id' => 'required|integer|min:1',
'wat_num' => 'required',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 上传发票验证器
public function uploadInvoiceValidator($data)
{
// 自定义错误消息
$messages = [
'admin_id.required' => '参数错误',
'wat_num.required' => '请输入结算单号',
// 'stl_invoice_number.required' => '请输入发票单号',
// 'stl_expressage_number.required' => '请输入快递单号',
];
// 数据验证
$validator = Validator::make($data, [
'admin_id' => 'required|integer|min:1',
'wat_num' => 'required',
// 'stl_invoice_number' => 'required',
// 'stl_expressage_number' => 'required',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
}
<?php
namespace App\Http\Requests\Validators\Api\MobileWeb;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Validator;
class LoginValidator extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
// 登录验证器
public function loginValidator($data)
{
// 自定义错误消息
$messages = [
'account.required' => '请输入账号',
'account.max' => '参数错误',
'password.required' => '请输入密码',
'password.max' => '参数错误',
'login_type.required' => '请传入类型',
'login_type.in' => '参数错误',
'user_type.required' => '请传入类型',
'user_type.in' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'account' => 'required|string|max:50',
'password' => 'required|string|max:50',
'login_type' => [//类型1强制登录2不登录
'required',
Rule::in(['1', '2']),
],'user_type' => [//登录类型1技师2服务商
'required',
Rule::in(['1', '2']),
],
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
}
<?php
namespace App\Http\Requests\Validators\Api\MobileWeb;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Validator;
// 移动端-工单列表
class OrderListValidator extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
// 列表验证器
public function indexValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '请输入账号id',
'install_id.integer' => '参数错误',
'admin_id.required' => '请输入服务商id',
'admin_id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 详情验证器
public function infoValidator($data)
{
// 自定义错误消息
$messages = [
'deor_id.required' => '请输入设计工单id',
'deor_id.integer' => '参数错误',
'sys_num.required' => '请输入订单单号',
'sys_num.max' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'deor_id' => 'required|integer|min:1',
'sys_num' => 'required|string|max:50',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 接单验证器
public function receivingValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'id.required' => '请输入工单id',
'id.integer' => '参数错误',
'receive_install_id.required' => '请选择安装人员',
'receive_install_id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'id' => 'required|integer|min:1',
'receive_install_id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 拒单验证器
public function refuseValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'id.required' => '请输入服务工单id',
'id.integer' => '参数错误',
'remarks.required' => '请输入拒单备注',
'remarks.max' => '拒单备注长度超出限制',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'id' => 'required|integer|min:1',
'remarks' => 'required|string|max:255',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 开始安装验证器
public function startInstallValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'id.required' => '请输入服务工单id',
'id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 安装反馈验证器
public function installFeedbackValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'id.required' => '请输入服务工单id',
'type.required' => '请选择完成类型',
// 'template_data.required' => '请输入图片相关数据',
// 'license_plate.required' => '请输入车牌号',
// 'license_plate.max' => '长度超出限制',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'id' => 'required|integer|min:1',
'type' => 'required|integer|min:1',
// 'template_data' => 'required',
// 'license_plate' => 'required|string|max:20',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 操作记录验证器
public function operatingRecordValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'serial_number.required' => '请输入单号',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'serial_number' => 'required',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 反馈安装图片验证器
public function imageFeedbackValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'image_url.required' => '参数错误',
'image_id.required' => '参数错误',
'image_type.required' => '参数错误',
'id.required' => '请输入服务工单id',
'id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'image_url' => 'required|min:1',
'image_type' => 'required|min:1',
'image_id' => 'required|min:1',
'id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 反馈车牌车架号验证器
public function LicenseFeedbackValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'admin_id.required' => '参数错误',
'gd_id.required' => '参数错误',
'id.required' => '请输入服务工单id',
'id.integer' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'gd_id' => 'required|integer|min:1',
'id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
}
<?php
namespace App\Http\Requests\Validators\Api\MobileWeb;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Validator;
// 移动端-账单列表
class ServiceEvaluationValidator extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
// 列表验证器
public function indexValidator($data)
{
// 自定义错误消息
$messages = [
'admin_id.required' => '请输入服务商id',
'admin_id.integer' => '参数错误',
'type.required' => '请输入type值',
'type.max' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'admin_id' => 'required|integer|min:1',
'type' => [
'required',
Rule::in([1, 2]),
],
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
}
<?php
namespace App\Http\Requests\Validators\Api\MobileWeb;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Validator;
class TechnicianValidator extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return false;
}
// 新增验证器
public function addValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'install_id.integer' => '参数错误',
'install_id.min' => '参数错误',
'admin_id.required' => '参数错误',
'admin_id.integer' => '参数错误',
'admin_id.min' => '参数错误',
'install_name.required' => '请输入姓名',
'install_name.max' => '参数错误',
'install_phone.required' => '请输入联系电话',
'install_phone.max' => '参数错误',
'install_year.required' => '请选择入职时间',
'install_year.max' => '参数错误',
'install_is_type.required' => '请选择是否启用',
'install_is_type.max' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'install_name' => 'required|string|max:50',
'install_phone' => 'required|string|max:50',
'install_year' => 'required|string|max:50',
'install_is_type' => [
'required',
Rule::in([1, 2]),
],
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 修改密码验证器
public function changePasswordValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'install_id.integer' => '参数错误',
'install_id.min' => '参数错误',
'admin_id.required' => '参数错误',
'admin_id.integer' => '参数错误',
'admin_id.min' => '参数错误',
'password.required' => '请输入原密码',
'new_password.required' => '请输入新密码',
'new_password.regex' => '密码格式错误',
'new_password_affirm.required' => '请输入确认密码',
'new_password_affirm.same' => '两次密码不一致',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'password' => 'required',
'new_password' => [
'required',
'regex:/^[a-zA-Z\d_]{8,}$/', //正则验证密码格式
],
// 与密码数据保持一致
'new_password_affirm' => 'required|same:new_password',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
// 编辑展示验证器
public function editShowValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'install_id.integer' => '参数错误',
'install_id.min' => '参数错误',
'admin_id.required' => '参数错误',
'admin_id.integer' => '参数错误',
'admin_id.min' => '参数错误',
'edit_install_id.required' => '请输入技师id',
'edit_install_id.integer' => '参数错误',
'edit_install_id.min' => '参数错误',
'type.required' => '请输入类型',
'type.in' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
'edit_install_id' => 'required|integer|min:1',
'type' => [
'required',
Rule::in([1, 2]),
],
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
public function deleteValidator($data)
{
// 自定义错误消息
$messages = [
'install_id.required' => '参数错误',
'install_id.integer' => '参数错误',
'install_id.min' => '参数错误',
'admin_id.required' => '参数错误',
'admin_id.integer' => '参数错误',
'admin_id.min' => '参数错误',
];
// 数据验证
$validator = Validator::make($data, [
'install_id' => 'required|integer|min:1',
'admin_id' => 'required|integer|min:1',
], $messages);
// 判断数据验证是否成功
if ($validator->fails()) {
return $validator->errors();
}
}
}
<?php
namespace App\Services\Api\MobileWeb;
use App\Services\CommonService;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\DB;
use BlueCity\Core\Inc\ErrorInc;
use App\Models\{Company, InstallPerson};
use Illuminate\Support\Facades\Crypt;
class LoginService
{
// 登录
public static function login($request)
{
if ($request['user_type'] == 1) { //技师登录
// 查询登录账号数据
$find_person = InstallPerson::where('delet_y', 1)
->where('check_code', $request['account'])
->where('install_password', md5($request['password']))
->select('id', 'check_code', 'install_name', 'install_phone', 'install_is_type', 'admin_id')
->first();
} elseif($request['user_type'] == 2) { //服务商登录
//判定是否有公司名称字段
if(!isset($request['company_name']) || $request['company_name']==''){
return ['ErrorCode' => 201, 'ErrorMessage' => '请填写公司名称!', 'data' => ''];
}
//查询公司名称是否存在
$company_id = Company::where("com_name",$request['company_name'])->value('com_id');
// 查询登录账号数据
$find_person = DB::table('admin as adm')
->leftJoin('admin_infor as adin', 'adin.admin_id', '=', 'adm.id')
->where('admin_acc', $request['account'])
->whereIn('admin_groupnew', [2,3])
->where('admin_password', md5($request['password']))
->select('adm.id', 'admin_acc as check_code', 'admin_name as install_name', 'phone as install_phone', 'enable as install_is_type', 'adm.id as admin_id')
->first();
$find_person = CommonService::dataToArray($find_person);
}
if (empty($find_person)) {
return ['ErrorCode' => 202, 'ErrorMessage' => '账号密码错误!', 'data' => ''];
}
if ($find_person['install_is_type'] != 1) {
return ['ErrorCode' => 203, 'ErrorMessage' => '当前账号已停用!', 'data' => ''];
}
if ($request['openid']) {
// 微信授权绑定用户信息
$bingding_res = self::accreditBinding($request, $find_person);
}
$expiration_time = 12 * 60 * 60; //登录过期时间
// 生成token
$unique_string = md5(uniqid(md5(microtime(true)) . rand(100000, 999999), true)); //生成唯一字符串
$api_token = sha1($unique_string); //加密
$find_login = DB::table('login_web')
->where('install_id', '=', $find_person['id'])
->where('user_type', '=', $request['user_type'])
->select('lowe_id', 'install_id', 'lowe_last_login')
->first();
if (empty($find_login)) {
// 如果用户第一次登陆,将用户的登录状态保存到临时表
$lote_data['install_id'] = $find_person['id']; //账号id
$lote_data['lowe_last_login'] = time() + $expiration_time; //最后登陆时间
$lote_data['api_token'] = $api_token; //api_token
$lote_data['account'] = $find_person['check_code']; //登录账号
$lote_data['install_name'] = $find_person['install_name']??""; //账号姓名
$lote_data['install_phone'] = $find_person['install_phone']; //手机号
$lote_data['admin_id'] = $find_person['admin_id']; //所属服务中心id
$lote_data['user_type'] = $request['user_type']; //登录类型:1技师2服务商
$lote_data['role_auth'] = '';
$lote_data['auth_routes'] = '';
$lote_res = DB::table('login_web')->insert($lote_data);
if (empty($lote_res)) {
return ["ErrorCode" => 204, 'ErrorMessage' => '登录失败!1', 'data' => '{}'];
}
// 返回数据
$return_data = [
'api_token' => Crypt::encrypt($api_token), //生成前台token
'account' => $find_person['check_code'],
'install_name' => $find_person['install_name'],
'install_phone' => $find_person['install_phone'],
'install_id' => $find_person['id'],
'admin_id' => $find_person['admin_id'],
];
return ['ErrorCode' => 1, 'ErrorMessage' => '登录成功', 'data' => $return_data];
}
$now_time = time();
// 当前时间大于最后登陆时间,登录时间已过期,重新登录
// login_type 值为1 强制登录
if ($now_time > $find_login->lowe_last_login || $request['login_type'] == 1) {
//修改登陆状态
$lote_data['install_id'] = $find_person['id']; //账号id
$lote_data['lowe_last_login'] = time() + $expiration_time; //最后登陆时间
$lote_data['api_token'] = $api_token; //api_token
$lote_data['account'] = $find_person['check_code']; //登录账号
$lote_data['install_name'] = $find_person['install_name']; //账号姓名
$lote_data['install_phone'] = $find_person['install_phone']; //手机号
$lote_data['admin_id'] = $find_person['admin_id']; //所属服务中心id
$lote_res = DB::table('login_web')
->where('lowe_id', $find_login->lowe_id)
->update($lote_data);
if (empty($lote_res)) {
return ["ErrorCode" => 500, 'ErrorMessage' => '登录失败!2', 'data' => '{}'];
}
// 返回数据
$return_data = [
'api_token' => Crypt::encrypt($api_token), //生成前台token
'account' => $find_person['check_code'],
'install_name' => $find_person['install_name'],
'install_phone' => $find_person['install_phone'],
'install_id' => $find_person['id'],
'admin_id' => $find_person['admin_id'],
];
return ['ErrorCode' => 1, 'ErrorMessage' => '登录成功', 'data' => $return_data];
} else {
return ["ErrorCode" => 400, 'ErrorMessage' => '该用户已经登录', 'data' => '{}'];
}
}
// 微信授权绑定
public static function accreditBinding($request, $find_person)
{
// 查询数据表openID是否存在绑定,存在绑定改为离线
DB::table('installation_master')
->where('wechat_number',$request['openid'])
->update(['priority'=>2,'update_time'=>date('Y-m-d H:i:s')]);
$find_data = DB::table('installation_master')
->where('check_code',$find_person['check_code'])
->value('id');
if($find_data){
return DB::table('installation_master')
->where('id',$find_data)
->update(['priority'=>1,'wechat_number'=>$request['openid'],'update_time'=>date('Y-m-d H:i:s')]);
}else {
// 新增绑定关系
$data['wechat_number'] = $request['openid'];
$data['type'] = $request['user_type'];
$data['check_code'] = $find_person['check_code'];
$data['inst_name'] = $find_person['install_name'];
$data['inst_phone'] = $find_person['install_phone'];
$data['admin_id'] = $find_person['admin_id'];
$data['install_id'] = $find_person['id'];
$data['priority'] = 1;
return DB::table('installation_master')->insert($data);
}
}
// 退出
public static function quit($request)
{
try {
$api_token = Crypt::decrypt($request['api_token']);
} catch (\Exception $e) {
return ['ErrorCode' => ErrorInc::BUSINESS_FORBID, 'ErrorMessage' => 'api_token失效', 'data' => ''];
}
// 更改最后登录时间
$lote_data['lowe_last_login'] = 0; //最后登陆时间
$res = DB::table('login_web')
->where('api_token', $api_token)
->update($lote_data);
if ($res) {
return ['ErrorCode' => 1, 'ErrorMessage' => '退出成功', 'data' => '{}'];
} else {
return ["ErrorCode" => 201, 'ErrorMessage' => '退出失败', 'data' => '{}'];
}
}
}
......@@ -1402,3 +1402,45 @@ Route::group(['prefix' => 'RequestApp', 'namespace' => 'AppApi', 'middleware' =>
Route::group(['prefix' => 'Dou', 'namespace' => 'Dou'], function () {
Route::any('MyTest/test', 'MyTestController@test'); //测试入口
});
// 移动端网页功能
Route::namespace('Api')->group(function () {
// 技师登录
Route::post('w1/login', 'MobileWeb\LoginController@login'); //登录
Route::post('w1/quit', 'MobileWeb\LoginController@quit'); //退出
// 需要验证
Route::group(['middleware' => ['WebLogin']], function () {
Route::post('w1/OrderList/index', 'MobileWeb\OrderListController@index'); //服务工单列表
Route::post('w1/OrderList/receiving', 'MobileWeb\OrderListController@receiving'); //接单
Route::post('w1/OrderList/refuse', 'MobileWeb\OrderListController@refuse'); //拒单
Route::post('w1/OrderList/startInstall', 'MobileWeb\OrderListController@startInstall'); //开始安装
Route::post('w1/OrderList/inspect', 'MobileWeb\OrderListController@inspect'); //检验
Route::post('w1/OrderList/installFeedback', 'MobileWeb\OrderListController@installFeedback'); //安装反馈
Route::post('w1/OrderList/info', 'MobileWeb\OrderListController@info'); //详情
Route::post('w1/OrderList/getInstallPerson', 'MobileWeb\OrderListController@getInstallPerson'); //获取技师
Route::post('w1/OrderList/getLabel', 'MobileWeb\OrderListController@getLabel'); //获取标签
Route::post('w1/OrderList/operatingRecord', 'MobileWeb\OrderListController@operatingRecord'); //获取操作记录
Route::post('w1/OrderList/getFeedback', 'MobileWeb\OrderListController@getFeedback'); //获取安装反馈数据
Route::post('w1/OrderList/imageFeedback', 'MobileWeb\OrderListController@imageFeedback'); //施工反馈,图片反馈
Route::post('w1/OrderList/LicenseFeedback', 'MobileWeb\OrderListController@LicenseFeedback'); //施工反馈,车牌反馈
// 技师管理
Route::post('w1/Technician/index', 'MobileWeb\TechnicianController@index'); //技师列表
Route::post('w1/Technician/add', 'MobileWeb\TechnicianController@add'); //技师列表-新增
Route::post('w1/Technician/changePassword', 'MobileWeb\TechnicianController@changePassword'); //技师列表-修改密码
Route::post('w1/Technician/delete', 'MobileWeb\TechnicianController@delete'); //删除
Route::post('w1/Technician/edit', 'MobileWeb\TechnicianController@edit'); //编辑
// 账单模块
Route::post('w1/BillingModule/index', 'MobileWeb\BillingModuleController@index'); //列表
Route::post('w1/BillingModule/checkVoucher', 'MobileWeb\BillingModuleController@checkVoucher'); //查看凭证
Route::post('w1/BillingModule/checkInfo', 'MobileWeb\BillingModuleController@checkInfo'); //查看详情
Route::post('w1/BillingModule/affirmBill', 'MobileWeb\BillingModuleController@affirmBill'); //确认账单
Route::post('w1/BillingModule/uploadInvoice', 'MobileWeb\BillingModuleController@uploadInvoice'); //上传发票
// 服务评价
Route::post('w1/ServiceEvaluation/index', 'MobileWeb\ServiceEvaluationController@index'); //列表
});
});
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论