几天没有更新,最近参加了前端学习的夏令营,收获了很多东西。
学习周期
7月26~8月4日

学习内容
1. 统一讲授基础的技术(前端 + 后端)
2. 暂定时间 7月30日 结束基础技术讲解
3. 7月31日 开始进入到团队项目

整个B站项目 - 基于B站小程序视频播放平台
1. 前端架构 - 小程序技术支撑
1)完成界面开发
2)完成数据渲染
3)动态效果设计

2. 后端架构 - Java技术支撑1)提供前端小程序所需要的数据接口2)提供一个管理数据的平台a:统计数据 - 今天又多少人访问我们小程序b:新增视频 - 难道请数据库管理员(DBA)进行数据添加???

今日头条 - 聚会类型平台 - 用户群体面向(个人;媒体)
1. 自媒体 - 新闻;抖音;视频
2. 类似知了堂视频平台管理端

思考:
1. 尽量满足用户需求 - 开发人员职责
2. 后端同学需不需开发一个后端数据管理中心???

项目去学习技术
1. 需求分析 - 功能(团队)
1)前端
a:主页 - 提供怎样的功能(需要多少数据 - 参数)
b:分类 - 提供怎样的功能(需要多少数据 - 参数)
c:个人 - 提供怎样的功能(需要多少数据 - 参数)
d:视频 - 播放页面(需要多少数据 - 参数)
结论:找后端开发人员给我数据

	2)后端a:数据库怎么设计b:视频主页 - 提供怎样的功能c:发表视频 - 提供怎样的功能d:内容管理 - 提供怎样的功能e:评论管理 - 提供怎样的功能f:视频数据 - 提供怎样的功能产出内容:需求分析 - 思维导图2. 原型图设计 - axure 工具3. 开发文档设计 - 前端和后端开发规范1)设计接口文档2)如下非常重要内容a:接口地址 - 网络地址 - 访问地址,则可以获取服务器上数据b:接口功能c:请求参数d:请求方式e:返回数据类型f:返回数据结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CCNw73uD-1595950549581)(day0.assets/image-20200726140338845.png)]

具体的接口文档格式,请参考上课word文档

任务 - 团队合作任务

  • 梳理项目需求,提交文件格式 思维导入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QIqLVrQt-1595950549587)(day0.assets/image-20200726150800623.png)]

  • 完成原型图设计,提交线框图的原型
    1. 前端界面 - 线框图
    2. 后端界面 - 线框图
  • 完成接口开发文档,提交word文档

工具

  • axure - 原型图
  • typora - markdown工具
  • xmind - 思维导图

1.1 课程介绍

  • 项目:基于B站小程序视频播放平台
  • 整个课程主要分为四个部分
    1. Java后端技术基础知识讲解
    2. 前端技术基础知识讲解
    3. 基于项目功能模块技术讲解
    4. 最终以团队形式完成此项目
  • 项目技术栈 + 项目工程化能力管理
    1. 前端技术基础:HTML+CSS+JavaScript+Ajax
    2. Java Web开发技术基础:Servlet + Tomcat + JSP + JavaBean + JDBC
    3. 前端框架:微信小程序
    4. 后端框架:DButils + 数据库连接池
    5. 数据库:MySQL
    6. 项目构建工具:Maven
    7. 项目源代码管理:SVN + 协同开发平台

1.2 课程收获

1.2.1 理论知识 - 收获

  • 微信小程序组件化开发
  • 掌握后台数据交互逻辑和数据绑定,了解前后端的概念
  • 全面了解前端开发的知识体系与学习路线及方法
  • 全面了解后端开发的知识体系与学习路线及方法

1.2.2 应用能力 - 收获

  • 微信小程序组件化开发
  • 微信小程序数据绑定
  • JS程序业务逻辑代码实现
  • 数据请求异步封装
  • Ajax数据响应
  • 原生Web请求与响应的原理与流程
  • Maven项目构建技术应用
  • 扩展:SpringBoot搭建主流后台框架引擎(依据同学能力和时间)

1.2.3 工程化能力 - 收获

  • 项目开发思维提升,找到如何解决一个技术问题方法
  • 学习能力提高,主动学习和查阅技术开发文档
  • 怎么有效去组织团队开发和团队之间的合作
  • 掌握项目业务流程分析和逻辑实现

1.3 项目功能截图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g4da4zsd-1595950602505)(day1.assets/image-20200723141241139.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WEvvZzY8-1595950602507)(day1.assets/image-20200723141337217.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RWTpjLU5-1595950602509)(day1.assets/image-20200723141437942.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-64RM2Ie4-1595950602511)(day1.assets/image-20200723141530324.png)]

2.前端基础

2.1 HTML

前端展示型标签:

  • DIV:布局型标签(前端,后端)
  • A:超链接标签
  • UL:列表标签
  • IMG:图片标签
  • SPAN:语义标签(修饰性)

后端数据控制中心标签:

  • form:表单标签
    1. input:text; password; file; submit; reset; radio, checkbox, hidden
    2. textarea:文本域
    3. select:下拉框
  • table:表格标签
    1. th
    2. td
    3. tr
    4. thead
    5. tbody

2.2 CSS

CSS概念:层叠样式表,用于美化我们网页标签外观样式。比如:图片圆角;阴影效果;动画效果

CSS版本:CSS2 ;CSS3

2.2.1 CSS编码规范

  • 外部样式
/* 独立新建样式文件,后缀名.css */
body {...}
img {...}
ul {...}
<!-- 1.html,则我们可以通过link标签引入外部css样式 -->
<html><head><link href='1.css' type='text/css' rel='stylesheet'></head>
</html>
  • 内部样式:在网页html文件里面去编写CSS样式代码。需要在
<html><head><style>body {...}img {...}ul {...}</style></head>
</html>
  • 内嵌样式:在网页标签上面写CSS样式代码
<html><head></head><body><img style='width:100px; height: 100px'></body>
</html>

注意:

1.样式有一个优先级,内嵌样式 > 内部样式 > 外部样式

2.样式代码需要用分号 ; 结束

2.2.2 CSS语法

选择器:给标签指定样式(不是所有标签都需要进行样式美化)

选择器分类:

  • ID选择器
  • 类选择器
  • 标签选择器
  • 群组选择器
  • 层次选择器
