bookShopApi

商城Api项目


小程序Code换取用户信息

<h5>接口描述</h5> <ul> <li>小程序wx.login获取到code之后,通过code换取本系统用户信息</li> </ul> <h5>请求URL</h5> <ul> <li><code>/api/auth/wx/code</code></li> </ul> <h5>请求方式</h5> <ul> <li>POST</li> </ul> <h5>请求参数</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">appid</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>小程序appid</td> </tr> <tr> <td style="text-align: left;">secret</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>小程序secret</td> </tr> <tr> <td style="text-align: left;">js_code</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>小程序wx.login返回的code</td> </tr> </tbody> </table> <blockquote> <p>注意:因为此Api要为多个小程序提供服务(多人在学习使用), 所以增加了appid, secret 两个参数, 在真实的项目中,appid, secret这两个参数应该配置在后端服务器中,并且一定要保证secret不被泄露</p> </blockquote> <h5>返回参数</h5> <p><strong>access_token</strong></p> <p>JWT Token 用于请求需要授权的API</p> <p><strong>user</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必含</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>主键</td> </tr> <tr> <td style="text-align: left;">name</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>昵称</td> </tr> <tr> <td style="text-align: left;">email</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>邮箱</td> </tr> <tr> <td style="text-align: left;">phone</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>手机号</td> </tr> <tr> <td style="text-align: left;">avatar</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>头像</td> </tr> <tr> <td style="text-align: left;">avatar_url</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>头像地址</td> </tr> <tr> <td style="text-align: left;">is_locked</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td>是否锁定: 0正常 1锁定</td> </tr> <tr> <td style="text-align: left;">created_at</td> <td style="text-align: left;">是</td> <td style="text-align: left;">timestamp</td> <td>创建时间</td> </tr> <tr> <td style="text-align: left;">updated_at</td> <td style="text-align: left;">是</td> <td style="text-align: left;">timestamp</td> <td>更新时间</td> </tr> </tbody> </table> <h5>返回示例</h5> <ul> <li>状态码 200 请求成功</li> </ul> <pre><code>{ "openid": "xxxxxxxxxxxxxxxxxxxxx", "access_token": "" "user": "", }</code></pre> <blockquote> <p>已从微信服务器获取到openid,但是通过openid查询本系统用户,用户不存在</p> </blockquote> <ul> <li>状态码 200 请求成功</li> </ul> <pre><code>{ "openid": "xxxxxxxxxxxxxxxxxxxxx", "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9ib29rc2hvcGFwaS5tYW1wXC9hcGlcL2F1dGhcL3d4XC9jb2RlIiwiaWF0IjoxNjIwMzcwNTA3LCJleHAiOjE2MjA3MzA1MDcsIm5iZiI6MTYyMDM3MDUwNywianRpIjoiRGd1RldvTUQ4YTlsVTR1QyIsInN1YiI6MSwicHJ2IjoiMjNiZDVjODk0OWY2MDBhZGIzOWU3MDFjNDAwODcyZGI3YTU5NzZmNyJ9.ej4pcMNwljxordjmLVtGlnfUCSSHC5RwBVWV15Tafzc", "user": { "id": 1, "name": "超级管理员", "email": "super@a.com", "phone": null, "avatar": "https://laravel-book-shop.oss-cn-beijing.aliyuncs.com/default/3.JPG", "unionid": null, "openid": "oMMJ95AU0mV-PJCEzGl-VUUd_xq4", "is_locked": 0, "email_verified_at": null, "created_at": "2021-01-04T08:29:43.000000Z", "updated_at": "2021-03-17T06:21:44.000000Z", "avatar_url": "https://laravel-book-shop.oss-cn-beijing.aliyuncs.com/default/3.JPG" } }</code></pre> <ul> <li>状态码 400 请求异常</li> </ul> <pre><code>{ "message": "code been used, hints: [ req_id: ahdcdiore-esUcZa ]", "status_code": 400, }</code></pre> <blockquote> <p>此错误为微信服务器返回的错误异常, 比如code已被使用。</p> </blockquote> <ul> <li>状态码 422 请求参数错误</li> </ul> <pre><code>{ "message": "The given data was invalid.", "errors": { "appid": [ "appid 不能为空" ], "secret": [ "secret 不能为空" ], "js_code": [ "js_code 不能为空" ] }, }</code></pre>

页面列表

ITEM_HTML