Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            Song.Entities.RechargeSet  mm  = Business.Do <IRecharge>().RechargeSetSingle(id);
            //创建文件
            string name     = string.Format("{0}-充值码({1}).xls", mm.Rs_Theme, DateTime.Now.ToString("yyyy-MM-dd hh-mm"));
            string filePath = Upload.Get["Temp"].Physics + name;

            filePath = Business.Do <IRecharge>().RechargeCode4Excel(filePath, org.Org_ID, id);
            if (System.IO.File.Exists(filePath))
            {
                FileInfo fileInfo = new FileInfo(filePath);
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileInfo.Name));
                Response.AddHeader("Content-Length", fileInfo.Length.ToString());
                Response.AddHeader("Content-Transfer-Encoding", "binary");
                Response.ContentType     = "application/-excel";
                Response.ContentEncoding = System.Text.Encoding.Default;
                Response.WriteFile(fileInfo.FullName);
                Response.Flush();
                Response.End();
                File.Delete(filePath);
            }
        }
 private void isLogin()
 {
     //账号为空
     if (string.IsNullOrWhiteSpace(acc))
     {
         this.Response.Redirect("index.ashx?error=1");
     }
     //验证码不正确
     if (!isCodeImg())
     {
         this.Response.Redirect("index.ashx?error=2&acc=" + acc);
     }
     //当前机构,通过二级域名判断,如果不存在或无法判断,则返回默认机构
     Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
     //通过验证,进入登录状态
     Song.Entities.EmpAccount emp = Business.Do <IEmployee>().EmpLogin(acc, pw, org.Org_ID);
     if (emp != null)
     {
         LoginState.Admin.Write(emp);
         this.Response.Redirect("panel.ashx");
     }
     else
     {
         //密码不正确
         this.Response.Redirect("index.ashx?error=3&acc=" + acc);
     }
 }
Beispiel #3
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            int sum = 0;
            List <Song.Entities.Course> cour = Business.Do <ICourse>().CoursePager(org.Org_ID, -1, -1, true, "", "def", size, index, out sum);
            string tm = "{\"sum\":" + sum + ",\"index\":" + index + ",\"object\":[";

            for (int i = 0; i < cour.Count; i++)
            {
                Song.Entities.Course c = cour[i];
                c.Cou_LogoSmall = Upload.Get["Course"].Virtual + c.Cou_LogoSmall;
                c.Cou_Logo      = Upload.Get["Course"].Virtual + c.Cou_Logo;
                //c.Cou_Intro = HTML.ClearTag(c.Cou_Intro);
                cour[i].Cou_Intro = "";
                cour[i].Cou_Name  = cour[i].Cou_Name.Replace("\"", "&quot;");
                tm += "" + cour[i].ToJson();
                if (i < cour.Count - 1)
                {
                    tm += ",";
                }
            }
            tm += "]}";
            context.Response.Write(tm);
        }
Beispiel #4
0
        string order  = WeiSha.Common.Request.QueryString["order"].String;      //排序,flux流量最大优先,def推荐、流量,tax排序号,new最新,rec推荐
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            int sum = 0;
            List <Song.Entities.Course> cour = Business.Do <ICourse>().CoursePager(org.Org_ID, sbjid, -1, true, search, order, size, index, out sum);
            string tm = "{\"sum\":" + sum + ",\"index\":" + index + ",\"size\":" + size + ",\"sbjid\":" + sbjid + ",\"object\":[";

            for (int i = 0; i < cour.Count; i++)
            {
                Song.Entities.Course c = cour[i];
                c.Cou_LogoSmall = Upload.Get["Course"].Virtual + c.Cou_LogoSmall;
                c.Cou_Logo      = Upload.Get["Course"].Virtual + c.Cou_Logo;
                //是否免费,或是限时免费
                if (c.Cou_IsLimitFree)
                {
                    DateTime freeEnd = c.Cou_FreeEnd.AddDays(1).Date;
                    if (!(c.Cou_FreeStart <= DateTime.Now && freeEnd >= DateTime.Now))
                    {
                        c.Cou_IsLimitFree = false;
                    }
                }
                c.Cou_Intro = c.Cou_Target = c.Cou_Content = "";
                c.Cou_Name  = c.Cou_Name.Replace("\"", "&quot;");
                tm         += "" + c.ToJson();
                if (i < cour.Count - 1)
                {
                    tm += ",";
                }
            }
            tm += "]}";
            context.Response.Write(tm);
        }
        /// <summary>
        /// get请求时
        /// </summary>
        protected void _StateForGET()
        {
            string token  = WeiSha.Common.Request.QueryString["token"].String;
            string openid = WeiSha.Common.Request.QueryString["openid"].String;

            this.Document.Variables.SetValue("openid", openid);
            this.Document.Variables.SetValue("token", token);
            //设置主域,用于js跨根域
            if (!WeiSha.Common.Server.IsLocalIP)
            {
                this.Document.Variables.SetValue("domain", WeiSha.Common.Request.Domain.MainName);
            }
            //当前机构
            Song.Entities.Organization org = getOrgan();
            this.Document.Variables.SetValue("org", org);
            if (!WeiSha.Common.Server.IsLocalIP)
            {
                this.Document.Variables.SetValue("domain", WeiSha.Common.Request.Domain.MainName);
            }
            this.Document.SetValue("domain2", getOrganDomain(org));
            //获取帐户,如果已经注册,则直接实现登录
            Song.Entities.Accounts acc = Business.Do <IAccounts>().Account4Weixin(openid);
            if (acc != null)
            {
                this.Document.Variables.SetValue("acc", acc);
                //直接实现登录
                if (acc.Ac_IsPass && acc.Ac_IsUse)
                {
                    LoginState.Accounts.Write(acc);
                    Business.Do <IAccounts>().PointAdd4Login(acc, "电脑网页", "微信登录", ""); //增加登录积分
                    Business.Do <IStudent>().LogForLoginAdd(acc);
                    this.Document.Variables.SetValue("success", "1");                  //登录成功
                }
                else
                {
                    this.Document.Variables.SetValue("success", "-1");   //账户禁用中
                }
            }
            else
            {
                //账户不存在,以下用于注册
                //相关参数
                WeiSha.Common.CustomConfig config = CustomConfig.Load(org.Org_Config);
                //登录方式
                bool IsLoginForPw  = config["IsLoginForPw"].Value.Boolean ?? true;   //启用账号密码登录
                bool IsLoginForSms = config["IsLoginForSms"].Value.Boolean ?? true;  //启用手机短信验证登录
                this.Document.SetValue("forpw", IsLoginForPw);
                this.Document.SetValue("forsms", IsLoginForSms);
                this.Document.SetValue("IsWeixinDirect", Business.Do <ISystemPara>()["WeixinDirectIs"].Boolean ?? true); //是否允许微信直接注册登录
                //获取qq登录账户的信息
                Song.Entities.Accounts acctm = getUserInfo(token, openid);
                if (acctm != null)
                {
                    this.Document.Variables.SetValue("name", acctm.Ac_Name);    //QQ昵称
                    this.Document.Variables.SetValue("photo", acctm.Ac_Photo);  //40*40头像
                    this.Document.Variables.SetValue("gender", acctm.Ac_Sex);   //性别
                }
                this.Document.Variables.SetValue("acctm", acctm);
            }
        }
