call failed:, {"errMsg": "canvasToTempFilePath:fail invalid viewId"}

call failed:, {"errMsg": "canvasToTempFilePath:fail invalid viewId"}苹果设备保存离屏 canvas 问题 背景介绍 在使用 "uniapp" 开发微信小程序海报功能,使用了 微信小程序的 "createOffscreenCanvas"创建离屏 canvas 实例。苹果设备保存图片到相册报错 call failed:, {"errMsg": "canvasToTempFilePath:fail invalid viewId"} 相关网站 - 离屏 canvas 实例: https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html - 文件管理器:https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.getFileSystemManager.html - 写文件:https://developers.weixin.qq.com/minipr

发布时间:2023-12-13 15:12:37

常见快递公司编码表

常见快递公司编码表 | 快递公司 | 编码 | | ------------ | ---- | | 百世快递 | HTKY | | 中通快递 | ZTO | | 申通快递 | STO | | 圆通速递 | YTO | | 韵达速递 | YD | | 邮政快递包裹 | YZPY | | EMS | EMS | | 顺丰速运 | SF | | 京东快递 | JD | | 优速快递 | UC | | 德邦快递 | DBL | | 极兔速递 | JTSD | | 菜鸟直送 | CNSD | | 菜鸟橙运 | CNCY | | 宅急送 | ZJS | | 丰网速运 | FWX | https://www.yuque.com/kdnjishuzhichi/dfcrg1/mza2ln

发布时间:2023-12-12 22:41:59

js 格式销量数据 例如 1000 原样输出 1000,10000 输出 1.0万 ,20000 输出 2.0万,100000输出10+万

function formatSales(sales) { if (sales < 10000) { return sales.toString(); } else if (sales < 100000) { const formattedSales = (sales / 10000).toFixed(1); return `${formattedSales}万`; } else { const formattedSales = Math.floor(sales / 10000); return `${formattedSales}+万`; } } // 示例 console.log(formatSales(1000)); // 输出: 1000 console.log(formatSales(10000)); // 输出: 1.0万 console.log(formatSales(20000)); // 输出: 2.0万 console.log(format

发布时间:2023-12-05 14:04:41

uniapp 实现锚点

