Beispiel #1
0
    public ToJoson DoAPI(string Msg)
    {
        INFO   = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(Msg));
        getURl = "http://www.tuling123.com/openapi/api?key=" + APIKEY + "&info=" + INFO;
        Uri            uri    = new Uri(getURl);
        HttpWebRequest getUrl = WebRequest.Create(uri) as HttpWebRequest;

        getUrl.Method = "GET";
        HttpWebResponse response   = getUrl.GetResponse() as HttpWebResponse;
        Stream          respStream = response.GetResponseStream();
        StreamReader    stream     = new StreamReader(respStream, Encoding.UTF8);
        string          respStr    = stream.ReadToEnd();

        stream.Close();
        JsonSerializer serializer = new JsonSerializer();
        StringReader   sr         = new StringReader(respStr);
        ToJoson        joson      = serializer.Deserialize <ToJoson>(new JsonTextReader(sr));

        code = joson.code;
        text = joson.text;
        url  = joson.url;
        List <list> list = joson.list;

        return(joson);
    }
Beispiel #2
0
    public string Recevie(string msg)
    {
        int    meid   = new BCW.User.Users().GetUsId();
        string mename = "游客";

        if (meid != 0)
        {
            mename = new BCW.BLL.User().GetUsName(meid);
        }
        StringBuilder receiveMsg = new StringBuilder();

        receiveMsg.Append("<b style=\"color:blue\">" + mename + ":</b>");
        receiveMsg.Append(msg + "[" + DT.FormatDate(DateTime.Now, 13) + "]<br/>");
        receiveMsg.Append("<b style=\"color:red\">酷宝:</b>");
        ToJoson     joson = DoAPI(msg);
        List <list> list  = joson.list;

        switch (joson.code)
        {
        //文本类
        case "100000":
            receiveMsg.Append(Out.SysUBB(joson.text));
            break;

        //列车
        case "305000":
            receiveMsg.Append(joson.text + "<br/>")
            .Append("起始站【" + list[0].start + "】,到达站【" + list[0].terminal + "】<br/>");
            receiveMsg.Append("车次\t\t\t\t\t开车时间\t\t到达时间<br/>");
            foreach (list listDetail in list)
            {
                receiveMsg.Append(listDetail.trainnum.PadRight(30, ' ') + "\t" + listDetail.starttime + "\t\t\t" + listDetail.endtime + "<br/>");
            }
            receiveMsg.Append("详情地址:" + Out.SysUBB("[url]" + list[0].detailurl + "[/url]"));
            break;

        //航班
        case "306000":
            receiveMsg.Append(joson.text + "<br/>");
            receiveMsg.Append("航班\t\t\t\t\t起飞时间\t到达时间<br/>");
            foreach (list listDetail in list)
            {
                receiveMsg.Append(listDetail.flight.PadRight(50, ' ') + listDetail.starttime + "\t\t" + listDetail.endtime + "<br/>");
            }
            break;

        //网址类数据
        case "200000":
            receiveMsg.Append(joson.text + "<br/>")
            .Append(Out.SysUBB("[url]" + joson.url + "[/url]"));
            break;

        //新闻
        case "302000":
            receiveMsg.Append(joson.text + "<br/>")
            .Append(Out.SysUBB("[url]" + joson.url + "[/url]"));
            foreach (list listDetail in list)
            {
                receiveMsg.Append(listDetail.source + "   " + listDetail.article)
                .Append(Out.SysUBB("[url]" + listDetail.detailurl + "[/url]"));
            }
            break;

        //菜谱、视频、小说
        case "308000":
            receiveMsg.Append(joson.text)
            .Append(Out.SysUBB("[url]" + joson.url + "[/url]"));
            foreach (list listDetail in list)
            {
                receiveMsg.Append(listDetail.name + "   " + listDetail.info)
                .Append(Out.SysUBB("[url]" + listDetail.detailurl + "[/url]"));
            }
            break;

        //key的长度错误(32位)
        case "40001":
            receiveMsg.Append("酷宝生病了,可以帮我告诉管理员吗?");
            break;

        //请求内容为空
        case "40002":
            receiveMsg.Append("喂喂,酷宝听不清你在说什么?");
            break;

        //Key错误或帐号未激活
        case "40003":
            receiveMsg.Append("酷宝感冒了,可以帮我告诉管理员吗?");
            break;

        //当天请求次数已用完
        case "40004":
            receiveMsg.Append("酷宝今天累了,明天再问吧!");
            break;

        //暂不支持该功能
        case "40005":
            receiveMsg.Append("酷宝还不懂这个!");
            break;

        //服务器升级中
        case "40006":
            receiveMsg.Append("酷宝在学习,请先不要打扰我!");
            break;

        //服务器数据格式异常
        case "40007":
            receiveMsg.Append("酷宝发烧了,可以帮我告诉管理员吗?");
            break;

        default:
            break;
        }
        receiveMsg.Append("[" + DT.FormatDate(DateTime.Now, 13) + "]<br/>");
        return(receiveMsg.ToString());
    }