Beispiel #6
0
        /// <summary>
        /// 未存在账号,直接登录(创建新账号)
        /// </summary>
        private void _DirectLogin()
        {
            string access_token = WeiSha.Common.Request.QueryString["token"].String;
            string openid       = WeiSha.Common.Request.Form["openid"].String;

            Song.Entities.Organization org = getOrgan();
            //获取qq登录账户的信息
            Song.Entities.Accounts acc = Business.Do <IAccounts>().Account4QQ(openid);
            if (acc == null)
            {
                acc = getUserInfo(access_token, openid);
                //头像图片
                string photoPath = Upload.Get["Accounts"].Physics + openid + ".jpg";
                WeiSha.Common.Request.LoadFile(acc.Ac_Photo, photoPath);
                acc.Ac_Photo = openid + ".jpg";
                //获取推荐人
                int recid = WeiSha.Common.Request.Cookies["sharekeyid"].Int32 ?? 0;
                Song.Entities.Accounts accRec = null;
                if (accRec == null && recid > 0)
                {
                    accRec = Business.Do <IAccounts>().AccountsSingle(recid);
                }
                if (accRec != null && accRec.Ac_ID != acc.Ac_ID)
                {
                    acc.Ac_PID = accRec.Ac_ID;                           //设置推荐人,即:当前注册账号为推荐人的下线
                    Business.Do <IAccounts>().PointAdd4Register(accRec); //增加推荐人积分
                }
                //如果需要审核通过
                acc.Ac_IsPass = acc.Ac_IsUse = true;
                int id = Business.Do <IAccounts>().AccountsAdd(acc);
                LoginState.Accounts.Write(acc);
            }
            Response.Write("{\"success\":\"1\",\"name\":\"" + acc.Ac_Name + "\",\"acid\":\"" + acc.Ac_ID + "\",\"state\":\"1\"}");
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     this.Page.Form.DefaultButton = this.btnEnter.UniqueID;
     //_setLeftMenu();
     //上一步、下一步按钮的显示与否
     btnPrev.Visible = this.PrevHref() != null;
     btnNext.Visible = this.NextHref() != null;
     //绑定数据
     rptLeftMenu.DataSource = _leftMenu;
     rptLeftMenu.DataBind();
     //如果是新增,则只显示第一个按钮
     if (this.Couid == 0)
     {
         for (int i = 0; i < rptLeftMenu.Items.Count; i++)
         {
             HyperLink link = (HyperLink)rptLeftMenu.Items[i].FindControl("link");
             if (i != 0)
             {
                 link.NavigateUrl = "";
                 link.ToolTip     = "点击下一步,新建课程后,才能编辑相关内容";
             }
         }
     }
     if (!IsPostBack)
     {
         Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
         lbPlateName.Text = org.Org_PlatformName;
         Song.Entities.Course cur = Business.Do <ICourse>().CourseSingle(couid);
         if (cur != null)
         {
             lbCouName.Text = " - 《" + cur.Cou_Name + "》";
         }
     }
 }
Beispiel #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Hub hub = Hub.Create("", "", "");

            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();

            this.Title = IsDestopApp.ToString();
        }
