自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 鸿蒙6应用内集成防窥保护

本文介绍了在应用开发中实现防窥保护功能的完整方案。首先需要在配置文件中申请DLP权限,并通过API检查当前权限状态。系统会根据人脸解锁记录智能识别机主身份。开发者可以通过监听方式(推荐)或主动查询方式获取窥屏状态,并据此调整界面显示(如启用蒙层、隐藏敏感信息)。文章提供了详细的代码示例,包括权限检查、状态监听和主动查询的实现方法,并展示了一个实战案例:当检测到窥屏时显示弹幕警告,否则正常显示内容。该方案能有效保护用户隐私,防止非机主查看敏感信息。

2025-12-07 17:39:16 334

原创 鸿蒙如何实现短时震动

本文介绍了HarmonyOS中震动功能的实现方法。首先需要在module.json5中申请震动权限,然后通过vibrator.startVibration和vibrator.stopVibration控制震动启停。文章提供了封装好的vibratorUtil工具类,包含MyVibrator和stopMyVibrator方法,并展示了在组件中调用的实战案例。震动效果可设置类型、强度和使用场景,支持预制震动模式和错误处理。最后提供了官方文档参考链接,便于开发者深入了解完整功能。

2025-12-04 23:34:49 259

原创 鸿蒙实现默认界面的扫码

HarmonyOS提供了scanBarcode模块实现扫码功能,支持二维码/条形码识别。开发者只需配置ScanOptions参数(如识别类型、多图模式等),调用startScanForResult方法即可打开扫码界面并获取结果。示例代码展示了如何创建扫码按钮,通过Promise处理扫码结果或错误,支持识别内容自动跳转链接。该功能可快速集成到应用中,实现高效便捷的扫码体验。

2025-12-04 23:01:33 219

原创 鸿蒙-BulletChat组件

这是一款基于 HarmonyOS​ 开发的创新性手持弹幕应用组件,专为 粉丝应援​ 场景打造!它不仅仅是一个简单的文字展示工具,更融入了鸿蒙生态独特的 分布式能力​ 与 交互乐趣,使其具备了极高的 可玩性​ 和 便捷性。核心亮点在于其独创的 “碰一碰”​ 和 “抓一抓”​ 分享功能,让应援信息的传递瞬间完成,心意即刻同步!

2025-12-01 12:39:12 200

原创 App Linking的使用

本文介绍了一款基于鸿蒙系统的互动弹幕组件BulletChat,支持碰一碰和抓一抓等趣味功能。组件可通过ohpm直接安装,提供文字弹幕、分享界面设置和AppLinking链接配置等功能。使用示例展示了如何快速调用组件创建弹幕内容,并分享了相关技术文档链接,包括鸿蒙官方分享套件指南。该组件通过简单代码即可实现社交互动功能,为鸿蒙应用开发提供了新的可玩性选择。

2025-11-10 17:40:55 203

原创 App Linking的使用

摘要 App Linking 提供更顺畅的应用跳转体验,无论目标应用是否安装。使用步骤包括:关联应用域名、开通 AGC 服务、配置域名、在 module.json5 中声明跳转能力,并在代码中解析链接参数实现业务逻辑。需注意手动签名、域名校验及测试方法,可通过 openLink 接口验证功能。详细配置可参考开发者文档中的 JSON 示例及代码片段。

2025-11-01 14:23:42 340

原创 鸿蒙开发之屏幕旋转

摘要:移动设备可通过设置显示方向优化用户体验,如横屏游戏或竖屏视频。设备支持四种显示方向:竖屏(PORTRAIT)、横屏(LANDSCAPE)及其反向模式。开发中可通过两种方式设置旋转策略:1) 在代码中调用setRequestedOrientation()方法动态调整;2) 在module.json5配置文件中进行全局设置。调用示例展示了如何在特定页面强制设置为横屏模式,而配置文件则可实现应用级的默认方向控制。

2025-11-01 12:59:29 235

原创 基于hmrouter-transitions的一镜到底动画

