更新日志2023.10.16
群聊主界面的UI实现
群聊聊天界面的UI实现
2023.10.17
修复小程序中Header的高度与宽度问题(与胶囊重叠以及高度错误)
群聊群设置界面的UI实现
群聊聊天界面中底部输入框的更多-moreFunc.vue的UI实现
2023.10.18
群聊群设置中群成员列表界面的UI实现
新增less方法pxtorpx,将样式中的px转换为rpx以保证各机型上图标字体等大小一致
修复在键盘弹起时,点击”更多“展示moreFunc组件时导致的页面高度抖动
2023.10.19
修复小程序页面初次加载时Header部分的抖动
完成App的登录、注册、忘记密码页面,将获取验证码封装为useVertify
小程序中点击发送,键盘无法保持弹起状态。目前会回落后再弹起,或回落不弹起,或不回落
创建对象存储OSS登录阿里云后,在产品中找到“存储对象OSS”,点击开通(开通不需要费用)后进入控制台。在左侧菜单栏中点击“Bucket列表”,并创建一个新的Bucket(如下图所示)
其中地域可以任选例如广州、深圳等地,在中国大陆内即可
完成Bucket创建后,需要购买资源包。选择购买OSS资源包,地域选择中国大陆通用(前提是你创建的Bucket在中国大陆内)
完成上述步骤,恭喜您,已经成功搭建好了最简易的图床~But! 烧钱! 不安全!
注意哦~OSS的存储空间虽然已经买了,但是每次访问OSS资源的下行流量也是需要付费的。您可以查看计费规则。如果有人恶意刷流量,那么恭喜你,早上起来你的房子就是阿里云的了
你问我如何解决?那就请继续跟着下列步骤完善您的建议图床吧!
使用CDN绑定OSS
您需要拥有已备案的域名,才能进行以下操作。若没有,也不想弄,可以跳过这步
在OSS控制台内,点击您创建好的Bucket,随后找到Bucket配置下的域名管理,绑定您的域名(不要选择自动添加CNAME记录!)
添加完毕后,您会发现您的域名出现在了域名管理内。点击配置阿里云CDN加速(他会帮您填 ...
在开发过程中,我们会将一些函数进行封装,而为了使日后调用这些函数的时候能更好的清楚所调用函数的参数、返回值、作用等信息,我们需要对其进行文档注释。
认识文档注释文档注释说白了就是注释的一种,平常我们会为一些代码段进行注释来表明这段代码的作用。而文档注释则是为了让我们对某些封装的函数一目了然。
普通的单行注释1// 单行注释
多行注释123/*** 多行注释*/
文档注释文档注释由以下JsDoc标签组成
@param 参数注释使用@param注释来表示当前的函数或类的方法的参数。通常是由 @param + { 参数类型 } + 参数名 + 参数说明 组成
1234567891011121314/** * 网络请求 * @param { object } options 配置对象 * @param { string } options.url 请求地址 * @param { 'GET' | 'POST'} options.method 请求方式 * @param { objec ...
vite 打包优化之手动分包前言首先,我们要清楚为什么需要对工程进行分包。
浏览器在每次访问页面时,会根据文件指纹判断是从服务器下载还是读取缓存。若每次对项目打包,都将所有内容打包在一起,例如经常更改的页面模块和类似于lodash这些不常更新的库,那么每次打包完毕后都会产生一个新的文件指纹。
用户浏览器在访问时则会因为文件指纹不同从而去服务器下载新的资源。
在这个过程中,那些不常更改、稳定的库,也会被重新下载一次。这样就加大了用户等待的时间。所以我们需要对工程进行分包进而优化浏览器加载时间。
什么是文件指纹文件指纹是文件打包后输出的文件名的后缀,通常用来做一些文件的版本管理。浏览器会根据文件指纹进而做出是去服务器重新下载,还是读取本地缓存的动作。
如何使用Vite做手动分包自动分包和手动分包在vite内,分为自动分包和手动分包。若我们使用动态导入,则会进行自动分包。
12345// 动态导入import('lodash')// 静态导入import { createApp } from 'vue'
配置rollup在vite ...
关于栈溢出,我们通常会感觉无限递归会导致栈溢出。但是一定如此吗?
什么是栈溢出栈是一块 内存空间 ,而每一次函数调用,就相当于往内存空间内加入一个执行上下文。当这个函数没有执行完时,又调用了另一个函数(比方说自身),这个时候就又会往内存空间内加入一个执行上下文。反复如此的话,栈会被撑满,空间不够了,这就叫栈溢出。
例如下面这段代码就是个典型的无限递归场景。在foo()调用结束之前又调用了foo(),因此会导致栈溢出。
1234function foo(){ foo()}foo()
什么情况下无限递归不会导致栈溢出例如下面这种情况,就不会导致栈溢出
1234function foo(){ setTimeout(foo,0)}foo()
在调用foo()时,往执行栈内加入一个上下文。而在该上下文执行期间,会开启一个定时器,而计时器到达之后,会再一次执行foo函数。但由于JS语言是异步的,也就是说,foo函数本身不会等待计时器结束。foo()在创建完计时器后,会运行结束,随后出栈。随后计时器到达,加入事件队列,而后执行上下文,调用fo ...

