第1钟:id选择器,根据标签属性id值来进行样式定义
<div id="d1"></div>
#d1 {样式代码
}第2钟:class选择器,根据标签属性class值来进行样式定义
<div class='d2'></div>
.d2 {样式代码
}第3钟:标签选择器,根据标签的名字来进行样式定义
<div></div>
div {样式代码
}第4钟:群组选择器,可以一次性为多个不同的标签统一的去定义相同样式
<div></div>
<button></button>
<div class='d3'></div>
div, button, .d3 {样式代码
}第5钟:层次选择器,如果我想去定义div里面button标签的样式
<div class='d4'><button></button><button></button><button></button>
</div>
.d4 > button { // 使用大于号,则定义直接子元素样式样式代码
}.d4 button {  // 空格,则定义子元素,或 子元素的子元素样式(儿子,孙子,孙子的孙子)样式代码
}
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">#d1 {width: 300px;height: 100px;background-color: red;}.d2 {width: 400px;height: 100px;background-color: black;}div {width: 500px;height: 100px;background-color: blue;}.d3 {width: 600px;height: 100px;background-color: yellow;}/* 层次选择器 */.d3 > button {width: 50px;}/* 群组选择器 */.d4, p {width: 700px;height: 100px;background-color: gray;}</style>
</head>
<body>
<div id="d1"></div>
<div class="d2"></div>
<div></div>
<div class="d3"><button>按钮1</button><button>按钮2</button><button>按钮3</button>
</div>
<div class="d4">我是一个div</div>
<p>我是一个p标签</p>
</body>
</html>

2.2.3 样式用法

  • 根据样式功能(作用)进行分类
    1. 文本样式
    2. 背景样式
    3. 盒模型样式
    4. 布局样式
    5. 新增CSS3样式
  • 文本样式
    1. color:颜色
    2. font-size:大小
    3. font-weight:粗度
    4. line-height:行高
    5. text-align:文字水平居中
  • 背景样式
    1. background,背景样式简写,包含:颜色;图片;定位;大小;平铺;渐变色
    2. background-color,颜色
    3. background-image,图片
    4. background-size,大小
    5. background-position,定位
    6. background-repeat,平铺
  • 盒模型样式
    1. width,宽度
    2. height,高度
    3. margin,外边距
    4. padding,内边距
    5. border,边框
    6. border-radius,圆角
    7. box-shadow,边框阴影
  • 布局样式
    1. position,相对定位(relative),固定定位(fixed),绝对定位(absolute),默认(static)
    2. left,相对要定位元素左侧距离
    3. right,相对要定位元素右侧距离
    4. top,相对要定位元素顶部距离
    5. bottom,相对要定位元素底部距离
    6. float,浮动,让元素脱离文档流(重要;恐怖)
    7. display,设置为flex,弹性布局
    8. flex-wrap,设置换行
    9. flex-direction,设置弹性布局方向
    10. justify-content,主轴方向的布局设置(对齐方式设置)
    11. align-item,纵轴方向的布局设置(对齐方式设置)
  • 新增CSS3样式
    1. transform,缩放(scale),移动(translate),旋转(rotate)
    2. transition,过渡 - 当一个样式变化为另一个样式所需要耗费时间(自带动画效果)
    3. @keyframes,自定义动画
    4. animation,执行动画(名称,时间,速度,次数,逆向)
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">div {/* 文本样式 */color: red; /* 颜色 */font-size: 20px;font-weight: bold;line-height: 50px; /* 当行高 = 盒子高度 垂直居中效果 */text-align: center;/*盒模型*/width: 200px;height: 50px;border: 1px solid black;margin: 0 auto;  /* margin 设置 上右下左 外边距距离 */padding: 0 10px; /* 文字内容 与 div的边框左右距离 10px */border-radius: 5px; /* 设置 div的四个角 */box-shadow: 10px 10px 10px gray; /* 边框阴影设置 (x,y,blur,color) */}</style>
</head>
<body>
<div>HelloWorld</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">.d1 {width: 100%;height: 300px;margin: 0 auto;background: rgb(74,36,121);}.d2 {width: 800px;height: 300px;margin: 0 auto;background-image: url(img/109951165132818526.jpg);background-size: cover;}</style>
</head>
<body>
<div class="d1"><div class="d2"></div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">.d1 {width: 500px;height: 300px;background-color: gray;margin: 0 auto;position: relative; /* 加入了一个相对定位,则它里面的子元素就可以针对它定位了 */}.d2 {width: 200px;height: 100px;background-color: black;/* 如果是绝对定位, 针对父元素进行定位, 绝对定位往往有一个坑(它的父元素设置定位没有) *//* 如果父元素没有设置定位,则相对浏览器定位 */position: absolute;left: 10px;top: 30px;}</style>
</head>
<body>
<!-- d2是d1子元素,了解绝对定位,针对父元素进行定位 -->
<div class="d1"><div class="d2"></div>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">.d2 {width: 200px;height: 30px;color: white;line-height: 30px;background-color: black;position: fixed; /* 固定定位, 针对浏览器的定位 */right: 0;top: 100px;}</style>
</head>
<body>
<div class="d1"># 2.系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系统架构演变的历程;把握现在,学习现在最火的技术架构;展望未来,争取成为一名优秀的Java工程师。## 2.1.集中式架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。![1525529091749](day1.assets/1525529091749.png)存在的问题:- 代码耦合,开发维护困难
- 无法针对不同模块进行针对性优化
- 无法水平扩展
- 单点容错率低,并发能力差## 2.2.垂直拆分当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我们根据业务功能对系统进行拆分:![1525529671801](day1.assets/1525529671801.png)优点:- 系统拆分实现了流量分担,解决了并发问题
- 可以针对不同模块进行优化
- 方便水平扩展,负载均衡,容错率提高缺点:- 系统间相互独立,会有很多重复开发工作,影响开发效率## 2.3.分布式服务当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式调用是关键。![1525530657919](day1.assets/1525530657919.png)优点:- 将基础服务进行了抽取,系统间相互调用,提高了代码复用和开发效率缺点:- 系统间耦合度变高,调用关系错综复杂,难以维护## 2.4.流动计算架构(SOA)SOA :面向服务的架构当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键![1525530804753](day1.assets/1525530804753.png)以前出现了什么问题?- 服务越来越多,需要管理每个服务的地址
- 调用关系错综复杂,难以理清依赖关系
- 服务过多,服务状态难以管理,无法根据服务情况动态管理服务治理要做什么?- 服务注册中心,实现服务自动注册和发现,无需人为记录服务地址
- 服务自动订阅,服务列表自动推送,服务调用透明化,无需关心依赖关系
- 动态监控服务状态监控报告,人为控制服务状态缺点:- 服务间会有依赖关系,一旦某个环节出错会影响较大
- 服务关系复杂,运维、测试部署困难,不符合DevOps思想## 2.5.微服务前面说的SOA,英文翻译过来是面向服务。微服务,似乎也是服务,都是对系统进行拆分。因此两者非常容易混淆,但其实却有一些差别:微服务的特点:- 单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责
- 微:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。
- 面向服务:面向服务是说每个服务都要对外暴露Rest风格服务接口API。并不关心服务的技术实现,做到与平台和语言无关,也不限定用什么技术实现,只要提供Rest的接口即可。
- 自治:自治是说服务间互相独立,互不干扰- 团队独立:每个服务都是一个独立的开发团队,人数不能过多。- 技术独立:因为是面向服务,提供Rest接口,使用什么技术没有别人干涉- 前后端分离:采用前后端分离开发,提供统一Rest接口,后端不用再为PC、移动段开发不同接口- 数据库分离:每个服务都使用自己的数据源- 部署独立,服务间虽然有调用,但要做到服务重启不影响其它服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替换,降低耦合,易维护微服务结构图:![1526860071166](day1.assets/1526860071166.png)# 3.后端技术能力要求同学们一定要注意,目前企业的后端技术开发趋势,务必是前后端技术整合对于目前应届生同学需要学习技术内容如下,这个也是企业的要求## 3.1 前端技术前端技术:- 基础的HTML、CSS、JavaScript(基于ES6标准)
- Vue.js 2.0以及基于Vue的UI框架:Vuetify
- 前端构建工具:WebPack
- 前端安装包工具:NPM
- Vue脚手架:Vue-cli
- Vue路由:vue-router
- ajax框架:axios
- 基于Vue的富文本框架:quill-editor## 3.2 后端技术后端技术:- 基础的SpringMVC、Spring 5.0和MyBatis3
- Spring Boot 2.0.1版本
- Spring Cloud 最新版 Finchley.RC1
- Redis-4.0
- RabbitMQ-3.4
- Elasticsearch-5.6.8
- nginx-1.10.2
- FastDFS - 5.0.8
- MyCat
- Thymeleaf
- JWT## 3.3 技术解读上面的技术组合可以在项目中解决以下的典型问题:- 利用Node.js及Vue.js技术栈,实现前后端分离开发- 利用SpringCloud技术栈,实现真正的微服务实战开发,并且是基于SpringBoot2.0和SpringCloud最新版本Finchley.RC1实现,业内领先。- 基于FastDFS解决大数据量的分布式文件存储问题- 基于Elasticsearch高级聚合功能,实现商品的智能过滤搜索- 基于Elasticsearch高级聚合功能,实现销售业务的复杂统计及报表输出- 基于LocalStorage实现离线客户端购物车,减轻服务端压力。- 基于JWT技术及RSA非对称加密实现真正无状态的单点登录。- 结合JWT和RSA非对称加密,自定义Feign过滤器实现自动化服务间鉴权,解决服务对外暴露的安全问题- 基于RabbitMQ实现可靠消息服务,解决服务间通信问题- 基于RabbitMQ实现可靠消息服务,解决分布式事务问题- 使用微信SDK实现微信扫码支付,符合主流付款方式- 基于Redis搭建高可用集群,实现可靠缓存服务即热点数据保存。持久化,集群,哨兵,主从,缓存击穿- 基于Redis和Mq来应对高可用高并发的秒杀场景- 基于MyCat实现数据库的读写分离和分库分表- 基于Thymeleaf实现页面模板和静态化,提高页面响应速度和并发能力- 基于Nginx实现初步的请求负载均衡和请求限流
</div><div class="d2">对话框: 正在讲话 刘阳
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">.d1 {/* 如果没有设置定位,则div是在浏览器的左上角 */width: 200px;height: 50px;background-color: black; transition: 5s all; /* 动态的特效 */}.d1:hover {/* 相对原来的位置移动 10px;50px; */position: relative;top: 200px;left: 100px;}</style>
</head>
<body>
<div class="d1"></div>
</body>
</html>

