<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yinianjian2017的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yinianjian2017</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yinianjian2017]]></copyright><item><title><![CDATA[为什么 AI 写得越快，项目反而越容易返工？我做了个交接 Gap 校对器]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/161818771</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/161818771</guid><author>yinianjian2017</author><pubDate>Tue, 09 Jun 2026 09:11:33 +0800</pubDate><description><![CDATA[《FindGap：AI时代的需求交接检查器》 在高速执行的AI协作中，隐性假设导致的返工成本激增。FindGap专门解决三类典型交接缺口：1）目标含混（如未定义完成标准）；2）约束缺失（如忽略接口权限）；3）验收口径偏差。其核心创新在于通过结构化流程（扫-查-出）主动暴露交接盲点，而非事后优化。经20轮验证，精准度达98%，输出带风险等级的锚点化报告（如&quot;致命·完成定义缺失&quot;）。该项目已开源，支持交出前自查/接手校验两种模式，现可通过/findgap快速试用。 GitHub：https:]]></description><category></category></item><item><title><![CDATA[GoLang 学习]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/132457715</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/132457715</guid><author>yinianjian2017</author><pubDate>Wed, 23 Aug 2023 17:39:05 +0800</pubDate><description><![CDATA[开启GoLang 服务端的任务开发。建个Flag ,  一年后来看效果。]]></description><category></category></item><item><title><![CDATA[Flutter 创建自定义插件]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/130811919</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/130811919</guid><author>yinianjian2017</author><pubDate>Mon, 22 May 2023 17:43:24 +0800</pubDate><description><![CDATA[Flutter框架，自定义插件实现]]></description><category></category></item><item><title><![CDATA[Kotlin Multiplatform Mobile -- kdoctor CocoaPods requires your terminal to be using UTF-8 encoding]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/130808786</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/130808786</guid><author>yinianjian2017</author><pubDate>Mon, 22 May 2023 15:50:47 +0800</pubDate><description><![CDATA[KMM 混合开发技术]]></description><category></category></item><item><title><![CDATA[Cordova 项目 增加 IOS 通知扩展后报错 Could not find *-Info.plist file, or config.xml file]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/128797602</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/128797602</guid><author>yinianjian2017</author><pubDate>Mon, 30 Jan 2023 10:10:39 +0800</pubDate><description><![CDATA[const plist_file_entry = _.find(xcBuildConfiguration, entry => entry.buildSettings && entry.buildSettings.INFOPLIST_FILE && entry.buildSettings.INFOPLIST_FILE.includes('项目名.plist'));编译后发现打印出的 info.plist 为 通知扩展的info.plist。在find中过滤项目名称。找到报错位置后增加打印。]]></description><category></category></item><item><title><![CDATA[Syntax Error: Error: Node Sass does not yet support your current environment: OS X 64-bit]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/127225960</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/127225960</guid><author>yinianjian2017</author><pubDate>Sun, 09 Oct 2022 14:23:25 +0800</pubDate><description><![CDATA[2、重新安装提示版本（降级至4.14.1）node-sass 版本异常。1、卸载node-sass。3、rebuild一下。]]></description><category></category></item><item><title><![CDATA[flutter_boost 3.0 集成到已有项目Android和IOS]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/126304967</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/126304967</guid><author>yinianjian2017</author><pubDate>Fri, 12 Aug 2022 15:59:24 +0800</pubDate><description><![CDATA[flutter_boost3.0 集成到已有native项目，并实现flutter到native之间的切换]]></description><category></category></item><item><title><![CDATA[Cordova 项目中自定义插件--插件创建流程]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/125392313</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/125392313</guid><author>yinianjian2017</author><pubDate>Tue, 21 Jun 2022 15:38:41 +0800</pubDate><description><![CDATA[cordova 项目中自定义插件]]></description><category></category></item><item><title><![CDATA[App 组件化 多渠道打包 BuildConfig 全局配置（子模块获取）]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/123737780</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/123737780</guid><author>yinianjian2017</author><pubDate>Fri, 25 Mar 2022 16:02:07 +0800</pubDate><description><![CDATA[方法一、Application 全局配置

主项目 build gradle 中多渠道配置对应字段


productFlavors {

Test{

buildConfigField "String", "FRANCHISEE", "test"

}

}

build 项目 会自动生成 BuildConfig.java



在 Application 中配置全局变量，并指向 BuildConfig.FRANCHISEE

方法二、

主项目 build gradle 中多渠道占位符设置

produ]]></description><category></category></item><item><title><![CDATA[No version of NDK matched the requested version 异常处理]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/123273125</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/123273125</guid><author>yinianjian2017</author><pubDate>Fri, 04 Mar 2022 11:36:03 +0800</pubDate><description><![CDATA[1、编译demo显示一下异常

No version of NDK matched the requested version 21.0.6113669. Versions available locally: 20.1.5948944, 22.1.7171670, 23.1.7779620

2、指定当前有效的版本

build.gradle 中增加

android 标签中


ndkVersion '22.1.7171670'






再次运行项目，问题解决


...]]></description><category></category></item><item><title><![CDATA[Flutter 冷启动白屏解决方案 flutter_native_splash]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/123232847</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/123232847</guid><author>yinianjian2017</author><pubDate>Wed, 02 Mar 2022 16:06:01 +0800</pubDate><description><![CDATA[1、项目根目录执行


flutter pub add flutter_native_splash

2、会在pubspec.yaml 中添加


flutter_native_splash: ^2.0.5

3、pubspec.yaml 文件中增加


flutter_native_splash:
  color: "#17016D"

增加 color 或 background_image ， 两个不能同时存在，否则create失败

4、根目录执行

flutter pub run flutter_n]]></description><category></category></item><item><title><![CDATA[Flutter TextField 中自定义icon 过大时，修改尺寸]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/123209852</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/123209852</guid><author>yinianjian2017</author><pubDate>Tue, 01 Mar 2022 16:46:55 +0800</pubDate><description><![CDATA[1、查看InputDecoration源码



2、通过增加Padding 并设置


padding: const EdgeInsets.all(10)

即可缩小icon图片，按需开发
]]></description><category></category></item><item><title><![CDATA[Flutter 国际化 多语言设置]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/123205690</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/123205690</guid><author>yinianjian2017</author><pubDate>Tue, 01 Mar 2022 15:29:34 +0800</pubDate><description><![CDATA[1、android studio 安装 Flutter Intl



2、添加 flutter_localizations:



3、增加支持的多语言语种







4、初始化

Tools -&gt; Flutter Intl -&gt; initialize for project

5、初始化后增加目录



6、 对应文件增加对应的 key value

7、引用时


S.of(context).key (key为文件中自定义的)
...]]></description><category></category></item><item><title><![CDATA[Mac flutter 出现 zsh: command not found: flutter]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/123096739</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/123096739</guid><author>yinianjian2017</author><pubDate>Wed, 23 Feb 2022 18:46:44 +0800</pubDate><description><![CDATA[1、open ~/.bash_profile 

不存在（does not exist.）就先 vim ~/.bash_profile 之后 wq 保存，再执行 open
2、增加对应path
查找flutter sdk 的解压路径，pwd查看全路径，之后写入 bash_profile 文件，路径替换为自己的对应路径

export PATH=对应的全路径/flutter/bin:$PATH
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-i.]]></description><category></category></item><item><title><![CDATA[Zxing扫码默认为横屏改竖屏实现]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/122811623</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/122811623</guid><author>yinianjian2017</author><pubDate>Mon, 07 Feb 2022 17:38:02 +0800</pubDate><description><![CDATA[修竖屏时，zxing版本 3.4.1

1、指定activity为竖屏


android:screenOrientation="portrait"

2、DecodeHandler 中，在decode(byte[] data, int width, int height)方法中，增加以下代码


byte[] rotatedData = new byte[data.length];
for (int y = 0; y &lt; height; y++) {
  for (int x = 0; x &lt;]]></description><category></category></item><item><title><![CDATA[混合开发 axios 封装，拦截request和response]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/122416438</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/122416438</guid><author>yinianjian2017</author><pubDate>Mon, 10 Jan 2022 18:23:17 +0800</pubDate><description><![CDATA[1、src目录下心间api目录

2、api目录下新建 axios.js

内容

import axios from 'axios'

import {Toast} from 'mand-mobile'

axios.defaults.baseURL = "http://127.0.0.1:4523/mock/546412/" //根路径

axios.defaults.withCredentials = true

axios.defaults.headers.post['Content-Type'] ]]></description><category></category></item><item><title><![CDATA[vue3.0网络访问 axios 实战]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/122405893</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/122405893</guid><author>yinianjian2017</author><pubDate>Mon, 10 Jan 2022 11:01:28 +0800</pubDate><description><![CDATA[1、先搞axios库的依赖

npm install axios -g

2、main.js中引入

import axios from 'axios'

Vue.prototype.$axios = axios

3、Login.vue 按钮点击事件中引入

onBtnClick() { // methods中，按钮的点击事件

this.$axios.get("http://127.0.0.1:4523/mock/546412/v1/signIn?uid=123&amp;pwd=12").then(re]]></description><category></category></item><item><title><![CDATA[apifox --前端开发中模拟接口返回数据尝试]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/122349176</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/122349176</guid><author>yinianjian2017</author><pubDate>Thu, 06 Jan 2022 17:43:57 +0800</pubDate><description><![CDATA[1、官网下载apifox

2、傻瓜式安装

3、微信即可登陆

4、创建项目

5、新建接口





6、增加接口期望





7、测试结果：

失败结果：



成功结果：





至此，开发中可以与后端解耦，愉快的并行开发了。
...]]></description><category></category></item><item><title><![CDATA[cordova 扫一扫插件 cordova-plugin-cszbar]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/122132692</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/122132692</guid><author>yinianjian2017</author><pubDate>Fri, 24 Dec 2021 17:35:16 +0800</pubDate><description><![CDATA[1、index.js 声明插件

head中添加

&lt;script type="text/javascript" src="cordova.js"/&gt;

&lt;script type="text/javascript" src="cordova_plugins.js"/&gt;



2、调用扫一扫的地方增加代码

// 扫一扫方法

cloudSky.zBar.scan({

text_title: "扫码", // Android only

text_instructions: "请把相]]></description><category></category></item><item><title><![CDATA[vue3.0 router 页面跳转实现]]></title><link>https://blog.youkuaiyun.com/yinianjian2017/article/details/122124630</link><guid>https://blog.youkuaiyun.com/yinianjian2017/article/details/122124630</guid><author>yinianjian2017</author><pubDate>Fri, 24 Dec 2021 11:43:46 +0800</pubDate><description><![CDATA[1、router/index.js 中声明（类似主配置文件注册）

export default new Router({

routes: [

{

path: '/',

name: 'Login',

component: Login

},

{

path: '/main',

name: 'Main',

component: Main

}

]

})

从Login跳转到Main， Main的path为 /main

2、Login.vue中满足条件时跳转

引入router

impo]]></description><category></category></item></channel></rss>