自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Helsonlin

啥都学啥都不精的x

  • 博客(31)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 斐讯N1搭建EMBY并挂载阿里云盘

使用Clouddrive挂载阿里云盘// clouddrive挂载docker run -d --name clouddrive --restart unless-stopped -v /media/share1/CloudNAS:/CloudNAS:private -v /opt/CloudNAS/Config:/Config -p 9798:9798 --privileged --device /dev/fuse:/dev/fuse cloudnas/clouddrive/media/sha.

2021-11-03 15:55:23 10653

原创 捷径-抖音无水印视频批量download

捷径-抖音主页批量下载。开源地址: https://github.com/helson-lin/douyin_no_watermark。

2024-01-06 18:51:07 548

原创 利用ShadowRoot 实现样式隔离

Shadow DOM API 的 ShadowRoot 接口是一个 DOM 子树的根节点,它与文档的主 DOM 树分开渲染。在开发过程中,我们可以利用ShadowRoot的特性,将样式隔离到ShadowRoot中,从而避免样式冲突。由于Shadow Dom 是一个独立的节点,所以我们可以利用 Shadow Dom 实现样式隔和组件隔离。插件开发过程之中,如果你使用了像tailwindcss之类的样式库,不难避免遇到样式冲突的问题。(因为打包之后样式文件是作用于全局的,无法在shadow root中使用)。

2023-11-12 13:56:42 956

原创 监控摄像头网页播放/海康威视摄像头/ rtmp网页播放

rtsprtmp无法直接在网页使用播放器插件播放。需要通过服务端来转码实现。为了方便使用 写了一个服务端并开源了。

2023-10-26 16:53:07 441

原创 优化解决github脚本安装无法clone库问题

nvm安装太慢?pyenv安装失败?优雅解决开源项目安装失败问题

2023-06-26 22:32:08 252

原创 js的一些代码优化技巧【持续更新】

判断然后执行一个函数,并且多条件的时候,就算执行的函数的作用是一致的,也没有提取公共的方法。其实最好是提取公共的方法,然后整合条件判断。其实这里最好是把这个相同的业务代码提取出来。可以简单看一下下面👇的函数,有两个判断条件。的折磨,你就明白了抽取公共方法的重要性。在实际开发过程中,发现有些人喜欢使用。存在就执行一段业务代码,如果。存在也执行相同的业务代码。ps: 如果你经历过。

2023-05-23 19:54:04 67

原创 PM2启动Node之外的项目

默认配置文件如下:我们这里不需要deploy,只需要修改apps的启动就行。为执行的脚本:这里我的是可执行程序, 可以替换成python.py。这里我只需要一次启动一个服务所以我的apps的长度为1。, 可以自动生成ecosystem配置文件。我这里已经在项目的目录文件夹内:执行。是否监听文件的改变,自动重启服务。启动成功可以看到列表内新增了。字段为启动的服务的名称,在配置文件目录下执行。

2023-03-31 10:13:01 155

原创 NAS m3u8下载器 m3u8转mp4保存本地

FFMEG m3u8下载器,全平台支持

2023-03-13 14:11:10 3857

原创 echarts formatter使用vue组件自定义样式(vue3)

echarts formatter 使用vue组件 自定义样式

2022-12-28 17:44:57 855

原创 ts +node实现wallhaven.cc 批量下载

Node+TS 爬取wallhaven 实现壁纸批量下载器

2022-09-02 09:12:53 279 4

原创 MP4转RTSP推流(ffmpeg和easydarwin)

ffmpeg、easydarwin实现视频推流

2022-08-11 18:09:58 2931

原创 uniapp安卓客户端下载文件失败问题,IOS端下载正常

测试发现下载文件的时候,会出现部分文件丢失的情况,并且在IOS端上面正常,只有在Android上会出现。、

2022-07-08 14:31:56 3079

原创 从零开始的大屏可视化拖拽项目(vue3 + TS + EGG)

快速创建一个大屏项目:自定义,多配置

2022-04-13 21:18:39 3536 10

原创 从零开始的命令行CLI

