Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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);
        }