2.3 弹性布局

目的:

  • 有效帮助我们去定位每个元素在网页中一个位置,主要对齐的方式
  • 原理 - 主要是通过父级标签控制子级标签布局。原因:因为布局从上到下,从左到右,先大后小

学习弹性布局,最关键的因素,同学必须了解什么是块级元素标签

  • 何谓块级元素:不管元素宽度多大;多小。这个元素是独自占据浏览器的一行
  • div是块级元素;p标签是块级元素

弹性布局样式

.d1 {display: flex; /* 表示当前div是一个弹性布局 */jusitfy-content: space-around; /* 控制元素在X轴一个对齐方式(主轴) */
}
<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">/* 弹性布局用于在父级标签上, 作用控制子级标签的布局 */.d1 {width: 90%;height: 80px;background-color: green;margin: 0 auto;display: flex;justify-content: center;}/* 层次选择器,设置d1下面的所有div的样式 */.d1 > div {width: 180px;height: 80px;background-color: blue;margin: 0 3px;}</style>
</head>
<body>
<div class="d1"><div></div><div></div><div></div><div></div><div></div>
</div>
<div class="d1"></div>
</body>
</html>

2.4 西瓜视频

完成西瓜视频首页实战 - 弹性布局练习

难点:

  • 布局,出现一个元素的宽度 或者 高度的计算
  • calc() 函数用于动态计算长度值来解决元素宽度或高度计算
  • 网页整体全屏模式,局部区域有滚动条。overflow-y: auto

整体布局代码

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">* {margin: 0;padding: 0;}html,body {width: 100%; /* 相当于能够针对不同浏览器能够全屏显示 */height: 100%; /* 相当于整个网页是整屏显示,局部滚动 */overflow: hidden; /* 局部内容的高度肯定会大于整个浏览器的高度,那么超出部分要隐藏 */}.xg-nav {width: 100%;height: 73px;background-color: #000;}.xg-body {width: 100%;height: calc(100vh - 73px); /* 自动计算出下方div的高度,针对不同浏览器分辨率算出div高度 */background-color: blue;display: flex;}.xg-menu {width: 200px;height: 100%;background-color: yellow;}.xg-ctn {width: calc(100vw - 200px);height: 100%;background-color: red;}</style>
</head>
<body>
<div class="xg-nav"></div>
<div class="xg-body"><div class="xg-menu"></div><div class="xg-ctn"></div>
</div>
</body>
</html>

