public async Task <ResultModel <string> > GetOpenID(GetOpenIDRequestModel requestModel) { try { Guid userID = _userService.GetUserID(requestModel.Token); ApplicationDTO applicationInfo = await _applicationService.GetApplicationInfoAsync(requestModel.AppID, userID); if (applicationInfo == null) { return(ResultModel <string> .Fail("未注册该小程序")); } var weChatConfig = new WeChatConfigModel { APPID = applicationInfo.AppID, APPSECRET = applicationInfo.AppSecret }; var manager = new WeChatMiniProgramManager(weChatConfig); string openID = manager.GetOpenIDByCode(requestModel.Code); return(ResultModel <string> .Success(openID, "获取OpenID成功")); } catch (InvalidOperationException ex) { return(ResultModel <string> .Fail(ex.Message)); } catch (WeChatException ex) { return(ResultModel <string> .Fail(ex.Message)); } }
public async Task <ResultModel <UserLoginResultModel> > LoginByWeChatCode(WeChatMiniProgramLoginRequestModel requestModel) { var weChatAppletManager = new WeChatMiniProgramManager(ApplicationConfig.CYRecordBillWeChatConfig); string openID = weChatAppletManager.GetOpenIDByCode(requestModel.Code); try { TokenResponse tokenResponse = await IdentityClientHelper.GetTokenResponseAsync(openID, requestModel.NickName, LoginCategory.OpenID); if (tokenResponse.IsError) { return(ResultModel <UserLoginResultModel> .Fail(tokenResponse.ErrorDescription)); } var result = new UserLoginResultModel(tokenResponse.Raw.JsonToObject <TokenResultModel>()); return(ResultModel <UserLoginResultModel> .Success(result, "登录成功")); } catch (InvalidOperationException ex) { return(ResultModel <UserLoginResultModel> .Fail(ex.Message)); } }