一、layui.layer的使用

layer 弹层组件开发文档 - Layui

Layer独立使用:如果layer作为独立组件来使用的话,那么我们就需要找到layer独立版本官网去下载组件包,并且需要在页面中引入jQuery 1.8以上的任意版本和layer.js。准备好插件调用就行,调用的方式也比较简单。就通过script标签引入在body或head内就行。

Layer通过layui模块化使用:如果你使用的是layui,那么你只需要在官网下载框架就行,不需要引用jQuery和layer.js,但是需要引入layui,css和layui.js。这里调用的方式有点不同,你引入插件后需要在script标签内通过layui.use(‘layer’.’callback’) 来加载模块。

二、new Audio()加载新的音频

如果想要在一个按钮,图片等组件中通过点击事件来
播放audio的内容,那么可以在函数中这样写:

click(url){//传递的参数可以自己改变let audio = new Audio()audio.src = this.url//想要播放的音频地址audio.play();}

主要思想是:audio不仅是标签,也是window的属性,可以通过新建audio来让它在每次的点击时都播放一遍音频

三、倾斜摄影模型和bim模型

BIM公司来解释什么是倾斜摄影_三维地图技术社区的博客-CSDN博客

首先,倾斜摄影并不是摄影的一个门类,而是地图测绘,三维建模的一项技术,所以大家作为摄影爱好者没有接触过这个拍摄类型也实属正常。但是这项测绘技术,是基于航拍摄影的,所以被叫做了倾斜摄影。以往的航拍测绘都是使用一台相机,垂直角度拍摄来进行测绘的,而倾斜摄影使用了五台相机,分别拍摄一个垂直加四个倾斜方向的图像,最后通过计算机的三维建模,制作出一张立体的地图模型。

BIM与超级计算机,BIM到底是什么?解读真正的BIM_weixin_39833687的博客-CSDN博客

BIM是建筑信息模型,是Building Information Modeling的缩写,也是比较直接的中文翻译形式。

BIM具有可视化、协调性、模拟性、优化性、可出图性、一体化性等特点。

四、调用相机和麦克风(Navigator.mediaDevices)

mediaDevices 是 Navigator 只读属性,返回一个 MediaDevices 对象,该对象可提供对相机和麦克风等媒体输入设备的连接访问,也包括屏幕共享。

navigator.mediaDevices.getUserMedia()

navigator.MediaDevices.getUserMedia()_coder gogo的博客-CSDN博客_navigator.mediadevices.getusermedia

五、三维开发的学习(cesium)

场景 - 铯文档 (cesium.com)

Cesium Sandcastle

Cesium中文api文档 | Index - Cesium Documentation

首先我们的使用是基于公司大牛封装的 aimfusion-atom 第三方包 其中基于cesium封装了许多常用可靠的api

关于Atom

Atom是基于『 Cesium 』的三维场景开发工具,是对Cesium场景操作的更高抽象,并补充了『 场景图 』功能,以『 无序多叉树 』的数据结构对场景进行规划,使场景项之间的层次结构一目了然。 她直接面向开发人员,并提供了常用功能的封装(并且这个过程将贯穿她的整个生命周期)。

整个流程是在Atom初始化时自动完成的,开发人员并不需要关注其具体实现,为了讲解清楚,以下对各个节点进行了说明:

sceneTreeInformation:存储场景信息的树状json对象,在『 控制台 』创建的场景中,每个场景的信息都被存储在一个sceneTreeInformation中,Atom通过sceneTreeInformation生成场景图。

SceneGraph:场景图对象,场景图是处理树状结构的一大利器,Cesium中并没有提供场景图相关的操作,这在处理场景项之间相对关系时就会不太友好,举个例子,当对一个有多层结构的楼进行展开的时候,每层楼的子节点应该是跟随楼层移动的,场景图本质上就是一个无序多叉树。

Viewer:当前视图下的viewer对象,你可以像不使用Atom时一样,直接通过此对象对场景进行操作。 Cesium:Viewer类。

TreeRootNodeCollection:场景图根节点的容器,无论场景图结构如何,它最终需要添加到场景中才可以正常显示,treeRootNodeCollection对象本质上是一个PrimitiveCollection的实例,Atom内部会自动将它添加到场景中: Cesium:PrimitiveCollection类

                        
// 创建根节点容器
let treeRootNodeCollection = new PrimitiveCollection()
// 将根节点容器添加到场景中
viewer.scene.primitives.add(treeRootNodeCollection)

然后treeRootNodeCollection会作为场景图的根节点,通过遍历场景树信息不断生成子节点,最终生成场景图。

SceneItem:场景项对象,在『 控制台 』中创建的场景中,添加的任何一个实体都是一个场景项,它可以是标签、倾斜摄影模型、设备模型、建筑等等。

Instance:场景项实例,对Cesium原生Primitive对象的封装,方便Atom对其进行管理,实例类型包括:建筑(ABuilding)、倾斜摄影模型(AOblique)、标签(ALabel)、设备(AGLTF)、包围盒(AClassification)。

Primitive:Cesium原生Primitive对象。

<template><div class="test-container"><div id="container"></div></div>
</template><script>
import { Atom } from "aimfusion-atom";
import {ScreenSpaceEventHandler,ScreenSpaceEventType,Cartographic,Math as CesiumMath,
} from "cesium";
export default {mounted() {this.init();this.registeClick();},methods: {init() {// 在我们new Atom的时候需要传递参数// 1 : container 是上面div的id 也就是我们存放视图的容器// 2 : 第二个参数是一个对象 config Atom必要的配置信息// config.accessToken:Cesium凭证// config.modelUrl:模型资源地址,『 控制台/字典 』code为model_url的字典项。// config.interfaceUrl:接口地址,『 控制台/字典 』code为interface_url的字典项。// config.appkey:用户身份凭证,『 控制台/个人中心 』的appkey。//       3 : 第三个为我们是否要关闭视图中多余的控件  视图中部件的配置,当options.refreshing为true时,将隐藏除baseLayerpicker外的所有部件。let atom = new Atom("container",{accessToken:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkODA4NWEzYy0zNzQ3LTQ2MWUtYTc5Ny01Nzg5ZTI2ZWIzMzAiLCJpZCI6MTA1MjU5LCJpYXQiOjE2NjA4OTI1OTZ9.6Fj_7ZrunqmYY9UmUksQpitas-OZnprSDfewBcnLjLA",modelUrl: "http://192.168.14.24:9000/bimres",appKey: "0db6358c5e924c6a9d0cb917c613e080",interfaceUrl: "http://192.168.14.31:14004/aim-smart-bim/",},{refreshing: true,});// 这里因为我们的窗口在查看拖动视图的时候 我们的atom是一直在加载的 如果把它挂到我们的data上去 就会造成卡顿this.atom = atom;// 获取场景信息树 44 是存放在平台上面的场景idatom.getSceneTreeInformation(44).then((item) => {// 生成场景图并将场景项渲染到视图中 item是传递的参数 也就是上面获取到的场景信息树atom.generateSceneGraph(item);// 创建场景图实例,此函数在Atom内部自动调用,不需要手动创建。let scenegraph = atom.sceneGraph;// 根据场景项id定位到场景项所在位置scenegraph.targetById(51905);});},// 为我们的视图创建一个点击事件registeClick() {// 用于构建应用程序的基本小部件。它将所有标准铯小部件组合成一个可重用的包。该小部件始终可以使用mixins进行扩展,mixins增加了对各种应用程序有用的功能。// 容器let viewer = this.atom.viewer;// 处理用户输入事件。可以添加自定义函数,以便在用户输入时执行。// 传递的参数就是 容器里的canvas。/* 名字   类型  描述
container   元素|字符串  将包含小部件的 DOM 元素或 ID。
options Viewer.ConstructorOptions   自选描述初始化选项的对象 */let handler = new ScreenSpaceEventHandler(this.atom.viewer.canvas);// 获取画布。// ScreenSpaceEventHandler/* setInputAction(action, type, modifiler)Core/ScreenSpaceEventHandler.js 1025
设置要在输入事件上执行的函数。
名字  类型  描述
action  ScreenSpaceEventHandler.PositionedEventCallback |ScreenSpaceEventHandler.MotionEventCallback |ScreenSpaceEventHandler.WheelEventCallback |ScreenSpaceEventHandler.TwoPointEventCallback |ScreenSpaceEventHandler.TwoPointMotionEventCallback    输入事件发生时要执行的函数。
type    ScreenSpaceEventType    输入事件的 ScreenSpaceEventType。
modifier    键盘事件修改器 自选发生事件时持有的键盘事件修改器键。type */handler.setInputAction((ev) => {/* position: Cartesian2
x: 361.1241455078125
y: 220.18502807617188 */
// ev 中包含的是一个 position对象 对象中分别又两个属性 xy 分别放着点击时 水平位置 和垂直 位置 console.log(ev);
// 获取场景。
/* pickPosition(windowPosition, result) → Cartesian3场景/场景.js 4005
返回从深度缓冲区和窗口位置重建的笛卡尔位置。
从 2D 深度缓冲区重建的位置可能与在 3D 和哥伦布视图中重建的位置略有不同。这是由透视和正交投影的深度值分布差异引起的。将 Scene#pickTranslucentDepth 设置为包含半透明基元的深度;否则,这实质上是通过半透明基元来挑选的。true名字  类型  描述
windowPosition  笛卡尔2    用于执行拾取的窗口坐标。
result  笛卡尔3    自选要在其上还原结果的对象。
返回:
笛卡尔位置。
抛出:
开发人员错误:不支持从深度缓冲区中选取。检查 pickPositionSupported。 */let postion = viewer.scene.pickPosition(ev.position);console.log(postion, "123");let lon = Cartographic.fromCartesian(postion);console.log(lon, "321");let lat = CesiumMath.toDegrees(lon.latitude);let long = CesiumMath.toDegrees(lon.longitude);console.log("经度", lat, "纬度", long);}, ScreenSpaceEventType.LEFT_CLICK);},},
};
</script><style lang="scss" scoped>
#container {width: 100vw;height: 100vh;
}
</style>