HMRouterTransitions是基于HMRouter封装的高阶转场动效库,提供"一镜到底"页面转场效果。通过安装依赖并初始化后,开发者可使用cardLongTake方法配置转场动画,指定触发组件ID和目标组件ID,并支持设置动画开始/结束回调。使用时需在配置文件中指定模板路径,并在源页面和目标页面分别设置对应ID。该方案简化了复杂转场动画的实现,使页面跳转更具视觉连贯性。

2025-10-27 12:10:01 162

原创 如何适配鸿蒙的深色模式?

本文介绍了使用首选项(preferences)和工具类实现App主题模式记忆功能的方法。通过创建ColorMode工具类,利用preferences持久化存储主题模式(白天/黑夜/默认),并提供了设置、获取模式的方法。在entryAbility中调用ChangeEntryAbilityColor方法初始化主题,或在设置界面直接调用setColorMode切换主题。该方案实现了主题状态的记忆和统一管理,代码简洁实用。

2025-10-10 18:41:57 224

原创 记录一次在实现SSE流式返回丢失的问题

摘要: Django SSE流式输出在服务器上失效的原因是Nginx的proxy_buffering默认开启导致数据缓冲。需在Nginx配置中为流式接口添加proxy_buffering off关闭缓冲,同时设置长连接超时。该优化仅适用于实时传输场景(如SSE/WebSocket),普通请求建议保持缓冲开启以保证性能。修改后需重载Nginx配置并通过工具验证流式传输效果。(99字)

2025-09-27 14:55:56 302

原创 鸿蒙开发滚动组件嵌套的滚动问题

这篇文章介绍了如何通过设置nestedScroll属性实现嵌套滚动容器的联动效果。主要内容包括: 嵌套滚动模式选项:scrollForward和scrollBackward,分别控制前后两个方向的滚动行为 四种滚动模式说明:SELF_ONLY、SELF_FIRST、PARENT_FIRST和PARALLEL 使用注意事项: 启用分页或滚动吸附时嵌套滚动不生效 无法通过鼠标拖动操作滚动 通过合理配置这些属性,可以实现子滚动容器先滚动,到达边缘后再触发外层容器滚动的效果。

2025-09-25 22:43:58 163

原创 python的datetime模块

本文介绍了Python datetime模块的基本用法,包括datetime、date、time及timedelta类的常用操作。内容涵盖:获取当前时间(datetime.now())、创建日期对象(date(2025,8,8))、时间差计算(timedelta)、时间戳转换(fromtimestamp)以及时间格式化(strftime/strptime)。通过示例代码演示了如何提取日期各部分属性、计算时间间隔和进行时间字符串与对象的相互转换,并附有常用格式化符号对照表。

2025-08-08 08:26:35 232

原创 鸿蒙开发:实现一个简易的音乐播放器

SQL编程中的条件判断与循环控制摘要 本文介绍了SQL中的流程控制语句,包括: 条件判断:IF-THEN-ELSE结构和CASE-WHEN两种形式 循环控制:LOOP、WHILE、REPEAT三种循环方式及LEAVE/ITERATE控制语句 存储函数:创建语法、查看/删除方法及调用示例 存储函数与存储过程的对比:从关键字、调用方式、返回值和应用场景四个方面进行区分 该内容涵盖了SQL编程中的基本流程控制结构,特别说明了存储函数的创建和使用方法,以及与存储过程的区别。

2025-08-07 11:43:17 411 2

原创 13.索引

SQL编程中的条件判断与循环控制摘要 本文介绍了SQL中的流程控制语句,包括: 条件判断:IF-THEN-ELSE结构和CASE-WHEN两种形式 循环控制:LOOP、WHILE、REPEAT三种循环方式及LEAVE/ITERATE控制语句 存储函数:创建语法、查看/删除方法及调用示例 存储函数与存储过程的对比:从关键字、调用方式、返回值和应用场景四个方面进行区分 该内容涵盖了SQL编程中的基本流程控制结构,特别说明了存储函数的创建和使用方法,以及与存储过程的区别。

2025-07-06 09:34:02 184

原创 12.mysql事务

