param

axios上传图片

巧了我就是萌 提交于 2019-11-28 08:58:40
html部分,可以把input file的opacity设置为0,点击其父容器,即触发file <input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update($event)"/> axios的post请求,发送form数据部分,这样就可以无刷新的提交form数据到后台        update(e){ let file = e.target.files[0]; let param = new FormData(); //创建form对象 param.append('tweetPic',file,file.name);//通过append向form对象添加数据 //param.append('chunk','0');//添加form表单中其他数据 //console.log(param.get('tweetPic')); //FormData私有类对象,访问不到,可以通过get判断值是否传进去 let config = { headers:{'Content-Type':'multipart/form-data'} }; //添加请求头 axios.post('url/',param,config) .then(response=>{

机器人的地图——占据栅格地图

帅比萌擦擦* 提交于 2019-11-28 08:42:10
1. 机器人地图的分类 地图有很多种表示方式,例如,用经纬度标识地方的世界地图,城市的地铁图,校园指引图。 第一种我们称为尺度地图(Metric Map),每一个地点都可以用坐标来表示,比如北京在东经116°23′17'',北纬39°54′27'';第二种我们称为拓扑地图(Topological Map),每一个地点用一个点来表示,用边来连接相邻的点,即图论中的图(Graph),比如从地铁路线图中我们知道地铁红磡站与旺角东站和尖东站相连;第三种我们称为语义地图(Semantic Map),其中每一个地点和道路都会用标签的集合来表示,例如,有人问我中山大学教学楼E栋在哪里,我会说在图书馆正门右手边靠近图书馆的一侧。 在机器人领域,尺度地图常用于定位于地图构建(Mapping)、定位(Localization)和同时定位与地图构建(Simultaneous Localization And Mapping,SLAM),拓扑地图常用于路径规划(Path Planning),而语义地图常用于人机交互(Human Robot Interaction)。 这节课我们将介绍如何用机器人传感器数据绘制尺度地图。这有什么难点呢?首先也是最重要的一点,传感器数据有噪音。用激光传感器检测前方障碍物距离机器人多远,不可能检测到一个准确的数值。如果准确值是 米,有时会测出1.42米,有时甚至1.35米。另外

android设计模式之组合模式

≡放荡痞女 提交于 2019-11-28 08:38:55
组合模式(Composite Pattern)也称为部分整体模式(Part-Whole Pattern),结构型设计模式之一,组合模式比较简单,它将一组相似的对象看做一个对象处理,并根据一个树状结构来组合对象,然后提供一个统一的方法去访问相应的对象,以此忽略掉对象与对象集合之间的差别。 组合模式的定义 将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 组合模式的使用场景 表示对象的部分-整体结构时。 从一个整体中能够独立出部分模块或功能的场景。 Component:抽象根节点,为组合中的对象的声明接口。在适当情况下,实现实现所有类共有接口的缺省行为。 声明一个接口用于访问和管理Component的子节点。可在递归结构中定义一个接口,用于访问一个父节点,并在合适的地方实现它。 Android源码中的组合模式 View和ViewGroup的嵌套组合 在Android的这个视图层级中,容器一定是ViewGroup,而且只有ViewGroup才能包含其他View。 @UiThread public abstract class ViewGroup extends implements ViewParent, ViewManager { ... ... ... ... } 从继承的角度来说,VIewGroup拥有View类所有的非私有方法

htaccess Redirect directory name to parameter

陌路散爱 提交于 2019-11-28 07:23:07
问题 I would like to redirect all paths like this: myurl.com/worldwide/en myurl.com/worldwide/pt myurl.com/worldwide/de to: myurl.com/worldwide/index.php?lang=en myurl.com/worldwide/index.php?lang=pt myurl.com/worldwide/index.php?lang=de Just to be clear a dynamic redirection of the pathname after /worldwide Actually ideally I would like to keep the original url (e.g. myurl.com/worldwide/de ) but load the same php file with the language directory as a param but not sure if this is possible? Thanks

忘记密码(通过手机验证码找回设置)自己写

跟風遠走 提交于 2019-11-28 07:17:49
<template> <div> <h3 class="pad-all">找回密码</h3> <el-form :model="modeflyForm" :rules="rules" ref="modeflyForm" class="pad-all" > <el-form-item label="手机号" prop="tel" :label-width="formLabelWidth"> <el-input v-model="modeflyForm.tel" autocomplete="off"></el-input> </el-form-item> <el-form-item label="用户名" prop="user" :label-width="formLabelWidth"> <el-input v-model="modeflyForm.user" autocomplete="off"></el-input> </el-form-item> <el-form-item label="新密码" prop="newPass" :label-width="formLabelWidth"> <el-input type="password" v-model="modeflyForm.newPass" autocomplete="off"></el-input> </el-form

