Fork me on GitHub
行锋

低头走路,抬头思考


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索

命令行启动模拟器

发表于 2018-10-06 | 分类于 移动开发
  • emulator -avd MyNexusAPI24,其中MyNexusAPI24为模拟器名称
  • 需在PATH中配置:
    export PATH=“PATH: /Library/Android/sdk/emulator",以前配置为exportPATH="PATH:~/Library/Android/sdk/emulator",以前配置为export PATH="PATH: /Library/Android/sdk/emulator",以前配置为exportPATH="PATH:~/Library/Android/sdk/tools”,新版中添加了emulator文件夹

微信公众平台使用

发表于 2018-10-06 | 分类于 微信

官方文档

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

接口整体介绍

微信接口请求返回格式介绍:

微信接口是通过GET方式请求
返回数据格式为JSON

测试号配置

无需公众账号,可直接体验和测试公众平台所有高级接口。

配置:

  1. 登录公众账号
  2. 开发>开发者工具>公众平台测试账号
  3. 微信扫一扫登录
  4. 配置URL、TOKEN、JS接口安全域名

注意事项

  1. 接口频率限制说明
  2. 全局返回码说明

网页授权登录:
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息。

两种scope模式:

  1. snsapi_base时只能获取到openid,静默授权,
  2. snsapi_userinfo时可获取到其他信息,需要用户手动同意授权的

微信公众平台(互斥)

  1. 编辑模式
  2. 开发者模式-openid

接入开发者模式步骤

为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID
如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID

公众平台以access_token为接口调用凭据,来调用接口,所有接口的调用需要先获取access_token,access_token在2小时内有效,过期需要重新获取,但1天内获取次数有限,开发者需自行存储
公众平台接口调用仅支持80端口。

网页授权获取用户基本信息:通过该接口,可以获取用户的基本信息(获取用户的OpenID是无需用户同意的,获取用户的基本信息则需用户同意)

微信JS-SDK:是开发者在网页上通过JavaScript代码使用微信原生功能的工具包,开发者可以使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照等许多能力。

调试接口可能需要取消关注之后才能看到最新的效果

https://blog.csdn.net/z496007165/article/details/73239971
http://www.php.cn/xiaochengxu-405121.html

网页授权接口:
授权回调页面域名:没有http,如:http://89495c4f.ngrok.io是错误的,应该是: 89495c4f.ngrok.io

http://www.106jiekou.com/

https://blog.csdn.net/kingmax54212008/article/details/50811885

https://www.cnblogs.com/hoobey/p/6078584.html

https://blog.csdn.net/qianxing111/article/details/79884527

http://www.it165.net/pro/html/201606/70831.html

ngrok的使用

发表于 2018-10-06 | 分类于 工具

https://ngrok.com/

https://blog.csdn.net/liu_005/article/details/79557818

微信第三方登录

发表于 2018-10-06 | 分类于 微信

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。

open id:在关注者与公众号产生消息交互后,公众号可获得关注者的open id, 同一个用户,在不同公众号或移动应用下对应有不同open id标识;
union id:同一个用户,在不同公众号或移动应用下unionID相同;前提是,如若需要做多个公众号以及移动应用账户互通,得到唯一身份标识union id,则需要将多个公众号或移动应用在微信开放平台进行绑定,然后我们才能给拿到union id;

微信联合登录;也就是我们常用的微信移动端/PC端之间的扫码登录,PC端用微信扫码登录,微信移动端确认授权登录后,应用可以从微信拿到用户的open id或union id,将微信获取的用户信息与自己账户体系中的用户身份进行关联;
授权登录:需要用户确认登录,这样可以通过用户的个人确认,获取用户全面的信息,无论是否关注相关微信公众号等都可以获取。

ASP.NET HTML表单元素

发表于 2018-10-06 | 分类于 C#

BeginForm

https://www.cnblogs.com/sheng-jie/p/6305385.html

