/// <summary> /// 设置(保存)用户同意的授权结果,结果暂存65天 /// </summary> /// <param name="authResult">用户同意的授权结果</param> public void SetAuthorizedResult(OnceSubscribeAuthResult authResult) { if (authResult == null) { return; } if (string.IsNullOrWhiteSpace(authResult.OpenId)) { return; } string redisKey = string.Format(RedisKeyPrefix.WECHAT_ONCE_SUBSCRIBE, weChatConfig.AppID + "_" + authResult.OpenId + "_" + authResult.Scene); redisHelper.StringSet(redisKey, authResult, TimeSpan.FromDays(65)); }
/// <summary> /// 判断指定微信OpenId用户是否已同意授权某场景的一次性订阅 /// </summary> /// <param name="openId">微信用户OpenId</param> /// <param name="scene">指定场景值</param> /// <returns>暂存区内用户是否已同意授权</returns> public bool IsConfirmAuth(string openId, int scene) { string redisKey = string.Format(RedisKeyPrefix.WECHAT_ONCE_SUBSCRIBE, weChatConfig.AppID + "_" + openId + "_" + scene); OnceSubscribeAuthResult authResult = redisHelper.StringGet <OnceSubscribeAuthResult>(redisKey); if (authResult == null) { return(false); } if ("confirm".Equals(authResult.Action)) { return(true); } return(false); }