2014-07-25 改进自定义菜单与使用SVN进行协同开发
今天是在吾索实习的第13天。今天没有做过多的代码设计,只进行了一些代码的分析与进一步优化。其中,发现创建自定义菜单的关键代码书写可分为两部分:
- 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""
}]
}]
}"; 把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进行协同开发的更多相关文章
- 《C#微信开发系列(2)-自定义菜单管理》
2.0自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定 ...
- 用c#开发微信(5)自定义菜单设置工具 (在线创建)
读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下 ...
- 【转】2014年25款最好的jQuery插件
2014年25款最好的jQuery插件 来源:Specs' Blog-就爱PHP 时间:2014-12-30 10:24:10 阅读数:2267 分享到: 0 http://www.php10 ...
- dedecms为后台自定义菜单的完整方法
dedecms为后台自定义菜单的完整方法 品味人生 dedeCMS 围观7330次 18 条评论 编辑日期:2014-06-14 字体:大 中 小 最近在给客户定制一个企业网站,客户要求使用ded ...
- 微信公众平台自定义菜单及高级接口PHP SDK
本文介绍介绍微信公众平台自定义菜单及高级接口的PHP SDK及使用方法. 作者 方倍工作室 修正记录: 2014.05.03 v1.0 方倍工作室 http://www.cnblogs.com/txw ...
- 微信公众平台自定义菜单PHP开发
微信公众平台自定义菜单PHP开发,微信公众平台自定义菜单是如何实现的呢?其实很简单,首先在微信公众平台升级为服务号,获取appid和appsecret,然后根据这2个参数获取access_token, ...
- [039] 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)
引言及内容概要 距离写上一篇文章<自定义菜单的创建及菜单事件响应>整整过了两个月的时间,那时公众平台还没有开放view类型的菜单.在不久前,微信公众平台悄悄开放了view类型的菜单,却没有 ...
- C#微信公众号——自定义菜单
自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单.一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替.自定义菜单的介绍,可以看官方开发文档http://mp. ...
- 点聚weboffice插件自定义菜单
https://blog.csdn.net/u014547764/article/details/53818637 1.在jsp中引用excel插件:首先项目中要有:WebOffice.zip.web ...
随机推荐
- 你需要知道的九大排序算法【Python实现】之插入排序
三.插入排序 基本思想:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2).是稳定的排序方法.插入算 ...
- java环境下的数据库读写分离
方案很多:阿里的中间件cobar.aop注解方式.com.mysql.jdbc.ReplicationDriver读写分离驱动MySQL数据库的同步. MySQL是开源的关系型数据库系统.主从同步复制 ...
- 关于“无法解析的外部符号”和“该符号在函数_wmain 中被引用”的问题
在VS2008和opendv的环境下: error LNK2019: 无法解析的外部符号_cvDestroyWindow,该符号在函数_wmain 中被引用 error LNK2019: 无法解析的外 ...
- unity3d优化IOS
1. using UnityEngine; class GarbageCollectManager : MonoBehaviour { public int frameFreq = 30; ...
- Bottle 中文文档
译者: smallfish (smallfish.xy@gmail.com) 更新日期: 2009-09-25 原文地址: http://bottle.paws.de/page/docs (已失效) ...
- linux下svn客户端安装及环境配置(转)
一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1 ...
- 逆拓扑排序 HDU2647Reward
这个题如果用邻接矩阵的话,由于n比较大,会超内存,所以选用邻接表的形式.还有就是这个题有那个等级的问题,一级比一级的福利高,所以不能直接拓扑排序,而是反过来,计算出度,找出度为0的顶点,然后更新出度数 ...
- Socket服务端口长连接最多能支持多少?
答案是无限的.视服务端的资源而不同. 以前一直认为服务端在Accept客户端连接后,会开启一个新的端口与客户端建立链路,但这是错误的.事实上,一个连路是由Server IP+server Port + ...
- AngularJs学习html转义
MainApp.directive('ngHtml', function () { function watch(scope, el, watchExp){ scope.$watch(watchExp ...
- (@DBRef)spring-data-mongodb
@DBRef用在哪些地方 已知的有 @DBRefprivate Shop product; @DBRefprivate List<Account> accounts; 如果不加@DB ...