ASP.NET WebForms学习笔记

发表于 2018-10-05 | 分类于 C#

申明

文章内容记录自:http://www.w3school.com.cn/aspnet/aspnet_intro.asp, 为个人学习笔记记录。

说明

WebForms可类比WinForm开发,通过可视化拖动的方式快速完成Web页面开发.

ASP.NET MVC学习笔记

发表于 2018-10-05 | 分类于 C#

申明

文章内容记录自:http://www.w3school.com.cn/aspnet/mvc_intro.asp, 为个人学习笔记记录。

MVC项目文件夹

典型的 ASP.NET MVC web 应用程序拥有如下文件夹内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
应用程序信息
* Properties
* 引用

应用程序文件夹
* App_Data 文件夹 //用于存储应用程序数据
* App_Start 文件夹 //含应用程序的配置逻辑文件
** BundleConfig.cs: 注册所使用的捆绑的CSS 和 JS文件。
** FilterConfig.cs: 注册外部/全局过滤器,这些过滤器可以被应用到每个Action和Controller中去.
** RouteConfig.cs: 配置MVC应用程序的系统路由路径。
** Startup.Auth.cs: 配置MVC应用程序的安全信息,包括Authentication和Authorization配置
* Content 文件夹 //用于静态文件,比如样式表(CSS 文件)、图表和图像
* Controllers 文件夹 //包含负责处理用户输入和响应的控制器类,名称必须以 "Controller" 结尾
* Models 文件夹 //包含表示应用程序模型的类。模型存有并操作应用程序的数据
* Scripts 文件夹 //存储应用程序的 JavaScript 文件
* Views 文件夹 //存有与应用程序的显示相关的 HTML 文件
** Shared //用于存储控制器间分享的视图
** [名称] //每个控制器对应的一个文件夹
** _ViewStart.cshtml //其内代码被自动添加到由应用程序显示的所有视图。

配置文件
* Global.asax //主要是web应用程序的全局设置文件,该文件包含响应 ASP.NET 或HTTP模块所引发的应用程序级别和会话级别事件的代码。Global.asax 文件驻留在 ASP.NET 应用程序的根目录中。运行时,分析 Global.asax 并将其编译到一个动态生成的 .NET Framework 类,该类是从HttpApplication基类派生的。配置 ASP.NET,以便自动拒绝对 Global.asax 文件的任何直接的 URL 请求;外部用户不能下载或查看其中的代码。Global.asax 文件是可选的。只在希望处理应用程序事件或会话事件时,才应创建它.
* packages.config //NuGet管理用的
* Web.config

控制器位于 Controllers 文件夹,视图位于 Views 文件夹,模型位于 Models 文件夹。您不必在应用程序代码中使用文件夹名称

