UniApp 踩坑记录uni.pageScroolTo 动画结束后还是会触发 onPageScroll事件12345678910111213141516uni.pageScrollTo({ selector: '#target' duration: 150,})const lastScrollTop = ref(0)let isScrollStop = falseonPageScroll(e => { isScrollStop = true if (lastScrollTop.value >= e.scrollTop) { isScrollStop = true // 这里处理手动pageScrollTo后的逻辑 } lastScrollTop.value = e.scrollTop;})
uni-popup 会在赋值新数据的适合,自动消失,只留下遮罩https://ask.dcloud.net.cn/question/154323
我这里实 ...
nestjs 项目部署记录本次部署nestjs 项目在腾讯云上,采用docker的方式部署, 因为机器性能太差, 无法在机器上打包, 所以直接使用docker 。只需要下载docker镜像就行了
问题1 - 无法连接上redis由于使用的是docker容器, 需要与redis容器进行通信, 那么这配置redis host 的时候需要通过容器网络名称进行连接,在打包运行时发现无法连接上redis
排查步骤配置文件里面写入的是redis ,为什么打印出来是127.0.0.1, 在redisModule.forRootAsync 里面打印发现没有问题那就是nestjs-redis库没错,出错的是底层的ioredis模块。网上搜索结果无望,在ioredis进行debug,发现没有传入
配置文件里面写入的是redis ,为什么打印出来是127.0.0.1, 在redisModule.forRootAsync 里面打印发现没有问题
那就是nestjs-redis库没错,出错的是底层的ioredis模块。网上搜索结果无望,
在ioredis进行debug,发现没有传入任何参数
那问题就是出 ...
让 downie chrome插件支持自定义下载我有一个自定义的页面,里面包含了许多代下载的内容。
每次需要下载的时候, 都得复制所有链接然后粘贴到downie 里面下载。既然downie插件的源码是开源的。 就修改一下。
为了获取页面里面的链接, 需要新建一个content_script. 不然无法获取document。
然后新增一个右键菜单, 注册自定义函数来处理相关逻辑
1
1234567891011121314151617function downloadLocal(tab) { chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => { const currentTab = tabs[0]; chrome.tabs.sendMessage(currentTab.id, { action: "getTransUrls" }, (response) => { if (respon ...
quill编辑器替换toolbar图标quill 编辑器toolbar 的svg 在代码里面是写死的。 代码如下
https://github.com/slab/quill/blob/b213e1073bac1478649f26e3c0dad50ad0eb2a49/packages/quill/src/themes/base.ts#L126
如果要替代图标。 最简单的办法是在编辑器挂载后, 直接替换html里的svg。
这里我想做更多操作。比如显示一个tooltip。 在源码里面,
通过css进行处理直接将原来的图标设置为定位,并将透明度设置为0.
12345678910111213141516171819202122232425262728293031<div id="quill-fake-toolbar"> <NTooltip> <template #trigger> <span class="relative ql-toolbar-fak ...
pinia 简单实现1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980import { computed, reactive } from "vue";let piniaInstance;function setActivePinia(pinia) { piniaInstance = pinia;}function getActivePinia(pinia) { return piniaInstance;}const piniaSymbol = Symbol('pinia')/** * pinia 是一个插件, 所以要返回一个带install的对象 * @returns */export const createPinia = ...
yjs 自定义 同步yjs 自带的 y-websocket 不能自定义数据格式。 简单的实现了一下用 socket.io 传输 yjs 的数据
先看一下客户端provider的代码
Yjs学习-CSDN博客
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import { ObservableV2 } from "lib0/observable.js";import * as encoding from 'lib0/encoding'import * as decoding from 'lib0/decoding'import * as Y from 'yjs';import io, { Socket } from 'socket.io-client'import * as syncProtocol from & ...
Compodoc 的常用命令最近在学习 nestjs,用到了 Compodoc。发现配置文件里面的可配置项挺多的,记录一下自己用到的配置项
官网:https://compodoc.app/guides/installation.html
首先安装 compodoc。 然后在 package.json 里面写一条 script 启动 compodoc。
新建一个compodoc配置文件,文件名可以随便取,要和package.json 里面的命令路径对的上。
compodoc配置文件要写上一个 $schema .这样写 json 的时候才有语法提示。
12345678910{ "$schema": "./node_modules/@compodoc/compodoc/src/config/schema.json", "port": 8888, "theme": "gitbook", "language": "zh-CN& ...
使用 alist 实现手机访问电脑文件
初衷是想手机直接观看电脑的视频,而不需要下载到手机里面
smb 访问电脑都会有自带文件共享功能,是 smb 协议,这是我的 mac 电脑打开的样子,但是使用手机访问,可以连接上服务,但是看不到任何内容,有时候一个nobody的文件夹,里面也不会有任何内容。
构建一个本地服务器访问电脑文件我使用的是 node 安装serve ,这样可以直接访问文件夹,可以手动获取目标文件的 url 然后放到播放器里面播放。只能一个个手动去处理, 没有播放列表。
使用 alist首先在电脑上安装一下 alist,mac intel 芯片要用alist-darwin-amd64.tar.gz这个文件.
手动安装 | AList文档 (nn.ci)
安装好后, 输入./alist serve 启动服务。这个时候 webdav 服务是自动打开的, 成功启动在5244 端口。
进入 web 端后台, 配置存储,驱动里面选择本机存储。然后填写对应的表单。
按照这个文档配置播放器的 webdav。大功告成。
WebDAV | AList文档 (nn.ci)
Vue3 + Pinia 仿抖音,Vue 在移动端的最佳实践
zyronon/douyin: Vue3 + Pinia 仿抖音,Vue 在移动端的最佳实践 . Imitate TikTok ,Vue Best practices on Mobile (github.com)
页面跳转的动画在App.vue 里面有监听路由的路径,通过判断路由定义的顺序来判断路由是前进还是后退, 然后添加对应的动画。
123<transition :name="transitionName"> // 这里修改动画名</transition>
路由过渡的时候会出现白屏这是由于每个页面都是 block 元素。使用动画过渡的时候, 上一个页面和下一个页面都是 block 元素。默认的文档流是垂直排列。 所以下一个元素会排列在上一个元素的下面。
解决办法就是将页面元素作为非 block 元素。 一般的防暑是页面根元素脱离文档流, 利用absolute 或者 fixed 等。我比较倾向于在 router-view 外面套一层 flex 元素。 这样子页面就 ...


