<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lin_nggg的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lin_nggg</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lin_nggg]]></copyright><item><title><![CDATA[微信小程序《案例 5.7 文件操作》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169940034</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169940034</guid><author>Lin_nggg</author><pubDate>Thu, 05 Nov 2026 17:58:22 +0800</pubDate><description><![CDATA[删除，文件已经消失，调用 readFile、getFileInfo 会触发 fail 回调，是正常业务逻辑。跳过写文件直接执行后面接口直接 fail。复制带入中文全角符号，全部替换英文半角符号。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例 5.3 图形变换》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169932791</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169932791</guid><author>Lin_nggg</author><pubDate>Tue, 03 Nov 2026 13:27:25 +0800</pubDate><description><![CDATA[每一次变换前 save，绘图结束 restore，把变换状态隔离。，wxml 与 js 选择器必须一模一样；PPT 复制带来中文全角横线，全部替换英文半角。onReady 里面做 dpr 像素适配，canvas 的 id 为英文短横线。rotate 接收的是。]]></description><category></category></item><item><title><![CDATA[微信小程序案例 《5.2 基本绘图》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169929802</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169929802</guid><author>Lin_nggg</author><pubDate>Tue, 03 Nov 2026 10:40:36 +0800</pubDate><description><![CDATA[API作用绘制圆弧、圆形fill()填充图形；stroke()描边轮廓setLineDash([实长,间隔])设置虚线样式lineCap线条端点样式；lineJoin线条拐角交点样式绘制文字；rotate(弧度)旋转画布径向圆形渐变，增加渐变色标阴影偏移、模糊、阴影颜色全局透明度，0 完全透明～1 不透明创建图片实例；在画布绘制图片把项目包内静态图片转换为小程序可识别临时路径，新版基础库必须用此方式，直接写本地包路径会加载失败。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例 5.1 变脸游戏》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169257908</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169257908</guid><author>Lin_nggg</author><pubDate>Thu, 29 Oct 2026 20:44:18 +0800</pubDate><description><![CDATA[wxml 渲染变量实时展示次数。控制提示停留毫秒数。]]></description><category></category></item><item><title><![CDATA[微信小程序案例 《4.10 canvas 画布组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169249075</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169249075</guid><author>Lin_nggg</author><pubDate>Wed, 28 Oct 2026 18:39:56 +0800</pubDate><description><![CDATA[新版 canvas；不带 type 属性的旧 canvas 组件官方已经废弃。忘记 dpr 像素适配；onReady 回调内部必须乘。仅控制后续新画的笔迹，旧笔迹不会变化，属于正常现象。每次绘图读取 data 里面保存的颜色。坐标是相对于 canvas 画布左上角。变量保存当前画笔颜色；canvas 绘制完成的像素是静态；，清空画布同时重置绘制路径。]]></description><category></category></item><item><title><![CDATA[微信小程序案例 《4.9 map 地图组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169246772</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169246772</guid><author>Lin_nggg</author><pubDate>Wed, 28 Oct 2026 18:29:51 +0800</pubDate><description><![CDATA[images 文件夹必须放在项目根目录，与 pages 同级；iconPath路径开头不能省略；文件名大小写错误，真机对大小写敏感；]]></description><category></category></item><item><title><![CDATA[微信小程序案例 《4.8 scroll‑view 滚动视图组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169242363</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169242363</guid><author>Lin_nggg</author><pubDate>Tue, 27 Oct 2026 10:11:12 +0800</pubDate><description><![CDATA[本案例依赖 webview 渲染引擎；skyline 对部分伪元素、换行符。复制 PPT 示例带入中文全角横线符号，全部替换为英文半角。，父 scroll‑view 添加。支持差，app.json 中。]]></description><category></category></item><item><title><![CDATA[微信小程序案例 《4.7 video 视频组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169062328</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169062328</guid><author>Lin_nggg</author><pubDate>Mon, 26 Oct 2026 09:57:02 +0800</pubDate><description><![CDATA[补充：这个视频时长很短，只有几秒，预置弹幕里 time=20 的弹幕视频播完了才会触发，这条弹幕看不见，属于正常现象。输入框失去焦点的时候，拿到输入的弹幕文字保存到变量；点击发送弹幕时读取变量发送。不能直接在 sendDanmu 里面直接调用，会报 undefined。地址是占位假链接，无法解析域名；16 进制每一位不足两位，函数内部做补。处理，保证输出 6 位标准色值。，必须全部改成英文半角短横线。，手动敲不容易带隐形特殊字符。，必须等 exec 回调完成，复制代码带入中文长横线。向视频发送一条弹幕。]]></description><category></category></item><item><title><![CDATA[微信小程序案例 《4.3 slider 滑动条组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/169061383</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/169061383</guid><author>Lin_nggg</author><pubDate>Sun, 25 Oct 2026 13:42:09 +0800</pubDate><description><![CDATA[表格属性说明max滑动条最大值，RGB 取值 0‑255value滑块当前数值，和页面 data 绑定滑块圆点颜色作业扩展点：滑块已经划过轨道的颜色滑块右侧实时显示数字step拖动最小步长，透明度需要实现 0‑1 精细调节拖动过程连续触发；bindchange是松手后才触发一次在标签上写，事件回调中通过拿到字符串"r"。好处：4 个滑块共用同一个事件函数，不用写 4 套处理函数。]]></description><category></category></item><item><title><![CDATA[微信小程序 《案例3.10文件引用》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/168977302</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/168977302</guid><author>Lin_nggg</author><pubDate>Sat, 24 Oct 2026 21:00:44 +0800</pubDate><description><![CDATA[在微信小程序开发中，页面代码如果全部写在一个 wxml 文件里，代码会非常臃肿，后期维护很难。小程序提供了include标签，可以把页面拆分成多个独立的 wxml 片段（头部、主体、底部、扩展模块），在主页面引入复用；同时搭配wx:if条件渲染，实现内容的显示与隐藏切换，是小程序基础阶段非常经典的组合知识点。本次案例实现效果：页面分为头部、主体、固定底部，点击按钮控制扩展模块的显示 / 隐藏。现象：控制台提示找不到 wxml 文件，报错路径和真实文件位置不一致。原因： ①../数量写错，层级对应不上；]]></description><category></category></item><item><title><![CDATA[微信小程序《案例 3.7 列表渲染和九九乘法表》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/168550172</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/168550172</guid><author>Lin_nggg</author><pubDate>Tue, 20 Oct 2026 14:32:30 +0800</pubDate><description><![CDATA[本案例基于微信小程序，使用嵌套wx:for列表渲染、wx:if条件渲染结合Flex布局实现九九乘法口诀表。同时完成作业扩展功能：奇数行、偶数行区分不同背景颜色，每个乘法算式单元格增加边框。页面设置横屏展示，还原课件PPT案例效果。技术点：1. wx:for 列表渲染，双层嵌套循环实现行与列2. wx:if 条件渲染，控制只渲染下三角乘法表3. Flex弹性布局，纵向排版表格行，横向排版每一行算式4. 动态class，实现奇偶行不同背景色5. 小程序页面横屏配置 pageOrientation。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例3.6条件渲染和 picker 组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/168547941</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/168547941</guid><author>Lin_nggg</author><pubDate>Tue, 20 Oct 2026 13:47:07 +0800</pubDate><description><![CDATA[picker 选择器range="{{数组}}"：下拉选项数据源；：选中项改变触发事件；：拿到选中项数组下标，不是直接拿到字符串。条件渲染根据布尔值判断是否渲染该标签，为 false 时标签直接不会生成 DOM。<block>虚拟包裹标签input 组件：数字输入键盘，支持小数点；bind:blur：输入框失去焦点触发函数，不是每输入一个字符就触发。Number()字符串转数字；!isNaN()判断是不是有效数字。修改 data 数据驱动页面更新。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例 3.5 计时器》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/168435024</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/168435024</guid><author>Lin_nggg</author><pubDate>Mon, 19 Oct 2026 11:24:14 +0800</pubDate><description><![CDATA[setTimeout(回调, 毫秒)：一次性延迟定时器，等待指定毫秒后执行一次函数。本案例用来实现 2 秒后显示界面。setInterval(回调, 毫秒)：周期性定时器，每隔固定毫秒重复执行函数；返回定时器 ID。：根据定时器编号，关闭周期性定时器，停止计时。hidden="{{布尔值}}"：wxml 条件隐藏元素；true 隐藏，false 显示。页面生命周期onLoad，页面加载完成触发。全局变量：在 Page 外面定义，保存计时数值、定时器 ID、状态标记。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例2.10自动随机变化的颜色》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/168432704</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/168432704</guid><author>Lin_nggg</author><pubDate>Mon, 19 Oct 2026 11:13:54 +0800</pubDate><description><![CDATA[页面生命周期onLoad：页面加载完成触发，在这里开启定时器。定时器：周期性重复执行函数；单位毫秒，5000=5 秒。随机数返回[0,1)的浮点数。向下取整，把小数转为整数索引，取十六进制字符。：小程序核心，修改data中的数据，驱动 wxml 页面视图更新。动态内联样式style="color:{{变量}}"，实现样式动态绑定。#RRGGBB，# 后面 6 位，每两位代表红、绿、蓝通道，取值0‑9 A‑F。]]></description><category></category></item><item><title><![CDATA[微信小程序 《案例2.2图片与声音》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/168344157</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/168344157</guid><author>Lin_nggg</author><pubDate>Sun, 18 Oct 2026 20:37:53 +0800</pubDate><description><![CDATA[1. 音频、图片加载失败：复制云存储下载链接完整，不要截断；权限如果是仅创建者可读，链接过期要重新复制。2. 多次点击重复创建音频：音频上下文对象必须写在Page外部，只在onLoad创建一次。3. 生命周期混淆：onLoad只执行一次，适合资源初始化；不要把资源初始化放到点击事件中。4. 播放速率设置时机：在onLoad里面设置playbackRate，音频就会按照设置速度播放。这个案例综合练习小程序多媒体开发。学会使用云存储解决包体积问题；掌握数据绑定、事件绑定、页面生命周期；]]></description><category></category></item><item><title><![CDATA[微信小程序《案例4.6 image组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/166362583</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/166362583</guid><author>Lin_nggg</author><pubDate>Wed, 07 Oct 2026 19:11:10 +0800</pubDate><description><![CDATA[在循环内部，说明文字上方新增view，输出 显示模式编号：{{index+1}} ，增加少量css设置红色加粗字体。app.json需要设置  "renderer":"webview" ，skyline会导致部分mode失效。1. ❌忘记设置 "renderer":"webview"  → top/bottom等裁剪模式完全失效；作业编号需要从1开始，写 {{index+1}}；-  wx:for="{{imgArray}}" 循环数组， item 代表数组每一项对象；2. ❌图片路径写错，图片空白；]]></description><category></category></item><item><title><![CDATA[微信小程序《案例4.2 checkbox 和 radio组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/166361887</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/166361887</guid><author>Lin_nggg</author><pubDate>Sat, 03 Oct 2026 21:06:59 +0800</pubDate><description><![CDATA[30rpx]]></description><category></category></item><item><title><![CDATA[微信小程序《form组件案例》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/166361034</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/166361034</guid><author>Lin_nggg</author><pubDate>Sat, 03 Oct 2026 20:56:28 +0800</pubDate><description><![CDATA[1. ❌忘记写input的 name 属性：拿不到表单数据；2. ❌输入的值是字符串，没有parseFloat，计算结果NaN；3. ❌直接赋值 this.data.xxx=xxx 页面不刷新，一定要setData；4. ❌toast文字太长，没有设置 icon:"none" ，文字会被截断；5.  type="digit" 数字键盘只在真机有效，模拟器看不到。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例4.4 swiper和switch组件》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/166327928</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/166327928</guid><author>Lin_nggg</author><pubDate>Tue, 22 Sep 2026 09:23:40 +0800</pubDate><description><![CDATA[1.  swiper 是轮播组件，子元素必须是 swiper‑item；wx:for 可以批量生成轮播项。2.  switch 开关组件： checked 绑定布尔状态；bindchange 监听开关切换事件。3. 通过switch的事件函数，调用 setData 修改data，从而动态改变swiper组件属性，实现交互控制。4.  indicator‑dots 显示指示点、 autoplay 自动播放、 circular 循环衔接、 vertical 垂直方向是swiper最常用4个属性。]]></description><category></category></item><item><title><![CDATA[微信小程序《案例3.9 模板》]]></title><link>https://blog.youkuaiyun.com/Lin_nggg/article/details/166129155</link><guid>https://blog.youkuaiyun.com/Lin_nggg/article/details/166129155</guid><author>Lin_nggg</author><pubDate>Tue, 22 Sep 2026 08:13:40 +0800</pubDate><description><![CDATA[结合案例3.9完整实战，从模板定义、文件引用机制、作用域、传参方案、import与include本质区别、动态模板、作业扩展奥运冠军模板几个维度，深入理解小程序模板系统；同时对比模板与组件的差异，厘清二者适用业务场景，帮助理解小程序视图层复用体系。1.  <template name="模板名"> 用来定义模板，模板本身不会渲染，引用之后才显示。2.  import 用来导入外部wxml文件中定义的template模板，它不会递归导入。include 是拷贝全部普通标签，不会读取template。]]></description><category></category></item></channel></rss>