发动态
综合 最新发布 最新回复
图文
列表
那位大神能教教我如何下载专业版v3版本,不知怎么回事,我只能下载v2了
开源硬件平台
相信我们经常这样写bug(不是 👇: try { const res = await api.getUser() console.log('✅ 用户信息', res) } catch (err) { console.error('❌ 请求失败', err) } 看似没问题每个接口都要 try-catch,太啰嗦了!错误处理逻辑分散,不可控!代码又臭又长💨!💡 目标:不抛异常的安全请求封装我们希望实现这样的调用👇: const [err, data] = await safeRequest(api.getUser(1)) if (err) return showError(err) console.log('✅ 用户信息:', data) 是不是清爽多了?✨ 没有 try-catch,却能同时拿到错误和数据。🧩 实现步骤1️⃣ 先封装 Axios 实例 // src/utils/request.js import axios from 'axios' import { ElMessage } from 'element-plus' const service = axios.create({ baseURL: import.meta.env.VITE_API_BASE_URL, timeout: 10000, }) // 🧱 请求拦截器 service.interceptors.request.use( (config) => { const token = localStorage.getItem('token') if (token) config.headers.Authorization = `Bearer ${token}` return config }, (error) => Promise.reject(error) ) // 🧱 响应拦截器 service.interceptors.response.use( (response) => { const res = response.data if (res.code !== 0) { ElMessage.error(res.message || '请求失败') return Promise.reject(new Error(res.message || '请求失败')) } return res.data }, (error) => { ElMessage.error(error.message || '网络错误') return Promise.reject(error) } ) export default service 拦截器的作用:✅ 统一处理 token;✅ 统一处理错误提示;✅ 保证业务层拿到的永远是“干净的数据”。2️⃣ 封装一个「安全请求函数」 // src/utils/safeRequest.js export async function safeRequest(promise) { try { const data = await promise return [null, data] // ✅ 成功时返回 [null, data] } catch (err) { return [err, null] // ❌ 失败时返回 [err, null] } } 这就是关键! 它让所有 Promise 都变得「温柔」——不再抛出异常,而是返回结构化结果。3️⃣ 封装 API 模块 // src/api/user.js import request from '@/utils/request' export const userApi = { getUser(id) { return request.get(`/user/${id}`) }, updateUser(data) { return request.put('/user', data) }, } 4️⃣ 在业务层优雅调用 <script setup> import { ref, onMounted } from 'vue' import { userApi } from '@/api/user' import { safeRequest } from '@/utils/safeRequest' const user = ref(null) onMounted(async () => { const [err, data] = await safeRequest(userApi.getUser(1)) if (err) return showError(err) console.log('✅ 用户信息:', data) }) </script> 是不是很优雅、数据逻辑清晰、不需要 try-catch、 错误不崩溃。老板说:牛🍺,你小子有点东西逼班技术大厂,前端-后端-测试,新一线和一二线城市等地均有坑位,感兴趣可以试试。待遇和稳定性都不错~🧱 我们还可以进一步优化:实现自动错误提示我们可以给 safeRequest 增加一个选项,让错误自动提示: // src/utils/safeRequest.js import { ElMessage } from 'element-plus' export async function safeRequest(promise, { showError = true } = {}) { try { const data = await promise return [null, data] } catch (err) { if (showError) { ElMessage.error(err.message || '请求失败') } return [err, null] } } 使用时👇: const [err, data] = await safeRequest(userApi.getUser(1), { showError: false }) 这样你可以灵活控制是否弹出错误提示, 比如某些静默请求就可以关闭提示。🧠 进阶:TypeScript 支持(超丝滑)如果你用的是 TypeScript,可以让返回类型更智能👇: export async function safeRequest<T>( promise: Promise<T> ): Promise<[Error | null, T | null]> { try { const data = await promise return [null, data] } catch (err) { return [err as Error, null] } } 调用时: const [err, user] = await safeRequest<User>(userApi.getUser(1)) if (user) console.log(user.name) // ✅ 自动提示类型 老板:写得很好,下次多写点,明天你来当老板——转载自:前端九哥
我删光了项目里的 try-catch,老板:6
开源硬件平台
就是我照着嘉楠官网的如何增加一个摄像头驱动这个文档做,但是我那个文档里配完了,但是在canmv ide中还是说不能找到sensor,有没有大佬可以帮我解决一下
开源硬件平台
这个电路图应该怎么画啊,继电器蜂鸣器光敏元件
开源硬件平台
废物的一天,干啥啥不行 #DIY设计# #嘉立创PCB#
开源硬件平台
开源文章:立创开发板「课设/毕设」开源计划获奖名单\n\n简介:立创开发板「课设/毕设」开源计划获奖名单!本次征集令奖品有京东E卡最高500元,泰山派3-RK3576,泰山派1-RK3566,各大厂家提供的大礼包,50元彩色丝印券,还有荣誉证书~\n\n文章链接:[https://oshwhub.com/article/lichuang-development-board-class-set-up-open-source-program-award-list]\n#活动资讯#
开源硬件平台
作为一名资深互联网居民和生产力工具爱好者,我的收藏夹里确实有那么几个网站,它们不是那种偶尔用一下的工具,而是已经深度融入我的工作和生活流,堪称数字部件。ServBay这绝对是开发者,尤其是需要和多种语言、多种环境打交道的全栈开发者的福音。它的核心价值在于集成与简化。程序员配置本地环境,往往需要自行处理各种软件的安装、版本冲突和互相之间的配置。比如用 Homebrew 管理服务,容易把系统环境搞乱;用 Docker,又有一定的学习和资源开销。ServBay 把这个过程产品化了。它提供了一个统一的管理界面,就跟点外卖一样,哪里需要点哪里,快速启动和管理多种语言环境(如 Rust, Node.js, Python, Go, PHP等)和数据库(如 MySQL, Redis)。它的几个特点很实用:一键部署,告别繁琐:支持 Python, Go, Java, Rust, Ruby, Node.js 等主流语言,点几下鼠标,开发环境就好了。版本隔离,无痛切换:可以同时运行 Python2.7, 3.8,3.11,或者 Node.js v16, v18, v20。项目之间互不干扰,这对需要维护旧项目或测试新特性的开发者来说很方便。数据库全家桶:常用的 MySQL, PostgreSQL, MariaDB,还有 Redis, MongoDB 这种 NoSQL 数据库,都能多实例同时运行,管理起来非常方便。AI 部署 & 内网穿透:这两点是它的杀手锏。一键部署 Llama, Qwen、DeepSeek 等本地 AI 模型,还能把本地服务通过内网穿透分享给同事或用于微信开发调试,直接打通了从开发到演示的最后一步。ServBay = 极高的效率 + 极大的自由度 + 极低的维护成本,为我节省了大量在环境配置上耗费的时间。坑位技术大厂,前端-后端-测试,新一线和一二线城市等地均有坑位,感兴趣可以试试。待遇和稳定性都不错~GitHub这个就不用多说了,全球最大同性交友网站(不是)。但如果你只把它当成一个存代码的地方,那就太小看它了。它的价值体现在方方面面。职业名片:一个维护良好的 GitHub 账号,是你技术热情和能力的最好证明。知识索引:除了代码,上面还有大量的学习资料、Awesome Lists、教程和笔记。遇到新技术,先去 GitHub 搜索,通常能找到高质量的入门资源。协作标准:它定义的 Issue、Pull Request 等协作流程,已经成为现代软件开发的事实标准。免费的午餐:GitHub Actions 提供了强大的 CI/CD 能力,GitHub Pages 可以免费托管静态网站。它不仅是工具,更是一个生态、一个社区。无论你是编程新手还是资深大佬,都离不开它。Dynamic Wallpaper Club这个网站满足的是桌面个性化和视觉体验的需求。相较于静态壁纸,它提供的动态壁纸能根据一天的时间变化(HEIC 格式),让桌面背景从日出、正午到日落、深夜,呈现不同的光影效果。这种细微的环境变化,能给单调的电脑使用过程增加一些动态感和舒适度。提升幸福感的小确幸网站,用最低的成本,换来开心一整天。123apps这是一个在线音视频及文档处理工具集。工作中经常会遇到一些临时的、轻量的文件处理任务,比如:裁剪一小段音频、合并几个 PDF 文件、转换一个视频的格式。我个人认为为这些一次性的任务去下载安装一个专门的软件,费时费力,还可能附带广告或捆绑安装。123apps 在一个网站内集合了数十种这类小工具,覆盖了视频、音频、PDF、图像转换等常见场景。它的优点是:功能聚合:一个网站解决多种问题,无需到处寻找。即用即走:基于浏览器,无需安装,处理完下载即可。界面简洁:操作直观,没有太多干扰信息。收藏这一个网站,相当于安装了几十个小软件。随用随开,用完即走,体验一把当渣男的快乐(bushi),是解决日常杂事的终极利器。Perplexity AI这是一个带引用来源的答案引擎。不同于ChatGPT,Perplexity AI 提供了另一种更聚焦于搜索和回答的体验。它不是一个纯粹的聊天机器人,而是一个自带引用来源、会深度追问的答案引擎。它最大的特点是信息溯源。对比 搜索引擎:传统搜索返回的是链接列表,需要用户自己去逐个打开、筛选、整合信息。Perplexity 则直接生成一段总结好的回答,并在回答下方清晰地列出信息来源的链接。对比通用模型:通用模型在回答事实性问题时,有时会捏造信息。而 Perplexity 的回答基于其索引的公开信息,并提供了出处,用户可以方便地进行事实核查,这在需要严谨信息源的场景下很有用。我现在查资料、写报告、做技术调研,首选就是 Perplexity。它的 Pro 模式还能上传文件进行分析,或者切换到 Claude-3、GPT-4 等更强大的模型。Excalidraw一个极简的在线白板工具。当需要画流程图、架构草图或进行思维整理时,我们有很多选择,比如 Miro、FigJam 或是专业的绘图软件。但这些工具往往功能复杂,启动也比较慢。Excalidraw 的特点在于它的手绘风格和简洁性。手绘感:它画出的图形带有手绘的质感,看起来不那么正式。我很喜欢这种风格,看起来像草稿,但能让我更专注于思考和创意本身简单高效:打开网站就能开始画,没有账户注册的强制要求。支持实时协作,通过链接分享给他人即可共同编辑。开源与扩展:社区贡献了丰富的图形库,可以方便地拖拽使用,比如各种云服务的图标、UI 组件等。我用它来梳理逻辑、设计系统、给同事讲方案,甚至做会议纪要。它的轻量和高效,是任何重型工具都无法比拟的。以上是我个人常用的一些网站,希望能帮到你。——转载自:该用户已不存在
这6个网站一旦知道就离不开了
开源硬件平台
J-link RTT Viewer V8.88 输出问题
之前同事使用Viewer查看数据的时候,他的代码写的是SEGGER_RTT_printf(x,"JLCJLCJLCJLC")。然后x填的几,就去viewer对应的几通道就能看到数据了。我现在这么用就不行了,只有在x=0的时候Viewer的Terminal 0 才有输出。如果想要在Terminal 1里显示还需要配合SEGGER_RTT_SetTerminal(1);这样才行。 大家有知道这是怎么回事的吗?
开源硬件平台
RF转HDMI
哪位大神有做RF转HDMI方案,可以合作?
开源硬件平台
开源项目:[创六纪念]光语信使·暗夜航标-历史纪念灯光画\n\n简介:本项目是基于ESP32-S3,为立创开源硬件平台六周年庆的历史纪念灯光画。\n\n开源链接:[https://oshwhub.com/mimitangerine/6y-photon-envoy-noctis-nav-s]\n#ESP8266/32# #DIY设计#
开源硬件平台
有没有大佬指点一下怎么在小车避障的实验中设置由时间控制的绕过障碍的电路
开源硬件平台
四层板设计时,层2、3分别为内电层GND和vcc,那我还需要在顶层和底层铺地铜吗?不铺的话是在顶层走线把gnd都连起来吗?感觉不太好看啊 #四层板# #铺铜#
开源硬件平台
可以煮溏心蛋的智能煮蛋器
嘉人们我开源了个可以煮溏心蛋的智能煮蛋器,大家快来支持一下https://oshwhub.com/huitailang8888/zhudanqi
开源硬件平台
开源项目:精灵球NES复古掌机\n\n简介:一个基于ESP32S3创建的NES复古掌机,使用2.01寸tft显示屏,3.7v聚合物锂电池,sd卡,硅胶按钮,3d打印外壳,使用外置烧录\n\n开源链接:[https://oshwhub.com/kakabote/jing-ling-qiu-fu-gu-zhang-ji]\n#ESP8266/32#
开源硬件平台
有谁要50元FPC ,免费FPC的吗 [呲牙][呲牙]
开源硬件平台
优质硬件创作分享平台
推荐话题 换一批
#DIY设计#
#嘉立创PCB#
#嘉立创3D打印#
#嘉立创免费3D打印#
#立创开源六周年#
#高校动态#
#技术干货#
#嘉立创纸盒#
查看更多热门话题
打赏记录
服务时间:周一至周六 9::00-18:00 · 联系地址:中国·深圳(福田区商报路奥林匹克大厦27楼) · 媒体沟通:pr@jlc.com · 集团介绍
移动社区