局部带滚动条的代码

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">* {margin: 0;padding: 0;}html,body {width: 100%; /* 相当于能够针对不同浏览器能够全屏显示 */height: 100%; /* 相当于整个网页是整屏显示,局部滚动 */overflow: hidden; /* 局部内容的高度肯定会大于整个浏览器的高度,那么超出部分要隐藏 */}.xg-nav {width: 100%;height: 73px;background-color: #000;}.xg-body {width: 100%;height: calc(100vh - 73px); /* 自动计算出下方div的高度,针对不同浏览器分辨率算出div高度 */background-color: blue;display: flex;}.xg-menu {width: 200px;height: 100%;background-color: yellow;}.xg-ctn {width: calc(100vw - 200px);height: 100%;background-color: rgb(247,247,247);display: flex;justify-content: space-around;flex-wrap: wrap; /* 自动换行 当屏幕的宽度不够,则自动换行*/overflow-y: auto;}/* 内容区的样式 */.xg-item {width: 270px;height: 212px;background-color: hotpink; /* #代表颜色取值是一个十六进制数 0~F */margin-top: 30px;border-radius: 5px;display: flex; /* 调整弹性布局的方向,默认方向是水平方向 */flex-direction: column; /* 调整弹性布局为垂直方向 */justify-content: space-between; /* 上下对齐,均匀分布 */}/* 内容区的样式中图片 */.xg-item > img {width: 100%;height: 145px;border-radius: 5px;}</style>
</head>
<body>
<div class="xg-nav"></div>
<div class="xg-body"><div class="xg-menu"></div><div class="xg-ctn"><div class="xg-item"><img src="img/1.jpg"><p>龙珠Z: 复活的菲利沙</p><p>龙珠之宇宙最强对决</p></div><div class="xg-item"><img src="img/2.jpg"><p>吹哨人</p><p>雷佳音汤唯陷两难抉择</p></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div><div class="xg-item"></div></div>
</div>
</body>
</html>

2.5 动画样式

  • transform属性设置基础动画:缩放;移动;旋转
  • transition属性设置动画过渡特效:从一个样式转换另一个样式的过渡特效
  • 自定义动画@keyframes;animation

同学需要了解一个伪类:hover,当鼠标移动到元素上时候会触发一个动作(鼠标悬停效果)

<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">.d-scale, .d-translate, .d-rotate {width: 300px;height: 100px;margin: 0 auto;margin-top: 100px;background-color: blue;transition: 2s all; /* 时间 规定设置过渡效果的 CSS 属性的名称 */}/* 伪类:hover设置变大的效果; */.d-scale:hover {transform: scale(1.2);}/* 单独在修改d-translate局部样式 */.d-translate {margin-top: 15px;background-color: green;}/* 伪类:hover鼠标悬停事件 */.d-translate:hover {transform: translateX(-50px); /* 水平X轴反方向移动 */}/* 局部修改部分样式 */.d-rotate {margin-top: 50px;background-color: red;}.d-rotate:hover {transform: rotate(-30deg);}</style>
</head>
<body>
<div class="d-scale"></div>
<div class="d-translate"></div>
<div class="d-rotate"></div>
</body>
</html>

自定义动画语法

/* @keyframes语法一 */
@keyframes 动画名称 {from{ /* 开始动画 */}to{ /* 结束动画 */}
}/* @keyframes语法二 */
@keyframes 动画名称 {0%{ /* 动画执行的时间点 */}30%{ /* 动画执行的时间点 */}50%{ /* 动画执行的时间点 */}100%{ /* 动画执行的时间点 */}
}/* 动画的运行语法, animation必须放到选择器里面 */
/* animation所有动画属性的简写属性 */
animation: 动画名称 时间 速度 延迟多久开始执行 逆向播放 次数

小小技巧扩展:如何让元素垂直居中 + 水平居中

<!-- 方法一:垂直居中 + 水平居中 -->
<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">.d-animation {width: 200px;height: 100px;background-color: #000;position: absolute; /* 针对浏览器定位 */left: 50%;top: 50%;margin-left: -100px;margin-top: -50px;}</style>
</head>
<body>
<div class="d-animation"></div>
</body>
</html><!-- 方法二:垂直居中 + 水平居中 -->
<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">.d-animation {width: 200px;height: 100px;background-color: #000;position: absolute; /* 针对浏览器定位 */left: 50%;top: 50%;transform: translate(-100px, -50px);}</style>
</head>
<body>
<div class="d-animation"></div>
</body>
</html><!-- 方法三:垂直居中 + 水平居中 -->
<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">* {margin: 0;padding: 0;}html,body {width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;}.d-animation {width: 200px;height: 100px;background-color: #000;}</style>
</head>
<body>
<div class="d-animation"></div>
</body>
</html>
<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">* {margin: 0;padding: 0;}html,body {width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;}.d-animation {width: 200px;height: 100px;background-color: #000;animation: kf .5s linear 1s infinite;}/* 定义动画 */@keyframes kf {0%{transform: rotate(0deg);}100% {transform: rotate(360deg);}}</style>
</head>
<body>
<div class="d-animation"></div>
</body>
</html>

2.6 比心(画心)

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><style type="text/css">* {margin: 0;padding: 0;}.box {width: 180px;height: 160px;position: absolute;left: 50%;top: 50%;margin-left: -90px;margin-top: -80px;animation: kf 1s alternate infinite;}.round1 {width: 100px;height: 100px;border-radius: 50%; /* 圆 */background-color: hotpink;position: absolute;left: 0;top: 0;}.round2 {width: 100px;height: 100px;border-radius: 50%; /* 圆 */background-color: hotpink;position: absolute;right: 0;top: 0;}.bottom {width: 100px;height: 100px;background-color: hotpink;position: absolute;left: 40px;top: 40px;transform: rotate(45deg);}@keyframes kf {0%{transform: scale(0.6);}100%{transform: scale(1);}}</style>
</head>
<body>
<div class="box"><div class="round1"></div><div class="round2"></div><div class="bottom"></div>
</div>
</body>
</html>

2.7 太极

<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">* {margin: 0;padding: 0;}.taiji {margin: 0 auto; /* 水平居中 */margin-top: 100px; /* 顶部距离100px */width: 400px;height: 200px;border-radius: 50%;border: 1px solid black;border-bottom-width: 200px;position: relative; /* 相对定位:针对自己的位置进行定位 */animation: kf 5s 10s infinite;}/* ::before 伪元素(虚拟元素); *//* css的伪元素,之所以被称为伪元素,是因为他们不是真正的页面元素 */.taiji::before {content: '';border: 85px solid black;width: 30px;height: 30px;border-radius: 50%;background-color: white;position: absolute; /* 父元素只要有定位才能控制子元素的在父元素中位置 */top: 50%;left: 0;}.taiji::after {content: '';border: 85px solid white;width: 30px;height: 30px;border-radius: 50%;background-color: black;position: absolute; /* 父元素只要有定位才能控制子元素的在父元素中位置 */top: 50%;right: 0;}@keyframes kf {0%{transform: rotate(0deg);}100%{transform: rotate(360deg);}}</style>
</head>
<body>
<div class="taiji"></div>
</body>
</html>

2.8 魔方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GjVemG9K-1595950602513)(day1.assets/image-20200727160430449.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Smrc92IJ-1595950602515)(day1.assets/image-20200727160505831.png)]

