自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 【工作实践-11】关于uniapp切换账号登录失败问题

退出登录后,第二个用户登录(账号密码均正确),即使此时withToken值依旧为false,但由于不进入 if 判断,没有对header做任何处理,所以此时的 header 依旧是上一个请求接口的 header 信息,token也是上一个用户的 token 信息,提示登录失败。第一次登陆时查看接口详细信息,发现请求头中header携带的token为空,第二次用不同的账号密码登录时,接口请求头中header携带的token是第一次登录用户的token。知道原因后,看了请求封装中的代码。

2024-04-29 10:12:25 553 1

原创 【工作实践-10】uniapp打包前注意事项

Android原生应用清单文件和资源 | uni-app官网 (dcloud.net.cn)若APP用于上架,每次更改APP版本需要提升。当前所要打包的分支是否已包含各个分支最新代码,是否是最新版。(4)确认 ios 证书文件和密码,确认 ios 证书类型(4.APP打包模块配置是否已配置好所需功能(蓝牙、相机、扫码等)(3)确认 android 证书别名、文件、密码。(5)确认是打正式包还是自定义基座。8.uni统计配置若上架则需开启。3.APP启动界面配置。是否正确,ios 的。

2024-04-08 15:23:08 364

原创 【工作实践-09】实验室-大仪预约:关于对象

记录一个问题:有这样一种需求,需要生成固定长度的对象数组,并对其中不同对象中的相同属性赋予不同的属性值。一开始想利用数组的自动生成数组方法:Array(3).fill({manufacturer:' ',type: ' '})后通过数组的forEach方法来为其中不同对象的相同属性赋予不同的值。原因:数组的 fill 方法如果接受的值是一个。,那么他们会指向同一个地址。

2024-03-27 16:34:11 297

原创 【工作实践-05】实验室项目移动端

2.问题:如下图,代码中有两个切换滑动事件@touchstart(滑动开始)和@touchEnd(滑动结束),component 组件中也有父传子的事件 handkeMark 需通过点击触发。在 touchstart(e) 和touchend(e) 方法中可获取用户开始滑动和结束滑动的X坐标和Y坐标,通过判断开始滑动和结束滑动X坐标的距离差来判断是否进行修改变量。通过查看前端渲染代码(如下图:本来有两张图片,只渲染了第二张),可知第一张图的宽度和高度渲染时成了0。

2024-03-27 15:25:47 295

原创 【工作实践-08】实验室项目PC端

此代码中写了两遍 scheduleAdjustmentOption(formData).value,所以没必要再使用unref进行赋值返回,同时在column中同时用到了filter和map两种数组方法,稍显冗余,可用。我们知道computed也是一个函数,我们可以利用函数的返回值。来替换,提高代码执行效率。

2024-03-08 17:29:08 132

原创 【工作实践-06】uniapp使用webView

利用节点信息减去其他内容的高度,得到webview的高度,this.scope.scope.scope.getAppWebview()获取webview实例(只能app使用),再修改实例setStyle设置。其次网页向应用 postMessage 需要通过 wv.evalJS(``)方法,在此方法中利用uniapp的postMessage()方法向应用发送消息。在初始化webview时,需要引入webview.js文件和添加的搭桥 js (post.js)文件。这样写在安卓端没有问题,运行很顺利,但是在。

2024-03-01 09:04:59 4391 3

原创 【项目实践-04】实验室移动端:对象添加新属性+webview IOS端appendJsFile()方法不生效

在做实验室移动端时有这样一个需求,即获取下级页面的数据 (toChooseDevice()),为当前页面中的form表单数据添加新的属性和值,然后表单完成后进行提交(submitForm())操作。在项目中需要使用 webview 来获取网页上的信息并实现当前页面与网页的通讯以及交互 ,但如下代码在IOS端并未建立起当前页面和网页的通讯,在安卓端却能正常通讯及交互。作为from属性并为其赋值时,并不会触发vue2的Object.defineproperty()方法,所以不会赋值成功,只有用。

2024-02-21 14:16:35 985

原创 【项目实践-03】实验室PC

由此可看出:组件内部有多个根标签,Vue 不知道为哪个标签绑定透传属性,所以v-hasPermi不会生效。透传属性指组件在使用的时候,作用在组件上的属性,会被向下流动,绑定到组件内的标签中。当一个组件有多个根标签节点时,那么这个组件就不会有自动透传绑定属性行为。可以透传的属性:style,class,id,属性,事件。:在组件内部添加一个根标签,将这两个标签都放在根标签里,由此问题解决。

2024-02-20 17:37:36 258

原创 【工作实践-02】实验室移动端—跳转页面及交互

上级页面在events中通过下级页面getOpenerEventChannel()方法中emit定义的事件名 (getSelectDevice) 获取下级页面传递的数据信息。在项目中有这样一种需求,下级页面需要上级页面传递的信息渲染,而上级页面也需要下级页面传递的信息渲染。下级页面用getOpenerEventChannel() 方法定义上级页面需要通过什么方法来获取信息的方法名。1. 返回上一页时重新获取列表(调用上一页面获取列表方法)上级页面向下级页面传递信息可以使用路由传参。2.返回上一页重新加载。

2024-02-19 19:36:30 360

原创 【工作实践-01】实验室APP端—异步

(1) app端刚安装(即本地存储信息为空,用户信息也为空);(2) 登陆后在生命周期onShow中直接获取用户信息会存在获取信息为空的情况(用户信息使用VUEX管理);如以下代码,也是在该项目中遇到的,在VPN认证成功之后才能进行余下的登录操作,此时就需要把VPN认证做成一个异步函数。异步(获取用户信息和菜单信息需要请求接口数据),异步问题导致onShow()中获取的菜单列表为空。例子参考以上问题解决部分。鄙人才疏学浅,请参考。

2024-02-18 16:54:49 290 1

原创 VUE3-04

什么时候不携带cookie,axios跨域的时候默认不携带。用在变量前表示取反,用在赋值的内容后时,使null和undefined类型可以赋值给其他类。如果地址没写错,那可能代理配错了,要考虑清楚请求的真实地址是什么。(2)逐一排查问题:注释代码;数, radix 为介于2-36之间的数。(3)输出打印:console.log。(4)逐层排查:看看数据是怎么过来的。候才去访问B属性,没有值的时候就不去访问,如果不使用。(1)首先定位错误的位置。时,如果无法确定A是否为空,则需要用。

2023-07-29 11:08:52 1671

原创 VUE3-03

如果有一个对象数据, 后面会产生新的对象来替换 ===> shallowRef。创建一个代理,使其自身的 property 为只读,但不执行嵌套对象的深度只读转换。这是一个还原方法,可用于临时读取,访问不会被代理/跟踪,写入时也不会触发界面更新。任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行。获取一个对象 (响应式或纯对象) 或 ref 并返回原始代理的只读代理。只读代理是深层的:访问的任何嵌套 property 也是只读的。readonly 与 shallowReadonly。

2023-07-29 10:00:06 232

原创 VU3-02

-D 安装依赖到开发环境中 只在开发中生效 正式打包的时候没有它,只在开发时有效 (1)子组件中定义自己的参数和事件 父传子:const props = defineProps(["item","name"]) 子传父:const emit = defineEmits(["deleteItem"]

2023-07-26 20:37:33 185

原创 VUE3-01

nextTick() 方法可以将异步操作推迟到下一个 DOM 更新周期中执行,从而确保了在数据改变之后正确地获取到更新后的 DOM。在vue3中,nextTick()是一个Promise对象,因此我们也可以使用 await 返回的 Promise。-----针对基础数据类型,可以操作基础数据类型,也可以操作引用数据类型,但读写。-----针对引用数据类型,只能操作引用数据类型,不加 ‘.value’选项式API:按照作用组织代码。实现,通过代理对象操作源对象内部数据进行操作。数据变化后,界面不会刷新。

2023-07-25 18:29:15 240

原创 TypeScript02

static是挂到类中的方法,拿不到this(this指当前对象)在定义函数、接⼝或类的时候,不预先指定具体类型,⽽在使⽤的时候在指定具体类型的⼀种特性。继承:子类可以继承父类的属性和方法,提高代码复用性。封装:保护内部的属性,对外提供读写的方法。static修饰的变量或方法,归属于类;里面允许有实现的方法,有没有实现的方法。保护的,protected当前类中可以使用,它的子类中可以使用。私有的,private修饰的属性和方法只能在当前类里访问。抽象,具有相同属性的行为和属性的一类对象抽象为类。

2023-07-24 20:56:29 39

原创 TypeScript01

● 开发⼯作量:短期可能会增加⼀些开发成本,必须要多写⼀些类型的定义,不过对于⼀个⻓期维护的项⽬,TypeScript 能够减少维护成本。当⼀个对象类型被使⽤多次,⼀般会使⽤接⼝ interface 来定义对象的类型。TypeScript 并不是⼀个完全新的语⾔,它是 JavaScript 类型的超集,它可以编译成纯。当值的类是 any 时,可以对值进⾏任意操作,并且不会有代码提示。有时候咱们会⽐ TS 更加明确⼀个值的类型,此时,可以使⽤。● 联合类型:接口、元组、枚举、void、any等。

2023-07-23 20:11:30 45

原创 uni-app01

1.1.1 多端泛滥1.1.2 体验不好1.1.3 生态不够丰富。

2023-07-17 19:26:19 184

原创 关于async/await的底层实现原理

新建package文件——>新建pages文件——>新建页面——>配置app.json文件。小程序单包大小2M,应用过大小程序单包承载不了。

2023-07-14 19:44:03 285

原创 微信小程序02

新建组件文件夹在json文件中设置component为”true“在需要引用组件的页面json文件中引入,然后在页面的wxml文件中讲newPart当作标签 使用即可。

2023-07-12 19:34:19 35

原创 微信小程序01

小程序默认不会帮我们在发送请求的时候带上cookie,如果需要则需手动添加请求cookie。2.2 wx.redirectTo //替换掉当前页面,反回的话,返回的是上上一级。跳转到指定界面之后,可以在该页面的。同步操作:const key =2.3 wx.switchTab //切换tabbar界面。怎样更新界面效率更高?2.6 路由跳转传参。路由跳转传参可以通过。onLoad方法中的。

2023-07-11 19:02:19 39

原创 vue路由使用以及组件扩展

<a href="#">登录</a> | <a href="#">注册</a>

2023-06-02 09:43:25 588 1

原创 axios的使用、动画以及组件

<a href="#">登录</a> | <a href="#">注册</a></div></script>});4.将模板字符串,定义到template标签中:(最重要<div><a href="#">登录</a> | <a href="#">注册</a>

2023-05-31 21:03:32 160

原创 VUE-基础使用

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层不仅易于上手,还便于与第三方库或既有项目整合。Vue.js是前端的主流框架之一,和Angular.jsReact.js一起,并成为前端三大主流框架!Vue是单页面框架,通过默认让某一个页面显示,来模拟一个页面跳转的方式。

2023-05-31 08:30:41 54

原创 vue过滤器和修饰符+vue生命周期

通过Vue提供的filter方法定义:

2023-05-30 20:14:31 50

原创 set、map与模块化

Set是ES6给开发者带来的一种,可以理解为它的值不会有重复项。(1)Set的用法:(变量如:varobjobj]);删除Set结构中的指定值,//true//falseclear( )方法:清除所有成员。has( )方法:判断set结构中是否含有指定的值。如果有,返回true;如果没有,返回fasle。。

