全栈小学生 0e47055ccb v1.0.0-beta.1
2023-04-15 17:12:49 +08:00

102 lines
2.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的saas管理平台
// +----------------------------------------------------------------------
// | 官方网址https://www.niucloud-admin.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\wechat;
use app\BaseController;
use app\service\api\wechat\WechatAuthService;
use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
use think\Response;
class Wechat extends BaseController
{
//todo csrf 验证也需要
/**
* 获取跳转获取code
* @return Response
* @throws InvalidArgumentException
*/
public function getCodeUrl(){
$data = $this->request->params([
['url', ''],
['scopes', '']
]);
$wechat_auth_service = new WechatAuthService();
return success($wechat_auth_service->authorization($data['url'], $data['scopes']));
}
/**
* 授权登录
* @return void
*/
public function login(){
$data = $this->request->params([
['code', ''],
]);
$wechat_auth_service = new WechatAuthService();
return success($wechat_auth_service->loginByCode($data['code']));
}
/**
* 注册
* @return Response
* @throws InvalidArgumentException
*/
public function register(){
$data = $this->request->params([
['openid', ''],
['mobile', ''],
]);
//参数验证
$this->validate($data, [
'mobile' => 'mobile'
]);
$wechat_auth_service = new WechatAuthService();
return success($wechat_auth_service->register($data['openid'], $data['mobile']));
}
/**
* 同步
* @return Response
* @throws InvalidArgumentException
*/
public function sync(){
$data = $this->request->params([
['code', ''],
]);
$wechat_auth_service = new WechatAuthService();
return success($wechat_auth_service->sync($data['code']));
}
/**
* 获取jssdk config
* @return Response
*/
public function jssdkConfig(){
$data = $this->request->params([
['url', ''],
]);
$wechat_auth_service = new WechatAuthService();
return success($wechat_auth_service->jssdkConfig($data['url']));
}
/**
* 扫码登录
* @return void
*/
public function scanLogin(){
$wechat_auth_service = new WechatAuthService();
return success($wechat_auth_service->scanLogin());
}
}