Beispiel #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            org = Business.Do <IOrganization>().OrganCurrent();
            Song.Entities.LearningCardSet set = Business.Do <ILearningCard>().SetSingle(id);
            if (set != null)
            {
                set.Lsc_UsedCount = Business.Do <ILearningCard>().CardUsedCount(set.Lcs_ID);
            }
            this.EntityBind(set);
            if (set != null)
            {
                this.Title += set.Lcs_Theme;
            }

            //当前学习卡关联的课程
            Song.Entities.Course[] courses = Business.Do <ILearningCard>().CoursesGet(set);
            if (courses != null)
            {
                dlCourses.DataSource = courses;
                dlCourses.DataBind();
            }
            //当前学习卡的编码
            Song.Entities.LearningCard[] cards = Business.Do <ILearningCard>().CardCount(-1, set.Lcs_ID, true, null, -1);
            if (cards != null)
            {
                //生成二维码的配置
                //各项配置
                WeiSha.Common.CustomConfig config = CustomConfig.Load(org.Org_Config);               //自定义配置项
                string centerImg = Upload.Get["Org"].Virtual + config["QrConterImage"].Value.String; //中心图片
                centerImg = WeiSha.Common.Server.MapPath(centerImg);
                string color = config["QrColor"].Value.String;                                       //二维码前景色
                //生成二维码的字符串
                string[] qrcodes = new string[cards.Length];
                string   url     = lbUrl.Text.Trim();
                string   domain  = this.Request.Url.Scheme + "://" + this.Request.Url.Host + ":" + this.Request.Url.Port;
                for (int i = 0; i < cards.Length; i++)
                {
                    if (cards[i].Lc_IsUsed)
                    {
                        continue;
                    }
                    qrcodes[i] = string.Format(url, domain, cards[i].Lc_Code, cards[i].Lc_Pw);
                }
                //批量生成二维码
                System.Drawing.Image[] images = WeiSha.Common.QrcodeHepler.Encode(qrcodes, 200, centerImg, color, "#fff");
                for (int i = 0; i < cards.Length; i++)
                {
                    if (images[i] == null)
                    {
                        cards[i].Lc_QrcodeBase64 = lbUsedImg.Text;
                        continue;
                    }
                    cards[i].Lc_QrcodeBase64 = "data:image/JPG;base64," + WeiSha.Common.Images.ImageTo.ToBase64(images[i]);
                }
                rtpCode.DataSource = cards;
                rtpCode.DataBind();
            }
        }
Beispiel #10
0
        protected override void InitPageTemplate(HttpContext context)
        {
            #region 此段代码用于取token与openid
            string code = WeiSha.Common.Request.QueryString["code"].String;
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(code))
            {
                string orgid        = WeiSha.Common.Request.QueryString["state"].String; //机构id
                string openid       = string.Empty;
                string access_token = getToken(out openid);
                //二级域名
                Song.Entities.Organization org = getOrgan(-1);
                string domain = getOrganDomain(org);
                string uri    = "{0}/{1}?token={2}&openid={3}&orgid={4}";
                uri = string.Format(uri, domain, WeiSha.Common.Request.Page.FileName, access_token, openid, orgid);
                this.Document.Variables.SetValue("gourl", uri); //传到客户端,进行跳转
                return;
            }
            #endregion

            #region 具体操作代码
            string token = WeiSha.Common.Request.QueryString["token"].String;
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(token))
            {
                _StateForGET();
            }
            #endregion

            //此页面的ajax提交,全部采用了POST方式
            if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
            {
                string action = WeiSha.Common.Request.Form["action"].String;
                switch (action)
                {
                case "Direct": _directLogin();       //直接登录
                    break;

                case "getRegSms": sendSmsVcode();      //验证手机注册时,获取短信时的验证码
                    break;

                case "register1": register1();     //直接注册,无需验证手机号
                    break;

                case "register2": register2();     //用手机注册,需短信验证手机号
                    break;

                case "bind1": bind1();      //绑定已经存在账户,不验证手机
                    break;

                case "bind2": bind2();      //绑定已经存在账户,验证手机号
                    break;

                default:
                    //acclogin_verify();  //验证账号登录时的密码
                    break;
                }
                Response.End();
            }
        }
        /// <summary>
        /// 注册,但不验证手机号
        /// </summary>
        private void register1()
        {
            string token  = WeiSha.Common.Request.QueryString["token"].String;
            string openid = WeiSha.Common.Request.QueryString["openid"].String;
            string mobi   = WeiSha.Common.Request.Form["mobi"].String;  //手机号
            int    sex    = WeiSha.Common.Request.Form["sex"].Int16 ?? 0;
            string name   = WeiSha.Common.Request.Form["name"].String;
            string photo  = WeiSha.Common.Request.Form["photo"].String;

            //验证手机号是否存在
            if (!string.IsNullOrWhiteSpace(mobi))
            {
                Song.Entities.Accounts acc = Business.Do <IAccounts>().IsAccountsExist(-1, mobi, 1);
                if (acc != null)
                {
                    Response.Write("{\"success\":\"-1\",\"state\":\"2\"}");   //手机号已经存在
                    return;
                }
            }
            Song.Entities.Organization org = getOrgan(-1);
            //创建新账户
            string unionid = string.Empty;

            Song.Entities.Accounts tmp = getUserInfo(token, openid, out unionid);
            if (tmp != null && !string.IsNullOrWhiteSpace(unionid))
            {
                tmp.Ac_AccName  = string.IsNullOrWhiteSpace(mobi) ? openid : mobi;
                tmp.Ac_MobiTel1 = tmp.Ac_MobiTel2 = mobi;   //手机号
                tmp.Org_ID      = org.Org_ID;
                //头像图片
                string photoPath = Upload.Get["Accounts"].Physics + unionid + ".jpg";
                WeiSha.Common.Request.LoadFile(photo, photoPath);
                tmp.Ac_Photo = unionid + ".jpg";
                //获取推荐人
                int recid = WeiSha.Common.Request.Cookies["sharekeyid"].Int32 ?? 0;
                Song.Entities.Accounts accRec = null;
                if (accRec == null && recid > 0)
                {
                    accRec = Business.Do <IAccounts>().AccountsSingle(recid);
                }
                if (accRec != null && accRec.Ac_ID != tmp.Ac_ID)
                {
                    tmp.Ac_PID = accRec.Ac_ID;                           //设置推荐人,即:当前注册账号为推荐人的下线
                    Business.Do <IAccounts>().PointAdd4Register(accRec); //增加推荐人积分
                }
                //如果需要审核通过
                tmp.Ac_IsPass = tmp.Ac_IsUse = true;
                int id = Business.Do <IAccounts>().AccountsAdd(tmp);
                LoginState.Accounts.Write(tmp);
                Response.Write("{\"success\":\"1\",\"name\":\"" + tmp.Ac_Name + "\",\"acpw\":\"" + tmp.Ac_Pw + "\",\"acid\":\"" + tmp.Ac_ID + "\",\"state\":\"1\"}");
            }
            else
            {
                //没有获取到unionid,可能是公众号没有绑定微信开放平台
                Response.Write("{\"success\":\"-1\",\"state\":\"100\"}");
            }
        }