mybatis-sql执行流程源码分析

和自甴很熟 提交于 2019-11-28 06:42:48
1. SqlSessionFactory 与 SqlSession.   通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlSession的重要性了吧, 没错,从表面上来看,咱们都是通过SqlSession去执行sql语句(注意:是从表面看,实际的待会儿就会讲)。那么咱们就先看看是怎么获取SqlSession的吧: (1)首先,SqlSessionFactoryBuilder去读取mybatis的配置文件,然后build一个DefaultSqlSessionFactory。源码如下: /** * 一系列的构造方法最终都会调用本方法(配置文件为Reader时会调用本方法,还有一个InputStream方法与此对应) * @param reader * @param environment * @param properties * @return */ public SqlSessionFactory build(Reader reader, String environment, Properties properties) { try { //通过XMLConfigBuilder解析配置文件,解析的配置相关信息都会封装为一个Configuration对象 XMLConfigBuilder parser = new XMLConfigBuilder(reader,

程序员,你应该知道的二分查找算法

血红的双手。 提交于 2019-11-28 06:27:44
原理 二分查找(Binary Search)算法,也叫折半查找算法。二分查找的思想非常简单,有点类似分治的思想。二分查找针对的是一个有序的数据集合,每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。 为了方便理解,我们以数组 1, 2, 4, 5, 6, 7, 9, 12, 15, 19, 23, 26, 29, 34, 39 ,在数组中查找 26 为例,制作了一张查找过程图,其中 low 标示左下标, high 标示右下标, mid 标示中间值下标 二分查找的过程就像上图一样,如果中间值大于查找值,则往数组的左边继续查找,如果小于查找值这往右边继续查找。二分查找的思想虽然非常简单,但是查找速度非常长,二分查找的时间复杂度为O(logn)。虽然二分查找的时间复杂度为O(logn)但是比很多O(1)的速度都要快,因为O(1)可能标示一个非常大的数值,比例O(1000)。我们来看一张二分查找与遍历查找的效率对比图。 图片来源网络 从图中可以看出二分查找用了三步就找到了查找值,而遍历则用了11步才找到查找值,二分查找的效率非常高。但是二分查找的局限性非常大。那二分查找有哪些局限性呢? 局限性 二分查找依赖数组结构 二分查找需要利用下标随机访问元素,如果我们想使用链表等其他数据结构则无法实现二分查找。 二分查找针对的是有序数据

正则表达式之邮箱、手机号码、电话号码,url地址

∥☆過路亽.° 提交于 2019-11-28 05:36:21
/** * 邮箱 * @param {*} s */ export function isEmail (s) { return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s) } /** * 手机号码 * @param {*} s */ export function isMobile (s) { return /^1[0-9]{10}$/.test(s) } /** * 电话号码 * @param {*} s */ export function isPhone (s) { return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s) } /** * URL地址 * @param {*} s */ export function isURL (s) { return /^http[s]?:\/\/.*/.test(s) } 来源: https://www.cnblogs.com/bertha-zm/p/11394433.html

@Param @PathVariable @RequestParam @ResponseBody @RequestBody注解说明

旧时模样 提交于 2019-11-28 04:03:42
@Param 主要是用来注解dao类中方法的参数,在不使用@Param注解的时候,函数的参数只能为一个,并且在查询语句取值时只能用#{},且其所属的类必须为Javabean,而使用@Param注解则可以使用多个参数,在查询语句中使用时可以使用#{}或者${} @PathVariable 用于将请求URL中的模板变量映射到功能处理方法的参数上,http://127.0.0.1:8040/findById/1-->> @GetMapping( "/findById/{id}") 参数不能为空 @RequestParam 注解主要有哪些参数: value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入; required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码; defaultValue:默认值,表示如果请求中没有同名参数时的默认值,例如: public List<EasyUITreeNode> getItemTreeNode(@RequestParam(value="id",defaultValue="0")long parentId) @ResponseBody 将响应的结果转为json格式 @RequestBody 将请求参数转为json格式 来源: https://www

C#拖放实现餐饮系统转台操作

我是研究僧i 提交于 2019-11-28 03:38:01
转台是餐饮系统中常用的操作,一般系统都是右键选择弹出目标台界面,然后选择目标台确定,现在我们把需要转的台通过拖动到目标台图标上面就可以实现前面的操作,简单快捷。 转台操作时: 转台成功后: /// <summary> /// 当拖动某项时触发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_ItemDrag(object sender, ItemDragEventArgs e) { listView1.DoDragDrop(e.Item, DragDropEffects.Move); } /// <summary> /// 鼠标拖动某项至该控件的区域 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } /// <summary> /// 拖动时拖着某项置于某行上方时 /// </summary> /// <param name=