<!DOCTYPE html>
<html>
<head><title></title><style type="text/css">* {margin: 0;padding: 0;}.box {position: relative;width: 200px;height: 200px;margin: 200px auto;transform-style: preserve-3d; /* 开启 3D 特效 */transition: all 2s ease;}.side {position: absolute;left: 0;top: 0;width: 200px;height: 200px;text-align: center;line-height: 200px;font-size: 36px;color: #fff;background-color: rgba(66, 66, 66, 0.5);}.left {transform: translateX(-100px) rotateY(90deg);background-color: rgba(57, 57, 107, 0.5);}.right {transform: translateX(100px) rotateY(90deg);background-color: rgba(62, 238, 86, 0.5);}.top {transform: translateY(-100px) roateX(90deg);background-color: rgba(164, 57, 226, 0.5);	}.bottom {transform: translateY(100px) roateX(90deg);background-color: rgba(212, 214, 53, 0.5);	}.before {transform: translateZ(100px);background-color: rgba(216, 107, 53, 0.5);}.after {transform: translateZ(-100px);background-color: rgba(221, 41, 176, 0.5);}.box:hover {transform: rotateX(360deg) rotateY(360deg);}</style>
</head>
<body>
<div class="box"><div class="side before"></div><div class="side after"></div><div class="side left"></div><div class="side right"></div><div class="side top"></div><div class="side bottom"></div>
</div>
</body>
</html>

3.微信小程序

3.1 小程序历史

  • 微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用
  • 2017年1月9日,张小龙在2017微信公开课Pro上发布的微信小程序正式上线
  • 2018年2月,微信官方发布公告称:已对涉及假货高仿、色情低俗和违规“现金贷”等超过2000个微信小程序,进行永久封禁处理
  • 微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发
  • 日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人

官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/

3.2 入门小程序

注意:先创建一个空目录,存储小程序源代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lzYnPN9n-1595950602516)(day1.assets/image-20200727165401745.png)]

  • pages:小程序源代码目录
  • utils:工具包,存储JS插件
  • app.js:小程序全局JS文件
  • app.json:小程序全局配置文件
  • app.wxss:小程序全局样式文件

wxml:小程序页面

wxss:小程序样式

js:小程序业务逻辑代码

  "pages":["pages/index/index","pages/logs/logs"],

3.3 wxml语法

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构

3.3.1 数据绑定

通过 {{}} 表示要绑定数据

<text>{{username}}</text>
<text>{{userage}}</text>
  /*** 页面的初始数据*/data: {'username': '张三','userage': 23},

注意:数据绑定

  • 内容呈现
  • 组件属性

3.3.2 条件渲染

  • wx:if - 使用 wx:if="" 来判断是否需要渲染该代码块
  • wx:elif - 可以用 wx:elif 和 wx:else 来添加一个 else 块
  • wx:else - 可以用 wx:elif 和 wx:else 来添加一个 else 块

3.3.3 列表渲染

  • 在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件
  • 默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item
<text>{{username}}</text>
<text>{{userage}}</text>
<text wx:if='{{useraddress != ""}}'>{{useraddress}}</text><text wx:for='{{users}}'>{{item}}</text>
  /*** 页面的初始数据*/data: {'username': '张三','userage': 23,'useraddress': '成都','users':['李四', 23, '成都']},

1.学习内容

  • 巩固小程序样式应用
  • JavaScript入门 - 小程序
  • 小程序开发 - 实战

2.小程序样式应用

  • 小程序样式 - 关联文件wxss
  • 场景应用 - 小程序手机充电特效
  • 介绍一下小程序里面的组件(标签)
    1. view:容器组件,类似div
    2. image,图片组件
    3. text,文本组件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cyvhaquh-1595950624800)(day2.assets/image-20200728110458673.png)]

<view class='container'><view class="battery"></view>
</view>
/* 设置一个页面样式 */
page {width: 100%;height: 100%;display: flex;
}/* 电池充电壳 - 容器 */
.container {position: relative;width: 340rpx;height: 500rpx;margin: auto;
}/* 存储电量 - 容器*/
.battery {position: absolute;left: 0;top: 0;width: 100%;height: 100%;border-radius: 15rpx 15rpx 5rpx 5rpx;background-color: #fff;filter: drop-shadow(0 1rpx 3rpx rgba(1,188,213, .82));
}/* 电池正极 */
.battery::before {content: '';position: absolute;left: 50%;top: 0;width: 80rpx;height: 30rpx;background-color: rgba(2,119,253, .88);border-radius: 5rpx 5rpx 0 0;transform: translate(-50%, -30rpx);
}/* 电量样式 */
.battery::after {content: '';position: absolute;left: 0;right: 0;bottom: 0;top: 80%;border-radius: 0 0 5rpx 5rpx;background: linear-gradient(to bottom, #7abcff 0%, #00BCD4 44%, #2196F3 100%);animation: chong 6s linear infinite;
}@keyframes chong {95%{top: 5%;border-radius: 0 0 5rpx 5rpx;}100%{top: 0;border-radius: 15rpx 15rpx 5rpx 5rpx;}
}

3.小程序 - JS

3.1 JS 介绍

JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的

JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iguGiyfn-1595950624803)(day2.assets/image-20200728111750870.png)]

ECMAScript 6(ES6) 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性

3.2 ES6 新语法

  • 不一样变量声明:const 和 let

ES6推荐使用let定义局部变量

var x = '全局变量';
{let x = '局部变量';console.log(x); // 局部变量
}
console.log(x); // 全局变量

const表示声明常量,两者都为块级作用域;const 声明的变量都会被认为是常量,意思就是它的值被设置完成后就不能再修改了

const a = 1
a = 0 //报错
  • 模板字符串

ES6之前处理字符串:通过\+ 来构建模板

$("body").html("This demonstrates the output of HTML \
content to the page, including student's\
" + name + ", " + seatNumber + ", " + sex + " and so on.");

ES6的字符串应用

  1. 基本的字符串格式化。将表达式嵌入字符串中进行拼接。用${}来界定
  2. ES6反引号(``)直接搞定
$("body").html(`This demonstrates the output of HTML content to the page, 
including student's ${name}, ${seatNumber}, ${sex} and so on.`);
  • 箭头函数

ES6 中,箭头函数就是函数的一种简写形式,使用括号包裹参数,跟随一个 =>,紧接着是函数体

箭头函数三大特点

  1. 不需要function关键字来创建函数
  2. 省略return关键字
  3. 继承当前上下文的this关键字
// ES5
var add = function (a, b) {return a + b;
};
// 使用ES6箭头函数
var add = (a, b) => a + b;// ES5
[1,2,3].map((function(x){return x + 1;
}).bind(this));// 使用ES6箭头函数
[1,2,3].map(x => x + 1);
  • 函数的参数默认值