开始下面操作前请确保node环境已经正确安装,并配置了全局环境变量,代码在windows系统下编写未做系统适配。初始化项目npm init -y 初始化package.json配置 package.json新增"bin"字段,设置快捷命令和入口文件{ "name": "fn-cli", "version": "1.0.0", "description": "", "bin": { "fn": "./bin/index.js", "fn-cli": "./bin/in

2022-03-11 17:13:43 2475

原创 vue3最新文档学习

vue3最新文档支持多根节点子组件// Card.vue<template> <div class="header">{{header}}</div> <div class="footer">{{footer}}</div></template><script setup lang="ts"> const props = defineProps({ header: { type:

2022-02-22 17:15:55 848

原创 Echart渐变色实现方法-中心渐变

方法1: 利用echart内置的graphic.LinearGradient 来实现渐变使用graphic.LinearGradient 的缺点:只能从一个方向开始渐变,不能实现中心渐变的效果。前四个参数:0, 0, 0, 1, 依次对应右方/下方/左方/上方、四个方位,而0,0,0,1 表示从正上方开始。第五个参数:数组, 用于配置颜色的渐变过程. 每一项为一个对象, 包含offset和color两个参数. offset的范围是0 ~ 1, 用于表示位置。 splitArea: {

2021-11-03 15:58:29 3675

原创 picgo-plugin-imageX火山引擎ImageX插件for picGo

picGo 火上引擎imageX插件imageX支持图片模板操作,设置模板可以给图片添加水印和压缩等操作;见下图,增加了水印并压缩了图片插件依赖了'@volcengine/openapi源码地址:giteeconst { imagex } = require('@volcengine/openapi')const imagexService = new imagex.ImagexService()const config = (ctx) => { let userConfig =

2021-10-13 11:28:49 312

原创 小米路由4A千兆版刷入Openwrt/潘多拉

准备工作工具:笔记本,网线一根软件:Putty, MobaXterm, R3GV2 patches, WebServer环境:python环境所有的软件下方打包下载开启Telent功能将路由器的Wan口用网线连接到笔记本网口打开R3GV2软件目录,运行start_main.bat之后自动会打开cmd窗口,并要求输入路由器密码(路由器的密码),输入密码正确之后会自动执行,当看到以下命令表示成功开启了telnet和ftp功能。可以按任意键退出。Run telnet+ftpd...

2021-10-13 11:16:25 20963 17

原创 vue中文件下载功能实现

在浏览器内输入可以在线预览文件格式时,会直接展示文件预览内容,但是不支持的预览是直接下载文件的。所以浏览器不支持的预览的文件格式,可以直接通过a标签来下载,但是支持预览的文件,就需要进行一次处理才可以实现下载。 /** * @description: 将下载链接转换为blob链接 * @param {*} url 下载链接 * @param {*} filename 文件名称 * @return {*}

2021-08-19 13:49:38 844

原创 uni-app sqlite数据库操作

/* @description 本地数据库操作 *//* 打开本地的localStorage.db数据库 */function openComDB() { return new Promise((resolve, reject) => { plus.sqlite.openDatabase({ name: 'localStorage',// 数据库名称 path: '_doc/localStorage.db', // 数据库文件地址 success: fun

2021-07-19 17:40:02 2168

原创 Swiper页面尺寸改变时,无法实现自适应

问题:在页面全屏状态下,swiper img没有自动去铺满Dom非全屏:img铺满了Dom全屏:可以明显看到下面的空白区域问题分析:F12, 查看全屏状态下图片与Dom的样式。可以看到图片和上级的Dom样式高度为304;而swiper-container的高度为350。猜想可能是页面Resize时候,Swiper没有更新导致了。测试解决方案:强制让Dom在window.onresize时重新渲染,再查看图片高度变化。测试没问题ok//dom<div id="banner"

2021-07-19 16:06:46 1833

原创 Vue3.0上手

生命周期钩子vue3.0提供了 setup onMounted onUnmounted onUpdated 生命周期钩子,都在vue 上。import { onMounted, onUpdated, onUnmounted } from 'vue'const MyComponent = { setup() { onMounted(() => { console.log('mounted!') }) onUpdated(() => { c

2021-07-15 14:20:31 270

原创 Nginx常用配置

centos7 暂时关闭防火墙:systemctl stop firewalld.servicecentos7 禁止firewall开机启动: systemctl disable firewalld.service安装编译安装: nginx安装及其配置详细教程_weixin_30468137的博客-CSDN博客默认配置文件########### 每个指令必须有分号结束。##################user administrator administrators; #配置用户或.

2021-07-15 14:16:52 115

原创 uni-app实现锚点定位功能

效果图功能实现使用uni-app自带scroll-view组件利用scroll-into-view属性来自定滚动到的子元素的id,从而实现锚点功能。需要注意的地方有scroll-view需要指定高度,利用css来指定高度。代码<view class="service_item_list"> <u-tabs ref="tabs" font-size="30" :list="serviceList" :show-bar="true" :current="current" b

2021-04-18 16:57:21 8303 4

原创 浅析JS深拷贝

浅析JS深拷贝常用的拷贝方案:JSON.parse(JSON.stringfily())Object.assign()Object.create()JSON.parse(JSON.stringfily())分析const obj = { a: 1, b: '1', c: false, d: null, e: undefined, f: /\d/, h: { name: 'helson', like: ['

2021-04-18 16:56:15 108

原创 中国天气网实时天气api自定义ui

需求:展示当前地区的天气和温度api采用中国天气网的Api接口,天气网只提供了自定义的插件,没有提供详细的api,这里先选择一个基础得插件:根据需求自定义插件配置,然后新建一个html复制code,打开F12-network查看请求:https://apip.weatherdt.com/v2/plugin/data/h5?key=zl6uurOJp7&location=101210401&lang=cn这个就是我需要的api,key对应的就是你注册生成kye值,location为.

2021-03-29 14:23:37 976

原创 uni-app常见问题以及解决方案

实现底部安全区域留白?padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom);顶部自定义NavBar时适配刘海屏?uni-app提供的系统参数获取的APIlet systemInfo = uni.getSystemInfoSync();,systemInfo.statusBarHeight就是系统的状态栏高度。在设计NAVBAR的时候可以加上一个空白div,高度就是为状

2021-03-29 14:19:26 3193

原创 web对接微信获取OpenId

/* * @Author: hjl * @Date: 2020-08-15 18:10:33 * @LastEditTime: 2020-08-20 20:24:00 * @LastEditors: Please set LastEditors * @Description: In User Settings Edit * @FilePath: \webchat_project_copy\src\utils\wechatOpenId.js */import {getUserOpenIdd}

2021-02-19 17:40:10 224

原创 uni-app图片预览组件(简版)

需求:uni-app图片预览组件实现图片大图预览双指缩放功能<template> <view class="preview-pic" @click.stop="close"> <movable-area scale-area> <movable-view class="pic" direction="all" @scale="onScale" scale="true" scale-min="1" scale-max="4" :scale-value=.

2021-02-19 17:13:20 1093

原创 uni-app app开发对接网易云信IM

项目聊天页面为vue开发,所以直接选用Web sdk,选用的sdk版本为:NIM_Web_SDK_weixin_v7.2.0.js 。网易云信提供的web sdk 为js文件,使用时直接放在某个目录文件夹下即可.sdk 文件位置初始化登录IM这里我们项目需求是需要在用户打开App时,就默认登录到网易云信IM。所以我直接将登录注册IM方法放在Vuex actions 内,当App打开获取到用户的本地个人信息之后,直接登录到IM。```javascript```javascr.

2020-10-31 10:07:19 4679 6

原创 uni-app微信支付失败{“errMsg“:“requestPayment:fail errors“}

uni-app微信支付失败{“errMsg”:“requestPayment:fail errors”}// 微信支付// data为后端获取到的支付信息let postInfo = { sign: data.sign, prepayid: data.prepayId, partnerid: data.partnerId, appid: data.appId, timestamp: data.timeStamp, noncestr: data.nonceStr, package: dat

2020-10-31 09:56:58 1574

小米4A Openwort 潘多拉固件

小米4A Openwort 潘多拉固件

2022-02-23

ohmyzsh一键安装脚本:修改为github加速仓库

ohmyzsh一键安装脚本:修改为github加速仓库

2022-02-23

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

TA关注的人

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