public WeiXinAccessToken GetAccessToken(WeiXinAppInfo appInfo) { if (string.IsNullOrEmpty(appInfo.AppId) || string.IsNullOrEmpty(appInfo.AppSecret)) { throw new Exception(string.Format("系统中 {0} 的微信配置不完全,AppID或AppSecret为空.", appInfo.wxName)); } //获取缓存的Access_Token var accessTokenList = this.Get(item => !item.Expired); if (accessTokenList.Any(item => !item.IsExpired())) { return(accessTokenList.FirstOrDefault(item => !item.IsExpired())); } else { if (accessTokenList.Count > 0) { //this.Update(accessTokenList.ToList().SelectMany<WeiXinAccessToken,WeiXinAccessToken>()); } //数据库不存在相应的AccessToken,则调用服务,再次获取 var newAccessToken = new WeiXinAccessToken(); newAccessToken.AppId = appInfo.id; newAccessToken.Id = Guid.NewGuid(); newAccessToken.Expired = false; AccessTokenResult result = CommonApi.GetToken(appInfo.AppId, appInfo.AppSecret); newAccessToken.SysDateTime = DateTime.Now; newAccessToken.Ticket = result.access_token; newAccessToken.Expires = result.expires_in; } return(null); }
public ActionResult UserInfo() { WeiXinAppInfo weiXinAppInfo = ServerParam.Instance.WeiXinAppInfo; AccessTokenContainer.Register(ServerParam.Instance.WeiXinAppInfo.AppID, ServerParam.Instance.WeiXinAppInfo.AppSecret); var accessToken = AccessTokenContainer.GetToken(ServerParam.Instance.WeiXinAppInfo.AppID); var result = Senparc.Weixin.MP.AdvancedAPIs.User.Info(accessToken, ServerParam.Instance.WeiXinAppInfo.OpenID); return(View(result)); }
public async Task <UserSessionInfo> Code2Session(WeiXinAppInfo appInfo, string jsCode) { var request = new AuthorizeCode2SessionRequest { AppId = appInfo.AppId, Secret = appInfo.AppSecret, JSCode = jsCode }; var response = await ServiceInvoker.RequestService <AuthorizeCode2SessionResponse>(request); return(response); }
public WeiXinJsApiTicket GetJsApiTicket(WeiXinAppInfo appInfo) { return(null); }
public WeiXinAccessToken GetAccessToken(WeiXinAppInfo appInfo) { return(null); }
public bool Add(WeiXinAppInfo appInfo) { return(_AppRepository.Add(appInfo)); }