这段时间跟同事一起做开发时,总是碰到分支起冲突,我去请教 AI 时,他给了我这样的一套命令,git stash,git pull,git stash pop,这个 pull 是了解的,但是剩下两个是什么呢?为什么能这样避免冲突呢?于是我就去搜索答案,发现 git stash 可以做三件事情,
保存当前修改(tracked 文件) 清空工作区 让你可以安全切分支 然后这个git stash pop命令是把最近一次 stash 的修改恢复到当前工作区,并且从 stash 列表里删除它。 我们来看看一个完整的使用流程 ## 开发中 git status # 临时保存 git stash push -m "WIP: payment module" # 切分支 git checkout main # 修 bug git commit -am "hotfix" # 切回来 git checkout dev # 恢复修改 git stash pop 那其实有点好奇这个 stash 是存在哪里的,本质是什么? # 存在 .git 目录里 实际是一个特殊的 commit 存在一个栈结构里 但是这种方法不是建议经常使用,很容易造成忘记这回事,最开始我用的时候没有执行最后一步 git stash pop 时吓了一跳,怎么我自己的修改全部不见了。后面才知道是少执行了一步,这也确实暴露了自己的不足。
这两天由于事情不多,能有一点时间解决在 uniapp 中扫描局域网 IP 的功能,虽然这个后端也能做,但是这不恰好我前端也能做,也没啥其他问题。于是就开始琢磨起来。
一开始我去问 GPT,给出的回答是比较一般的,他跟我说要用 http 去轮询接口,这个不还是要后端配合,然后我说还有没有其他的。他给出的一个其他的方法,但是也是丝毫没效果的。于是我放弃了直接跟 AI 沟通就能解决的想法。
后面尝试古法搜索,直接上网页搜索,虽然也找了大半天,但是终究是找到了一个能用的解决方法,我看到有人推荐去使用 uniapp 中的插件
参考文章:xl__qd - CSDN 博客
我找到了这个udp-client 的插件,这个插件完全免费,于是我下载下来,将里面的 aar 包放到我的项目中。
这个地方需要注意,放到我们项目中之后,我们需要在 Hbuildx 中将这个包在 mainfest.json中的安卓/IOS 原生插件配置页面中引入进来,
今天在做开发时,同事提出前端能不能直接对一些内容做排序,不需要依靠后端返回的拼音来做。我一开始还不太明白怎么做,那么就需要交给万能的 claude 大神,果不其然,给出了一个"完美"的方案,那就使用localeCompare方法,这个方法能支持实现排序,然后我又去查询了解这个方法,在 MDN 这个网站中找到了对这个 localeCompare API 的解释描述。
在仔细看完后我发现了一个问题,这个方法在webview中不一定适配,恰好我的运行环境是 app,需要在手机上运行,虽然我在电脑上运行过了是正常的,于是我打包一个 wgt 包进行更新,果然有问题,这个名称排序乱七八糟的。根本不能使用。
为什么不能直接用 localeCompare? #那是为什么不能直接用 localeCompare 呢?这是因为浏览器内置了完整的 Intl / 本地化数据,可以进行语言敏感的比较(也可直接用 Intl.Collator)。
之前一直想写一篇 Cloudflare Pages 部署静态站点的记录,今天正好用一个 Vue 小项目做示例,把过程整理下来。
1. 登录 Cloudflare,进入 Workers & Pages #在侧栏 Compute & AI → Workers & Pages。
Nginx 中 proxy_pass 路径配置的四种写法的区别 #今天在服务器上做接口代理时,感觉完全迷糊了,我前端接口是这样的 https://example.com/kb/xxx,然后我在 nginx 中这样配置。
location /kb/ { proxy_pass http://172.16.99.20:8070/kb/; } 但是最后结果是转发错误,我以为这样配置是可以不携带/kb 的,于是进行调整,为了方便理解,我做了四个不同方法的测试。
需求场景 #我希望是这样访问: