;

需求描述:手机号非必填,但是有输入的时候验证格式。 <el-form ref="form" :rules="rules" :model="form"> <el-form-item label="手机号" prop="mobile"> <el-input v-model="form.mobile" @input="inputMobile" clearable></el-input> </el-form-item> </el-form> let regMobile = /^1\d{10}$/ let validatorMobile = (rule, value, callback) => { if (!value) { callback() // 空值通过 } else if (regMobile.test(value)) { callback() } else { callback(new Error(‘手机号格式错误’)) } } form:{ mobile:” }, rules:{ mobile: [{ validator:…

el-input要么为空要么验证格式 2022年10月23日
;

每天,接近5万亿美元的货币在全球市场上交易。 这是一个在全球每周工作日持续24小时运行的市场——交易可以通过不同的机制发生,例如即期交易,远期交易,外汇掉期,货币掉期或使用其他类型的期权。 在这个极为流动和繁忙的市场中,是什么导致了变化?为什么各国之间的汇率不断变化? 下面这张图将带你了解六个可能影响货币汇率的主要因素。图片来自visualcapitalist,由WEEX·一起交易翻译整理。 来源:https://www.sohu.com/a/242222312_640079

影响汇率的六大因素 2022年9月26日
;

1.fetch formData let data = new FormData() data.append(‘client_key’,’111111′) data.append(‘client_secret’,’222222′) data.append(‘grant_type’,’client_credential’) fetch(‘/douyinOpen/oauth/client_token/’,{ method: ‘post’, body:data }) 备注:省略了content-type因为浏览器自动填入了正确的值 2.fetch json fetch("/douyinOpen/oauth/client_token/", { headers: { "content-type": "application/json" }, body: ‘{"client_key":"111111","client_secret":"222222","grant_type":"client_credential"}’, method: "POST" });…

抖音POI获取token,分别通过axios,fetch发送json和form-data 2022年8月31日
;

配置会以一个优先顺序进行合并。这个顺序是:在 lib/defaults.js 找到的库的默认值,然后是实例的 defaults 属性,最后是请求的 config 参数。后者将优先于前者。这里是一个例子: // 使用由库提供的配置的默认值来创建实例 // 此时超时配置的默认值是 `0` var instance = axios.create(); // 覆写库的超时默认值 // 现在,在超时前,所有请求都会等待 2.5 秒 instance.defaults.timeout = 2500; // 为已知需要花费很长时间的请求覆写超时设置 instance.get(‘/longRequest’, { timeout: 5000 }); 备注:不同版本可能配置不同,0.27.2版本中contentType为application/json,但是在0.18.1版本中contentType为application/json;charset=utf-8,多出了charset=utf-8,在抖音POI获取token的接口中,多出来的这部分就会导致请求报错。

axios配置的优先顺序 2022年8月31日
;

<el-upload :headers="uploadHeaders" :data ="{hotelId:hotelID}"</el-upload> data(){ return { uploadHeaders:{Authorization: ‘bearer ‘ + getToken()} } }

el-upload设置headers和参数 2022年7月26日
;

1.get let obj = { supplier_ext_id:” } this.$ajax.get(‘/douyinOpen/poi/supplier/query/’,{ params:obj, headers:{ "access-token":this.token } }) 2.post let obj = { supplier_ext_id:”, name:”, attributes:{}, poi_id:”, type:1, status:1 } this.$ajax.post(‘/douyinOpen/poi/supplier/sync/’,obj,{ headers:{ "access-token":this.token } }) 差异 get中headers位于第二个参数中和参数并列,post中位于第三个参数中

axios设置headers值get和post的不同 2022年7月11日
;

1.依据现有table导出 import XLSX,{WorkSheet} from ‘xlsx’ let worksheet = XLSX.utils.table_to_sheet(document.getElementById(‘table’)) let workbook = XLSX.utils.book_new() XLSX.utils.book_append_sheet(workbook,worksheet,’数据报表1′) XLSX.writeFile(workbook,’数据报表2.xlsx’) 2.依据data数据导出 https://zhuanlan.zhihu.com/p/268835049 3.封装一下 import XLSX from ‘xlsx’ export function tableExport(tableId=’table’,sheetName=’导出数据’){ let worksheet = XLSX.utils.table_to_sheet(document.getElementById(tableId)) let workbook = XLSX.utils.book_new() XLSX.utils.book_append_sheet(workbook,worksheet,sheetName) XLSX…

vue中导出table数据 2022年7月1日
;

一、什么是心跳检测 判断对方(设备,进程或其它网元)是否正常动行,一般采用定时发送简单的通讯包,如果在指定时间段内未收到对方响应,则判断对方已经当掉。用于检测TCP的异常断开。 基本原因是服务器端不能有效的判断客户端是否在线也就是说,服务器无法区分客户端是长时间在空闲,还是已经掉线的情况。所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已。 代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息。如果服务端几分钟内没有收到客户端信息则视客户端断开。比如有些通信软件长时间不使用,要想知道它的状态是在线还是离线就需要心跳包,定时发包收包。 发包方可以是客户也可以是服务端,看哪边实现方便合理。一般是客户端。服务器也可以定时轮询发心跳下去。 一般来说,出于效率的考虑,是由客户端主动向服务器端发包,而不是相反。 二、业务处理 客户端发送心跳包到服务器端,服务器会返回信息,双方可根据心跳包判断当前连接是否有效。服务器端检测心跳包超时则会断开连接,在socket已连接列表中移除该socket。

socket心跳检测 2022年6月27日
;

ab -n 1000 -c 100 https://www.abc.com/ #1000个请求,100并发

apache bench 2022年6月21日
;

1.popup组件中的overlay会失效 对比微信小程序后发现,微信小程序中子组件会包含于shadow-root下 2.getRelationNodes确失 影响到this.children无效,进而影响到radio-group,collapse等组件 3.createSelectorQuery确失 影响组件index-bar

vant框架在抖音小程序中兼容处理 2022年6月10日
;

1.INSERT USE [DBSZM] GO INSERT INTO [dbo].[SZM_Function] ([Id],[MenuId],[FunctionName]) VALUES (1501,1164,’test’) GO 2.DELETE USE [YiBaiSZM] GO DELETE FROM [dbo].[SZM_Function] WHERE Id=1501 GO 3.UPDATE USE [DBSZM] GO UPDATE [dbo].[SZM_Function] SET [IsDeleted] = 0 WHERE Id=1500 GO 4.insert

SQL Server 增删改查 2022年6月7日
;

1.app.json中的usingComponents不能用 全局组件引入不能使用,需要单独文件引入 2.nextTick

微信小程序迁移到抖音小程序兼容处理 2022年5月16日
;

babel降级为8.x npm install babel-eslint@8.2.2 –save

vue报错Syntax Error: TypeError: token.type.endsWith is not a function 2022年4月21日
;

1.php代码部分 $auth = $_SERVER[‘HTTP_AUTHORIZATION’]; var_dump($auth); 此时可以看到打印为空 2.新建.htaccess文件 SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 此时就可以获取到authorization 3.备注 在阿里云虚拟主机中,创建的.htaccess文件在文件刷新后会消失,代码配置效果依然有效,说明文件被隐藏了

云虚拟主机php读取authorization 2022年4月13日
;

<?php // // A very simple PHP example that sends a HTTP POST to a remote site // $ch = curl_init(); $body = array(‘userName’=>’15555555555′,’password’=>’111111’); $postData = http_build_query($body); curl_setopt($ch, CURLOPT_URL,"http://xxxxxxxx.xxx/xx/xx"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,$postData); curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/x-www-form-urlencoded’)); // receive server response … curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); curl_close…

php中使用curl处理x-www-form-urlencoded类型的post 2022年4月13日
;

大多数游戏化系统包括的三大要素,点数、徽章和排行榜 Point(点数) 点数用来激励玩家完成任务。 他的作用包括: 1.有效计分; 2.确定胜利状态; 3.在游戏进程和外在奖励间建立联系; 4.提供反馈; 5.成为对外显示用户成就的方式; 6.为游戏设计师提供分析数据。 Badge(徽章) 徽章是点数的集合,是视觉化的成就。精心设计的徽章系统有以下特征: 1.徽章可以为玩家提供努力的目标方向,这将对激发玩家动机产生积极影响。 2.徽章可以为玩家提供一定的指示,使其了解系统内什么是可以实现的,以及系统是用来做什么的。这可以被视为“入伙”(onboarding),或参与某个系统的重要标志。 3.徽章是一种信号,可以传递出玩家关心什么、表现如何。它们是一种记录玩家声誉的视觉标记,玩家往往会通过获得的徽章向别人展示自己的能力。 4.徽章是一种虚拟身份的象征,是对玩家在游戏化系统中个人历程的一种肯定。 5.徽章可以作为团体标记物。用户一旦获得徽章,就会与其他拥有相同徽章的个人或团体产生认同感。一个精良的游戏设计会将徽章与用户的认同感结合在一起。 Leaderboard(排行榜) 对比其他玩家,自己到达了何种水平。

PBL(游戏化系统的三大要素) 2022年4月9日
;

1.镜像拉取 docker pull odoo 2.启动PostgreSQL docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres –name db postgres:13 3.启动一个Odoo实例 docker run -p 8069:8069 –name odoo –link db:db -t odoo 4.再次启动 docker start /odoo/db docker start odoo 5.其它 安全组记得开启8069端口 链接:https://hub.docker.com/_/odoo?tab=tags

docker安装odoo 2022年2月20日
;

1.启动设置 const browser = await puppeteer.launch({ headless: true, args: [ ‘–no-sandbox’, ‘–disable-setuid-sandbox’, ‘–disable-blink-features=AutomationControlled’, ], dumpio: false, }); 2.webdriver // webdriver await page.evaluateOnNewDocument(() => { const newProto = navigator.__proto__; delete newProto.webdriver; //删除 navigator.webdriver字段 navigator.__proto__ = newProto; }); 3.window.chrome // 添加 window.chrome字段,向内部填充一些值 await page.evaluateOnNewDocument(() => { window.chrome = {}; window.chrome.app = { InstallState: ‘hehe’, RunningState: ‘haha’, getDetails: ‘xixi’,…

puppeteer 无头模式反反爬设置汇总 2022年2月17日
;

零知识证明(Zero—Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。

零知识证明 2022年2月14日
;

<template> <div> <el-table ref="multipleTable" :data="links" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column prop="roomNo" label="房间" width="180"> </el-table-column> <el-table-column prop="isCheckOut" label="是否已离店"> <template slot-scope="scope"> <span>{{scope.row.isCheckOut?’是’:’否’}}</span> </template> </el-table-col…

el-table中checkbox多选框的回显 2021年12月8日
;

表头中添加按钮 <el-table :data="tableData" style="width: 100%" border> <el-table-column prop="amount" label="金额" align="center"> <template slot="header"> <span class="link" @click="handleDetail">查看详情</span> </template> </el-table-column> </el-table> 备注:slot=”header”

el-table自定义表头 2021年12月8日
;

字节跳动已正式吹响进军云计算市场号角。 12月2日,火山引擎全系列云产品亮相,共推出了78项云产品服务,涵盖云基础、视频及内容分发、数据中台、开发中台、人工智能等五大类。 火山引擎云产品以性价比、提升业务价值作为重要卖点。发布会上,字节跳动AML(应用机器学习)负责人项亮出现在“新云•智享盛宴”分会场,详细介绍了智能推荐如何结合云服务为企业创造价值,并首次向外界分享了火山引擎智能推荐系统的技术演进和应用实践。 项亮是《推荐系统实践》的作者,其所在的字节跳动AML团队,为火山引擎的智能推荐技术服务提供了全力支持。 以下为项亮演讲全文。 项亮演讲原文 很多人理解推荐就是推荐算法,机器学习模型怎么做的、这些模型怎么调参,觉得这些很重要。其实我想说,推荐系统里底层的工程架构、系统架构非常重要,某种程度上会超过上层的算法。 我们在内部很多实践里也看到,底层工程架构、系统架构如果出现问题,对业务造成的影响是大于算法的。这就是火山引擎为什么要推出推荐系统平台这样一个偏底层架构的产品。 我给大家分三个方面介绍一下智能推荐平台:首先介绍推荐在不同产品、不同业务中究竟发挥什么作用,以及智能推荐平台会给企业带来什么价值;然后我会稍微详细介绍一下平台各个模块大概是做什么的,具有什么能力;最后介绍一些我们客户使用推荐系统的案例。 可以做选择的地方,就可以做推荐 我做推…

可以做选择的地方,就可以做推荐 2021年12月6日
;

圆形监狱(panopticon),又称环形监狱,由英国哲学家杰里米·边沁(Bentham)于1785年提出。这样的设计使得一个监视者就可以监视所有的犯人,而犯人却无法确定他们是否受到监视。

圆形监狱 2021年11月13日
;

一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$ 非负整数:^\d+$ 或 ^[1-9]\d*|0$ 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d…

常用正则表达式速查手册 2021年11月4日