259 lines
9.2 KiB
PHP
259 lines
9.2 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | likeshop开源商城系统
|
||
// +----------------------------------------------------------------------
|
||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||
// | github下载:https://github.com/likeshop-github
|
||
// | 访问官网:https://www.likeshop.cn
|
||
// | 访问社区:https://home.likeshop.cn
|
||
// | 访问手册:http://doc.likeshop.cn
|
||
// | 微信公众号:likeshop技术社区
|
||
// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
|
||
// | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
|
||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||
// | likeshop团队版权所有并拥有最终解释权
|
||
// +----------------------------------------------------------------------
|
||
// | author: likeshop.cn.team
|
||
// +----------------------------------------------------------------------
|
||
|
||
|
||
namespace app\api\controller;
|
||
use app\api\logic\LoginLogic;
|
||
use app\common\server\ConfigServer;
|
||
|
||
class Account extends ApiBase
|
||
{
|
||
|
||
public $like_not_need_login = ['register','applogin', 'login', 'mnplogin', 'codeurl', 'oalogin', 'oplogin','logout','smslogin', 'uinAppLogin', 'silentLogin', 'authLogin'];
|
||
|
||
|
||
/**
|
||
* note 注册接口
|
||
* create_time 2020/10/23 18:42
|
||
*/
|
||
public function register(){
|
||
$post = $this->request->post();
|
||
$post['check_code'] = ConfigServer::get('register_setting', 'open', 0);
|
||
$result = $this->validate($post,'app\api\validate\Register');
|
||
if($result ===true){
|
||
$data = LoginLogic::register($post);
|
||
if($data){
|
||
$this->_success('注册成功',$data);
|
||
}
|
||
$this->_error('获取失败',$result,0);
|
||
}$this->_error($result,'',0);
|
||
}
|
||
/**
|
||
* showdoc
|
||
* @catalog 接口/账号
|
||
* @title 手机号账号登录
|
||
* @description 手机号账号登录
|
||
* @method post
|
||
* @url /account/login
|
||
* @return {"code":1,"msg":"登录成功","data":["token":"3237676fa733d73333341",//登录令牌"nickname":"好象cms-小林",//昵称"avatar":"http://b2c.yixiangonline.com/uploads/user/avatar/3f102df244d5b40f21c4b25dc321c5ab.jpeg",//头像url"level":0,//等级],"show":0,"time":"0.775400"}
|
||
* @param account 必填 string 账号或手机号
|
||
* @param id 必填 int 1-密码登录-2-验证码登录
|
||
* @param password 必填 string 密码
|
||
* @param client 必填 int 客户端类型:2-h5,3-ios,4-android
|
||
* @return_param token string 登录令牌
|
||
* @return_param nickname string 昵称
|
||
* @return_param avatar string 头像
|
||
* @remark
|
||
* @number 1
|
||
*/
|
||
public function login()
|
||
{
|
||
$post = $this->request->post();
|
||
$check = $this->validate($post, 'app\api\validate\Login.password');
|
||
if (true !== $check) {
|
||
$this->_error($check);
|
||
}
|
||
$data = LoginLogic::login($post);
|
||
$this->_success('登录成功', $data);
|
||
}
|
||
|
||
/**
|
||
* 验证码登录
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function smsLogin(){
|
||
$post = $this->request->post();
|
||
$post['message_key'] = 'YZMDL';
|
||
$check = $this->validate($post, 'app\api\validate\Login.code');
|
||
if (true !== $check) {
|
||
$this->_error($check);
|
||
}
|
||
$data = LoginLogic::login($post);
|
||
$this->_success('登录成功', $data);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 接口/账号
|
||
* @title 小程序登录
|
||
* @description 小程序登录
|
||
* @method post
|
||
* @url /account/mnpLogin
|
||
* @return {"code":1,"msg":"登录成功","data":["token":"3237676fa733d73333341",//登录令牌"nickname":"好象cms-小林",//昵称"avatar":"http://b2c.yixiangonline.com/uploads/user/avatar/3f102df244d5b40f21c4b25dc321c5ab.jpeg",//头像url"level":0,//等级],"show":0,"time":"0.775400"}
|
||
* @param code 必填 string code
|
||
* @param iv 必填 string iv
|
||
* @param encrypted_data 必填 string encrypted_data
|
||
* @return_param token string 登录令牌
|
||
* @return_param nickname string 昵称
|
||
* @return_param avatar string 头像
|
||
* @remark
|
||
* @number 1
|
||
*/
|
||
public function mnpLogin()
|
||
{
|
||
$post = $this->request->post();
|
||
$check = $this->validate($post, 'app\api\validate\MnpLogin');
|
||
if (true !== $check) {
|
||
$this->_error($check);
|
||
}
|
||
$data = LoginLogic::mnpLogin($post);
|
||
$this->_success($data['msg'], $data['data'], $data['code'], $data['show']);
|
||
}
|
||
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 接口/账号
|
||
* @title 获取获取向微信请求code的链接
|
||
* @description
|
||
* @method get
|
||
* @url /account/codeurl
|
||
* @param url 必填 varchar 前端当前url
|
||
* @return_param url string codeurl
|
||
* @remark 这里是备注信息
|
||
* @number 0
|
||
* @return {"code":1,"msg":"获取成功","data":{"url":'http://mp.weixin……'}}
|
||
*/
|
||
public function codeUrl()
|
||
{
|
||
$url = $this->request->get('url');
|
||
$this->_success('获取成功', ['url' => LoginLogic::codeUrl($url)], 1);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 接口/账号
|
||
* @title 微信H5登录
|
||
* @description 微信H5登录
|
||
* @method post
|
||
* @url /account/oalogin
|
||
* @return {"code":1,"msg":"登录成功","data":["token":"3237676fa733d73333341",//登录令牌"nickname":"好象cms-小林",//昵称"avatar":"http://b2c.yixiangonline.com/uploads/user/avatar/3f102df244d5b40f21c4b25dc321c5ab.jpeg",//头像url"level":0,//等级],"show":0,"time":"0.775400"}
|
||
* @param code 必填 string code
|
||
* @return_param token string 登录令牌
|
||
* @return_param nickname string 昵称
|
||
* @return_param avatar string 头像
|
||
* @remark
|
||
* @number 1
|
||
*/
|
||
public function oaLogin()
|
||
{
|
||
$post = $this->request->post();
|
||
$check = $this->validate($post, 'app\api\validate\OaLogin');
|
||
if (true !== $check) {
|
||
$this->_error($check);
|
||
}
|
||
$data = LoginLogic::oaLogin($post);
|
||
$this->_success($data['msg'], $data['data'], $data['code']);
|
||
}
|
||
|
||
/**
|
||
* showdoc
|
||
* @catalog 接口/账号
|
||
* @title 微信第三方app登录
|
||
* @description 微信第三方app登录
|
||
* @method post
|
||
* @url /account/oplogin
|
||
* @return {"code":1,"msg":"登录成功","data":["token":"3237676fa733d73333341",//登录令牌"nickname":"好象cms-小林",//昵称"avatar":"http://b2c.yixiangonline.com/uploads/user/avatar/3f102df244d5b40f21c4b25dc321c5ab.jpeg",//头像url"level":0,//等级],"show":0,"time":"0.775400"}
|
||
* @param code 必填 string code
|
||
* @param client 必填 int 客户端类型:3-ios,4-android
|
||
* @return_param token string 登录令牌
|
||
* @return_param nickname string 昵称
|
||
* @return_param avatar string 头像
|
||
* @remark
|
||
* @number 1
|
||
*/
|
||
public function opLogin()
|
||
{
|
||
$post = $this->request->post();
|
||
$check = $this->validate($post, 'app\api\validate\OpLogin');
|
||
if (true !== $check) {
|
||
$this->_error($check);
|
||
}
|
||
$data = LoginLogic::opLogin($post);
|
||
$this->_success($data['msg'], $data['data'], $data['code']);
|
||
}
|
||
|
||
|
||
/**
|
||
* 退出登录
|
||
* @throws \think\Exception
|
||
* @throws \think\db\exception\DataNotFoundException
|
||
* @throws \think\db\exception\ModelNotFoundException
|
||
* @throws \think\exception\DbException
|
||
* @throws \think\exception\PDOException
|
||
*/
|
||
public function logout()
|
||
{
|
||
LoginLogic::logout($this->user_id, $this->client);
|
||
//退出登录只有成功
|
||
$this->_success();
|
||
}
|
||
|
||
|
||
/**
|
||
* Notes: uniapp微信登录
|
||
* @author 段誉(2021/3/16 16:00)
|
||
*/
|
||
public function uinAppLogin()
|
||
{
|
||
$post = $this->request->post();
|
||
$data = LoginLogic::uinAppLogin($post);
|
||
$this->_success($data['msg'], $data['data'], $data['code']);
|
||
}
|
||
|
||
|
||
|
||
|
||
//2021-0419 小程序新版登录调整
|
||
|
||
/**
|
||
* Notes: 小程序登录(旧系统用户,返回用户信息,否则返回空)
|
||
* @author 段誉(2021/4/19 16:50)
|
||
*/
|
||
public function silentLogin()
|
||
{
|
||
$post = $this->request->post();
|
||
if (empty($post['code'])) {
|
||
$this->_error('参数缺失');
|
||
}
|
||
$data = LoginLogic::silentLogin($post);
|
||
$this->_success($data['msg'], $data['data'], $data['code'], $data['show']);
|
||
}
|
||
|
||
|
||
/**
|
||
* Notes: 小程序登录(新用户登录->需要提交昵称和头像参数)
|
||
* @author 段誉(2021/4/19 16:49)
|
||
*/
|
||
public function authLogin()
|
||
{
|
||
$post = $this->request->post();
|
||
if (empty($post['code']) || empty($post['nickname'])) {
|
||
$this->_error('参数缺失');
|
||
}
|
||
$data = LoginLogic::authLogin($post);
|
||
$this->_success($data['msg'], $data['data'], $data['code'], $data['show']);
|
||
}
|
||
|
||
|
||
} |