<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jsPao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/array__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; array__]]></copyright><item><title><![CDATA[requestAnimationFrame粗解]]></title><link>https://blog.youkuaiyun.com/array__/article/details/147504183</link><guid>https://blog.youkuaiyun.com/array__/article/details/147504183</guid><author>array__</author><pubDate>Fri, 25 Apr 2025 11:38:32 +0800</pubDate><description><![CDATA[requestAnimationFrame 是一种特殊的任务，它的执行时机介于微任务和宏任务之间。虽然它不完全属于传统意义上的宏任务，但在执行顺序上，它更接近于宏任务。的执行时机是在浏览器的每一帧重绘之前执行。具体来说，它是在微任务执行完毕之后，浏览器进行重绘之前执行的。]]></description><category></category></item><item><title><![CDATA[token无感刷新]]></title><link>https://blog.youkuaiyun.com/array__/article/details/145787071</link><guid>https://blog.youkuaiyun.com/array__/article/details/145787071</guid><author>array__</author><pubDate>Sat, 22 Feb 2025 09:45:00 +0800</pubDate><description><![CDATA[在前端应用中，常常需要处理因token过期而导致的请求失败的情况。我们可以将这些失败的请求挂起，待token刷新成功后重试这些请求。]]></description><category></category></item><item><title><![CDATA[微信问题总结(onpageshow ，popstate事件)]]></title><link>https://blog.youkuaiyun.com/array__/article/details/145787506</link><guid>https://blog.youkuaiyun.com/array__/article/details/145787506</guid><author>array__</author><pubDate>Fri, 21 Feb 2025 23:36:51 +0800</pubDate><description><![CDATA[此坑描述订单详情某按钮点击，通过window.location.href跳转到（外部）第三方链接后，回退后，在ios中生命周期和路由导航钩子都失效了，无法触发。在安卓中无视此坑， 回退没有问题。]]></description><category></category></item><item><title><![CDATA[JavaScript 语言基础之标签语句]]></title><link>https://blog.youkuaiyun.com/array__/article/details/139598533</link><guid>https://blog.youkuaiyun.com/array__/article/details/139598533</guid><author>array__</author><pubDate>Fri, 21 Feb 2025 22:30:59 +0800</pubDate><description><![CDATA[类似地，当在嵌套的循环语句中使用 continue 语句时，只能跳过当前的循环，无法跳过外层循环。但是，如果在外层循环前加上一个标签，就可以在内层循环中使用 continue 语句跳过外层循环的某次迭代。但是，如果在函数前加上一个标签，就可以在函数内部使用 return 语句跳出函数，并返回一个指定的值。当在嵌套的循环语句中使用 break 语句时，只能跳出当前的循环，无法跳出外层循环。但是，如果在外层循环前加上一个标签，就可以在内层循环中使用 break 语句跳出外层循环。]]></description><category></category></item><item><title><![CDATA[零代码平台搭建规划要点]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138541635</link><guid>https://blog.youkuaiyun.com/array__/article/details/138541635</guid><author>array__</author><pubDate>Wed, 12 Feb 2025 11:31:17 +0800</pubDate><description><![CDATA[一个运营同学可通过图形化的用户界面拖拽&配置组件生产页面的系统，可跳过产品、开发、测试等流程实现页面的低成本、快速上线。综上只有公司业务够大「运营页面多，且需频繁调整，需低成本做AB 实验」，才适合搭建零代码平台，只有这样才能发挥零代码平台的价值。零代码平台（电商CMS系统为例）搭建实战 | 人人都是产品经理 (woshipm.com)]]></description><category></category></item><item><title><![CDATA[微前端框架micro-app中的数据通信机制]]></title><link>https://blog.youkuaiyun.com/array__/article/details/144376944</link><guid>https://blog.youkuaiyun.com/array__/article/details/144376944</guid><author>array__</author><pubDate>Tue, 10 Dec 2024 16:23:26 +0800</pubDate><description><![CDATA[获取数据的主动性getData方法是主动获取数据，而方法是被动获取数据（通过监听数据变化）。使用场景getData方法适用于即时获取数据的场景，而方法适用于需要实时响应数据变化的场景。灵活性方法通过提供参数，使得在初次绑定监听器时能够主动触发一次监听函数，从而获取缓存中的数据，这在某些情况下非常有用。]]></description><category></category></item><item><title><![CDATA[在Dart中的操作符]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138912113</link><guid>https://blog.youkuaiyun.com/array__/article/details/138912113</guid><author>array__</author><pubDate>Thu, 18 Jul 2024 18:32:33 +0800</pubDate><description><![CDATA[使用这些操作符时，请注意它们的优先级顺序和结合性，以便正确计算表达式的结果。如果需要使用括号来提高代码的可读性或改变运算顺序，可以添加括号。（如果左侧操作数为null，则返回右侧操作数，否则返回左侧操作数）（如果条件为真，则返回值1，否则返回值2）（允许在同一个对象上面做一系列的操作）]]></description><category></category></item><item><title><![CDATA[nextjs之next/image的使用技巧]]></title><link>https://blog.youkuaiyun.com/array__/article/details/140517536</link><guid>https://blog.youkuaiyun.com/array__/article/details/140517536</guid><author>array__</author><pubDate>Thu, 18 Jul 2024 11:32:45 +0800</pubDate><description><![CDATA[next/image是 Next.js 提供的一个用于优化图像加载和显示的组件。可以自动处理图像的尺寸、格式和加载优化（预加载），提升网页的性能和用户体验。]]></description><category></category></item><item><title><![CDATA[Flutter组件之间通信方式]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138954755</link><guid>https://blog.youkuaiyun.com/array__/article/details/138954755</guid><author>array__</author><pubDate>Wed, 17 Jul 2024 15:44:31 +0800</pubDate><description><![CDATA[4，5，6这三种通信方式都是全双工的，因此基于它们你可以实现Platform与Dart之间的各种通信能力。这些通信方式在开发Flutter插件或需要与原生平台深度集成的应用时非常有用。Flutter支持多种父子组件和兄弟组件之间的通信方式。]]></description><category></category></item><item><title><![CDATA[Flutter中的异步操作]]></title><link>https://blog.youkuaiyun.com/array__/article/details/139058858</link><guid>https://blog.youkuaiyun.com/array__/article/details/139058858</guid><author>array__</author><pubDate>Wed, 17 Jul 2024 10:01:48 +0800</pubDate><description><![CDATA[这些异步操作方式在Flutter开发中非常常见，特别是在处理网络请求、文件读写、定时器、动画等可能耗时的操作时。]]></description><category></category></item><item><title><![CDATA[Flutter的生命周期方法]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138852788</link><guid>https://blog.youkuaiyun.com/array__/article/details/138852788</guid><author>array__</author><pubDate>Fri, 05 Jul 2024 15:42:55 +0800</pubDate><description><![CDATA[Flutter的生命周期执行时机可以分为两个主要部分：Flutter本身的组件生命周期（widget生命周期）和平台相关的应用程序生命周期（APP生命周期）。]]></description><category></category></item><item><title><![CDATA[Flutter接收一个Widget类型可空参数报`A value of type ‘Widget?‘ can‘t be assigned to a variable of type ‘Widget‘`]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138814215</link><guid>https://blog.youkuaiyun.com/array__/article/details/138814215</guid><author>array__</author><pubDate>Fri, 05 Jul 2024 09:49:47 +0800</pubDate><description><![CDATA[但是，在Flutter的UI构建中，这通常不是一个好的做法，因为Widget树中的大部分Widget都不应该为null。在大多数情况下，你应该避免使用非null断言（除非你真的确定变量不会是null），并优先考虑为可能为null的变量提供默认值或处理null的情况。但请注意，这不会解决null安全问题，它只是一个语法糖，用于在类的构造函数之外初始化非final的实例变量。如果你的变量在初始化之后不会被重新赋值，并且你可以在初始化它之前确保它不会被使用，你可以使用。表示一个可能是null的Widget，而。]]></description><category></category></item><item><title><![CDATA[Node中模块查找机制]]></title><link>https://blog.youkuaiyun.com/array__/article/details/139650118</link><guid>https://blog.youkuaiyun.com/array__/article/details/139650118</guid><author>array__</author><pubDate>Thu, 13 Jun 2024 14:13:18 +0800</pubDate><description><![CDATA[在Node.js中，目前支持模块和commonjs模块，在这个万物皆可为模块的世界里，模块的查找机制是一个相对复杂但有序的过程。这通常被称为“模块解析”或“模块查找”。]]></description><category></category></item><item><title><![CDATA[webpack处理vue项目静态资源及public/static/assets目录的区别]]></title><link>https://blog.youkuaiyun.com/array__/article/details/139634275</link><guid>https://blog.youkuaiyun.com/array__/article/details/139634275</guid><author>array__</author><pubDate>Thu, 13 Jun 2024 10:29:49 +0800</pubDate><description><![CDATA[Vue 静态资源可以通过两种方式进行处理：1、在 JavaScript 被导入或在 template/CSS 中通过被引用。这类引用。2、放置在public目录下或。这类资源将会，而。在项目中的webpack.config.js等项目配置文件中使用的require属于nodejs范畴，而进入index.js后，加载的组件中的require都属于webpack的解析范畴。]]></description><category></category></item><item><title><![CDATA[flutter组件封装技巧]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138166749</link><guid>https://blog.youkuaiyun.com/array__/article/details/138166749</guid><author>array__</author><pubDate>Wed, 15 May 2024 16:30:55 +0800</pubDate><description><![CDATA[这段代码是一个用于创建一个（GradeTag）组件的类。这个组件可以根据输入的年级和颜色创建一个具有不同颜色和百分比显示的标签。assertGradeTagbuildRowContainerText用途：这个组件可以用于展示不同级别的成绩标签，例如SSR（高级）、SR（中级）和S（初级）等。同时，可以通过传入不同的颜色参数来定制标签的颜色。]]></description><category></category></item><item><title><![CDATA[这是我见过最全、最强的权限系统设计方案！]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138192307</link><guid>https://blog.youkuaiyun.com/array__/article/details/138192307</guid><author>array__</author><pubDate>Tue, 14 May 2024 18:34:58 +0800</pubDate><description><![CDATA[本文从易到难非常详细的介绍了权限模型的设计，在工作中需要根据实际情况来定义模型，千人以内的公司使用RBAC模型是完全够用的，没有必要吧权限模型设计的过于复杂。模型的选择要根据具体情况，比如公司体量、业务类型、人员数量等。总之最适合自己公司的模型就是最好的模型，权限模式和设计模式是一样的，都是为了更好的解决问题，不要为了使用模型而使用模型。来源：blog.youkuaiyun.com/u010482601/article/details/104989532。]]></description><category></category></item><item><title><![CDATA[Flutter学习大纲]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138848363</link><guid>https://blog.youkuaiyun.com/array__/article/details/138848363</guid><author>array__</author><pubDate>Tue, 14 May 2024 11:56:49 +0800</pubDate><description><![CDATA[当你开始学习 Flutter 时，以下是一些基本的学习笔记和建议，帮助你更好地掌握这个强大的跨平台应用开发框架。]]></description><category></category></item><item><title><![CDATA[管理非结构化数据]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138572594</link><guid>https://blog.youkuaiyun.com/array__/article/details/138572594</guid><author>array__</author><pubDate>Wed, 08 May 2024 17:52:17 +0800</pubDate><description><![CDATA[据IDC调查，目前企业结构化数据仅占到全部数据量的20%，其余80%都是以文件形式存在的非结构化和半结构化数据，这些非结构化数据每年增长率达60%。如何管理好这80%的数据，是现代化企业数据管理中关键的一环。对于非结构化数据的管理包括步骤包括数据盘点、数据清理、数据丰富、归类和整合数据，分析和应用等。]]></description><category></category></item><item><title><![CDATA[StatelessWidget处理网络请求]]></title><link>https://blog.youkuaiyun.com/array__/article/details/138194605</link><guid>https://blog.youkuaiyun.com/array__/article/details/138194605</guid><author>array__</author><pubDate>Wed, 08 May 2024 09:47:11 +0800</pubDate><description><![CDATA[在Flutter中，`StatelessWidget`本身不支持直接进行网络请求，因为它旨在表示没有内部状态且不需要主动发起数据更新的UI组件。借助外部工具（`FutureBuilder`或`provider`库）来处理网络请求并响应数据变化，实现了在不违反`StatelessWidget`原则的情况下展示异步获取的数据。]]></description><category></category></item><item><title><![CDATA[Flutter中组件Widget的粗解]]></title><link>https://blog.youkuaiyun.com/array__/article/details/137922602</link><guid>https://blog.youkuaiyun.com/array__/article/details/137922602</guid><author>array__</author><pubDate>Tue, 23 Apr 2024 15:27:15 +0800</pubDate><description><![CDATA[Flutter 中是通过 Widget 嵌套 Widget 的方式来构建UI和进行事件处理的，所以记住，Flutter 中万物皆为Widget。widget 的功能是“就是说， Widget 其实并不是表示最终绘制在设备屏幕上的显示元素。]]></description><category></category></item></channel></rss>