Song.Site/Mobile/WeixinpubLogin.ashx.cs
(开头部分) 32KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WeiSha.Common;
using Song.ServiceInterfaces;
using System.Xml;
using Song.Extend;
using System.Text.RegularExpressions;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
namespace Song.Site.Mobile
{
/// <summary>
/// 微信公从号内的登录
/// </summary>
public class WeixinpubLogin : BasePage
{
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
后面还有 568 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