控制器Controllers

  1. web 服务器通常会将进入的 URL 请求直接映射到服务器上的磁盘文件.某个 URL 请求(比如 “http://www.abc.cn/index.asp”)将映射到服务器根目录上的文件 “index.asp”。

MVC 框架的映射方式有所不同。

  1. MVC 将 URL 映射到方法。这些方法在类中被称为“控制器”。控制器负责处理进入的请求、处理输入、保存数据、并把响应发送回客户端。
  2. 在mvc中所有的controller类都必须使用"Controller"后缀来命名,并且对Action也有一定的要求:
  • 必须是一个public方法
  • 必须是实例方法
  • 没有标志NonActionAttribute特性的(NoAction)
  • 不能被重载
  • 必须返回ActionResult类型

具体可返回数据类型请参考:https://blog.csdn.net/pasic/article/details/7110134

模型Models

模型包含所有应用程序逻辑(业务逻辑、验证逻辑、数据访问逻辑),除了纯视图和控制器逻辑。

HTML帮助器

HTML 帮助器用于修改 HTML 输出。

HTML 链接

通过 MVC,Html.ActionLink() 不连接到视图。它创建控制器操作(controller action)的连接。

HTML 表单元素

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and 
try again.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">First Name:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Last Name:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Password:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirm Password:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profile:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>

MVC参考手册

http://www.w3school.com.cn/aspnet/mvc_reference.asp

Razor使用

发表于 2018-10-05 | 分类于 C#

申明

文章内容记录自:http://www.w3school.com.cn/aspnet/razor_intro.asp, 为个人学习笔记记录。

说明

Razor 是一种允许您向网页中嵌入基于服务器的代码的标记语法。Razor 基于 ASP.NET,它为 web 应用程序的创建而设计。

当网页被写入浏览器时,基于服务器的代码能够创建动态内容。在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码。由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库。

C# 的主要 Razor 语法规则

  • Razor 代码块由 @{ … } 包围
  • 行内表达式(变量和函数)以 @ 开始
  • 代码语句以分号结束
  • 变量通过 var 关键词进行声明
  • 字符串用引用来包围
  • C# 代码对大小写敏感
  • C# 文件的扩展名是 .cshtml

编程

Razor编程支持变量、循环、逻辑。

变量

1
2
3
4
5
6
7
var myString = '103';
int counter = 103;

if (myString.IsInt())
{
myInt=myString.AsInt();
}

循环

1
2
3
4
<body>
@for(var i = 10; i < 21; i++)
{<p>Line @i</p>}
</body>
1
2
3
4
5
6
<body>
<ul>
@foreach (var x in Request.ServerVariables)
{<li>@x</li>}
</ul>
</body>
1
2
3
4
5
6
7
8
9
10
<body>
@{
var i = 0;
while (i < 5)
{
i += 1;
<p>Line #@i</p>
}
}
</body>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@{var price=25;}
<html>
<body>
@if (price>=30)
{
<p>The price is high.</p>
}
else if (price>20 && price<30)
{
<p>The price is OK.</p>
}
else
{
<p>The price is low.</p>
}
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@{
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString();
var message="";
}
<html>
<body>
@switch(day)
{
case "Monday":
message="This is the first weekday.";
break;
case "Thursday":
message="Only one day before weekend.";
break;
case "Friday":
message="Tomorrow is weekend!";
break;
default:
message="Today is " + day;
break;
}
<p>@message</p>
</body>
</html>

ASP.NET WebPages学习笔记

发表于 2018-10-05 | 分类于 C#

申明

文章内容记录自:http://www.w3school.com.cn/aspnet/webpages_intro.asp, 为个人学习笔记记录。

说明

Web Pages 是三种 ASP.NET 编程模型中的一种,用于创建 ASP.NET 网站和 web 应用程序。

布局

在因特网上,您会发现很多拥有统一外观的网站:

  • 每页拥有相同的页眉
  • 每页拥有相同的页脚
  • 每页拥有相同的样式和布局

可以通过以下方式实现:

  1. 使用 @RenderPage() 方法从不同的文件导入内容
1
2
3
4
5
6
7
<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
@RenderPage("footer.cshtml")
</body>
</html>
  1. 使用布局页面
    布局网页包含网页的结构,而不是内容。当网页(内容页)链接到布局页时,它会根据布局页(模板)来显示。布局页类似普通的网页,但是会在引用内容页的位置调用 @RenderBody() 方法。每个内容页必须以 Layout 指令开头。

布局页面:

1
2
3
4
5
<html>
<body>
@RenderBody()
</body>
</html>

任意网页:

1
2
@{Layout="Layout.cshtml";}
<h1>Welcome to W3Schools</h1>

防止代码泄露

在 ASP.NET 中,名称以下划线开头的文件无法通过 web 来浏览。如果您希望禁止用户查看内容块或布局文件,请对文件重新命名,如:_Layout.cshtml

~ 操作符 与 Href 方法

  • 使用 ~ 操作符在编程代码中规定虚拟根目录,作为项目资源路径根路径,如:var myImagesFolder = “~/images”;
  • Href 方法把代码中的路径转换为浏览器能够理解的路径(浏览器无法理解 ~ 操作符),如:
1
2
3
@{var myStyleSheet = "~/Shared/Site.css";}
<!-- 创建指向 CSS 文件的链接 -->
<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)" />

