⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webpagechannel.cs

📁 破解的飞信源代码
💻 CS
字号:
namespace Imps.Client.Pc.Channel
{
    using Imps.Client.Core;
    using Imps.Client.Pc;
    using Imps.Client.Pc.BizControls;
    using Imps.Utils;
    using System;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Windows.Forms;

    [ComVisible(true)]
    public class WebPageChannel : IChannel
    {
        private IFrameworkWindow _host;
        private string _initUrl;

        public WebPageChannel(IFrameworkWindow host)
        {
            this._host = host;
        }

        private string GetArgsValue(string args)
        {
            if (string.IsNullOrEmpty(args))
            {
                return string.Empty;
            }
            StringBuilder builder = new StringBuilder();
            User currentUser = this.FrameworkWnd.AccountManager.CurrentUser;
            foreach (string text in args.Split(new char[] { ',' }))
            {
                if (builder.Length > 0)
                {
                    builder.Append('&');
                }
                builder.Append(text);
                if (text.IndexOf('=') < 0)
                {
                    builder.Append('=');
                }
                switch (text)
                {
                    case "c":
                        builder.Append(currentUser.SsicUrlEncoded);
                        break;

                    case "gender":
                        builder.Append(((int) currentUser.PersonalInfo.Gender.Value).ToString());
                        break;

                    case "province":
                        builder.Append(currentUser.PersonalInfo.Province.Value);
                        break;

                    case "city":
                        builder.Append(currentUser.PersonalInfo.City.Value);
                        break;

                    case "avatarUrlBase":
                        builder.Append(HttpWebRequestHelper.UrlEncode(currentUser.Configuration.SystemSetting.PortraitSetting.UriDownloadPortrait));
                        break;

                    case "mobileNo":
                        builder.Append(currentUser.PersonalInfo.MobileNo);
                        break;

                    case "sid":
                        builder.Append(currentUser.Sid.ToString());
                        break;

                    case "t":
                        builder.Append(new Random().Next().ToString());
                        break;
                }
            }
            return builder.ToString();
        }

        public virtual bool Load(string strUri, string args)
        {
            try
            {
                this.InnerWebBrowser.ObjectForScripting = null;
                string urlString = strUri;
                if (string.IsNullOrEmpty(urlString))
                {
                    urlString = "about:blank";
                }
                else if (!string.IsNullOrEmpty(args))
                {
                    urlString = urlString + ((urlString.IndexOf('?') < 0) ? ((string) '?') : ((string) '&')) + this.GetArgsValue(args);
                }
                ChannelManagerImp.ChannelWebBrowser.Navigate(urlString);
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }

        protected void NavigateToBlankPage()
        {
            this.InnerWebBrowser.Navigate("about:blank");
        }

        public virtual void Reset()
        {
            if (!string.IsNullOrEmpty(this._initUrl))
            {
                this.Load(this._initUrl, string.Empty);
            }
        }

        public Control ChannelControl
        {
            get
            {
                return ChannelManagerImp.ChannelWebBrowser;
            }
        }

        protected IFrameworkWindow FrameworkWnd
        {
            get
            {
                return this._host;
            }
        }

        public string InitUrl
        {
            get
            {
                return this._initUrl;
            }
            set
            {
                this._initUrl = value;
            }
        }

        protected WebBrowserContainer InnerWebBrowser
        {
            get
            {
                return ChannelManagerImp.ChannelWebBrowser;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -