今天是在吾索实习的第13天。今天没有做过多的代码设计,只进行了一些代码的分析与进一步优化。其中,发现创建自定义菜单的关键代码书写可分为两部分:

  1. JSON格式的字符串在.net中的语法书写:

             string ResponseJsonStr = @"{
    ""button"":[
    {
    ""type"":""click"",
    ""name"":""技术交流"",
    ""key"":""V1001_TODAY_MUSIC""
    },
    {
    ""type"":""click"",
    ""name"":""定位打卡"",
    ""key"":""V1001_TODAY_SINGER""
    },
    {
    ""name"":""..."",
    ""sub_button"":[
    {
    ""type"":""view"",
    ""name"":""搜索"",
    ""url"":""http://www.soso.com/""
    },
    {
    ""type"":""view"",
    ""name"":""视频"",
    ""url"":""http://v.qq.com/""
    },
    {
    ""type"":""click"",
    ""name"":""赞一下我们"",
    ""key"":""V1001_GOOD""
    }]
    }]
    }";
  2. 把URL与JSON数据包整合在一起,并以字符串形式返回(其中posturl存放URL,postData存放JSON字符串)

             Stream outstream = null;
    Stream instream = null;
    StreamReader sr = null;
    HttpWebResponse response = null;
    HttpWebRequest request = null;
    Encoding encoding = Encoding.UTF8;
    byte[] data = encoding.GetBytes(postData); //字符串编码为字节序列
    // 准备请求...
    try
    {
    // 设置参数
    request = WebRequest.Create(posturl) as HttpWebRequest;
    CookieContainer cookieContainer = new CookieContainer();
    request.CookieContainer = cookieContainer;
    request.AllowAutoRedirect = true;
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = data.Length;
    outstream = request.GetRequestStream();
    outstream.Write(data, , data.Length); //写入参数
    outstream.Close();
    //发送请求并获取相应回应数据
    response = request.GetResponse() as HttpWebResponse;
    //直到request.GetResponse()程序才开始向目标网页发送Post请求
    instream = response.GetResponseStream();
    sr = new StreamReader(instream, encoding);
    //返回结果网页(html)代码
    string content = sr.ReadToEnd();
    string err = string.Empty;
    return content;
    }
    catch (Exception ex)
    { string err = ex.Message;
    Response.Write(err);
    return string.Empty;
    }

  另外,今天我们还开通了SVN托管服务,以达到协同开发及控制源码版本。因为我们实习团队的人员游走于各自不同的地方,所以一台互联网环境的SVN服务器对我们来说是很重要的,所以SVN托管服务对于我们的协同开发是必不可少的。

  最后,对于把URL与JSON字符串整合的代码,因我们是在互联网上找的加上对部分类的不熟悉,所以经过我们的分析,只能了解到一个大概,不能明确地说出每一句的作用是什么。希望有经验的朋友们能帮我们解释一下,特别是:outstream.Write(data, 0, data.Length)这句,是写入参数,但是把数据写入到哪里呢,还是把数据存入Write这个参数中呢;另外还有的一些类与函数,如:cookieContainer、GetRequestStream()、GetResponseStream、StreamReader,虽然在网上找过它们的作用,但真正来说还不能清楚地说出它们的真正含义。谢谢!

2014-07-25 改进自定义菜单与使用SVN进行协同开发的更多相关文章

  1. 《C#微信开发系列(2)-自定义菜单管理》

    2.0自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定 ...

  2. 用c#开发微信(5)自定义菜单设置工具 (在线创建)

    读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下 ...

  3. 【转】2014年25款最好的jQuery插件

    2014年25款最好的jQuery插件 来源:Specs' Blog-就爱PHP   时间:2014-12-30 10:24:10   阅读数:2267 分享到: 0 http://www.php10 ...

  4. dedecms为后台自定义菜单的完整方法

    dedecms为后台自定义菜单的完整方法 品味人生 dedeCMS 围观7330次 18 条评论 编辑日期:2014-06-14 字体:大 中 小   最近在给客户定制一个企业网站,客户要求使用ded ...

  5. 微信公众平台自定义菜单及高级接口PHP SDK

    本文介绍介绍微信公众平台自定义菜单及高级接口的PHP SDK及使用方法. 作者 方倍工作室 修正记录: 2014.05.03 v1.0 方倍工作室 http://www.cnblogs.com/txw ...

  6. 微信公众平台自定义菜单PHP开发

    微信公众平台自定义菜单PHP开发,微信公众平台自定义菜单是如何实现的呢?其实很简单,首先在微信公众平台升级为服务号,获取appid和appsecret,然后根据这2个参数获取access_token, ...

  7. [039] 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)

    引言及内容概要 距离写上一篇文章<自定义菜单的创建及菜单事件响应>整整过了两个月的时间,那时公众平台还没有开放view类型的菜单.在不久前,微信公众平台悄悄开放了view类型的菜单,却没有 ...

  8. C#微信公众号——自定义菜单

    自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单.一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替.自定义菜单的介绍,可以看官方开发文档http://mp. ...

  9. 点聚weboffice插件自定义菜单

    https://blog.csdn.net/u014547764/article/details/53818637 1.在jsp中引用excel插件:首先项目中要有:WebOffice.zip.web ...

随机推荐

  1. 写自己的WPF样式 - 按钮

    做一个后台管理小程序,据说WPF的界面比较"炫",于是选择使用WPF来开发.既然用了WPF当然需要做好看点了,于是稍微研究了下WPF的样式,废话不多说下面开始自定义一个按钮样式: ...

  2. Robotium -- 使用JunitReport导出测试报告

    使用Robotium进行测试的时候,要想可以导出明了的测试结果,可以使用junitreport来实现 junit-report下载地址:https://github.com/jsankey/andro ...

  3. 斐波那契数列(fabnacci)java实现

    斐波那契数列定义:From Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Fibonacci_number In math ...

  4. 基于AE的SimpleGIS框架的搭建

    ArcGIS是Esri公司集40余年地理信息系统(GIS)咨询和研发经验,奉献给用户的一套完整的GIS平台产品,具有强大的地图制作.空间数据管理.空间分析.空间信息整合.发布与共享的能力.本人主要就A ...

  5. 画画 保存为图片 MaskFilter 边缘效果

    使用 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> publ ...

  6. java09数组的使用

    /** * 数组:存储相同数据类型的一组数据! * 声明一个数组就是在内存中开辟了一连串的连续空间! * * 数组和String 都是 引用数据类型 * 数组的使用 */ @Test public v ...

  7. z-index优先级总结

    因为显示器显示的图案是一个二维平面,拥有x轴和y轴来表示位置属性.为了表示三维立体的概念如显示元素的上下层的叠加顺序引入了z-index属性来表示z轴的区别,表示一个元素在叠加顺序上的上下立体关系. ...

  8. asp.net微信开发第十篇----使用百度编辑器编辑图文消息,上传图片、微信视频

    经过几天的资料收集,终于完成了该编辑器的图片上传,视频插入功能,视频插入功能主要借用了该编辑器的插入iframe功能,如原始插件图: 修改后的插件图如下(其中我隐藏掉了一些不需要使用的插件功能): 配 ...

  9. js添加onclick函数

    document.getElementById('Add').setAttribute("onclick",AddNum()); 相当于不停的调用Addnum函数 应改成docum ...

  10. Java的native关键字---JAVA下调用其他语言的关键词

    今天研究Java基础类库,Object类的时候,发现了一个关键字:native 咦?这是个什么东东?它认识我,我可不认识它! 嘿嘿,没关系,baidu一下. java native关键字 一. 什么是 ...