// ES6之前,当未传入参数时,text = 'default';
function printText(text) {text = text || 'default';console.log(text);
}// ES6;
function printText(text = 'default') {console.log(text);
}printText('hello'); // hello
printText();// default
  • for循环

for…of 用于遍历一个迭代器,如数组

let letters = ['a', 'b', 'c'];
letters.size = 3;
for (let letter of letters) {console.log(letter);
}
// 结果: a, b, c

for…in 用来遍历对象中的属性:

 let stus = ["Sam", "22", "男"];for (let stu in stus) {console.log(stus[stu]);}
// 结果: Sam, 22, 男
  • 对象超类

ES6 允许在对象中使用 super 方法

var parent = {foo() {console.log("Hello from the Parent");}
}var child = {foo() {super.foo();console.log("Hello from the Child");}
}Object.setPrototypeOf(child, parent);
child.foo(); // Hello from the Parent// Hello from the Child

3.3 小程序中的JS原理

  • 小程序JS的开发,完全采用ECMAScript语法标准来执行的。所以,大家学习小程序开发之前一定要把JavaScript学好

  • 小程序中渲染层和逻辑层是理解小程序实现动态数据交互,以及如何操作网页标签和样式的核心

    1. 首先,我们来简单了解下小程序的运行环境。小程序的运行环境分成渲染层和逻辑层,其中 WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层
    2. 小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了WebView 进行渲染;逻辑层采用JsCore线程运行JS脚本。一个小程序存在多个界面,所以渲染层存在多个WebView线程,这两个线程的通信会经由微信客户端(下文中也会采用Native来代指微信客户端)做中转,逻辑层发送网络请求也经由Native转发,小程序的通信模型下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N8KOVgGy-1595950624805)(day2.assets/image-20200728120720328.png)]

3.4 小程序运行机制

3.4.1 前台/后台

小程序启动后,界面被展示给用户,此时小程序处于前台状态。

当用户点击右上角胶囊按钮关闭小程序,或者按了设备 Home 键离开微信时,小程序并没有完全终止运行,而是进入了后台状态,小程序还可以运行一小段时间。

当用户再次进入微信或再次打开小程序,小程序又会从后台进入前台。但如果用户很久没有再进入小程序,或者系统资源紧张,小程序可能被销毁,即完全终止运行。

3.4.2 小程序启动

这样,小程序启动可以分为两种情况,一种是冷启动,一种是热启动

  • 冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。
  • 热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。

3.4.3 小程序销毁时机

通常,只有当小程序进入后台一定时间,或者系统资源占用过高,才会被销毁。具体而言包括以下几种情形:

  • 当小程序进入后台,可以维持一小段时间的运行状态,如果这段时间内都未进入前台,小程序会被销毁。
  • 当小程序占用系统资源过高,可能会被系统销毁或被微信客户端主动回收。
    • 在 iOS 上,当微信客户端在一定时间间隔内连续收到系统内存告警时,会根据一定的策略,主动销毁小程序,并提示用户 「运行内存不足,请重新打开该小程序」。具体策略会持续进行调整优化。
    • 建议小程序在必要时使用 wx.onMemoryWarning 监听内存告警事件,进行必要的内存清理。

3.5 小程序生命周期

以下内容你不需要立马完全弄明白,不过以后它会有帮助

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KfzE3Wjs-1595950624807)(day2.assets/page-lifecycle.2e646c86.png)]

4.小程序-实战

4.1 余额提现-界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8UR5UoJv-1595950624809)(day2.assets/image-20200728143032313.png)]

案例界面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jdo4e9zw-1595950624811)(day2.assets/image-20200728143117700.png)]

涉及到技术

  • JS事件,如何在小程序上定义函数,让函数绑定小程序上事件
  • 小程序事件参数传递,如何能够接收页面(渲染层)传递过来的参数(逻辑层)
  • 目标达成:JS控制组件 + 组件样式
<view class='swiper-tab'><view class="swiper-tab-item {{currentTab == 0 ? 'active': ''}}" data-current='0' bindtap='clickTab'>全部</view><view class="swiper-tab-item {{currentTab == 1 ? 'active': ''}}" data-current='1' bindtap='clickTab'>提现中</view><view class="swiper-tab-item {{currentTab == 2 ? 'active': ''}}" data-current='2' bindtap='clickTab'>已提现</view>
</view><swiper duration="300" current="{{currentTab}}" bindchange='swiperTab'><swiper-item><view>全部页面</view></swiper-item><swiper-item><view>提现中页面</view></swiper-item><swiper-item><view>已提现页面</view></swiper-item>
</swiper>
.swiper-tab {width: 100%;height: 88rpx;border-bottom: 2rpx solid #ccc;text-align: center;line-height: 88rpx;display: flex;flex-flow: row;justify-content: space-around;
}.swiper-tab-item {width: 22%;color: #434343;
}.active {color: #F65959;border-bottom: 4rpx solid #F65959;
}swiper {height: 800rpx;line-height: 800rpx;font-weight: bold;font-size: 45rpx;text-align: center;
}
// pages/aliplay/aliplay.js
Page({/*** 页面的初始数据*/data: {'currentTab': 0},// 滑块左右滑动会触发此事件swiperTab: function(e) {let _this = this;_this.setData({  // 如果要去修改 data 里面变量 currentTab,则需使用 setData() 函数currentTab: e.detail.current // 给变量currentTab进行重新赋值});},// 卡片点击事件clickTab: function(e) {// 当点中卡片需要去改变 currentTab 变量// currentTab 变量的值怎么来// e.target.dataset.current 相当于 <view data-current='0'></view>let _this = this;if(_this.data.currentTab === e.target.dataset.current) {return false;} else {_this.setData({currentTab: e.target.dataset.current})}},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

4.2 侧栏滑动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-utwo6duk-1595950624812)(day2.assets/image-20200728153930723.png)]

目标达成:

  1. JS原理:渲染层 与 逻辑层 交互
  2. 事件用法能够更加熟练
    • 如何获取js里面变量 this.data.变量名
    • 如何设置js里面变量 this.setData(...)
  3. 页面与js数据交互(传递)
    • H5中data属性 <view data-index='100'></view>
    • 增加一个事件 <view data-index='100' bindtap='show'>
    • 在定义show函数时候去委派一个事件对象 function(e) {}e.target.dataset.index