uniapp 实现锚点 在 uni-app 中实现锚点可以通过使用 scrollTo 函数来完成。 示例代码如下所示: anchorPoint(){ // 获取到需要跳转的元素节点 const targetElement = document.getElementById('swiper-s'); // 这里的 'target' 为目标元素的 id // 调用 scrollTo 函数进行页面滚动 uni.createSelectorQuery().select('#swiper-s').boundingClientRect(rect => { if (rect) { const topOffset = rect.top + window.pageYOffset; uni.pageScrollTo({ selector: '#swiper-s', duration: 300, success() { console.log("滚动到指定位置成功

发布时间:2023-12-04 15:44:18

CSS控制DOM元素的放大和缩小动画

要通过CSS控制DOM元素的放大和缩小动画,你可以使用"@keyframes"和"animation"属性来创建动画效果。以下是一个示例代码,演示如何通过CSS实现DOM元素的放大和缩小动画: HTML: htmlCopy code<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <div class="animated-box"></div> </body> </html> CSS (styles.css): cssCopy code.animated-box { width: 100px; /* 初始宽度 */ height: 100px; /* 初始高度 */ background-color: #3498db; /* 背景颜色 */ animation: zoom 2s infinite alternate; } @keyframes zoom { 0% { transform: sca

发布时间:2023-11-28 17:21:56

NFS共享文件

服务端 «安装"NFS"» [root@localhost www] yum -y install nfs-utils rpcbind «编辑 "/etc/exports" 文件,增加以下内容» [root@localhost www] vi /etc/export /www/share *(rww,sync,no_root_squash) «配置文件生效» [root@localhost share] exportfs -rv exporting *:/www/share «启动 "rpcbind" 和 "nfs "服务» [root@localhost share] systemctl start rpcbind [root@localhost share] systemctl start nfs «测试是否可以联机,输出共享地址成功» [root@localhost share] showmount -e localhost Export list for localhost: /www/share * 客户端 «安装NFS客户端» [root@localhost share]

发布时间:2023-11-28 17:10:40

Linux 安装svn

«安装 svn客户端» yum -y install subversion «安装node» tar -xvf node-v16.14.0-linux-x64.tar.xz «1. node包 2. 移动文件至这个目录下/usr/local/ 3. 第一种配置系统环境 profile 4. 第二种软连接 In -s /usr/local/node/bin /usr/local/bin» echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile 端口连接统计 netstat -nat|grep -i "5045"|wc -l

发布时间:2023-11-28 17:08:23

linux 常用脚本

日志分割 #!/bin/bash LOG_DIR=/usr/local/nginx/logs YESTERDAY_TIME=$(date -d "yesterday" +%F) LOG_MONTH_DIR=$LOG_DIR/$(date +"%Y-%m") LOG_FILE_LIST="default.access.log" for LOG_FILE in $LOG_FILE_LIST; do [ ! -d $LOG_MONTH_DIR ] && mkdir -p $LOG_MONTH_DIR mv $LOG_DIR/$LOG_FILE $LOG_MONTH_DIR/${LOG_FILE}_${YESTERDAY_TIME} done kill -USR1 $(cat /usr/local/nginx/nginx.pid) nginx acc日志分析 #!/bin/bash # 日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_ref

发布时间:2023-11-28 17:07:36

h5 video标签全屏返回,input无法弹出软件键盘

背景 «https://ask.dcloud.net.cn/question/101318 引用是因为video点击全屏后,android会使用一个叫 "bringToFront()" 的方法,这个方法会使当前控件脱离父布局的约束,并且覆盖到父布局上方,导致全屏视频返回后看到的"webview"页面并不是在真正的前台展示,所以点击input不会弹出软键盘,一定要当前页面执行了"onPause"方法才会弹出» 其他人也有遇到类似问题 1、解决办法,不让在"h5"页面评论转到"APP"内操作(使用的正是阿里云直播) 2、"uniapp " 通过 "plus.webView.open()" 打开新页面 3、"Android" 通过原生代码解决无法弹出软键盘 «解决方案(建议)» 1. 退出全屏时 "alert()"弹框 或 " confirm()" 2. 退出全屏时 "localhost.reload()" 重载页面 3. 更换其他拉流插件不要使用 阿里的 4. 尝试直接用 "h5" 页面编写拉流页面不要使用 "vue" 5. 可尝试点击全屏,打开新页面展示全屏播放。退出全屏返回上一页。

发布时间:2023-11-28 17:05:46

FFmpeg常用命令

官网地址 https://ffmpeg.org/ 常用命令 视频关键帧IPB 帧率 每秒画面数量 0-30 一遍25 抽取"I"帧 «表示关键帧,是最完整的帧画面,一般视频封面都选择I帧;» ffmpeg -i 666051400.mp4 -vf "select=eq(pict_type\,I)" -vsync vfr -qscale:v 2 -f image2 ./%08d.jpg 抽取"P"帧 «单预测帧,利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码;» ffmpeg -i 666051400.mp4 -vf "select=eq(pict_type\,P)" -vsync vfr -qscale:v 2 -f image2 ./%08d.jpg 抽取"B"帧 «双向预测帧,利用双向帧进行预测编码;» ffmpeg -i 666051400.mp4 -vf "select=eq(pict_type\,B)" -vsync vfr -qscale:v 2 -f image2 ./%08d.jpg 均匀抽帧 «-r 指定抽取的帧率,即从视频中每秒钟抽取图片的数量。1代

发布时间:2023-11-28 17:05:06

Centos安装maven

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz 或 curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz 解压 tar -zxvf apache-maven-3.8.5-bin.tar.gz 移动文件 mv ./apache-maven-3.8.5 /usr/local/maven385 配置环境变量 "vi /etc/profile" export PATH=$PATH:/usr/local/maven385/bin 执行"source /etc/profile" mvn -v Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0) Maven home: /usr/local/ma

发布时间:2023-11-28 17:04:11

自签SSL证书

- key 私钥 = 明文--自己生成(genrsa ) - csr 公钥 = 由私钥生成 - crt 证书 = 公钥 + 签名(自签名或者由CA签名) 生成私钥 需要输入密码两次 12345678 (随便输) openssl genrsa -des3 -out server.pass.key 2048 生成私钥 server.key 输入上面的密码 openssl rsa -in server.pass.key -out server.key 创建公钥 openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=dev/OU=dev/CN=127.0.0.1" 生成证书 days 后面指定天数 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 查看证书 openssl x509 -in server.crt -noout -text nginx 配置 1. 将

发布时间:2023-11-28 17:03:39

centos 7系统搭建FTP

安装ftp «说明:centos 7系统1.安装服务 yum install vsftpd -y2.启动服务 systemctl start vsftpd.service3.查看状态 systemctl status vsftpd.service4.关闭服务 systemctl stop vsftpd.service5.检查端口 netstat -anp | grep 21 (找不到netstat命令时运行yum install net-tools)» «安装 "vsftpd"» [root@localhost admin] yum install vsftpd -y «启动"vsftpd" 并查看当前状态» [root@localhost www] systemctl start vsftpd [root@localhost www] systemctl status vsftpd ● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service;

发布时间:2023-11-28 17:01:46

js 数组按指定字段转map-list结构

背景介绍 在开发过程中经常会出现接口返回整个数组,我们需要将数组进行二次处理,如下格式按照不同功能模块(type)进行数据拆分 原始数据 const list = [ {"type":"red","id":1,"name":"a","count":1}, {"type":"red","id":2,"name":"b","color":2}, {"type":"green","id":3,"name":"c","color":3}, {"type":"green","id":4,"name":"d","color":4}, {"type":"blue","id":5,"name":"e","color":4}, {"type":"blue","id":6,"name":"f","color":4} ]; 转换方法 /** * @param {Object} listData 原始数据 * @param {Object} field 字段 key */ const arrayToMap = (listData,field)=>{ const arrayMap

发布时间:2023-11-28 17:00:47

java 通过反射对象赋值

«在开发过程中经常需要对接第三方接口来获取数据,第三方接口返回的数据需赋值到实体类当中,一个个 "get" "set" 比较麻烦,所以我们就可以使用 "java" 反射进行对象赋值» /** * description: json 字符 转 pojo 对象 * create by: Mr.Fang * * @param json 字符 * @param config 配置 key JSON字符的key value对应的实体类字段 * Map<String, String> stringStringHashMap = new HashMap<>(); * stringStringHashMap.put("statusDesc", ""); key不为空 value 为空 表示实体类没有该字段 * stringStringHashMap.put("subShareFee", "ccc"); key不为空 value 不为空

发布时间:2023-11-28 16:55:37

Swagger 常用注解

Swagger 常用注解 @Api 类级别 与Controller注解并列使用。 属性配置: | 属性名称 | 备注 | | :------------- | -----------------------------------------------: | | value | url的路径值 | | tags | 如果设置这个值、value的值会被覆盖 | | description | 对api资源的描述 | | basePath | 基本路径可以不配置 | | position | 如果配置多个Api 想改变显示的顺序位置 | | produces |

发布时间:2023-11-19 11:29:08

正则表达式

正则表达式 «中文» [\u4e00-\u9fa5] «双字节字符(包括汉字在内)注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)» [^\x00-\xff] «HTML标记» <(\S*?)[^>]*>.*?</\1>|<.*? /> «空白行» \n\s*\r «首尾空白字符注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式» ^\s*|\s*$ «E-mail» \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* «URL地址» [a-zA-z]+://[^\s]* «匹配账号注:字母开头,允许5-16字节,允许字母数字下划线» ^[a-zA-Z0-9_]{4,15}$ «匹配国内电话号码注:0511-4405222 或 021-87888822» \d{3}-\d{8}|\d{4}-\d{7} «中国邮编注:中国邮政编码为6位数字» [1-9]\d{5}(?!\d) «身份证注:中国的身份证» \d{15}|\d{18} «特定数字» ^[1-9]\d*$    //匹配正整数 ^

发布时间:2023-11-19 11:27:53

数据库设计规

数据库设计规 目的 ​为规范数据管理,统一数据设计,特指定本规范。 本规范的主要目的是希望规范数据库设计,尽量提前避免有于数据设计不当而产生的麻烦。 通用规范 «使用英文:要用简单命了的英文单词,不要用拼音,特别是拼音缩写。主要目的明确,让人容易明白这个对象是做什么用的;一律小写,特别是表名:有些数据库,表的命名乃至其他数据对象的命名是大小写敏感的,为了避免不必要的麻烦,并且尊重通常习惯,最好一律小写;» 数据对象命名规范 «数据库命名» 1. 前缀"db"下划线"_"项目名称,多个英文单词请用下划线分割; 1. 例如:"db_log" 2. 例如:"db_log_analysis" «表的命名» 1. 前缀"t"加下划线"_"加表名,多个英文单词请用下划线分割; 1. 例如:"t_user" 2. 例如:"t_user_log" «字段命名» 1. 尽量避免使用数据库关键命名 ,多个英文单词请用下划线分割; 1. 例如:"name" "type" "index" 等等 2. 例如:"create_time" "user_name" 备注 «1. 数

发布时间:2023-11-19 10:40:01

  • 1