JavaScript
文章平均质量分 55
iOSTianNan
这个作者很懒,什么都没留下…
展开
-
[jS 事件循环理解] 主线程 宏任务 微任务 - 执行顺序优先级理解
最近看了一个帖子把js单线程中 , 主线程 | 宏任务 | 微任务 的调用顺序讲解的很直白精巧 , 记录一下以供查阅1.主线程, 可以理解为从上到下顺序执行的一个js线程2. 宏任务 script / setTimeOut /setInterval等3. 微任务主要有promise等4. 热知识: new Promise 也算主线程执行的顺序 我们可以这样理解1.主线程内顺序执行2.遇到 setTimeout等宏任务, 会把宏任务的回调代码放到宏任务队列中排队。原创 2023-03-13 19:31:08 · 453 阅读 · 0 评论 -
[SM2/SM3 ]加解密/加解签,部分记录
最近哥们问起SM2签名,发来一张图一开始看不懂…后来找到了js的库这里直接说理解吧sm2的加签, 会调用sm2的解签, 会调用复杂一点的加签 解签, 就是带sm3() 杂凑的模式带杂凑模式的要开启hash,同时传入的msg 可以通过 sm3(string)进行处理。原创 2023-03-02 17:26:35 · 3573 阅读 · 0 评论 -
WebStorm中Vue项目 @路径无法点击波浪线问题处理
网上流行的 webpack.config.js 我也试过, 无效。转载 2022-11-24 09:36:59 · 500 阅读 · 0 评论 -
RN - 2022年11月4日 - RN官方最新修复Android端编译/构建问题处理
继11月1日出现的jcenter问题处理好之后, 紧接着又出现了RN编译/打包的最新问题,大面积报错 找不到符号 等库链接问题NDK不支持报错提示等查阅RN官方后发现。原创 2022-11-08 10:56:21 · 774 阅读 · 1 评论 -
FastLane自动化打包报错: An exception has occurred: issuerId is required
一周没有使用fastlane打包, 报错提示。能下载到2.3.0的话, 会替换3.0.0。推荐大家回退到2.3.0老版本可以有效。无奈2.3.0在苹果里面是下不到了…下载链接里面, 只会保留最新的。最后搜索到github中有解释。原创 2022-10-21 16:30:47 · 794 阅读 · 0 评论 -
RN ScrollView简单实现无限轮播
如上图所示, 需要实现一个简单的上翻轮播图, 展示最新的三条数据。原创 2022-09-20 17:39:23 · 462 阅读 · 0 评论 -
RN - iOS - ScrollView联动滚动卡顿问题处理记录
RN 列表联动卡顿问题 iOS 卡顿, 上下左右滚动效果, 卡顿,原创 2022-06-09 13:04:26 · 1582 阅读 · 7 评论 -
RN-iOS 原生向RN发送消息....
iOS向RN发送消息监听, RN监听, 实现原生向RN发送消息原创 2022-05-26 09:53:26 · 648 阅读 · 0 评论 -
RN - iOS端后台挂起后30s重启问题处理过程与心得
rct.timging.gb.task报错RN 框架 iOS 挂起后重启、杀死、闪退原创 2022-05-25 18:49:28 · 2262 阅读 · 0 评论 -
RN-Android 封装原生安卓web组件 - H5白屏/卡顿/渲染问题
其实还是该问题的后续BUG解决完安卓端微信支付问题后, 发现部分H5页面加载异常, 出现卡顿/半透明层遮盖效果异常/页面渲染异常/白屏等问题排查:1.webSetting的设置?经过确认,暂时无法从webSetting 层面解决2.硬件加速/软件加速?经过实验,设置wv.setLayerType(View.LAYER_TYPE_HARDWARE,null); 无效设置wv.setLayerType(View.LAYER_TYPE_HARDWARE,null); 能处半透明层显示,但依旧有白屏等原创 2022-03-19 09:41:53 · 3759 阅读 · 0 评论 -
js 判断设备及安卓设备判断不准确问题
<!-- web 获取 设备类型.注意: 一旦app端设置了userAgent 将会覆盖设置自带的ua --> <script> var agent = ""; function isAndroid() { agent = navigator.userAgent.toLowerCase(); let result = { device: function () { if (/windows/.test(a原创 2022-03-11 13:25:11 · 562 阅读 · 0 评论 -
RN - 封装Android原生WebView组件,实现JS获取原生消息回调及JS控制native组件
基于RN 调用原生WebPage 解决微信支付Referer问题的继续扩展1.实现网页goBack2.实现实时获取网页Title显示在NavBar上native向RN发送消息事件,RN获取native消息回调JS操作native组件原创 2022-03-09 14:28:31 · 1008 阅读 · 0 评论 -
Dayjs转换时间
Dayjshttps://dayjs.fenxianglu.cn/category/display.html2021-11-15 13:49 转换为 2021年11月15日可以用dayjs进行修改 private resetReleasetTime(releaseTime: any) { if (!releaseTime || releaseTime?.length <= 0) return ""; let currentYear = dayjs().year() + "原创 2021-11-17 11:47:22 · 1389 阅读 · 0 评论 -
[小程序] getMenuButtonBoundingClientRect获取胶囊frame的坑(开发工具的坑)
最近需要获取小程序页面中 胶囊的 frame (y,x,w,h)等数据可以通过wx提供的能力 var data = wx.getMenuButtonBoundingClientRect() console.log('菜单按键宽度:',data.width) console.log('菜单按键高度:',data.height) console.log('菜单按键上边...原创 2019-04-22 15:13:59 · 15092 阅读 · 1 评论 -
JS-计算组装日历数据
最近需要开发一个日历功能模块,因此需要本地生成一套日历的数据,大致数据如下[{"title":2020,"data":[[{"day_number":29,"day_numberDesc":29,"isCurrentMonth":false,"firstDay_week":3,"currentMonth":0,"key":"2019-12-29"},{"day_number":30,"day_numberDesc":30,"isCurrentMonth":false,"firstDay_week":3,"原创 2021-06-25 15:39:33 · 246 阅读 · 1 评论 -
RN PermissionsAndroid 权限一览
CALENDAR’ 日历CAMERA’ 相机CONTACTS’联系人CONTACTS’联系人ACCOUNTS’账户ACCESS FINE LOCATION’ 获得好位置ACCESS COARSE LOCATION’ 访问粗定位RECORD AUDIO’ 记录音频READ PHONE_STATE’ 读取手机状态CALL PHONE’ 电话手机READ CALL_LOG’ 看通话记录的WRITE CALL_LOG’ 写通话记录的ADD VOICEMAIL’ 添加语音信箱USE原创 2021-02-25 13:34:19 · 573 阅读 · 0 评论 -
借助React-Navigation4.x 实现类似iOS的willAppear/willDisAppear/didAppear等生命周期
如何在RN里头实现 路由级别的page组件的生命周期监听? 或者说,子路由页面要返回父路由页面,能让父页面刷新,有没有类似原生(比如iOS的ViewController)的什么周期方法?子页面返回刷新问题RN都是由组件组成的,路由级别的组件也是组件. 目前RN的生命周期组件里头,也就一个didMount能和原生类似,要实现子页面返回父页面刷新callBack消息监听以及发送以上两种方式比较常见.如果借助 React-Navgation 4.x /5.x ,我们还可以有 thi.原创 2021-02-05 15:40:11 · 681 阅读 · 0 评论 -
RN measure获取元素坐标失效问题 (仅安卓端)
功能描述1 ScrollView 嵌套一个FlatList, FlatList 上面有一个筛选Bar, 当滚动到顶部时, 需要将筛选Bar吸顶,借助 stickyHeaderIndices 属性.可以轻易实现吸顶问题, 然而吸顶后,需要我们处理一下刘海屏等与顶部的间距问题,2.因此使用了 measure 来获取该筛选Bar 的Y/top 坐标, 当一定范围后, 加载或隐藏一个垫片视图,3.iOS ok , 但是Android发现 measure 失效4, 发现 measure 与 stick原创 2021-02-03 15:20:47 · 1124 阅读 · 0 评论 -
Mobx 组件render刷新失败问题 -版本问题
如题最近将项目中的Redux 替换为 Mobx,后来发现使用过程中,执行action之后, 数据缺失同步改变了,但是render里面没有刷新,在排除了使用上的问题以后,还是不能解决最后感谢这位老哥mobx数据更新,组件未刷新问题主要问题还是mobx 版本问题通过降版本问题得以解决希望能帮助到有同样问题的人这里还有会遇到安装好指定版本的 mobx mobx-react之后提示你必须安装mobx-react-lite,再手动安装一下mobx-react-lite 即可...原创 2020-11-27 16:01:42 · 952 阅读 · 2 评论 -
[React-Native] React-navigation 4.x createAnimatedSwitchNavigator 切换问题
近期遇到一个问题,使用createAnimatedSwitchNavigator 创建的时候, 发现navigate跨栈到别的路由, 会出现下一个页面和上一个页面重叠问题这个主要还是由于动画设置不对造成的原代码const AppNavigators = (initRoutename = 'AD') => { return createAnimatedSwitchNavigator( { Init: InitNavigator, AD: ADNavigator原创 2020-10-13 16:40:34 · 308 阅读 · 0 评论 -
RN- 判断安卓是否是全面屏及是否开启了全面屏
RNScreenpxModule 安卓的桥接模块,用来判断机型是否是全面屏以及是否开启了全面屏,通过这个模块, 来适配一些RN中安卓全画幅的UI高度package com.regan.ebankhome;import android.app.Activity;import android.content.Context;import android.graphics.Point;import android.os.Build;import android.provider.Setting原创 2020-06-23 10:15:47 · 1667 阅读 · 0 评论 -
Text strings must be rendered within a Text component的一个情况
Invariant Violation: Text strings must be rendered within a <Text> component.This error is located at: in RCTView (at FriendposterShareDetail.tsx:345) in RCTView (at src/index.js:292)遇到如上的错误导致闪退问题.一般来说,是jsx中文字或者某些手误导致一些字符串没有被合适的组件包裹,如原创 2020-06-18 13:28:24 · 4577 阅读 · 0 评论 -
getDerivedStateFromProps / shouldComponentUpdate 结合使用,保护子组件不受父组件非必要的render影响
记录一下逻辑遇到一个问题, 用某个第三方的组件时, 有其他的stata触发了render, 导致该三方组件进行了渲染, 从容在UI上发现异常, 为了保护该第三方组件不收其他影响, 同时要确保该第三方组件的正常逻辑功能可用, 我们可以用 getDerivedStateFromProps 来进行逻辑处理, 必要时更新state , 用shouldComponentUpdate 来决定必要时进行render,解释下逻辑,要支持 props.goodmorningData 可能没有, 需要响应2.要支持原创 2020-06-12 11:28:46 · 877 阅读 · 0 评论 -
React-navigation 4.x tabBarButtonComponent的使用和自定义
其实标题不算准确, 这里的自定义是指 自定义React-navgation4.x 中, bottomTabBar中的几个可以点击的bottomTabbarButton ( 底部tabBar按钮), 姑且我这样描述,参考链接:1.React Navigation 3x系列教程』createBottomTabNavigator开发指南2.React-navigation4.x 官网3.自定义react-navigation的TabBarComponent4.React Navigation(一).原创 2020-05-22 10:49:24 · 773 阅读 · 0 评论 -
react-native 关于resizeMode 的图解
说来说去, 还是没图没真相原图readonly contain: “contain”; //完全展示, 一旦不匹配, 就有可能上下或左右有留空(白)readonly cover: “cover”; // 按左右或上下的最下比例分割, 确保尽量展示readonly stretch: “stretch”; // 不考虑比例, 直接压缩展示全图readonly center: “center”; // 选取中心点, 然后展示, 图片不压缩,但是展示不全应该说的够直白了原创 2020-05-12 13:47:51 · 748 阅读 · 0 评论 -
React-Navigation 4.x 安卓仿iOS 切换页面样式设置 push/native
React-Navigation 4.x 使用官网注意 CardStyleInterpolators 导入的地址是import {CardStyleInterpolators} from 'react-navigation-stack/src/vendor/index'使用{ // initialRouteName: 'CustomerFilePage', heade...原创 2020-04-28 18:06:02 · 510 阅读 · 0 评论 -
RN -频繁点击的几个情况及处理
待完善!1当某个方法被多次频繁调用, 通过该方法进行拦截,效果: 多次调用同一函数, 仅最后一次调用生效,其余调用均抛弃var actionAwaitTimer = null; // 定时器// 多次点击, 仅执行最后一次点击的事件const actionAwait = (fn, wait = 100) => { return function (params) { ...原创 2020-04-28 15:40:55 · 639 阅读 · 0 评论 -
textAlign: 'right' 导致TextInput 组件在ScrollView中,阻止ScrollView上下滑动手势
React-native textAlign: 'right' 导致TextInput 组件在ScrollView中,阻止ScrollView上下滑动手势在Android机器中, 用一个ScrollView包裹多个TextInput组件, 当TextInput组件样式设置了 textAlign: ‘right’ 时, 手势移动, ScrollView 组件不能上下滑动具体看 git...原创 2020-04-24 13:36:43 · 355 阅读 · 0 评论 -
Vue+koa2 打包启动本地服务器-资源加载问题
记录一下,通过vue+koa2 启动一个本地服务器加载你的打包后网站, 主要目的是打通, 这里借助几个脚手架来帮助我们搭建项目, 具体网页你自己实现主要技术栈koa2 + vue具体clikoa-generator + vue-cli3koa2 --version => 1.1.17node --version => v12.9.0vue --version =&...原创 2019-11-15 15:49:31 · 929 阅读 · 0 评论 -
vue-paricles 使用的两个疑惑点
> 在这里插入代码片git@github.com:creotip/vue-particles.git ==>vue-particlesgit@github.com:VincentGarreau/particles.js.git ⇒ particles.js想实现vue框架下的星空粒子特效, 以上两个都可以,这里分享两个疑惑点(已经知道的就跳过吧…)##1. Saf...原创 2019-11-13 11:21:31 · 348 阅读 · 0 评论 -
SecureCRT上传文件到linux服务器(macos/ 连上远程服务器之后, 直接拖进去......)
rt水一贴…用ssh 一直搞不定上传…原创 2019-10-15 18:00:25 · 467 阅读 · 0 评论 -
RN:遇到一个字符串解构中的坑(安卓Release安装包中才出现)
首先, 字符串可以看做一个 类似数组 的对象,也可以通过解构的方式获取每个字符串const [a,b,c,d,e] ="Hello";console.log(a); //Hconsole.log(b); //econsole.log(c); //lconsole.log(d); //lconsole.log(e); //o出现的问题let numStri...原创 2019-04-28 19:18:35 · 357 阅读 · 0 评论 -
[微信小程序]适配各个不同机型屏幕
微信小程序该如何适配各个机型屏幕我们知道在原始设备中, iOS有pt,安卓有dp(密度无关像素), 但是无论在原生开发语言还是在React-native中,我们处理屏幕适配, 都可以采用动态获取当前屏幕的方式计算比例, 动态设置真实的margin间距值,以当前流行的iPhone 6 屏幕来说, 设计一般会基于这个屏幕尺寸来给出设计稿 (375*667)当在不同的设备上时,(5s/6sp...原创 2019-04-16 16:55:55 · 26403 阅读 · 0 评论 -
[JS ] JS单线程的理解
为什么javascript是单线程?对于js单线程的理解, 可以先看上面的帖子, 我觉得讲的挺好的, 但是理解这东西还是要看个人, 我怕我理解歪了,索性也画一个流程图解,用自己的方式去尝试理解js单线程,也许有错误或则不完善的地方,还请斧正1.js执行的时候,会在一个主线程中顺序执行同步任务,2.遇到异步(耗时)任务,我的理解是任务会被挂起,然后继续执行下一个同步任务,3.被挂起的异步任...原创 2019-03-27 10:12:35 · 473 阅读 · 0 评论