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

📄 workerchat.aspx.cs

📁 是一个简易的聊天系统
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using WebHelper.Model;
public partial class WorkerChat : MyPage
{
    CustomService my;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["Opt"] == null) Response.Write("Error");
        my=(CustomService)Session["Worker"];
        if (my == null) 
        {
            Response.StatusCode = 802;
            Response.Write("LoseLogin");
            return;
        }
        switch (Request["Opt"]) 
        {
            case "GetAllWorker":
                GetAllWorker();
                break;
            case "GetOnline":
                GetOnline();
                break;
            case "GetGuest":
                GetGuest();
                break;
            case "Reply":
                Reply();
                break;
            case "ChatWorker":
                ChatWorker();
                break;
            case "GetWorkerMsg":
                GetWorkerMsg();
                break;
            case "GetAsk":
                GetAsk();
                break;
            case "ReplaceWork":
                ReplaceWork();
                break;
            case  "LoginOut":
                LoginOut();
                break;
            case "GetData":
                GetData();
                break;
        }
        Response.End();
    }

    /// <summary>
    /// 得到所有工作者
    /// </summary>
    private void GetAllWorker() 
    {
        Response.Write(worker.AllString());
    }

    /// <summary>
    /// 得到所有在线工作者
    /// </summary>
    private void GetOnline() 
    {
        Response.Write(worker.GetAllOnline());
    }

    /// <summary>
    /// 得到所有自己服务的客户列表
    /// </summary>
    private void GetGuest() 
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("{");
        foreach (string id in my.Guest.Keys)
        {
            sb.Append("'" + id + "':'" + my.Guest[id].Name + "',");
        }
        if(sb.Length>1)
        sb.Remove(sb.Length - 1, 1);
        sb.Append("}");
        Response.Write(sb.ToString());
    }

    /// <summary>
    /// 得到工作者发过来的信息
    /// </summary>
    private void GetWorkerMsg()
    {
        string msg = my.WorkMsg;
        if (msg == "")
            Response.Write("null");
        else
            Response.Write(msg);
    }

    /// <summary>
    /// 得到客户问题
    /// </summary>
    private void GetAsk()
    {
        Response.Write(my.Message);
    }






    /// <summary>
    /// 将几种信息一起返回
    /// </summary>
    private void GetData() 
    {
        if (Session["Worker"] == null) UChecked();
        Response.Write("[");
        this.GetOnline();
        Response.Write(",");
        this.GetGuest();
        Response.Write(",");
        this.GetWorkerMsg();
        Response.Write(",");
        this.GetAsk();
        Response.Write("]");
    }


            

    private void UChecked()
    {
        string userName = Request["U"];
        string PassWD = Request["P"];
        int errorCode = 0;
        if (worker.Login(userName, PassWD, out errorCode))
        {
            Session["Worker"] = worker.All[userName];
        }
    }
    /// <summary>
    /// 回复客户
    /// </summary>
    private void Reply() 
    {
        if (my.Guest.ContainsKey(Request.Form["GuestID"])) 
        {
            my.Guest[Request.Form["GuestID"]].Message = Request.Form["Message"].Replace("'", "⊕");
           Response.StatusCode = 800;
        }else
            Response.StatusCode = 801;
        
    }

    /// <summary>
    /// 群聊工作者
    /// </summary>
    private void ChatWorker() 
    {
        foreach (string k in worker.All.Keys) 
        {
            if (worker.All[k].Status < 1) continue;
            if (worker.All[k].Name == my.Name) continue;
            worker.All[k].WorkMsg = "'" + my.Name + "':'" + Request.Form["Message"].Replace("'", "⊕") + "'";
        }
    }

  


    /// <summary>
    /// 将自己身上的客记转到别的客服人员去
    /// </summary>
    private void ReplaceWork() 
    {
        Response.StatusCode = worker.ReLine(my.Name, Request.Form["to"], Request.Form["GuestID"]) ? 800 : 801;
    }

    /// <summary>
    /// 退出
    /// </summary>
    private void LoginOut()
    {
        //if (my.Guest.Count > 0) Response.Write("Lose");
        //else
        //{
            Response.Write("OK");
            worker.LoginOut(my.Name);
            Session["Worker"] = null;
        //}
    }
}

⌨️ 快捷键说明

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