<!-- 容器 -->
<view class='page'><!-- 左侧栏 - 容器  --><view class="page-bottom"><view class="page-content"><view class="wc"><text>第一个item-1</text></view><view class="wc"><text>第二个item-2</text></view><view class="wc"><text>第三个item-3</text></view><view class="wc"><text>第四个item-4</text></view></view></view><!-- 右侧栏 - 容器 --><view class="page-top {{open ? 'c-state1': ''}}"><image src="/images/btn.png" bindtap="tap_ch"></image></view>
</view>
page, .page {height: 100%;
}.page-bottom {height: 100%;width: 750rpx;position: fixed;z-index: 0;background-color: rgb(0, 68, 97);
}.page-content {padding-top: 300rpx;
}.wc {color: #fff;padding: 30rpx 0 30rpx 40rpx;
}.page-top {height: 100%;position: fixed;width: 750rpx;z-index: 0;background-color: rgb(57, 125, 230);transition: 0.4s all ease;
}.page-top image {position: absolute;width: 68rpx;height: 38rpx;left: 20rpx;top: 20rpx;
}.c-state1 {transform: rotate(0deg) scale(1) translate(75%, 0%);
}
// pages/side/side.js
Page({/*** 页面的初始数据*/data: {open: false},tap_ch: function(e) {// 点击控制样式的变化// this 当前页面的对象,包含:js里面函数,变量名,内置方法 setData()let _this = this;if(_this.data.open) {_this.setData({open: false // 关闭状态});} else {_this.setData({open: true // 打开状态});}},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

4.3 天气预报

目标达成:

  • 理解第三方服务器概念 - 作用
  • 接口作用,里面提供数据如何分析它们
  • 学会使用小程序的网络请求 API 来调用第三方服务器的接口

实现步骤:

第一步:寻找提供天气预报第三方服务器,分析服务器提供的数据接口格式

  • 接口就是网络地址,采用天行数据API接口
  • 请求参数,告诉服务器要想获取具体的数据是什么
  • 返回数据

第二步:通过微信小程序网络请求组件,能够拉取第三方服务器发送数据

  • wx.request 函数请求网络数据
  • 根据接口信息,编写如下代码 - 代码样例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xTItlNqU-1595950624813)(day2.assets/image-20200728172025795.png)]

wx.request({url: 'http://api.tianapi.com/txapi/tianqi/index?key=xxx&city=成都',method: 'GET',dataType: 'JSON',success: function(e) {}
});

第三步:设计天气预报界面,然后将数据渲染到界面里面

  1. 解析数据 - 天行api返回数据是一个数组 newslist
  2. 数据绑定
// pages/weather/weather.js
Page({/*** 页面的初始数据*/data: {weatherlist: [] // 给wxml传递数据},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {var _this = this;console.log(_this.data.weatherlist);wx.request({url: 'http://api.tianapi.com/txapi/tianqi/index?key=ed1394ce936a5526c70fea58875538e0&city=成都',method: 'GET',dataType: 'json', // 小写的jsonsuccess: function(e) {// e.newslist 返回存储天气信息数据// let newslist 自己定义的变量, 接收 e.newslist 里面数据let newslist = e.data.newslist;_this.setData({weatherlist: newslist});}})},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

今天学习了微信小程序的开发文档,写了电池的小程序,和天气预报,掌握了小程序开发的主要步骤。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 趣谈网络协议笔记-二(第六讲)

    趣谈网络协议笔记-二(第六讲)交换机记忆的到底是端口,还是方向,如果是方向那么何来方向,下图中的感觉更像是网桥?局域网中的数据是不是必定先经过交换机(网桥,hub)?为什么广播时mac地址为255.255.255.255.255.255,ip地址为255.255.255.255?x.x.0.1和x.x.255.255分别…...

    2024/5/9 14:49:41
  2. 7.22:题目及答案解析

    1、项目经理的多学科团队分布在几个国家。每个团队都已准备了各自的预算和资源需求,现在必须融合在一起并与项目章程的估算进行对比。项目经理下一步应该怎么做A.寻求项目发起人的批准B.召开项目启动大会C.审查计划并记录成本D.收集信息并最终确定预算答案:D。解析:将各工作…...

    2024/4/15 16:08:04
  3. web安全从入门到精通【第一章---1】服务器的通信原理

    本文内容:基本常识浏览器使用过程常见的服务器系统Web服务器一、基本常识: 1、IP定义:互联网协议地址,缩写为IP地址,是分配给用户上网使用的网际协议的设备的数字标签。(计算机的地址) 2、内网:只有在局域范围内的一个地址 公网:是相对具体的一个地址(XX省XX市XX区)…...

    2024/5/9 11:30:23
  4. 10.1 java注解

    10.1 java注解Annotation内置注解元注解自定义注解 Annotation注解(Annotation)是从JDK5.0开始引入的新技术。 注解不是程序本身,可以对程序作出解释;注解可以在编译,类加载,运行时被读取,并执行相应的处理,以便于其他工具补充信息或者进行部署。 注解可以对package(包…...

    2024/5/9 12:09:20
  5. [转]【建议收藏】优秀实用的OpenCV开源项目汇总

    1、Openpose实时人体、脸、手、脚的关键点检测库https://github.com/CMU-Perceptual-Computing-Lab/openpose2、Learnopencv学习OpenCV: c++和Python示例https://github.com/spmallick/learnopencv3、Faceai一款入门级的人脸、视频、文字检测以及识别的项目.https://github.com…...

    2024/4/15 16:07:58
  6. html---圣诞树页面(标签学习)

    知识点: 1、标签标签 含义 注意事项<hx></hx> 标题标签 h1在一个网页中只能用一次;x越小字体越大、加粗加黑越明显<a></a> 超链接标签 具有href、target属性<br/> 换行标签 和下一行没有距离<p></p> 段落标签 和下一行存在距离<…...

    2024/5/2 11:44:29
  7. Mac版本知识图谱建模工具Protege学习(一)

    前言Protg是一个免费的开放源代码平台,它为成长中的用户社区提供了一套工具,以使用领域构建领域模型和基于知识的应用程序。Protg软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具,也是基于知识的编辑器,属于开放源…...

    2024/5/4 21:40:55
  8. C/C++新手学习项目(三) 魔兽世界之三:开战

    目录回顾题目描述我的代码测试用例 回顾 本题是北大程序设计MOOC的课程大作业。老实说,如果当作一个小项目来看待的话,这道题的代码量不是很大,不过难得的是,这道题不涉及任何C++以外的操作系统、计算机网络、各种框架的使用等知识。因此,在正式学习优秀的开源项目之前,用…...

    2024/4/15 16:29:52
  9. 新氧科技CEO金星直播背后:助推产业线上化,打造医美“新基建”

    新氧科技CEO金星直播背后:助推产业线上化,打造医美“新基建” 一手抓抗疫,一手抓发展,已经成为目前企业经营的新常态。 随着疫情在全球不断升级,世界经济面临着严峻的考验。影视文娱行业寒冬加剧、线下消费与旅游业开始“渡劫”、远程办公和在线教育迎来机遇、直播与短视频…...

    2024/4/15 16:29:52
  10. 第一章 基础算法(一)

    排序快速排序在q[L:R]中确定分界点:q[L] q[(L+R)/2] q[R] 随机调整区间:使得分界点x的左侧,数值皆<=x,右侧皆>=x(i j两者从左、右两个方向分别寻找不符合的数字,然后两者交换,直至相遇)递归处理左右两段 模板代码如下(一定记牢):void quick_sort(int q[], …...

    2024/4/16 23:22:55
  11. sql学习-增删改查

    SELECT 简介SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中,称为结果集。语法 SELECT column_name,column_name FROM table_name;实例 SELECT name,country FROM Store;SELECT DISTINCT 简介在表中,一个列可能会包含多个重复值,有时也许希望仅仅列出不同(d…...

    2024/4/15 16:29:49
  12. 用立创EDA自制ST-Link V2.1调试器

    简介 ST-Link的硬件,官方推出了三大版本:V1、V2和V3。在官方TN1235ST-LINK衍生产品概述中有详细的说明,因篇幅原因就不展开来讲了,下面贴上一张官方手册的介绍。ST-Link/V2:支持STM32和STM8调试,不带虚拟串口,TB上卖的大多是这种,目前手头还有好几个这个版本的ST-Link。…...

    2024/4/24 20:39:56
  13. java.lang.NoSuchMethodError与java.lang.NoSuchMethodError: org.springframework.core.annotation.Annotat

    今天学习使用Spring框架中的注解,白天项目正常运行,但是晚上用spring整合junit后运行报错。 第一个错误很明显是pom池中有问题,找到提示错误的位置。发现项目名中包含了中文,白天正常运行了,但是晚上就出了问题,一般我是不用中文的,删除中文后改错误解决。 [ERROR] Some…...

    2024/4/28 22:38:46
  14. MyISAM和InnoDB区别

    MyISAM和InnoDB的区别:InnoDB支持事务,MyISAM不支持。 InnoDB支持外键,MyISAM不支持。 InnoDB使用聚簇索引,索引文件和数据文件是放在一起的;MyISAM使用非聚簇索引,数据文件和索引文件分开存放,并且MyISAM的索引是可以压缩的。 InnoDB每个表只能有一个聚簇索引,二级索引…...

    2024/4/20 4:26:00
  15. 机器学习及应用——第二章python初步习题2编程练习

    机器学习及应用——第二章python初步习题2编程练习 编程练习——运用Matplotlib绘制下图所示的4个对数函数的二维图表,注意区分刻度线的位置和文本 图片:话不多说,直接上代码—— import matplotlib.pyplot as plt import numpy as npplt.figure(figsize=(8,5),dpi=80) X = n…...

    2024/4/23 5:39:25
  16. NC 13230. 合并回文子串

    链接 https://ac.nowcoder.com/acm/problem/13230 题意 将字符串 AAA 和 BBB 合并成一个回文串 CCC,属于 AAA 和 BBB 的字符在 CCC 中顺序保持不变 求可能的 CCC 中最大的长度 思路 区间 DP 设 f[i][j][k][l]f[i][j][k][l]f[i][j][k][l] 为 AAA 的第 iii 个字符到第 jjj 个字符…...

    2024/4/15 16:29:44
  17. vue指令-循环指令

    列表渲染创建 06-列表渲染.htmlv-for:列表循环指令例1:简单的列表渲染<!-- 1、简单的列表渲染 --> <ul><li v-for="n in 10">{{ n }} </li> </ul> <ul><!-- 如果想获取索引,则使用index关键字,注意,圆括号中的index必须…...

    2024/4/15 16:29:43
  18. [1] opecv: opecv中的坐标系

    opencv中的坐标系 【1】opencv中的坐标系opencv中,以图像image建立坐标系: 原点(0, 0):图像image左上角像素点; 水平方向为x轴(即图像的宽、列column),竖直方向为y轴(即图像高、行row)。 cv2.read(‘图像’).shape --> 返回:(height, width, channel),先高后宽,…...

    2024/4/21 7:36:18
  19. 一直想为它写点东西,但是又一直没有动手。大概是因为知道,终于写下这篇东西的时候,也意味着,就到这里了。就走到这里了。真是没想到放弃也需要这么大的勇气。高一结束了,好多遗憾。可能是因为太过短暂,以至于不经意提起,想到的都是在机房度过的日子。也做出了长这么大以…...

    2024/4/17 9:40:29
  20. jenkins修改权限配置后无法进入操作界面补救

    在jenkins安装目录找到config.xml 改为false<useSecurity>true</useSecurity>重启jenkins systemctl restart jenkins...

    2024/4/21 19:31:43

最新文章

  1. 三勾软件 / 三勾点餐系统门店系统,java+springboot+vue3

    项目介绍 三勾点餐系统基于javaspringbootelement-plusuniapp打造的面向开发的小程序商城&#xff0c;方便二次开发或直接使用&#xff0c;可发布到多端&#xff0c;包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 在…...

    2024/5/9 18:30:19
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 【Java8新特性】四、强大的Stream api

    ​ 这里写自定义目录标题 一、了解Stream二、流(stream)到底是什么&#xff1f;三、Stream操作的三个步骤四、创建Stream的四种方式五、Stream 的中间操作1、筛选和切片2、map 映射3、排序 六、Stream 的终止操作1、查找和匹配2、归约3、收集 一、了解Stream Stream是Java8中…...

    2024/5/8 12:38:52
  4. 微信小程序实现左滑删除

    效果 实现思路 使用的是官方提供的movable-area 嵌套movable-view 1、movable-area&#xff1a;注意点&#xff0c;需要设置其高度&#xff0c;否则会出现列表内容重叠的现象。 2、由于movable-view需要向右移动&#xff0c;左滑的时候给删除控件展示的空间&#xff0c;故 mov…...

    2024/5/8 15:35:57
  5. 论文阅读AI工具链

    文献检索 可以利用智谱清言来生成合适的文献检索式&#xff0c;并根据需要不断调整。 谷歌学术 在Google Scholar中进行检索时&#xff0c;您可以使用类似的逻辑来构建您的搜索式&#xff0c;但是语法会有所不同。Google Scholar的搜索框接受普通的文本搜索&#xff0c;但是…...

    2024/5/8 2:37:19
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/8 19:32:33
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/9 7:40:42
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/9 2:44:26
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/8 20:33:13
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/9 3:15:57
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/9 5:40:03
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/9 7:40:40
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/8 20:58:56
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/9 1:35:21
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/9 4:12:16
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/9 7:40:35
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/8 18:06:50
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/9 7:40:34
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/9 1:42:21
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/9 5:02:59
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/9 4:31:45
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/9 16:54:42
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/8 9:51:44
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/9 6:36:49
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/9 4:33:29
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57