diff --git a/24Hour/Controllers/LoginController.cs b/24Hour/Controllers/LoginController.cs index a0aa5fa..2476d12 100644 --- a/24Hour/Controllers/LoginController.cs +++ b/24Hour/Controllers/LoginController.cs @@ -26,7 +26,7 @@ namespace _24Hour.Controllers /// /// 登录 /// - [HiddenApi] + // [HiddenApi] [ApiController] [Route("api/APP")] public class LoginController : ControllerBase @@ -301,7 +301,28 @@ namespace _24Hour.Controllers LogService.WriteLog(ex, "登录"); } return ret; - } + } + + /// + /// 微信Code 登陆 + /// + /// + /// + [HttpGet] + [Route("WeChatLoginCode")] + public async Task WeChatLoginByCode(string code) + { + var opendata = await GetOpenId(code); + if (opendata.IsSucceed==true) + { + return WeChatLogin(opendata.result); + } + else + { + return opendata; + } + } + /// /// 微信授权登录 @@ -389,7 +410,8 @@ namespace _24Hour.Controllers { try { - var data = await _db.Queryable().Where(q => q.phone == UserModel.phone).FirstAsync(); + + var data = await _db.Queryable().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync(); if (UserModel.identity == "律师") { if (data != null && (data.identity != "律师" || data.audit == 0)) @@ -582,6 +604,43 @@ namespace _24Hour.Controllers } return ret; } + /// + /// 小程序AppID + /// + private const string appid = "wx48108a0c98a3dab0"; + /// + /// 小程序secretID + /// + private const string secid = "e752e4fba67526eca21313a18c96a58f"; + /// + /// 获取微信openid + /// + /// + /// + [HttpGet("getOpenid")] + public async Task GetOpenId(string code) + { + var opendata = HttpHelper.Get($"https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secid}&js_code={code}&grant_type=authorization_code"); + var data = JsonConvert.DeserializeAnonymousType(opendata, new + { + openid=default(string), + session_key = default(string), + unionid = default(string), + errcode = default(int), + errmsg = default(string), + }); + if (data.errcode==0) + { + ret.IsSucceed = true; + ret.result = data.openid; + } + else + { + ret.IsSucceed = false; + ret.Message = data.errmsg; + } + return ret; + } }