SQL编程中的条件判断与循环控制摘要 本文介绍了SQL中的流程控制语句,包括: 条件判断:IF-THEN-ELSE结构和CASE-WHEN两种形式 循环控制:LOOP、WHILE、REPEAT三种循环方式及LEAVE/ITERATE控制语句 存储函数:创建语法、查看/删除方法及调用示例 存储函数与存储过程的对比:从关键字、调用方式、返回值和应用场景四个方面进行区分 该内容涵盖了SQL编程中的基本流程控制结构,特别说明了存储函数的创建和使用方法,以及与存储过程的区别。

2025-07-06 09:33:30 223

原创 11.流程控制和存储函数

SQL编程中的条件判断与循环控制摘要 本文介绍了SQL中的流程控制语句,包括: 条件判断:IF-THEN-ELSE结构和CASE-WHEN两种形式 循环控制:LOOP、WHILE、REPEAT三种循环方式及LEAVE/ITERATE控制语句 存储函数:创建语法、查看/删除方法及调用示例 存储函数与存储过程的对比:从关键字、调用方式、返回值和应用场景四个方面进行区分 该内容涵盖了SQL编程中的基本流程控制结构,特别说明了存储函数的创建和使用方法,以及与存储过程的区别。

2025-07-06 09:32:59 240

原创 10.存储过程和变量

本文介绍了MySQL存储过程的基本用法,包括创建、调用、删除和查看存储过程的操作方法。主要内容有:1. 快速创建和调用简单存储过程的示例;2. 存储过程的语法结构,包括参数列表类型(IN、OUT、INOUT);3. 变量的定义和使用(会话变量和存储过程内变量);4. 通过两个实用案例演示了存储过程的具体应用:统计日志表记录数和根据ID查询学生姓名。这些内容为初学者提供了存储过程的入门指导,涵盖了变量声明、参数传递等关键知识点。

2025-07-06 09:31:19 164

原创 7.mysql的函数

MySQL常用函数摘要 MySQL提供了丰富的内置函数,主要分为六大类: 数学函数:包括绝对值(ABS)、取整(CEIL/FLOOR)、四舍五入(ROUND)、随机数(RAND)、幂运算(POW)等数值计算函数 字符串函数:提供字符串连接(CONCAT)、截取(SUBSTR)、大小写转换(UPPER/LOWER)、替换(REPLACE)、格式化(FORMAT)等文本处理功能 日期时间函数:包含获取当前时间(NOW)、日期格式化(DATE_FORMAT)、日期计算(DATEDIFF/DATE_ADD)等时间操

2025-07-06 09:29:55 276

原创 4.增删改

SQL数据操作摘要:本文介绍了SQL中字段的增删改操作。添加字段可通过INSERT语句实现全字段或指定字段插入,支持从其他表迁移数据。删除操作使用DELETE语句,全表删除推荐TRUNCATE,可通过WHERE条件或LIMIT限制删除范围。更新操作使用UPDATE语句,支持全表更新、条件更新、字符串替换(REPLACE函数)以及配合SELECT查询的更新方式。文章还提及多表更新操作,但未展开说明。所有操作均配有示例代码演示具体语法和效果。

2025-07-06 09:27:39 194

原创 3.表的数据类型约束

本文介绍了SQL中的数据类型和表约束。数据类型包括整数类型(int, smallint等)、字符类型(char, varchar等)、文本类型(text系列)和时间类型(date, datetime等),每种类型有不同的存储范围和用途。表约束部分详细讲解了not null、unique、primary key、auto_increment和default等约束的使用方法,并通过示例演示了如何创建、修改和删除约束。特别介绍了外键约束及其关联策略(如cascade、set null等),通过实际案例展示了外键的

2025-07-03 00:25:18 304

原创 9.mysql触发器-制作一个日志系统

SQL触发器分为行级和语句级两类,MySQL仅支持行级触发器。创建触发器时,可以指定触发时机(BEFORE/AFTER)和操作类型(INSERT/UPDATE/DELETE),并通过NEW和OLD访问修改前后的数据。触发器支持多语句执行,需使用DELIMITER改变结束符。示例展示了如何创建学生表和日志表,并建立插入、更新和删除触发器来记录操作日志,包括:新增学生时记录插入信息、修改时记录旧值、删除时记录被删记录。测试结果证明触发器成功捕捉了所有操作,自动在日志表中生成相应记录。

