HTTP
的状态管理
HTTP协议属于一款短连接模式的协议。意味着同一个客户端发送一次请求,获取响应后,连接断开。再发后续请求是需要重新建立连接。这种方式可以很好释放服务端资源。但是也会出现新的问题:同一个客户端发送的多次请求,服务端不会当做一个整体来看待。所以我们称HTTP协议属于无状态协议。
Cookie机制
客户端发第一个请求,服务端接收并处理。将数据放入cookie后,发给客户端。
客户端接收响应,保存cookie信息。
当下次发请求时,带着cookie一起发送。
服务端接收请求,获取cookie,从而完成状态管理。
Cookie不安全
Session
机制
客户端发送第一个请求,服务端接收请求,处理请求。为该客户端分配一个sessionID
作为该客户端的唯一标识符。并且将一些与客户端有关的数据存入服务器内存。将sessionID返回给客户端即可。
sessionID | 数据 |
---|---|
abc123123 | {username: zs, pwd:123456, age:16, phone:1444444444} |
abc321321 | {username: ls, pwd:123456, age:16, phone:1444444444} |
客户端接收到sessionID后,保存下来,等下次发请求时带着一起发送。
服务端接收到请求后,解析sessionID,去内存中寻找有没有与之对应的数据,如果有则完成了状态管理。
Token
机制
jwt
链接:https://pan.baidu.com/s/1B3YUiJnd3A2vOGKmkEu0_Q
提取码:2prs
微信小程序
微信公众平台 mp.weixin.qq.com
服务号 企业、组织可以申请服务号。提供给关注的用户一些企业服务。
订阅号 企业、组织、个人可以申请订阅号。用于给所有关注的粉丝发布一些资讯。
小程序 微信内部运行,性能接近原生app
的应用程序。优点在于小,扫码即用,用完就走。
成为小程序开发者 - 注册小程序账号
第一个小程序
下载并安装开发者工具。
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
创建并开发第一个小程序项目。
小程序项目的目录结构
pages[文件夹] 用于存放小程序所有的页面,一个页面一个子文件夹
index 用于定义小程序中的一个页面
index.js 用于定义当前页面的脚本代码
index.json 用于定义当前页面的配置参数
index.wxml 用于定义页面的标签结构
index.wxss 用于定义页面中标签组件的样式
app.js 小程序全局主js文件,全局仅加载一次
app.json 小程序全局配置文件
app.wxss 小程序全局的样式文件
project.config.json 项目配置文件,定义小程序项目相关配置
app.json
小程序全局配置文件。
pages
配置项
pages配置项主要用于定义小程序中包含哪些页面:
"pages": [
"pages/index/index",
"pages/demo/demo"
],
在pages
配置项中添加子元素,配置一个新路径,小程序开发工具将会自动创建四件套。pages
中下标为0的页面,为小程序的首页,初次打开小程序时看到的就是首页。
window
配置项
用于定义页面的表现形式:
"window": {
"backgroundTextStyle": "light", 背景文字样式
"enablePullDownRefresh": true, 启用下拉刷新
"backgroundColor": "#444", 背景颜色
"navigationBarBackgroundColor": "#f03d37", 导航条背景色
"navigationBarTitleText": "学子影院", 导航条标题文字
"navigationBarTextStyle": "white" 导航条文字样式
},
tabBar
配置项
tabBar
配置项用于配置底部选项卡。需要提供底部选项卡的文字的默认颜色、选中项的颜色,需要提供每一个底部选项卡的选中态图标、未选中态图标、文本内容、点击后跳转到哪个路由地址等信息。
"tabBar": {
"color": "#444",
"selectedColor": "#f03d37",
"list": [{
"text": "电影",
"pagePath": "pages/index/index",
"iconPath": "/images/index_disable.png",
"selectedIconPath": "/images/index_enable.png"
},{
"text": "影院",
"pagePath": "pages/theatre/theatre",
"iconPath": "/images/theatre_disable.png",
"selectedIconPath": "/images/theatre_enable.png"
},{
"text": "我的",
"pagePath": "pages/me/me",
"iconPath": "/images/me_disable.png",
"selectedIconPath": "/images/me_enable.png"
}]
},
"style": "v2"
开启新版组件库的样式。
sitemapLocation
该配置项用于指明sitemap.json
配置文件的路径位置。sitemap.json
文件的作用,
请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html
app.js
全局脚本文件,小程序的入口文件。第一次打开小程序时自动执行,用于初始化一些数据,定义一些全局共享的数据,定义一些全局生命周期钩子方法等脚本。
app.wxss
全局样式文件,在该文件中定义的样式全局生效。