예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            code      = WEBRequest.GetQueryString("code");
            ExtendKey = WEBRequest.GetQueryString("ExtendKey");
            IsLogin   = WebUserAuth.IsAuthenticated ? 1 : 0;


            if (!IsPostBack)
            {
                WeiXinApi jssdk = new WeiXinApi();
                jssdk.InitApi();
                System.Collections.Hashtable hs = jssdk.getSignPackage();
                AppId     = hs["appId"].ToString();
                NonceStr  = hs["nonceStr"].ToString();
                TimeStamp = hs["timestamp"].ToInt(0);
                Signature = hs["signature"].ToString();
            }
            ThirdLoginSDK sdkApi = new ThirdLoginSDK();

            sdkApi.InitSDK(ThirdLoginSDK.ThirdLoginType.WeiXin);
            HostOpenId = sdkApi.GetCookieOpenId(code);

            if (!IsPostBack)
            {
                //判断有没帮好友做过,假如有为好友过时,则显示出自已领蛋糕的界面。 Allen 2015-07-13
                if (ExtendKey.IsNotEmpty())
                {
                    //帮好友做蛋糕
                    bool isDoCake = AjaxHandler.CheckUserHasDoCake(ExtendKey, HostOpenId);
                    if (isDoCake)
                    {
                        ExtendKey = "";//清空推广人
                    }
                }
            }
        }
예제 #2
0
        /*
         * 进来时逻辑判断:
         * 1.第一次直接扫码进来时,就显示上传图片界面。
         * 2.第二次扫码进来时,显示自已头像,显示好友个数。
         * 2.从第一位好友分享进来时。显示好友头像,再做相片
         * 3.从第二次好友分享进来时,显示自已头像,再加提示“红包已领取过”
         * 4. 活动已结束时,任何动作进来直接 显示自已头像,显示“活动已结束,感谢参与”
         * 5. 领取奖品结束时,自已进来时,显示“红包已过期”
         */

        private void InitPageData()
        {
            //读取活动的配置信息
            ActivityConfigInfo configInfo = GetActivityConfig();

            if (configInfo != null)
            {
                WealthPage.ActivityStartDate = configInfo.ActivityStartDate;
                WealthPage.ActivityEndDate   = configInfo.ActivityEndDate;
            }

            ThirdLoginSDK sdkApi = new ThirdLoginSDK();

            sdkApi.InitSDK(ThirdLoginSDK.ThirdLoginType.WeiXin);
            SelfOpenId = sdkApi.GetCookieOpenId(code);

            WealthPage.GodWealthRecordInfo wealthInfo = WealthPage.GetUserGodWealthInfo(SelfOpenId);
            #region 活动已结束情况
            if (WealthPage.ActivityEndDate <= DateTime.Now)
            {
                this.UserStatus = "1";
                //活动已结束时,这里显示自已的头像,姓名
                this.GetCaiShengInfo(wealthInfo);
                return;
            }
            #endregion

            //判断奖品是否已发送完毕 (前提自已没有当过财神进来时才提示)
            if (configInfo == null || (wealthInfo == null && configInfo.UsePrizeNum >= configInfo.TotalPrizeNum))
            {
                //活动已结束时,这里显示自已的头像,姓名
                wealthInfo = WealthPage.GetUserGodWealthInfo(ExtendKey != "" ? ExtendKey : SelfOpenId);
                this.GetCaiShengInfo(wealthInfo);
                this.UserStatus = "6";
                return;
            }

            //自已直接进来或点自已分享链接时
            if (ExtendKey.IsEmpty() || ExtendKey == SelfOpenId)
            {
                #region 自已做财神
                wealthInfo = WealthPage.GetUserGodWealthInfo(SelfOpenId);
                if (wealthInfo == null)
                {
                    this.UserStatus = "2";
                    return;
                }
                else
                {
                    this.UserStatus = "3";
                    this.GetCaiShengInfo(wealthInfo);
                    RedPackedStatus = CheckRedPacketStatus().ToString();
                }
                #endregion
            }
            else
            {
                #region 好友派发红包时
                WealthPage.GodWealthRecordInfo selfWealthInfo = WealthPage.GetUserGodWealthInfo(SelfOpenId);
                if (selfWealthInfo != null)
                {
                    //第二个好友分享后,点进来判断有领过红包
                    this.GetCaiShengInfo(selfWealthInfo);
                    this.UserStatus = "5";
                }
                else
                {
                    wealthInfo = WealthPage.GetUserGodWealthInfo(ExtendKey);
                    //如果财神爷数据找不到,就跳转
                    if (wealthInfo == null)
                    {
                        Response.Redirect(GlobalUtils.WebURL + "/Activity/GodWealth/AuthorIndex.aspx");
                        return;
                    }
                    this.UserStatus = "4";
                    this.GetCaiShengInfo(wealthInfo);
                }
                #endregion
            }
        }