Browse Source

添加微信登陆时律师身份验证

develop-lawyerExampaper
胡超1 2 years ago
parent
commit
8e2c8ccf2d
  1. 55
      24Hour/Controllers/LoginController.cs

55
24Hour/Controllers/LoginController.cs

@ -35,12 +35,14 @@ namespace _24Hour.Controllers
private readonly SqlSugarClient _db;//数据库
private readonly WriteSysLog _logs;//操作日志
private readonly ILogger<LoginController> _logger;//日志
private readonly WechatMessagerClient wechatMessagerClient;
Result ret = new Result();
public LoginController(ILogger<LoginController> logger, SqlSugarClient db, IConfiguration configuration)
public LoginController(ILogger<LoginController> logger, SqlSugarClient db, IConfiguration configuration, WechatMessagerClient _wechatMessagerClient)
{
_logger = logger;
_db = db;
_configuration = configuration;
this.wechatMessagerClient = _wechatMessagerClient;
}
[HttpPost]
@ -313,9 +315,9 @@ namespace _24Hour.Controllers
public async Task<Result> WeChatLoginByCode(string code)
{
var opendata = await GetOpenId(code);
if (opendata.IsSucceed==true)
if (opendata.IsSucceed == true)
{
return WeChatLogin(opendata.result);
return await WeChatLogin(opendata.result);
}
else
{
@ -349,6 +351,18 @@ namespace _24Hour.Controllers
// return ret;
//}
//else
if (date.identity == "律师" && date.audit == 1)
{
ret.IsSucceed = false;
ret.Message = $"用户信息审核未通过,原因:{date.describe},请重新注册!";
return ret;
}
else if (date.identity == "律师" && date.audit == 2)
{
ret.IsSucceed = false;
ret.Message = "用户信息审核中!";
return ret;
}
if (date.usertype == 0 && date.becurrent == 1)
{
ret.IsSucceed = false;
@ -386,7 +400,8 @@ namespace _24Hour.Controllers
identity = date.identity,
usertype = date.usertype,
unitCode = date.unitCode,
token = tokenString
token = tokenString,
openId = date.wechatId
};
#endregion
ret.IsSucceed = true;
@ -394,7 +409,7 @@ namespace _24Hour.Controllers
else
{
ret.IsSucceed = false;
ret.Message = "΢ÐÅδÊÚȨ£¡";
ret.Message = "微信未授权,请先注册账号!";
}
return ret;
}
@ -410,6 +425,12 @@ namespace _24Hour.Controllers
{
try
{
if (string.IsNullOrEmpty(UserModel.wechatId) && await _db.Queryable<App_Sys_UserModel>().AnyAsync(x => x.wechatId == UserModel.wechatId && x.IsDeleted == 0))
{
ret.IsSucceed = false;
ret.Message = "当前微信已与其他账号绑定";
return ret;
}
var data = await _db.Queryable<App_Sys_UserModel>().Where(q => q.phone == UserModel.phone && q.IsDeleted == 0).FirstAsync();
if (UserModel.identity == "律师")
@ -618,29 +639,7 @@ namespace _24Hour.Controllers
/// <param name="code"></param>
/// <returns></returns>
[HttpGet("getOpenid")]
public async Task<Result> 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;
}
public Task<Result> GetOpenId(string code) => wechatMessagerClient.GetOpenId(code);
}

Loading…
Cancel
Save