2025-07-03 00:14:04 233

原创 8.mysql视图

MySQL视图是一种虚拟表,通过SELECT语句定义,不存储数据而是动态引用基础表。创建视图使用CREATE VIEW语法,查看视图可通过SHOW TABLES。视图支持修改(ALTER VIEW)和删除(DROP VIEW)。关键特性是:修改视图数据会同步影响基础表,如更新视图记录会直接改变原始表内容。视图简化了复杂查询操作,同时保持数据一致性。

2025-07-03 00:13:28 118

原创 5.数据的查(基础)

本文介绍了SQL查询的基本语法和常用操作。主要内容包括:基础查询(全表查询、指定字段查询、字段别名设置、数据去重)、条件查询(比较运算符、算术运算符、逻辑运算符的使用)、限制查询结果(LIMIT)、排序(ORDER BY)、统计函数(COUNT/SUM/AVG等)和分组查询(GROUP BY)。文章还特别说明了DISTINCT的使用注意事项和查询语句的执行顺序(FROM→SELECT→WHERE→GROUP BY→HAVING→ORDER BY→LIMIT),提供了SQL查询的完整流程参考。

2025-07-03 00:12:49 1570

原创 2.表的操作

本文介绍了数据库表的基本操作,包括表的创建、查看、修改和删除。主要内容涵盖:使用CREATE TABLE语句创建表结构;通过DESC和SHOW命令查看表信息;使用ALTER TABLE修改表名、字段属性、添加/删除字段、调整顺序等操作;以及DROP TABLE删除表的语法。文中提供了完整的SQL语句示例,并标注了可选参数的使用方法,为数据库表的日常管理提供了实用参考。

2025-07-03 00:11:33 121

原创 1.操作数据库和查看帮助

本文介绍了MySQL数据库的基本操作命令,主要包括:1)创建数据库(CREATE DATABASE)及判断是否存在;2)查看数据库定义和信息(SHOW CREATE DATABASE/SHOW DATABASES);3)删除数据库(DROP DATABASE);4)查看当前数据库(SELECT DATABASE())和状态(STATUS);5)使用数据库(USE);6)帮助系统(HELP)的使用方法,包括查看帮助目录和具体数据类型说明。这些命令涵盖了数据库管理的基础功能,是MySQL操作的必备知识。

2025-07-02 17:58:03 180

原创 drf默认只返回data,如何进行二次封装?

本文介绍了如何继承DRF的ModelViewSet实现自定义响应格式。通过创建ToolViewSet继承ModelViewSet,重写了create、retrieve、update、destroy和list方法,统一返回包含code、message和data的标准格式响应。然后创建Test模型、TestSerializers序列化器和TestViewSet视图集(继承ToolViewSet),配置路由后测试成功。最终返回的JSON数据包含状态码、提示信息和业务数据,实现了标准化的API响应格式。这种方法可以

2025-06-14 16:41:16 171

原创 python实现经典的爬楼梯算法(包含多种实现算法)

本文探讨了解决爬楼梯问题的五种算法实现,从台阶数n出发,每步可走1或2阶。回溯算法通过状态转移和剪枝实现;暴力递归直接分治求解但效率低;记忆优化搜索存储中间结果提升效率;基础动态规划自底向上填表;优化版动态规划只需维护两个变量。各方法逐步优化,时间复杂度从O(2^n)降至O(n)再到O(1),空间复杂度从O(n)降到O(1),展示了算法优化的典型思路。最终最优解采用斐波那契数列递推公式,在常数空间内解决问题。

2025-06-14 11:39:14 253

原创 javascript的异步编程promise

fill:#333;color:#333;color:#333;fill:none;状态pendingfulfilledrejectedpending待定中 是 promise 的初始状态fulfilled已兑现 表示操作完成或者成功rejected已拒绝 表示操作失败状态不可逆性 ​一旦状态变更(从 pending 到其他状态),​ 不可逆转 ​。

2025-06-08 22:25:45 1233

原创 BOM操作

screen.availHeight = screen.height - 系统 UI 垂直占用。screen.availWidth = screen.width - 系统 UI 水平占用。

2025-06-08 21:28:44 1831

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除