六 、vue-router 配置

vue-router——路由配置_qq_35574727的博客-CSDN博客_vue如何配路由

vue-router详解_barnett_y的博客-CSDN博客_vue的router

vue-router:404页面路由配置_qq_38954614的博客-CSDN博客

七、new Date()日期格式的处理

JavaScript =>new Date() 日期格式处理_AkaCoder的博客-CSDN博客

八、新项目配置lang=‘less’出错

在项目中想使用less,安装了less和less-loader后,重启项目,终端报错

Syntax Error: TypeError: this.getOptions is not a function

意思是有语法错误。。。

解决:
通过脚手架创建的项目,发现安装引入的,用于加载.less文件,将less转化为css的less-loader版本过高,8.1版本
“less-loader”: “^8.1.1”
卸载重装低版本(7.)解决了这个问题

// 卸载
npm uninstall --save less-loader  
// 安装低版本     
npm install -D less-loader@7.3.0

总结
这里, Syntax Error: TypeError: this.getOptions is not a function 这种语法报错提示,一般都是版本问题

青理工大work总结知识点 3相关推荐

  1. ​青理工大work总结知识点 1

    一.人脸识别的实现 在原来的项目中使用了layui和jquery配合ccv.js和face.js实现了人脸识别 Layui - 经典开源模块化前端 UI 组件库 jQuery API 中文文档 | j ...

  2. 970页绝版资料!初高中数学与竞赛知识点+方法技巧,由苏步青当顾问,众多一线名师共同编写!...

    全世界只有3.14 % 的人关注了 爆炸吧知 如何才能学好数学? 我国著名数学家苏步青先生曾说:"要学好数学,方法不外乎打好基础,多做习题,多加思索和分析". 为了帮助大家学好数学 ...

  3. wps分享为什么要登入_【知识点分享】钢筋上的螺纹有什么作用?为什么要有螺纹?...

    原标题:[知识点分享]钢筋上的螺纹有什么作用?为什么要有螺纹? 钢筋上为什么有螺纹?是起到什么作用,增大摩擦吗? 天津市泽宝水泥制品有限公司 这种钢筋上有纹路的钢筋统称为"变形钢筋" ...

  4. 期末总结20135320赵瀚青LINUX内核分析与设计期末总结

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 对LINUX内核分析与设计这 ...

  5. 20135320赵瀚青LINUX内核分析第一周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.概述 第一周的学习内容主 ...

  6. 双标准线等角圆锥投影转换_青学堂--花花的地理课堂之地图投影知多少

    青学堂是青学纪旗下专注分享日本留学课程的平台,汇集留学行业大咖.前辈老师.好看的小哥哥和小姐姐,青学堂将持续给大家分享日本留学的各种课程. 上节课我们讲了地图,还留了一个小尾巴~就是地图投影. 这里是 ...

  7. 编程列入高考-青少儿编程学习-Python那些事

    一.人工智能时代,呼唤计算思维培养 随着2017年谷歌开发的计算机程序阿尔法狗打败了人类围棋高手李世石与柯洁 ,人工智能迅猛发展.2019是5G元年,而2018是人工智能"大爆发" ...

  8. 重磅!2022国家杰青,硕博校友统计出炉

    来源丨高绩 国家杰青项目旨在培养和造就一批进入世界科技前沿的优秀学术带头人,具有极高的含金量,也是每一所高校珍视的科研项目. 截至2022年10月25日,高绩(ID:gjdata)对今年新公布的77位 ...

  9. 中考计算机必背知识点,语文中考必背知识考点(完整版)

    010在线为您甄选多篇描写语文中考必背知识考点(完整版),语文中考必背知识考点(完整版)精选,语文中考必背知识考点(完整版)大全,有议论,叙事 ,想象等形式.文章字数有400字.600字.800字.. ...

