- 博客(59)
- 收藏
- 关注
原创 golang-jwt v5 入门
golang-jwt v5 核心为签发、解析、校验三步。需使用强类型 Claims,务必校验算法并设置过期时间,敏感数据切勿放入 Payload。
2026-09-09 15:51:27
271
原创 安全地生成验证码、密码和 Token
Go生成验证码等安全数据必用crypto/rand,禁用math/rand防预测,并用rand.Int避免取模偏差。
2026-08-18 13:24:14
342
原创 HmarkX(码笺)的本地数据库模块重构实战
本文介绍了HmarkX(码笺)本地数据库模块的重构方案,旨在解决鸿蒙原生 `relationalStore` API 使用繁琐、代码冗余及资源管理分散的问题。该模块采用“单例管理器 + 语义化仓库”的分层架构:`DatabaseManager` 负责数据库的唯一连接与生命周期管理,确保资源高效复用;各业务表对应的 `Repository` 封装了具体的 SQL 细节,对外暴露基于 Model 对象的语义化接口。设计上全面采用 `async/await` 统一异步风格,并将 UI 交互与数据层解耦。该方案显著
2026-08-12 19:47:29
390
原创 为什么map不能声明为const
Go 的 const 只能用于编译期可确定的基本类型值(布尔、数字、字符串),而 map 是运行时初始化的引用类型,因此不能声明为 const。map 需要运行时分配内存、构建哈希表,且是可变引用类型,无法在编译期确定其值。若需要"只读"效果,可通过不导出变量、提供只读函数或返回副本来实现。解决方案是使用 var 声明 map,并通过封装访问控制来实现类似常量的不可变性。
2026-08-08 22:33:58
366
原创 vue如何实现国际化,它来了!
本文是一份面向Vue 3初学者的国际化(i18n)完整教程,详细介绍了如何通过vue-i18n插件实现多语言支持。
2026-08-04 20:31:28
249
原创 Go html/template 使用入门
Go html/template 使用指南 本文介绍了Go语言中html/template包的基本用法和核心功能
2026-08-01 22:18:45
321
原创 log-slog结构化日志
Go 1.21 引入标准库的 log/slog 包提供了结构化日志解决方案,主要特性包括: 支持四档日志级别(Debug/Info/Warn/Error) 结构化键值对输出,支持JSON格式 上下文字段自动附加(With方法) 字段分组和强类型支持 性能接近第三方库zap 相比标准库log和第三方方案,slog在功能完备性、易用性和性能之间取得了平衡,是新项目的首选日志方案。尤其适合需要与日志分析系统集成的生产环境。
2026-07-29 08:25:30
221
原创 Docker 构建报错:exec /app/start.sh: no such file or directory
摘要:Docker构建时出现"exec /app/start.sh: no such file or directory"错误,常见原因是Windows的CRLF换行符导致Linux无法识别脚本。解决方法包括:1) 在Dockerfile中使用sed -i 's/\r$//'命令清除CR字符;2) 通过.gitattributes文件强制.sh脚本使用LF换行符。推荐第一种方法,确保跨平台兼容性。(98字)
2026-06-28 11:59:02
216
原创 fmt的操作
Go语言fmt包函数速查指南,通过"三大前缀+三大后缀"命名规律快速掌握9个核心函数: 前缀控制输出目标:无前缀(Print)到标准输出、S返回字符串、F写入Writer 后缀控制格式化:无后缀紧凑输出、ln自动换行、f模板化 重点推荐Sprintf拼接字符串、Errorf创建错误、%v万能占位符 附带常用格式化占位符表和实战代码片段,助您快速掌握Go格式化I/O操作 记忆口诀:Print屏幕、S字符串、F写Writer;ln换行、f格式化、无后缀紧凑输出;%v通吃所有类型。
2026-06-16 00:42:36
219
原创 数组和切片
Go数组与切片对比摘要 数组和切片是Go语言中两种不同的集合类型: 数组是固定长度的值类型,长度属于类型的一部分,赋值会完整复制,适合确定长度的场景 切片是动态长度的引用类型,底层引用数组,支持自动扩容,是实际开发中最常用的集合类型 切片本质包含指针、长度和容量三部分,多个切片可共享底层数组。常用操作包括append(可能触发扩容)、copy和切片表达式。
2026-06-13 18:33:17
219
原创 go语言time模块
本文是Go语言time包的常用函数速查指南,主要包含以下内容: 核心分类:将时间相关操作分为获取时间、时间戳、格式化、解析、时间运算等11类
2026-06-12 18:27:05
202
原创 液态tabs
ZSTabs是一款沉浸式液态指示器TabBar组件,具有玻璃质感的液态交互效果。它采用HarmonyOS Design System的沉浸材质,支持点光源照明和动态形变效果。组件使用最新的@ComponentV2装饰器和@Local状态管理,适配HarmonyOS最新API规范。提供丰富的配置选项,包括页签标题、图标、颜色等,支持2-4个页签配置。安装简单,通过ohpm即可安装,使用示例展示了如何快速集成到项目中。该组件基于zoo作者的文章优化改造,实现了更流畅的液态交互体验。
2026-05-13 15:37:49
206
原创 一个我开发的响应式断点sdk
BreakPoint 是一个专为 HarmonyOS 应用设计的响应式断点管理工具,提供基于屏幕宽度的布局适配功能。它支持五种预设断点(xs/xl),允许开发者通过简单 API 实现类型安全的响应式样式切换。工具支持 ohpm 安装或文件导入,初始化后即可使用 WidthBreakPoint 类根据当前屏幕宽度动态获取对应样式值。通过配置对象可定义各断点范围的样式值,并支持默认值回退,适用于文本颜色、大小等多种属性的响应式适配。
2026-05-12 12:47:07
185
原创 02Navigation页面路由
本文介绍了HarmonyOS ArkUI中Navigation子页面的使用方法。首先在Entry页面创建NavPathStack控制器并通过Provider注入,然后在子页面中使用@Builder声明组件并配置路由表。文章详细说明了路由表的配置方式,包括在models.json5中声明和创建router_map.json文件。最后演示了页面跳转和返回的实现方法,通过pushPathByName进行跳转,利用pop方法返回。需要注意的是,子页面必须传入页面栈控制器才能实现返回功能。
2026-03-27 14:18:54
57
原创 05navigation的转场动画
本文介绍了在HarmonyOS ArkUI中实现共享元素动画的方法。通过配置共享元素ID("shareID")和使用geometryTransition属性,可以在页面跳转时实现平滑过渡效果。示例代码展示了起始页(使用NavDestination)和目标页的配置方式,其中通过animateTo方法控制动画时长,并保持共享元素ID一致。这种技术适用于需要视觉连贯性的场景,如图片放大/缩小过渡等交互效果。
2026-03-24 14:16:16
397
原创 管理数据的状态
本文介绍了ArkUI框架中的几种关键装饰器: @ObservedV2和@Trace配合使用可监听类属性变化,支持嵌套类检测 @Monitor异步监听状态变量修改,需配合状态装饰器使用 @SyncMonitor(API23+)实现同步深度监听,可处理属性变更前后的差异 @Computed优化计算属性,自动缓存结果避免重复计算 这些装饰器为状态管理提供了灵活的监听机制和性能优化方案,适用于不同场景下的属性变更处理需求。
2026-03-23 23:22:12
208
原创 基于popup的颜色取色器
本文介绍了如何在OpenHarmony中使用第三方开源库@keke/color-picker实现取色器功能。首先通过ohpm安装该库,然后展示了基本使用方法,包括设置默认颜色、圆角半径和透明度滑块等参数。文章还提供了完整示例代码,演示如何通过按钮触发弹出式取色器,并在颜色选择时显示16进制色值。最后给出了该库的详细文档链接,方便开发者进一步了解使用细节。
2026-03-22 12:51:35
68
原创 组件的状态ComponentV2
本文介绍了鸿蒙开发中ArkTS声明式UI的状态管理机制。通过四种装饰器实现数据与界面的自动同步:1)@Local装饰组件内部状态变量;2)@Param实现父子组件数据传递;3)@Event配合@Param实现双向数据绑定;4)@Provider和@Consumer实现跨层级组件依赖注入。文章通过代码示例展示了各装饰器的具体用法,包括基础状态管理、父子组件通信和深层级组件数据共享等场景,体现了声明式UI框架;数据驱动视图的核心思想。
2026-03-20 13:09:53
87
原创 popup的使用
本文介绍了popup弹出框的基本使用和自定义方法。基本使用包括:1)定义状态变量;2)绑定简单文本弹出框;3)添加状态变化监听;4)配置确认/取消按钮。自定义内容可通过builder构建器实现,支持设置弹出位置和背景颜色等属性。
2026-03-19 12:33:07
34
原创 安卓离线打包
本文详细介绍了UniApp Android离线打包的完整流程,帮助开发者摆脱HBuilderX云打包限制。主要内容包括:下载官方离线打包项目、配置build.gradle签名信息、处理HBuilder打包文件、修改dcloud_control.xml和AndroidManifest.xml配置文件、设置应用图标等关键步骤。文章还提供了官方文档链接,便于开发者查阅更多配置细节。通过这套方法,开发者可以实现更高效、更安全的本地打包流程,提升开发效率。适用于需要频繁打包或对打包速度有要求的UniApp开发者。
2026-02-09 11:18:46
481
原创 记录一次在使用beta版DevecoStudio打包的问题
开发者在使用DevEco Studio 6.0.2 Beta1版本开发HarmonyOS应用时,因使用了Beta版API导致上架失败。官方提示需改用Release版API以保证用户体验。通过切换至DevEco Studio 6.0.2 Release版本后问题解决。建议开发者始终使用官方发布的稳定版API进行开发,避免兼容性问题。
2026-01-23 22:36:13
239
原创 win11无法运行npm脚本
摘要:解决Windows系统下npm无法运行的问题,提示"禁止运行脚本"错误。方法是以管理员身份打开PowerShell,执行Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser命令,将执行策略设为RemoteSigned(允许本地脚本运行),输入Y确认后通过Get-ExecutionPolicy验证设置。完成后即可正常使用npm命令。该方案适用于因系统执行策略限制导致npm无法运行的情况。
2026-01-16 09:29:18
301
原创 maven配置阿里源
摘要 通过配置阿里云Maven镜像源可显著提升Java项目构建速度。推荐全局修改settings.xml文件,添加阿里云公共仓库镜像(https://maven.aliyun.com/repository/public)替代默认中央仓库。阿里云还提供central、jcenter、spring等特定仓库代理服务,用户可根据需求选择不同镜像地址。该配置能有效解决国外源下载缓慢问题,优化开发体验。(135字)
2026-01-12 22:53:06
294
原创 HarmonyOS 选择器禁用拍照功能
本文介绍了在HarmonyOS中如何禁用图片选择器的拍照功能。通过设置photoSelectOption.isPhotoTakingSupported = false参数,可以隐藏拍照按钮,强制用户只能从相册中选择现有照片。这种设置适用于需要限制用户操作选项的业务场景,展示了HarmonyOS选择器灵活的可配置性。
2026-01-12 10:13:27
390
原创 鸿蒙6应用内集成防窥保护
本文介绍了在应用开发中实现防窥保护功能的完整方案。首先需要在配置文件中申请DLP权限,并通过API检查当前权限状态。系统会根据人脸解锁记录智能识别机主身份。开发者可以通过监听方式(推荐)或主动查询方式获取窥屏状态,并据此调整界面显示(如启用蒙层、隐藏敏感信息)。文章提供了详细的代码示例,包括权限检查、状态监听和主动查询的实现方法,并展示了一个实战案例:当检测到窥屏时显示弹幕警告,否则正常显示内容。该方案能有效保护用户隐私,防止非机主查看敏感信息。
2025-12-07 17:39:16
584
原创 鸿蒙如何实现短时震动
本文介绍了HarmonyOS中震动功能的实现方法。首先需要在module.json5中申请震动权限,然后通过vibrator.startVibration和vibrator.stopVibration控制震动启停。文章提供了封装好的vibratorUtil工具类,包含MyVibrator和stopMyVibrator方法,并展示了在组件中调用的实战案例。震动效果可设置类型、强度和使用场景,支持预制震动模式和错误处理。最后提供了官方文档参考链接,便于开发者深入了解完整功能。
2025-12-04 23:34:49
366
原创 鸿蒙实现默认界面的扫码
HarmonyOS提供了scanBarcode模块实现扫码功能,支持二维码/条形码识别。开发者只需配置ScanOptions参数(如识别类型、多图模式等),调用startScanForResult方法即可打开扫码界面并获取结果。示例代码展示了如何创建扫码按钮,通过Promise处理扫码结果或错误,支持识别内容自动跳转链接。该功能可快速集成到应用中,实现高效便捷的扫码体验。
2025-12-04 23:01:33
591
原创 鸿蒙-BulletChat组件
这是一款基于 HarmonyOS 开发的创新性手持弹幕应用组件,专为 粉丝应援 场景打造!它不仅仅是一个简单的文字展示工具,更融入了鸿蒙生态独特的 分布式能力 与 交互乐趣,使其具备了极高的 可玩性 和 便捷性。核心亮点在于其独创的 “碰一碰” 和 “抓一抓” 分享功能,让应援信息的传递瞬间完成,心意即刻同步!
2025-12-01 12:39:12
288
原创 App Linking的使用
本文介绍了一款基于鸿蒙系统的互动弹幕组件BulletChat,支持碰一碰和抓一抓等趣味功能。组件可通过ohpm直接安装,提供文字弹幕、分享界面设置和AppLinking链接配置等功能。使用示例展示了如何快速调用组件创建弹幕内容,并分享了相关技术文档链接,包括鸿蒙官方分享套件指南。该组件通过简单代码即可实现社交互动功能,为鸿蒙应用开发提供了新的可玩性选择。
2025-11-10 17:40:55
245
原创 App Linking的使用
摘要 App Linking 提供更顺畅的应用跳转体验,无论目标应用是否安装。使用步骤包括:关联应用域名、开通 AGC 服务、配置域名、在 module.json5 中声明跳转能力,并在代码中解析链接参数实现业务逻辑。需注意手动签名、域名校验及测试方法,可通过 openLink 接口验证功能。详细配置可参考开发者文档中的 JSON 示例及代码片段。
2025-11-01 14:23:42
505
原创 鸿蒙开发之屏幕旋转
摘要:移动设备可通过设置显示方向优化用户体验,如横屏游戏或竖屏视频。设备支持四种显示方向:竖屏(PORTRAIT)、横屏(LANDSCAPE)及其反向模式。开发中可通过两种方式设置旋转策略:1) 在代码中调用setRequestedOrientation()方法动态调整;2) 在module.json5配置文件中进行全局设置。调用示例展示了如何在特定页面强制设置为横屏模式,而配置文件则可实现应用级的默认方向控制。
2025-11-01 12:59:29
396
原创 基于hmrouter-transitions的一镜到底动画
HMRouterTransitions是基于HMRouter封装的高阶转场动效库,提供"一镜到底"页面转场效果。通过安装依赖并初始化后,开发者可使用cardLongTake方法配置转场动画,指定触发组件ID和目标组件ID,并支持设置动画开始/结束回调。使用时需在配置文件中指定模板路径,并在源页面和目标页面分别设置对应ID。该方案简化了复杂转场动画的实现,使页面跳转更具视觉连贯性。
2025-10-27 12:10:01
204
原创 如何适配鸿蒙的深色模式?
本文介绍了使用首选项(preferences)和工具类实现App主题模式记忆功能的方法。通过创建ColorMode工具类,利用preferences持久化存储主题模式(白天/黑夜/默认),并提供了设置、获取模式的方法。在entryAbility中调用ChangeEntryAbilityColor方法初始化主题,或在设置界面直接调用setColorMode切换主题。该方案实现了主题状态的记忆和统一管理,代码简洁实用。
2025-10-10 18:41:57
266
原创 记录一次在实现SSE流式返回丢失的问题
摘要: Django SSE流式输出在服务器上失效的原因是Nginx的proxy_buffering默认开启导致数据缓冲。需在Nginx配置中为流式接口添加proxy_buffering off关闭缓冲,同时设置长连接超时。该优化仅适用于实时传输场景(如SSE/WebSocket),普通请求建议保持缓冲开启以保证性能。修改后需重载Nginx配置并通过工具验证流式传输效果。(99字)
2025-09-27 14:55:56
454
空空如也
宝塔面板部署django项目遇到的问题
2024-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