Beispiel #12
0
        protected override void InitPageTemplate(HttpContext context)
        {
            //当前课程id写入cookies
            if (couid > 0)
            {
                context.Response.Cookies.Add(new HttpCookie("couid", couid.ToString()));
            }
            else
            {
                couid = WeiSha.Common.Request.Cookies["couid"].Int32 ?? 0;
            }
            this.Document.Variables.SetValue("couid", couid);
            //判断,如果已经购买,则直接跳转
            if (Extend.LoginState.Accounts.IsLogin)
            {
                int accid = Extend.LoginState.Accounts.CurrentUser.Ac_ID;
                Song.Entities.Course buyCou = Business.Do <ICourse>().IsBuyCourse(couid, accid, 1);
                if (buyCou != null)
                {
                    Extend.LoginState.Accounts.Course(buyCou);
                    this.Response.Redirect("default.ashx");
                    return;
                }
            }
            //当前课程
            Song.Entities.Course course = Business.Do <ICourse>().CourseSingle(couid);
            if (course == null || !course.Cou_IsUse)
            {
                return;
            }
            this.Document.Variables.SetValue("course", course);
            //所属专业
            Song.Entities.Subject subject = Business.Do <ISubject>().SubjectSingle(course.Sbj_ID);
            this.Document.Variables.SetValue("subject", subject);
            //章节数
            int olCount = Business.Do <IOutline>().OutlineOfCount(course.Cou_ID, 0, true);

            this.Document.Variables.SetValue("olCount", olCount);
            //试题数
            int quesCount = Business.Do <IQuestions>().QuesOfCount(this.Organ.Org_ID, course.Sbj_ID, course.Cou_ID, 0, 0, true);

            this.Document.Variables.SetValue("quesCount", quesCount);
            //价格
            Song.Entities.CoursePrice[] prices = Business.Do <ICourse>().PriceCount(-1, course.Cou_UID, true, 0);
            this.Document.Variables.SetValue("prices", prices);
            //支付接口
            Song.Entities.Organization   org = Business.Do <IOrganization>().OrganRoot();
            Song.Entities.PayInterface[] pis = Business.Do <IPayInterface>().PayAll(org.Org_ID, "mobi", true);
            this.Document.Variables.SetValue("pis", pis);
        }
Beispiel #13
0
 /// <summary>
 /// 用于接收ajax递交来的登录验证,此方式是通过accid与accpw(md5密文)来验证,没有验证码
 /// </summary>
 /// <param name="context"></param>
 private void ajaxLogin(HttpContext context)
 {
     Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
     Song.Entities.Accounts     emp = Business.Do <IAccounts>().AccountsLogin(accid, accpw, true);
     if (emp != null)
     {
         context.Response.Write(1);
         LoginState.Accounts.Write(emp);
     }
     else
     {
         context.Response.Write(0);
     }
     context.Response.End();
 }
        /// <summary>
        /// 没有注册,直接通过微信注册并登录
        /// </summary>
        private void _directLogin()
        {
            string openid = WeiSha.Common.Request.QueryString["openid"].String;
            string token  = WeiSha.Common.Request.QueryString["token"].String;
            int    sex    = WeiSha.Common.Request.Form["sex"].Int16 ?? 0;
            string name   = WeiSha.Common.Request.Form["name"].String;
            string photo  = WeiSha.Common.Request.Form["photo"].String;

            Song.Entities.Organization org = getOrgan(-1);
            //创建新账户
            //获取微信登录账户的信息
            string unionid = string.Empty;

            Song.Entities.Accounts tmp = getUserInfo(token, openid, out unionid);
            if (tmp == null)
            {
                tmp = new Entities.Accounts();
            }
            tmp.Ac_AccName = unionid;
            tmp.Org_ID     = org.Org_ID;
            //头像图片
            string photoPath = Upload.Get["Accounts"].Physics + unionid + ".jpg";

            WeiSha.Common.Request.LoadFile(photo, photoPath);
            tmp.Ac_Photo = unionid + ".jpg";
            //获取推荐人
            int recid = WeiSha.Common.Request.Cookies["sharekeyid"].Int32 ?? 0;

            Song.Entities.Accounts accRec = null;
            if (accRec == null && recid > 0)
            {
                accRec = Business.Do <IAccounts>().AccountsSingle(recid);
            }
            if (accRec != null && accRec.Ac_ID != tmp.Ac_ID)
            {
                tmp.Ac_PID = accRec.Ac_ID;                           //设置推荐人,即:当前注册账号为推荐人的下线
                Business.Do <IAccounts>().PointAdd4Register(accRec); //增加推荐人积分
            }
            //如果需要审核通过
            tmp.Ac_IsPass = tmp.Ac_IsUse = true;
            int id = Business.Do <IAccounts>().AccountsAdd(tmp);

            LoginState.Accounts.Write(tmp);
            string domain = getOrganDomain(org);

            Response.Write("{\"success\":\"1\",\"name\":\"" + tmp.Ac_Name + "\",\"domain\":\"" + domain + "\",\"acid\":\"" + tmp.Ac_ID + "\",\"state\":\"1\"}");
        }
