App_Code/WeiXinPage.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Newtonsoft.Json;

/// <summary>
/// WeiXin 的摘要说明
/// </summary>
public abstract class WeiXinPage : System.Web.UI.Page, System.Web.SessionState.IRequiresSessionState
{
    protected sealed override void OnPreInit(EventArgs e)
    {
        if (isGuest)
        {
            getWxUser();
        }
        base.OnPreInit(e);
    }
    /// <summary>
    /// 是否访客身份 true:是 false:否
    /// </summary>
    public static bool isGuest
    {
        get
        {
            return HttpContext.Current.Session[_user] == null ? true : false;
        }
    }
    private static string _user { get { return "$wxuser"; } }
    private static string _code { get { return "$wxcode"; } }
    private static string _AbsoluteUri { get { return HttpContext.Current.Request.Url.AbsoluteUri; } }
    /// <summary>
    /// 该路径剔除微信Query的URL用于页面重定向获取最新的用户信息
    /// </summary>
    private static string _RawUrl
    {
        get
        {
            string url = HttpContext.Current.Request.Url.AbsoluteUri;
            url = url.Replace(url.Substring(url.IndexOf("code"), url.IndexOf("STATE") + 5 - url.IndexOf("code")), "");
            return url;
        }
    }
    /// <summary>
    /// 获取微信用户信息
    /// </summary>
    private static Dictionary<string, object> getWxUser()
    {
        string code = HttpContext.Current.Request.QueryString.Get("code") ?? "",
               url = "",
               ret = "";
        try
        {
            object user = HttpContext.Current.Session[_user];
            if (code.Length == 0 && user == null)
            {
                JumpUrl();
                return null;
            }
后面还有 57 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。