Page对象

Page对象为内置对象,类似与JSP中的Request等对象

方法 描述
href 使用指定的参数构建 URL。
RenderBody() 在布局页中,将呈现不在指定部分中的内容页部分。
RenderPage(page) 在其他页内呈现某一页的内容。
RenderSection(section) 在布局页中,将呈现指定部分的内容。
Write(object) 将指定的对象作为 HTML 编码的字符串写入。
WriteLiteral 无需先对指定的对象进行 HTML 编码,即可将其写入。
属性 描述
isPost 返回一个值(true 或 false),指示客户端用来请求网页的 HTTP 数据传输方法是否为 POST 请求。
Layout 获取或设置布局页的路径。
Page 提供对页面、布局页和分页之间共享的页数据的类似属性的访问。
Request 获得当前 HTTP 请求的 HttpRequest 对象。
Server 获取 HttpServerUtility 对象,该对象所提供的方法能够在网页处理过程中使用。

Web Pages帮助器

Web Helpers 极大地简化了 web 开发和常见的编程任务。其内部实现了表格、图表等内容显示的逻辑及样式,进行了特定封装。

Web Pages参考手册

http://www.w3school.com.cn/aspnet/webpages_ref_classes.asp

ASP.NET简介

发表于 2018-10-05 | 分类于 C#

申明

文章内容记录自:http://www.w3school.com.cn/aspnet/index.asp, 为个人学习笔记记录。

简介

ASP.NET 是一个开发框架,用于通过 HTML、CSS、JavaScript 以及服务器脚本来构建网页和网站。
ASP.NET 是新一代的 ASP。它无法兼容经典 ASP,但 ASP.NET 可以引用 ASP。
当浏览器请求 ASP.NET 文件时,ASP.NET 引擎读取该文件,编译并执行文件中的脚本,然后以纯 HTML 向浏览器返回结果。
ASP.NET 支持三种开发模式/服务器技术:

  • Web Pages:单页面模型
  • MVC:模型视图控制器
  • Web Forms:事件驱动模型

ASP.NET 文件扩展名

  • ASP 文件的文件扩展名是 .asp
  • ASP.NET 文件的文件扩展名是 .aspx
  • ASP.NET 文件使用 C# 语法的文件扩展名是 .cshtml
  • ASP.NET 文件使用 Razor VB 语法的文件扩展名是 .vbhtml

版本区别

  • 2009年发行ASP.NET MVC 1.0版

  • 2010年发行ASP.NET MVC 2.0版,VS2010

  • 2011年发行ASP.NET MVC 3.0版+EF4,需要.Net4.0支持,VS2011

  • 2012年发行ASP.NET MVC 4.0版+EF5,需要.Net4.0支持,VS2012

  • 2013年发行ASP.NET MVC 5.0版+EF6,需要.Net4.5支持,VS2013

  • 2015年发行ASP.NET MVC 6.0版+EF7,需要.Net5.0支持,VS2015

  • ASP.NET 5.0      将改名为  ASP.NET Core 1.0

  • ASP.NET MVC 6     将改名为  ASP.NET MVC Core 1.0

  • Entity Framework 7.0 将改名为  Entity Framework Core 1.0

  • .NET新的跨平台版本将命名为.NET Core 1.0

推荐文章

WebForms vs. MVC: http://www.cnblogs.com/heyuquan/p/webForms-vs-mvc.html

1…131415…50
行锋

行锋

496 日志
15 分类
74 标签
GitHub E-Mail
自古写字楼如青楼,不许楼里见白头
© 2015 — 2019 行锋
博客全站共229.9k字