Beispiel #15
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.Organ     = Business.Do <IOrganization>().OrganCurrent();
     lbOrgName.Text = Organ.Org_Name;
     //专业数
     sbjcount = Business.Do <ISubject>().SubjectOfCount(this.Organ.Org_ID, true, -1);
     //课程数
     couCount = Business.Do <ICourse>().CourseOfCount(this.Organ.Org_ID, -1, -1);
     //考试数
     testCount = Business.Do <ITestPaper>().PagerOfCount(this.Organ.Org_ID, -1, -1, -1, true);
     //试题数
     quesCount = Business.Do <IQuestions>().QuesOfCount(this.Organ.Org_ID, -1, -1, -1, -1, true);
     //学员数
     stCount = Business.Do <IAccounts>().AccountsOfCount(this.Organ.Org_ID, null);
     //资讯数
     newsCount = Business.Do <IContents>().ArticleOfCount(this.Organ.Org_ID, -1);
 }
        /// <summary>
        /// 获取当前机构
        /// </summary>
        protected Song.Entities.Organization getOrgan()
        {
            Song.Entities.Organization org = null;
            int orgid = WeiSha.Common.Request.QueryString["orgid"].Int32 ?? 0;

            if (orgid < 1)
            {
                orgid = WeiSha.Common.Request.Cookies["ORGID"].Int32 ?? 0;
            }
            if (orgid > 0)
            {
                org = Business.Do <IOrganization>().OrganSingle(orgid);
            }
            if (org == null)
            {
                org = Business.Do <IOrganization>().OrganDefault();
            }
            this.Document.Variables.SetValue("org", org);
            return(org);
        }
Beispiel #17
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Song.Entities.Accounts st = this.Master.Account;
     //this.Form.Attributes.Add("target", "_blank");
     if (st == null)
     {
         return;
     }
     if (!IsPostBack)
     {
         //当前学员的钱数
         ltMoney.Text = Extend.LoginState.Accounts.CurrentUser.Ac_Money.ToString("0.00");
         //在线充值接口
         Song.Entities.Organization   org = Business.Do <IOrganization>().OrganRoot();
         Song.Entities.PayInterface[] pis = Business.Do <IPayInterface>().PayAll(org.Org_ID, "web", true);
         rptPi.DataSource = pis;
         rptPi.DataBind();
         onlinePay.Visible = pis.Length > 0;
     }
 }
Beispiel #18
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            int sum = 0;

            Song.Entities.Notice[] notice = Business.Do <INotice>().GetPager(org.Org_ID, true, "", size, index, out sum);
            string tm = "{\"sum\":" + sum + ",\"object\":[";

            for (int i = 0; i < notice.Length; i++)
            {
                notice[i].No_Context = "";
                tm += "" + notice[i].ToJson();
                if (i < notice.Length - 1)
                {
                    tm += ",";
                }
            }
            tm += "]}";
            context.Response.Write(tm);
        }
Beispiel #19
0
        public void ProcessRequest(HttpContext context)
        {
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            context.Response.ContentType = "text/plain";
            Song.Entities.Questions[] ques = Business.Do <IQuestions>().QuesRandom(org.Org_ID, sbjid, -1, -1, type, diff, diff, true, 1);
            string tm = "";

            if (ques.Length > 0)
            {
                Song.Entities.Questions q = Extend.Questions.TranText(ques[0]);
                tm = q.ToJson();
                //如果是单选题,或多选题
                if (q.Qus_Type == 1 || q.Qus_Type == 2 || q.Qus_Type == 5)
                {
                    tm = getAnserJson(q, tm);
                }
            }

            context.Response.Write(tm);
            context.Response.End();
        }
Beispiel #20
0
        /// <summary>
        /// 机构公章信息
        /// </summary>
        /// <returns>path:公章图片路径;positon:位置</returns>
        public Dictionary <string, string> Stamp()
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();

            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            //公章
            WeiSha.Common.CustomConfig config = CustomConfig.Load(org.Org_Config);
            //公章显示位置
            string positon = config["StampPosition"].Value.String;

            if (string.IsNullOrEmpty(positon))
            {
                positon = "right-bottom";
            }
            dic.Add("positon", positon);
            //公章图像信息
            string stamp    = config["Stamp"].Value.String;
            string filepath = Upload.Get["Org"].Physics + stamp;

            dic.Add("path", !File.Exists(filepath) ? "" : Upload.Get["Org"].Virtual + stamp);
            return(dic);
        }
Beispiel #21
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            int sum = 0;

            Song.Entities.Article[] arts = Business.Do <IContents>().ArticlePager(org.Org_ID, -1, true, "", size, index, out sum);
            string tm = "{\"sum\":" + sum + ",\"index\":" + index + ",\"object\":[";

            for (int i = 0; i < arts.Length; i++)
            {
                arts[i].Art_Details = "";
                arts[i].Art_Intro   = "";
                arts[i].Art_Title   = arts[i].Art_Title.Replace("\"", "&quot;");
                tm += "" + arts[i].ToJson();
                if (i < arts.Length - 1)
                {
                    tm += ",";
                }
            }
            tm += "]}";
            context.Response.Write(tm);
        }
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
            int sum = 0;

            Song.Entities.Teacher[] teachers = Business.Do <ITeacher>().TeacherPager(org.Org_ID, -1, true, true, "", size, index, out sum);
            string tm = "{\"sum\":" + sum + ",\"index\":" + index + ",\"object\":[";

            for (int i = 0; i < teachers.Length; i++)
            {
                Song.Entities.Teacher t = teachers[i];
                t.Th_Photo = Upload.Get["Teacher"].Virtual + t.Th_Photo;
                t.Th_Intro = "";
                tm        += "" + t.ToJson();
                if (i < teachers.Length - 1)
                {
                    tm += ",";
                }
            }
            tm += "]}";
            context.Response.Write(tm);
        }
Beispiel #23
0
 private void interFaceList()
 {
     Song.Entities.Organization   org = Business.Do <IOrganization>().OrganRoot();
     Song.Entities.PayInterface[] pis = Business.Do <IPayInterface>().PayAll(org.Org_ID, "mobi", true);
     this.Document.Variables.SetValue("pis", pis);
 }
