<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cairostar的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cairostar</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cairostar]]></copyright><item><title><![CDATA[早期React多级折叠动效选项菜单思考与实现]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/145786708</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/145786708</guid><author>cairostar</author><pubDate>Fri, 21 Feb 2025 23:08:36 +0800</pubDate><description><![CDATA[5.想法：点击title的div如果是显示子菜单，除了下一层ul要显示高度，它的所有上层都要增加这个高度，标识它可控外层的条件是增加了'out'这个class，父级没有这个class表示不是菜单本身不需要增加高度。折叠菜单或者叫多级选项菜单，用流行UI框架下的相关实现改改就好了，为什么要手写？因为手痒 啊，有个简单方法特别想印证一下效果。如果当前菜单为折叠态，那就展开它和它的所有上层菜单；如果当前菜单是展开态，那不仅要折叠它和它的所有子级菜单，同时要把所有上层菜单也减少这个高度，也就是为什么要*(-1)。]]></description><category></category></item><item><title><![CDATA[二级嵌套多级评论系统与点击消息提示的定位消息功能实现]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/145774845</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/145774845</guid><author>cairostar</author><pubDate>Fri, 21 Feb 2025 14:44:22 +0800</pubDate><description><![CDATA[为了实现这种嵌套，数据库评论表中的设计了cu1和cu2两个字段，前者表示一级评论是谁，就在谁的楼层下显示评论，如果该字段为空就表示是blog下的一级评论。而cu2表示一级评论下的二级评论是谁，就是二层中显示的@谁的回复，没有cu3，因为虽是多级但没有三层，有cu2这个字段就够了。前端的评论组件<comment :data="comments" :cNum="0"></comment>必须是嵌套组件了，cNum用于标记一级，而在嵌套组件中这个值就不同了，用于样式区分设定。两层嵌套评论都做了分页。]]></description><category></category></item><item><title><![CDATA[vue在前后端交互中格式化路由的两种方式]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/144143213</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/144143213</guid><author>cairostar</author><pubDate>Fri, 29 Nov 2024 18:08:27 +0800</pubDate><description><![CDATA[此方式稍显麻烦的原因是不知道前端是不需要这个pid的，也就是本文中的第二种方式，可以把有权限访问的路由name直接发给前端。vue端建有一个完整路由表，根据name数组就可过滤出一个可访问的路由结构，而不必指定父级是谁。看到一些数据交互案例中，对于权限路由后端返回一个带pid的一维路由数组,pid代表父级id,这个数组要前端格式化成。不用担心只给子路由name而无法得到父级，都是递归的应用。]]></description><category></category></item><item><title><![CDATA[同向无限滑动和淡入淡出缩放效果轮播图用vue和react的实现]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/144143167</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/144143167</guid><author>cairostar</author><pubDate>Fri, 29 Nov 2024 18:06:29 +0800</pubDate><description><![CDATA[1.css部分：外层div设置超出隐藏，内层ul 设置足够宽，如果放6张图，700%宽就够了，因为要在末尾多放一张，这样滑动到第7张时也就是显示的第1张图，再关动画无缝切到第1张。效果上：下一张图缩小淡入时上一个图放大淡出，这里我们把切换时间设置4秒，动画时间设置2秒，看起来比较顺滑。3.两个图层进入下一张的时机不同，动画开始上图层透明度为0，它切换到下一张后2秒淡入同时下图层淡出。4.此时把动画关闭，下图层切换到上图层那张图把change样式去掉，上图层加上change样式。2.增加class比如。]]></description><category></category></item><item><title><![CDATA[微信小程序中实现一个金额摇奖效果]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/144143089</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/144143089</guid><author>cairostar</author><pubDate>Fri, 29 Nov 2024 18:03:14 +0800</pubDate><description><![CDATA[思考：数字翻动的动画样式，0-9似乎每个数字都要写，好在不多具有可实现性。为了过渡平滑，四个数组多塞几组0-9数字，比如0-9+0-9+0-9+1+2..+5，这是数字5的数组。由于是下翻动效果，注意是0-9+0-9+0-9+1+2..+5的倒序，但这样一开始就把金额显示出来了，下面的都隐藏了，我们在最上边再补一个0。实例上要显示四位数字，根据后台返回金额，比如15.69元，处理成数字从00：00快速翻动到15：69的效果。2.每组数字为纵向排列，把得到的获奖金额，分解成四个数字，调用对应的数字动画。]]></description><category></category></item><item><title><![CDATA[react native中利用插值实现自定义动画效果]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/144143041</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/144143041</guid><author>cairostar</author><pubDate>Fri, 29 Nov 2024 17:59:00 +0800</pubDate><description><![CDATA[如何实现一段抽奖转盘的动画：20%前慢，20-80%快，80-90%减慢，90-100%摇摆一下回正。难道用顺序动画去写？多种实现中感觉插值更方便，也许你没注意到它在动画中的使用。我们可以创建一个线性动画0-1，作为inputRange。输出是非线性的，以此为例可以做出你想要的动画效果。]]></description><category></category></item><item><title><![CDATA[shiro在springcloud中路由权限另类配置与角色权限实现的一些应用思考]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/144142794</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/144142794</guid><author>cairostar</author><pubDate>Fri, 29 Nov 2024 17:53:02 +0800</pubDate><description><![CDATA[添加，如果嫌太多也可以用通配符"/**/t"表示所有末尾加"/t"的路径，然后shiroFilterFactoryBean()方法里filters.put("jwt", jwtFilter);onAccessDenied()判断逻辑：每个登录用户在请求中都会携带一个“Authorization”请求头，如果没有servletResponse.setContentType("0")，作用是约定“0”代表token为空，“1”表示已过期，“2”表示用户不存在，“3”代表没有操作权限。]]></description><category></category></item><item><title><![CDATA[nacos环境下seata配置详解]]></title><link>https://blog.youkuaiyun.com/cairostar/article/details/144142199</link><guid>https://blog.youkuaiyun.com/cairostar/article/details/144142199</guid><author>cairostar</author><pubDate>Fri, 29 Nov 2024 17:32:19 +0800</pubDate><description><![CDATA[本篇选择是seata 1.3.0版本，项目添加依赖也是这个版本。Release v1.3.0 · seata/seata · GitHub

首先配置seata服务端： 下载seata-server和source code。 解压ource code，找到script文件里config-center文件，修改config.txt：


...
service.vgroup-mapping.my_test_tx_group=default
...
store.mode=db
store.db.datasour]]></description><category></category></item></channel></rss>