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 = "";//清空推广人 } } } }
/* * 进来时逻辑判断: * 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 } }