这段时间在做电商的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下。
这里用的后台框架是 laravel8.0,
首先需要在后台文件新建几个文件:
现在控制器文件夹创建一个api文件夹(为了代码的规范性)
在api文件夹中创建控制器:
LoginController
ProductsController
控制器互相关联,不可缺少任何一个
首先编辑ProductsController
新建shopGoods方法
public function shopGoods(Request $request){
}
注意别忘了引入方法
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\Category;
use App\Models\Product;
use App\Models\User;
use Illuminate\Http\Request;
在此方法内写入
$openid = $request->get('openid');
$token = $request->get('token');
//获取openid和token
$user = User::where('token',$token)->first();
if (!$user)
return response()->json(['status'=>1001,'msg'=>'请先登录!'],401);
$cates = (Category::limit(8)->get(['id','name','icon_url']))->toArray();
$goods = Product::limit(5)->get(['id','category_id','title','price','image'])->toArray();
$data = [
'cates'=> $cates,
'goods'=> $goods
];
return response()->json(['status'=>200,'data'=>$data],200);
开始写LoginController方法
注意引入方法
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use App\Models\User;
首先编写login方法用来判断登录等方法
public function login(Request $request)
{
}
在login方法内编写
try{
$this->validate($request,[
'name'=>'required',
'password'=>'required'
]);
}catch (\Exception $exception){
return response()->json(['status'=>1000,'msg'=>'账号或密码不能为空'],400);
}
$bool = auth()->guard('web')->attempt($request->all());
if ($bool){
$userModel = auth()->