2023-05-25 17:48:40 168

原创 迭代器与生成器

var pro = new Proxy(person,{ get:function(target,property){ return 'ls' } set:function(target,property,value){ return '' }})get方法:target参数表示所要拦截的目标对象,property表示属性set方法:三个属性,target,property,value(属性值)ownKeys:拦截操作,拦截

2023-05-24 17:42:50 36

原创 函数与Symbol

传统的isNaN函数会把非数值的参数转化成数值再进行判断,而Number. isNaN只对数值类型有效,非数值类型的参数一律返回false。Number.isNaN不再有隐式类型转化。 用来检查一个数值是否非无穷(有限) isFinite函数跟isNaN函数一样,也只是对数值类型有效,对非数值类型的参数一律返回false。 当Number.isFinite函数返回false的时候,参数不一定就是一个无穷的数值类型,也有可能是一个非数值类型的参数。如:字符串’abc’

2023-05-23 16:32:45 52

原创 数据类型新用法与解构赋值

var声明变量可以重复声明,而let不可以重复声明;var是不受限于块级的,而let是受限于块级var会与window相映射(会挂一个属性),而let不与window相映射var可以在声明的上面访问变量,而let有暂存死区,在声明的上面访问变量会报错;const声明之后必须赋值,否则会报错const定义不可变的量,改变了就会报错const和let一样不会与window相映射、支持块级作用域、在声明的上面访问变量会报错块级作用域:任何一对花括号(这玩意:{ })中的语句都属于一个块,在花括号里面用