Beispiel #24
0
        protected override void InitPageTemplate(HttpContext context)
        {
            //当前课程id写入cookies
            if (couid > 0)
            {
                context.Response.Cookies.Add(new HttpCookie("couid", couid.ToString()));
            }
            else
            {
                couid = WeiSha.Common.Request.Cookies["couid"].Int32 ?? 0;
            }
            this.Document.Variables.SetValue("couid", couid);
            //判断,如果已经购买,则直接跳转
            if (Extend.LoginState.Accounts.IsLogin)
            {
                bool isBuy = Business.Do <ICourse>().IsBuy(couid, Extend.LoginState.Accounts.CurrentUser.Ac_ID);
                if (isBuy)
                {
                    this.Response.Redirect("/CourseStudy.ashx?couid=" + couid);
                    return;
                }
            }
            //当前课程
            Song.Entities.Course course = Business.Do <ICourse>().CourseSingle(couid);
            if (course != null)
            {
                course.Cou_Logo      = Upload.Get["Course"].Virtual + course.Cou_Logo;
                course.Cou_LogoSmall = Upload.Get["Course"].Virtual + course.Cou_LogoSmall;
            }
            //是否免费,或是限时免费
            if (course.Cou_IsLimitFree)
            {
                DateTime freeEnd = course.Cou_FreeEnd.AddDays(1).Date;
                if (!(course.Cou_FreeStart <= DateTime.Now && freeEnd >= DateTime.Now))
                {
                    course.Cou_IsLimitFree = false;
                }
            }
            if (course == null || !course.Cou_IsUse)
            {
                return;
            }
            this.Document.Variables.SetValue("course", course);

            //是否免费,限时免费也算
            this.Document.Variables.SetValue("isfree", course.Cou_IsFree || course.Cou_IsLimitFree);
            //所属专业
            Song.Entities.Subject subject = Business.Do <ISubject>().SubjectSingle(course.Sbj_ID);
            this.Document.Variables.SetValue("subject", subject);
            //章节数
            int olCount = Business.Do <IOutline>().OutlineOfCount(course.Cou_ID, 0, true);

            this.Document.Variables.SetValue("olCount", olCount);
            //试题数
            int quesCount = Business.Do <IQuestions>().QuesOfCount(this.Organ.Org_ID, course.Sbj_ID, course.Cou_ID, 0, 0, true);

            this.Document.Variables.SetValue("quesCount", quesCount);
            //价格
            Song.Entities.CoursePrice[] prices = Business.Do <ICourse>().PriceCount(-1, course.Cou_UID, true, 0);
            this.Document.Variables.SetValue("prices", prices);
            //上级专业
            List <Song.Entities.Subject> sbjs = Business.Do <ISubject>().Parents(course.Sbj_ID, true);

            this.Document.Variables.SetValue("sbjs", sbjs);
            //支付接口
            Song.Entities.Organization   org = Business.Do <IOrganization>().OrganRoot();
            Song.Entities.PayInterface[] pis = Business.Do <IPayInterface>().PayAll(org.Org_ID, "web", true);
            this.Document.Variables.SetValue("pis", pis);
        }
        /// <summary>
        /// 手机号注册,需短信验证
        /// </summary>
        private void register2()
        {
            string vname    = WeiSha.Common.Request.Form["vname"].String;
            string imgCode  = WeiSha.Common.Request.Cookies[vname].ParaValue; //取图片验证码
            string userCode = WeiSha.Common.Request.Form["vcode"].MD5;        //取输入的验证码
            string openid   = WeiSha.Common.Request.QueryString["openid"].String;
            string token    = WeiSha.Common.Request.QueryString["token"].String;
            string mobi     = WeiSha.Common.Request.Form["mobi"].String; //手机号
            string sms      = WeiSha.Common.Request.Form["sms"].MD5;     //输入的短信验证码
            int    sex      = WeiSha.Common.Request.Form["sex"].Int16 ?? 0;
            string name     = WeiSha.Common.Request.Form["name"].String;
            string photo    = WeiSha.Common.Request.Form["photo"].String;
            //短信验证码Cookie名称
            string smsName = WeiSha.Common.Request.Form["smsname"].String;
            string btnName = WeiSha.Common.Request.Form["smsbtn"].String;

            //验证图片验证码
            if (imgCode != userCode)
            {
                Response.Write("{\"success\":\"-1\",\"state\":\"1\",\"btn\":\"" + btnName + "\"}");   //图片验证码不正确
                return;
            }
            //验证手机号是否存在
            Song.Entities.Accounts acc = Business.Do <IAccounts>().IsAccountsExist(-1, mobi, 1);
            if (acc != null)
            {
                Response.Write("{\"success\":\"-1\",\"state\":\"2\",\"btn\":\"" + btnName + "\"}");   //手机号已经存在
                return;
            }
            //验证短信验证码
            bool   isSmsCode = true;    //是否短信验证;
            string smsCode   = WeiSha.Common.Request.Cookies[smsName].ParaValue;

            if (isSmsCode && sms != smsCode)
            {
                Response.Write("{\"success\":\"-1\",\"state\":\"3\",\"btn\":\"" + btnName + "\"}");  //短信验证失败
                return;
            }
            else
            {
                //创建新账户
                string unionid             = string.Empty;
                Song.Entities.Accounts tmp = getUserInfo(token, openid, out unionid);
                if (tmp != null && !string.IsNullOrWhiteSpace(unionid))
                {
                    Song.Entities.Organization org = getOrgan(-1);
                    tmp.Ac_AccName  = string.IsNullOrWhiteSpace(unionid) ? mobi : unionid;
                    tmp.Ac_MobiTel1 = tmp.Ac_MobiTel2 = mobi;   //手机号
                    tmp.Org_ID      = org.Org_ID;
                    //头像图片
                    string photoPath = Upload.Get["Accounts"].Physics + unionid + ".jpg";
                    WeiSha.Common.Request.LoadFile(photo, photoPath);
                    tmp.Ac_Photo = unionid + ".jpg";
                    //获取推荐人
                    int recid = WeiSha.Common.Request.Cookies["sharekeyid"].Int32 ?? 0;
                    Song.Entities.Accounts accRec = null;
                    if (accRec == null && recid > 0)
                    {
                        accRec = Business.Do <IAccounts>().AccountsSingle(recid);
                    }
                    if (accRec != null && accRec.Ac_ID != tmp.Ac_ID)
                    {
                        tmp.Ac_PID = accRec.Ac_ID;                           //设置推荐人,即:当前注册账号为推荐人的下线
                        Business.Do <IAccounts>().PointAdd4Register(accRec); //增加推荐人积分
                    }
                    //如果需要审核通过
                    tmp.Ac_IsPass = tmp.Ac_IsUse = true;
                    int id = Business.Do <IAccounts>().AccountsAdd(tmp);
                    LoginState.Accounts.Write(tmp);
                    //string domain = getOrganDomain(org);
                    Response.Write("{\"success\":\"1\",\"name\":\"" + tmp.Ac_Name + "\",\"acpw\":\"" + tmp.Ac_Pw + "\",\"acid\":\"" + tmp.Ac_ID + "\",\"state\":\"1\",\"btn\":\"" + btnName + "\"}");
                }
                else
                {
                    //没有获取到unionid,可能是公众号没有绑定微信开放平台
                    Response.Write("{\"success\":\"-1\",\"state\":\"100\"}");
                }
            }
        }
