图形界面程序开发
HTML CSS
知识点 |
概述 |
简介 |
web应用技术,web前端、后端开发简介 |
开发工具准备 |
vscode安装使用简介 |
HTML简介 |
html 元素、head 元素、body 元素、空元素 |
HTML简介 |
元素的属性、注释 |
HTML简介 |
把HTML放到网站里、Live Server扩展、Nginx |
URL |
传输协议 scheme,域名和端口,资源路径,URL 参数,锚点 |
常用 HTML元素 |
标题 h1-h6,段落 p,一块内容 span,换行 br |
常用 HTML元素 |
专题切换 hr,超链接 a,强调 strong b em mark |
常用 HTML元素 |
图片 img,预格式化 pre |
CSS语句的位置 |
内联CSS,head 里的 CSS,外部CSS文件 |
CSS简介 |
CSS 注释,div 元素,浏览器查看修改 HTML/CSS |
CSS 优先规则 |
声明次序,具体性,继承性,!important |
CSS 选择器 |
根据 标签名,根据 id 属性,根据 class 属性 |
CSS 选择器 |
选择 子元素 和 后代元素 |
CSS 选择器 |
根据属性选择,验证 CSS Selector,选择语法联合使用,组选择 |
CSS 选择器 |
父元素的第n个子节点,父元素的倒数第n个子节点 |
CSS 选择器 |
父元素的第几个某类型的子节点,父元素的倒数第几个某类型的子节点 |
CSS 选择器 |
奇数节点和偶数节点 |
CSS 选择器 |
相邻兄弟节点选择,后续所有兄弟节点选择,所有元素 |
CSS 选择器 |
相邻兄弟节点选择,后续所有兄弟节点选择,所有元素 |
CSS 颜色 |
关键字值,Hex RGB值,rgb函数 |
CSS 长度单位 |
px,rem,em,vw、vh |
字体 |
类别,粗细/倾斜/装饰线 |
边框 |
边框线宽,边框样式,边框颜色, 边框边角弧度 |
文字布局 |
对齐,行高,字词间距,white-space |
table 元素 |
指定宽度,居中,单元格合并 |
列表 |
ol,ul,list-style-type |
block 和 inline |
block 模式,inline 模式,inline-block |
基本布局规则 |
Content区,Padding 区,Border 区,Margin 区,包含块 |
基本布局规则 |
宽度和高度,内间距 padding,外间距 margin |
基本布局规则 |
调试css,百分比,auto |
基本布局规则 |
最大/最小 宽度高度,背景色范围 |
FlexBox布局 |
基本概念,自动换行 |
FlexBox布局 |
flex-basis,flex-grow,flex-shrink |
FlexBox布局 |
从轴对齐,主轴对齐 |
FlexBox布局 |
基本概念,自动换行 |
Grid布局 |
基本概念,列布局,行布局 |
Grid布局 |
元素跨行跨列,网格线 |
float |
float 的作用,多个元素float |
position |
相对定位 relative,绝对定位 absolute,固定定位 fixed |
HTML 特定语义元素 |
nav/main/foot |
HTML 特定语义元素 |
header/aside/section/article |
用户交互元素 |
input 概述,表单 form |
用户交互元素 |
input - text、email、password、number |
用户交互元素 |
标签 label,多行文本框 textarea,按钮 button |
用户交互元素 |
单选 input - radio,复选 input - checkbox |
用户交互元素 |
选择框 select |
Javascript 语言
知识点 |
概述 |
Javascript 简介 |
简介,代码编辑软件vscode |
Javascript 简介 |
获取/修改 网页的内容 |
Javascript 简介 |
当某个事件发生时得到通知 |
Javascript 简介 |
和服务端进行通讯 |
Javascript 简介 |
js执行引擎,浏览器,DevTools Console |
Javascript 简介 |
HTML内嵌js代码,HTML引用外部js代码文件 |
数字运算 |
整数,小数,存储特性 |
数字运算 |
加减乘除、次方,混合运算,表达式 |
变量 |
变量的概念,变量的命名规则 |
变量 |
变量名 对应新的数据,变量数据 本身发生了变化 |
变量 |
数字变量值变化 |
注释 |
单行注释,多行注释 |
字符串 |
字符串的定义,字符串中有引号,字符串拼接 |
字符串 |
字符串元素索引,获取字符串长度 |
初学函数 |
函数的作用,定义函数 |
初学函数 |
调用函数,调用后返回 |
初学函数 |
函数的参数,函数的返回值,参数缺省值 |
变量的有效范围 |
全局范围,函数内部,代码块 |
变量的有效范围 |
var vs let,范围覆盖 |
一些内置函数 |
输入框 - prompt 函数,提示框 - alert 函数,确认框 - confirm 函数 |
一些内置函数 |
parseInt、parseFloat |
判断语句 |
布尔类型,布尔表达式 |
判断语句 |
逻辑且,逻辑或,逻辑非 |
判断语句 |
if, else, else if |
判断语句 |
条件判断嵌套,条件赋值 |
对象 |
对象和属性 |
对象 |
使用字面标记创建对象,属性名为变量 |
对象 |
添加属性,修改属性,删除属性 |
对象 |
函数作为对象属性 |
对象 |
使用构造函数创建对象 |
对象 |
原型 和 原型链 |
对象 |
内置构造函数 Object |
对象 |
使用原型创建对象 |
对象 |
Object.prototype |
对象 |
原型的好处 |
对象 |
构造函数 定义, 构造函数原型链 |
对象 |
检查对象是否有某个属性 |
对象 |
得到对象所有属性,得到对象所有属性和值 |
数组 |
数组的概念,索引,切片 slice |
数组 |
末尾添加 push,末尾取出元素 pop |
数组 |
开头取出元素 shift,改变单个元素 |
数组 |
指定位置删除 splice,指定位置替换 splice,指定位置插入 splice |
数组 |
数组元素倒过来 reverse,获取元素索引 indexOf |
数组 |
检查是否包含 includes,清空数组 |
数组 |
拼接字符串 join,多个变量同时赋值 |
数组 |
函数返回数组,const 定义变量 |
数组 |
map方法, indexof方法 |
字符串、数字对象 |
primitive 数据的概念 |
字符串对象 |
length,indexOf |
字符串对象 |
切片 slice,split |
字符串对象 |
trim、trimStart、trimEnd |
字符串对象 |
替换,startsWith 和 endsWith |
字符串对象 |
字符串模板,转义符 |
字符串对象 |
includes,padStart,padEnd |
数字对象 |
parseInt、parseFloat,toString |
while 循环 |
while 循环,do while循环 |
for 循环 |
循环 n 次,遍历数组,遍历对象 |
循环 |
break 终止循环,continue中止本轮循环 |
循环 |
函数中的 break 和 return |
循环 |
循环嵌套,冒泡排序 |
调试程序 |
为什么要调试 |
调试程序的方法 |
DevTools 断点调试,打印出关键变量的值,使用哪种方法? |
类和继承 |
类的定义和实例化 |
类和继承 |
子类继承父类,和父类的不同 |
错误捕获 |
错误对象,抛出错误 |
错误捕获 |
捕获错误,嵌套捕获 |
错误捕获 |
函数调用里面产生的错误,函数调用栈抛出的错误,finally |
3个点操作符 |
剩余参数,展开语法 |
回调 |
为何需要回调,异步架构 |
回调 |
匿名函数,箭头函数 |
回调函数中的this |
保存this到其它变量,箭头函数中的this,函数原型方法bind |
promise |
回调地狱的问题 |
promise |
创建 Promise |
Promise的then方法 |
参数 - 处理函数 |
Promise的then方法 |
返回值 - Promise |
promise |
Promise 链 |
promise |
错误处理 |
async await |
async await 语法糖的用法 |
模块化 |
HTML中导入所有js的问题,模块化 |
模块化 |
命名 导出/导入,导出声明列表 |
模块化 |
默认 导出/导入 |
模块化 |
命名空间导入 |
js Web应用
知识点 |
概述 |
Web API 简介 |
浏览器内置window对象 |
Web API 简介 |
DOM 文档对象模型 |
Web API 示例 |
获取元素对象,事件和处理 |
Web API 示例 |
获取网页内容,改变网页内容,其它能力 |
DOM对象通用属性 |
继承关系 |
EventTarget 通用属性 |
addEventListener(),removeEventListener() |
Node 通用属性 |
获取所有子节点,textContent,获取父元素节点 |
内置对象document |
产生元素对象,寻找内部元素 |
Element 通用属性 |
id,children |
Element 通用属性 |
innerHTML、outerHTML |
Element 通用属性 |
获取内部元素,获取上级元素 |
Element 通用属性 |
添加元素,删除元素,替换元素 |
Element 通用属性 |
获取元素属性,设置元素属性,删除元素属性,class属性 |
Element 通用属性 |
获取内部元素,获取上级元素 |
HtmlElement 通用属性 |
innerText、outerText, style |
HtmlElement 通用属性 |
focus(), click() |
元素对象自身属性 |
a元素对象,button元素对象,img元素对象 |
元素对象自身属性 |
input 通用属性 |
元素对象自身属性 |
input - text,email,password,number |
元素对象自身属性 |
input - number |
元素对象自身属性 |
input - radio,checkbox |
元素对象自身属性 |
textarea |
元素对象自身属性 |
select 和 option |
事件处理定义方式 |
addEventListener,DOM对象事件属性,html 内联定义 |
事件处理 |
事件针对的元素,代码在html的位置, |
事件处理 |
页面加载后才执行,事件对象和类型 |
事件处理 |
事件处理顺序,事件对象 target属性 / this |
事件处理 |
动态创建元素的事件,preventDefault() |
jQuery |
简介,安装 |
jQuery |
选择元素/事件处理 |
jQuery |
添加元素,删除元素 |
jQuery |
替换元素内容,元素值操作 |
jQuery |
获取元素属性,设置元素属性 |
jQuery |
删除元素属性,style设置 |
和服务端通讯 |
HTTP 协议 |
和服务端通讯 |
XHR/AJAX |
和服务端通讯 |
前后端API 接口 |
jQuery 构建请求消息 |
请求方法,url 和 url参数,消息头,消息体 |
jQuery 解析响应消息 |
消息头, 消息体解析 |
和服务端通讯 |
session 机制 |
fetch API 构建请求消息 |
url 和 method, url 参数 |
fetch API 构建请求消息 |
消息头, 消息体 |
fetch API 解析响应消息 |
响应状态码, 消息头, 消息体 |
fetch API 解析响应消息 |
结合 async/await |
React
知识点 |
概述 |
React 简介 |
简介,为何要用框架 |
React 简介 |
react简易开发环境搭建 |
React JSX |
JSX简介,元素属性表达式 |
React JSX |
空元素,可以用括号,必须有顶层元素 |
React JSX |
更新渲染内容,只更新变化的部分,独立 jsx 文件 |
组件简介 |
函数组件,类组件 |
组件简介 |
组件 参数,组件 组合,组件 包含 |
组件的状态和生命周期 |
组件的状态,组件的生命周期 |
挂载阶段 |
constructor(),render(),componentDidMount() |
更新阶段 |
render(),shouldComponentUpdate(),componentDidUpdate() |
卸载阶段 |
componentWillUnmount() |
补充学习 |
forceUpdate() |
事件处理 |
React的事件处理,组件类方法中的this |
对象数组 |
常用场景,元素的 key属性 |
输入元素 |
input输入,textarea,select |
调试工具 |
浏览器扩展 React Developer Tools |
父子组件 |
分离出子组件 |
父组件触发子组件更新 |
参数是间接渲染数据的问题 |
父组件触发子组件更新 |
使用componentDidUpdate |
父组件触发子组件更新 |
参数传递直接渲染数据 |
子组件触发父组件更新 |
父组件给子组件传递回调函数 |
JSX转化为js |
简介 |
node.js |
下载安装,交互式代码输入,运行js代码文件 |
npm |
国内的源,package.json,安装库,卸载库 |
Babel 转化JSX |
安装Babel,配置文件,转化命令 |
使用 React ES6模块库 |
何时使用 ES6模块库,使用注意 |
Webpack |
为什么需要构建工具 |
Webpack |
webpack 简介,安装webpack、安装Babel |
Webpack开发环境 |
安装 webpack-dev-server,配置文件,启动 |
React Router |
安装 React Router,Router 方式 |
React Router |
使用 HashRouter |
项目实战
药管系统 HYMS
开发药品销管系统的 网站前端子系统
具体内容点击这里查看
练习 |
概述 |
项目实战1 |
登录界面 |
项目实战2 |
登录接口 |
项目实战3 |
主界面布局 |
项目实战4 |
主界面菜单样式 |
项目实战5 |
点击隐藏显示子菜单 |
项目实战6 |
列出系统中的客户 |
项目实战7 |
添加客户 |
项目实战8 |
分页功能 |
项目实战9 |
删除客户 |
项目实战10 |
修改客户 |
项目实战11 |
各个功能界面路由 |
项目实战12 |
药品管理功能 |
项目实战13 |
改为React实现 |
项目实战14 |
订单功能 - 选择客户 |
项目实战15 |
订单功能 - 选择药品、提交订单 |
项目实战16 |
个人信息管理 |
项目实战17 |
模块化 |
项目实战18 |
使用webpack构建项目-包括开发环境、生产环境 |
项目实战19 |
统计数据图表 |
项目实战20 |
使用React Router库 |
Elife 设备控制管理系统
Elife 实现生活设备(洗车机、充电站、存储柜等)的管理控制平台。
包括:设备型号管理、业务规则管理、设备管理、客户查看、消费记录、统计功能、权限分组管理等等。
本次实战要求大家开发该系统的 管理端 SMP 前端子系统