2023-05-22 18:49:08 36

原创 jQueryHTML与插件

方法向被选元素添加一个或多个事件处理程序,以及当事件发生时运行的函数。},})ponclickfunction(){alert段落被点击了。;});方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数});});) {console.log(`我是第${index + 1}元素,值是${value}`);})

2023-05-17 17:14:16 54

原创 jQuery基础

方法用于创建自定义动画。可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。可选的 callback 参数是动画完成后所执行的函数名称。参数1是目标值对象,属性就是CSS属性,属性值是CSS属性值,参数2是动画速度,可以是slow,fast,毫秒数,参数3是回调函数,是动画完成后回调函数callback。buttonclickfunction(){divanimate({left250pxopacity0.5height150px。

2023-05-16 19:02:47 113

原创 数组、字符串、Math、Number对象API总结以及深拷贝方法

返回指定元素(也即有效的 JavaScript 值或变量)在字符串中的最后一个的索引,如果不存在则返回 -1。返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。从start位置开始,截取到end位置,end取不到,提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

2023-05-08 20:12:28 157

原创 面向对象继承

实例与原型的链条称作 原型链Student.prototype = new Person("小王", 18);任何一个对象都有__proto__属性,实例化对象的__proto__属性指向的的构造函数的原型,因为任何一个对象都有__proto__属性,原型也是对象,所以原型也有__proto__属性。如此,

2023-05-08 16:09:43 29

原创 面向对象(Object Oriented Programming,简称 OOP)

字面量 var obj={ }工厂模式 function person(name){return obj;构造函数 function Person(name){

2023-05-06 18:11:51 56

原创 动画以及封装

获得的是内容卷曲出去的高度和宽度,当滚动条向下拉时,内容往上走,获得的就是上面跑出盒子范围的那部分高度。,包括padding.当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。元素没有fixed情况下,父级元素有定位,得到离他最近的有定位的父级元素。元素没有fixed情况下如果元素所有的父级元素都没定位,得到body;当盒子内部存在滚动条时,获得的高度和宽度不包括滚动条。(1)、如果父元素没有定位,距离浏览器最上侧的距离。(2)、如果父元素有定位,距离父元素最上侧的距离。的宽度高度,即边框内部的,

2023-04-26 20:25:36 28

原创 数组去重、冒泡排序、创建对象方法整理以及日期格式化、随机数封装函数

【代码】数组去重、冒泡排序、创建对象方法整理以及日期格式化、随机数封装函数。

2023-04-25 18:21:06 55

原创 DOM节点操作、事件对象与BOM

哈哈哈我是div

2023-04-25 15:09:32 29

原创 属性操作与事件

我是盒子

2023-04-25 09:50:42 76

原创 Java Script:DOM操作

凡是css中这个属性是多个单词的写法,在js代码中DOM操作的时候.把-干掉,后面的单词的首字母大写即可。innerText主要是设置文本的,设置标签内容,是没有标签的效果的,href、title、id、src、className width height等等。//通过样式属性设置宽高、位置的属性类型是字符串,需要加上px。6、通过选择器的querySelectorAll获取元素。5、通过选择器的querySelector获取元素。:事件的触发方式(例如鼠标点击或键盘点击):事件触发后要执行的代码(

2023-04-23 17:02:11 172

原创 JavaScript基础-内置对象使用

Math.PI 圆周率 Math.random() 生成随机数 Math.floor() 向下取整 Math.ceil() 向上取整 Math.round() 取整,四舍五入 Math.abs() 绝对值 Math.max() 最大值 Math.min() 最小值 Math.sin

2023-04-21 17:53:58 64

原创 预解析、对象、错误

进程是 cpu 资源分配的最小单位(是能拥有资源和独立运行的最小单位) 线程是 cpu 调度的最小单位(线程是建立在进程的基础上的一次程序运行单位,一个进程中可以有多个线程) 单线程与多线程,都是指在一个进程内的单和多。(所以核心还是得属于一个进程才行) 总结一句话:如果没有遇到条件或者循环,程序按照顺序从上往下依次执行 window.setTimeout(code,millisec);//等待一段时间(millisec)后执行一次函数内容,只执行

2023-04-20 16:54:17 31

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除