最新文章

  1. R语言ggplot2可视化:为可视化图像添加多行标题(multi line title)并将多行标题居中对齐(center align)
  2. 一生中需要的10种人脉
  3. 关于git经常忘记的:远程仓库关联。
  4. CRM/PLM/SCM/MES与ERP的联系与区别
  5. 如何买到好的固态硬盘?这样做才能不被骗
  6. WPF 分页控件添加路由事件
  7. java构建工具 gradle_Java构建工具
  8. http://syy7.com/a/33.php,CVE-2020-7062
  9. oracle此环境不满嘴,2.Oracle歌词说唱流行音乐说唱歌曲
  10. Google发布Puppeteer 1.0
  11. 矩阵分解——三角分解(二)
  12. [Yii Framework] Another method to run cron in the share space server.
  13. wxpython绘图保存_wxPython绘图模块wxPyPlot实现数据可视化
  14. 浏览器 重定向次数限制_临近年关,修复ASP.NET Core因浏览器内核版本引发的单点登录故障...
  15. Python 层次分析法 AHP
  16. java use g1_深入理解 Java G1 垃圾收集器
  17. 1038:苹果和虫子
  18. 记录一次搭建家用小型服务器的经历
  19. 029. 露从今夜白,月是故乡明
  20. 关于机器学习的面试题,你又了解多少呢?

热门文章

  1. android jpush 极光推送
  2. (转)awesome-text-summarization
  3. java中 ‘\b‘ 回退符的使用
  4. iMeta | 浙大吴顶峰和同济刘蕾等对微生物富集分析中Reporter Score的误用研究
  5. instance retrieval
  6. mysql 1406文本_mysql报错:“1406, Data too long for column”
  7. 对于英语学习的一些见解
  8. MITSUBISHI: FX3U-32M 使用 GX works2 通讯与编程
  9. 22款奔驰GLE450升级23P驾驶辅助系统,驾驶问题一扫而空
  10. 跪求光猫修改mac地址教程