Beispiel #26
0
        protected override void InitPageTemplate(HttpContext context)
        {
            #region 此段代码用于取token与openid
            string code = WeiSha.Common.Request.QueryString["code"].String;     //验证用的code,只用一次即失效
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(code))
            {
                string orgid = WeiSha.Common.Request.QueryString["state"].String; //机构id
                string token = getToken();                                        //Access_Token,用于进一步获取信息时的认证码
                string uri   = context.Request.FilePath + "?token={0}&openid={1}&orgid={2}";
                uri = string.Format(uri, token, getOpenid(token), orgid);
                if (WeiSha.Common.Browser.IsMobile)
                {
                    uri = "/Mobile" + uri;
                }
                Response.Redirect(uri);
                return;
            }
            #endregion

            #region 具体操作代码
            string access_token = WeiSha.Common.Request.QueryString["token"].String;
            string openid       = WeiSha.Common.Request.QueryString["openid"].String;
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(access_token))
            {
                this.Document.Variables.SetValue("token", access_token);
                this.Document.Variables.SetValue("openid", openid);
                //设置主域,用于js跨根域
                int multi = Business.Do <ISystemPara>()["MultiOrgan"].Int32 ?? 0;
                if (multi == 0 && !WeiSha.Common.Server.IsLocalIP)
                {
                    this.Document.Variables.SetValue("domain", WeiSha.Common.Server.MainName);
                }
                //QQ回调域
                string returl = Business.Do <ISystemPara>()["QQReturl"].Value ?? WeiSha.Common.Server.MainName;
                this.Document.SetValue("QQReturl", returl);
                //当前机构
                Song.Entities.Organization org = getOrgan();
                this.Document.SetValue("domain2", getOrganDomain(org));
                //获取帐户,如果已经注册,则直接实现登录
                Song.Entities.Accounts acc = _ExistAcc(openid);
                if (acc == null)
                {
                    //账户不存在,以下用于注册
                    WeiSha.Common.CustomConfig config = CustomConfig.Load(org.Org_Config);
                    this.Document.SetValue("forpw", config["IsLoginForPw"].Value.Boolean ?? true);                   //启用账号密码登录
                    this.Document.SetValue("forsms", config["IsLoginForSms"].Value.Boolean ?? true);                 //启用手机短信验证登录
                    this.Document.SetValue("IsQQDirect", Business.Do <ISystemPara>()["QQDirectIs"].Boolean ?? true); //是否允许qq直接注册登录
                    //获取qq登录账户的信息
                    acc = getUserInfo(access_token, openid);
                    this.Document.Variables.SetValue("name", acc.Ac_Name);    //QQ昵称
                    this.Document.Variables.SetValue("photo2", acc.Ac_Photo); //100*100头像
                    this.Document.Variables.SetValue("gender", acc.Ac_Sex);   //性别
                }
            }
            #endregion

            #region ajax请求
            //此页面的ajax提交,全部采用了POST方式
            if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
            {
                string action = WeiSha.Common.Request.Form["action"].String;
                switch (action)
                {
                case "Direct": _DirectLogin();       //直接登录
                    break;

                case "getRegSms": sendSmsVcode();      //验证手机注册时,获取短信时的验证码
                    break;

                case "register1": register1();     //直接注册,无需验证手机号
                    break;

                case "register2": register2();     //用手机注册,需短信验证手机号
                    break;

                case "bind1": bind1();      //绑定已经存在账户,不验证手机
                    break;

                case "bind2": bind2();      //绑定已经存在账户,验证手机号
                    break;

                default:
                    //acclogin_verify();  //验证账号登录时的密码
                    break;
                }
                Response.End();
            }
            #endregion
        }
        protected override void InitPageTemplate(HttpContext context)
        {
            //一些设置项
            WeiSha.Common.CustomConfig config = CustomConfig.Load(this.Organ.Org_Config);
            this.Document.SetValue("IsRegStudent", config["IsRegStudent"].Value.Boolean ?? true);   //是否允许注册

            #region 此段代码用于取token与openid
            string code = WeiSha.Common.Request.QueryString["code"].String;
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(code))
            {
                string orgid        = WeiSha.Common.Request.QueryString["state"].String; //状码码是机构id
                string openid       = string.Empty;
                string access_token = getToken(out openid);
                //微信登录的回调域,(用途:如果回调域不是根域,则不再取当前机构二级域名)
                string returl = Business.Do <ISystemPara>()["WeixinpubReturl"].Value ?? WeiSha.Common.Server.MainName;
                if (!string.IsNullOrWhiteSpace(returl))
                {
                    if (returl.StartsWith("http://"))
                    {
                        returl = returl.Substring(7);
                    }
                    if (returl.StartsWith("https://"))
                    {
                        returl = returl.Substring(8);
                    }
                }
                //如果回调域与根域相同,则转到当前机构的二级域名
                if (returl.Equals(WeiSha.Common.Server.MainName, StringComparison.CurrentCultureIgnoreCase))
                {
                    Song.Entities.Organization org = getOrgan(-1);
                    returl = org.Org_TwoDomain + "." + WeiSha.Common.Server.MainName;
                }
                string uri = "{0}/mobile/{1}?token={2}&openid={3}&orgid={4}";
                uri = string.Format(uri, returl, WeiSha.Common.Request.Page.FileName, access_token, openid, orgid);
                this.Document.Variables.SetValue("gourl", uri); //传到客户端,进行跳转
                return;
            }
            #endregion

            #region 具体操作代码
            string token = WeiSha.Common.Request.QueryString["token"].String;
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(token))
            {
                _StateForGET();
            }
            #endregion

            //此页面的ajax提交,全部采用了POST方式
            if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
            {
                string action = WeiSha.Common.Request.Form["action"].String;
                switch (action)
                {
                case "Direct": _directLogin();       //直接登录
                    break;

                case "getRegSms": sendSmsVcode();      //验证手机注册时,获取短信时的验证码
                    break;

                case "register1": register1();     //直接注册,无需验证手机号
                    break;

                case "register2": register2();     //用手机注册,需短信验证手机号
                    break;

                case "bind1": bind1();      //绑定已经存在账户,不验证手机
                    break;

                case "bind2": bind2();      //绑定已经存在账户,验证手机号
                    break;

                default:
                    //acclogin_verify();  //验证账号登录时的密码
                    break;
                }
                Response.End();
            }
        }
        protected override void InitPageTemplate(HttpContext context)
        {
            #region 具体操作代码
            string access_token = WeiSha.Common.Request.QueryString["token"].String;
            string openid       = WeiSha.Common.Request.QueryString["openid"].String;
            if (Request.ServerVariables["REQUEST_METHOD"] == "GET" && !string.IsNullOrWhiteSpace(access_token))
            {
                this.Document.Variables.SetValue("token", access_token);
                this.Document.Variables.SetValue("openid", openid);
                //设置主域,用于js跨根域
                if (!WeiSha.Common.Server.IsLocalIP)
                {
                    this.Document.Variables.SetValue("domain", WeiSha.Common.Request.Domain.MainName);
                }
                //QQ回调域
                string qqreturl = Business.Do <ISystemPara>()["QQReturl"].Value;
                if (string.IsNullOrWhiteSpace(qqreturl))
                {
                    qqreturl = WeiSha.Common.Request.Domain.MainName;
                }
                this.Document.SetValue("QQReturl", qqreturl + "/qqlogin.ashx");
                //当前机构
                Song.Entities.Organization org = getOrgan();
                this.Document.SetValue("domain2", getOrganDomain(org));
                //获取帐户,如果已经注册,则直接实现登录
                Song.Entities.Accounts acc = _ExistAcc(openid);
                if (acc == null)
                {
                    //账户不存在,以下用于注册
                    WeiSha.Common.CustomConfig config = CustomConfig.Load(org.Org_Config);
                    this.Document.SetValue("forpw", config["IsLoginForPw"].Value.Boolean ?? true);                   //启用账号密码登录
                    this.Document.SetValue("forsms", config["IsLoginForSms"].Value.Boolean ?? true);                 //启用手机短信验证登录
                    this.Document.SetValue("IsQQDirect", Business.Do <ISystemPara>()["QQDirectIs"].Boolean ?? true); //是否允许qq直接注册登录
                    //获取qq登录账户的信息
                    acc = getUserInfo(access_token, openid);
                    this.Document.Variables.SetValue("name", acc.Ac_Name);    //QQ昵称
                    this.Document.Variables.SetValue("photo2", acc.Ac_Photo); //100*100头像
                    this.Document.Variables.SetValue("gender", acc.Ac_Sex);   //性别
                }
            }
            #endregion

            #region ajax请求
            //此页面的ajax提交,全部采用了POST方式
            if (Request.ServerVariables["REQUEST_METHOD"] == "POST")
            {
                string action = WeiSha.Common.Request.Form["action"].String;
                switch (action)
                {
                case "Direct": _DirectLogin();       //直接登录
                    break;

                case "getRegSms": sendSmsVcode();      //验证手机注册时,获取短信时的验证码
                    break;

                case "register1": register1();     //直接注册,无需验证手机号
                    break;

                case "register2": register2();     //用手机注册,需短信验证手机号
                    break;

                case "bind1": bind1();      //绑定已经存在账户,不验证手机
                    break;

                case "bind2": bind2();      //绑定已经存在账户,验证手机号
                    break;

                default:
                    //acclogin_verify();  //验证账号登录时的密码
                    break;
                }
                Response.End();
            }
            #endregion
        }
Beispiel #29
0
        /// <summary>
        /// 获取当前机构的二级域名
        /// </summary>
        /// <param name="org"></param>
        /// <returns></returns>
        protected string getOrganDomain(Song.Entities.Organization org)
        {
            string root = WeiSha.Common.Request.Domain.MainName;

            return(org.Org_TwoDomain + "." + root);
        }