1. 安装

为了保险期间先创建一个分支

安装扩展包

lnclude机制的主要作用就是, 获取这个数据的,关于的额外数据。

1.编辑变形金刚文件

打开app\Transformers\TopicTransformer.php

2.开始测试数据

1.安装 dingo-serializer-switch我也不知道这个玩意是什么鬼,反正遇到这个问题就这么解决

2.修改路由

1.创建路由

2.创建数据转换层

编辑app/Transformers/UserTransformer.php

3.编辑控制器app/Http/Controllers/Api/UsersController.php

 

1.创建命令文件

2开始编辑app/Console/Commands/GetToken.php

3.测试命令

1安装组件

修改config/auth.php,将的 driver 改为 jwt

修改config/api.php添加内容

2.编辑模型

user 模型需要继承 Tymon\JWTAuth\Contracts\JWTSubject 接口,并实现接口的两个方法 getJWTIdentifier() 和 getJWTCustomClaims()。

测试一下

3编辑路由routes/api.php

4创建控制器和,验证类

编辑验证类app/Http/Requests/Api/AuthorizationRequest.php

编辑app/Http/Controllers/Api/AuthorizationsController.php

刷新Token

添加路由

添加方法

测试

在写微信登陆之前你可以先看看微信网页授权登陆原理,和laravel jwt-auth的使用,和本站api原生登陆

1. 安装 socialiteproviders

打开app/Providers/EventServiceProvider.php 添加事件

打开config/services.php添加配置

打开.env添加配置

测试是否配置正确,请将$code里面的值换成你的值,如果不知道$code怎么获取请看微信网页授权登陆原理

2.功能开发创建数据库

打开databases/migrations/< your_date >_add_weixin_openid_to_users_table.php

3.功能开发创建路由

打开routes\api.php文件

4.功能开发创建控制器和验证类

编写验证类app/Http/Requests/Api/SocialAuthorizationRequest.php

编辑控制类app/Http/Controllers/Api/AuthorizationsController.php

测试一下

1.创建配置文件

2.编辑配置文件config/easysms.php

3.创建服务

4.编辑服务app/providers/EasySmsServiceProvider.php

5.注册服务  打开config/app.php

6.编辑.env文件

7.测试打开 tinker

18612341234替换为您的手机号

原理图

1.图片验证码获取接口

1.下载图片验证码包

2 创建基类

编辑基类app/Http/Controllers/Api/Controller.php(这里使用了Dingo)

3.创建控制器和请求验证类

编辑请求验证类app/Http/Requests/Api/CaptchaRequest.php

编辑控制器app/Http/Controllers/Api/CaptchasController.php

4,编辑路由

 

2编辑短信验证码的方法

前提需要接入短信发送服务

1创建控制器和表单请求验证类

编辑表单验证类app/Http/Requests/Api/VerificationCodeRequest.php

编辑app/Http/Controllers/Api/VerificationCodesController文件

3编辑路由

3.编辑注册接口

1修改数据结构

编辑database/migrations/{your_date}_add_phone_to_users_table.php

执行迁移命令

2,创建控制器和请求验证类

编辑请求验证类

打开文件app/Http/Requests/Api/UserRequest.php

编辑控制器

打开文件app/Http/Controllers/Api/UsersController.php

3,修改模型

打开文件app/Models/User.php

4,编辑路由

打开文件routes/api.php

 

编辑路由routes/api.php

这里写了两个版本用浏览器打开  域名/api/version 就会看到 this is version v1 这条新信息,

 

如何切换版本使用POSTMan

定义请求头Accept ,后面的参数其实就是安装dingo/api的.env配置文件的参数

使用php-curl