我做了个鸿蒙App来解决“今天吃什么“,聊聊三种决策模式的实现思路

鸿蒙NEXT应用开发实战:AES-256-CBC加密本地数据全解析 对称加密是数据安全领域的核心技术,它使用同一密钥进行加密和解密,在效率与安全性之间取得了良好平衡。其核心原理在于通过复杂的替换和混淆操作,将明文转换为不可读的密文,从而保护数据的机密性。在移动应用开发中,数据安全尤为重要,本地存储的用户凭证、缓存信息等敏感数据必须得到有效保护。AES(高级加密标准)作为目前最主流的对称加密算法,凭借其高强度安全性和优异的执行效率,成为移动端数据加密的事实标准。在鸿蒙NEXT应用开发中,通过系统原生提供的`cryptoFramework`加密框架,开发者可以便捷地调用AES算 阅读详情

起因:每天中午最痛苦的不是工作,是选吃什么

说实话这个 App 的起因特别朴素。我们办公室五个人,每天中午十一点半开始那场"吃什么"的讨论,平均要持续十五分钟。有人不想吃辣,有人昨天刚吃过黄焖鸡,有人觉得太远不想走……

我之前试过几个随机选餐厅的小工具,但都只有一个"随机"按钮。说白了,单纯随机解决不了多人场景——你随机出一个结果,总有人说"这个不行换一个",然后就无限循环了。

所以我干脆自己写了一个,叫「决定今天吃什么」,今年上了鸿蒙应用市场。核心想法是:不同场景用不同决策模式,一个人吃就转盘,多人吃就投票先排除再随机。

为什么选鸿蒙

两个原因。一是我手上有台 Mate 60,想体验下 ArkTS 开发到底什么手感;二是这类小工具在鸿蒙市场竞争没 iOS/Android 那么卷,同类产品少,有机会被看到。

实际开发下来,ArkTS 写起来比我预想的顺畅。声明式 UI 那套逻辑跟 SwiftUI 很像,上手成本不高。

三种模式的设计

🎡 转盘模式(一个人用)

最简单的场景。把你收藏的餐厅放进转盘,转一下就走。我做了个 selectWheelIndexes 来处理超出转盘分段数的情况——比如你收藏了 30 家餐厅,转盘最多显示 12 格,那就取权重最高的前 12 家:

export function selectWheelIndexes(weights: number[]): number[] {
  if (weights.length <= MAX_WHEEL_SEGMENTS) return weights.map((_, i) => i)
    const indexed = weights.map((w, i) => ({ w, i }))
      indexed.sort((a, b) => b.w - a.w)
        return indexed.slice(0, MAX_WHEEL_SEGMENTS).map(x => x.i)
        }
        ```
权重这个东西挺有意思,你可以给经常想去的餐厅设高权重,它被转到的概率就大一些。但不是绝对的,还是有随机性。

### 🗳️ 投票模式(多人用)

这是我觉得最有价值的模式。逻辑是这样:先列出候选餐厅,每个人划掉自己不想吃的(投"反对票"),最后票数最少的胜出——也就是大家都不反对的那家。

平票的情况我处理了一下,用票数做权重再随机一次:

```arkts
export function finishVote(session: VoteSession): string {
  const entries = Object.entries(session.votes)
    let max = -1
      let winners: string[] = []
        for (const [id, count] of entries) {
            if (count > max) { max = count; winners = [id] }
                else if (count === max) { winners.push(id) }
                  }
                    if (winners.length === 1) return winners[0]
                      const weights = winners.map(id => session.votes[id])
                        const total = weights.reduce((a, b) => a + b, 0)
                          const r = Math.random() * total
                            let acc = 0
                              for (let i = 0; i < winners.length; i++) {
                                  acc += weights[i]
                                      if (r <= acc) return winners[i]
                                        }
                                          return winners[winners.length - 1]
                                          }
                                          ```
实际用下来,这个模式比纯随机的接受度高很多。因为结果是"大家都没反对的",心理上更容易接受。

### 🎲 随机模式(带排重)

纯随机但有一个细节:会避开最近 N 次吃过的。这个 N 在设置里可以调。我一般设成 3,意思是最近三顿吃过的不会再出现。

实现上就是把最近历史记录里的餐厅 ID 收集起来,给它们权重设为 0:

const avoidIds = new Set()
for (let i = 0; i < Math.min(n, recentHistory.length); i++) {
avoidIds.add(recentHistory[i].resultRestaurantId)
}

这个功能看起来简单,但没有它的话,连续三天随机到同一家的概率真不低(餐厅库小的时候)。

## 筛选过滤

候选列表支持按标签、预算上限、距离过滤。数据模型里每个餐厅都有 `price`(min/max)、`distanceKm`、`tags` 这些字段。筛选逻辑写在 `getCandidates` 里,就是标准的 filter chain,没什么花哨的。

我自己日常用的时候,午饭会筛"步行 1km 以内 + 人均 30 以下",周末聚餐就放开距离限制。

## 数据存储

整个 App 是纯本地存储,用的 HarmonyOS 的轻量级偏好数据持久化。没有服务端,没有账号系统。餐厅库、历史记录、设置项全部存在本地。

这么做有个好处:打开就能用,不需要联网,不需要注册。坏处是换手机得重新添加餐厅。后面版本可能会考虑用华为云端备份,但目前这个体量还没必要。

## 目前的状态

App 已经在鸿蒙应用市场上架,当前版本 1.2.0。说实话下载量还很小,刚起步阶段。我自己和同事每天都在用,投票模式基本成了我们午饭的固定流程——十一点半有人在群里喊一声"开投",两分钟搞定。

有一点遗憾是多人投票目前还是"传手机"的方式,没有做局域网同步。这个功能我想过用 HarmonyOS 的分布式软总线来做,多台设备协同投票,但说实话工程量比我想象的大,暂时搁置了。

## 一些开发体验

ArkUI 的声明式布局写转盘动画还挺方便,`animateTo` 配合旋转角度就能实现基本的转盘效果。组件状态管理用 `@State` 和 `@Link`,跟 React 的 useState 思路差不多,没什么学习门槛。

比较折腾的是列表性能。餐厅库大了之后(我测了 200 条数据),LazyForEach 的复用机制需要仔细处理 key,不然滑动会有明显卡顿。这块踩了两天坑。

## 写在最后

这个 App 的定位很小,就是解决一个具体的生活问题。没想做成什么大而全的美食平台,就是一个决策工具。

如果你也在做 HarmonyOS/ArkTS 开发,或者对这类轻量工具型 App 的实现感兴趣,欢迎交流。鸿蒙应用市场搜「决定今天吃什么」就能找到。
移动端AI自动化测试:Open-AutoGLM与Selenium的五大核心差异与混合架构实战 自动化测试是保障软件质量的关键技术,其核心原理是通过脚本模拟用户操作,对应用功能进行验证。随着移动端应用集成AI能力的普及,传统的基于规则驱动的自动化框架在应对动态UI、多模态交互等场景时面临挑战。这催生了结合多模态大模型、具备状态理解能力的新一代智能自动化工具,其技术价值在于能够处理不确定性高、元素属性模糊的复杂验证任务,显著提升脚本的健壮性。在移动端AI融合、跨平台适配等应用场景中,智能自动化工具展现出独特优势。本文聚焦于Open-AutoGLM与Selenium这两类工具的设计哲学与能力差异,深入解析 阅读详情

相关推荐

正向开发与逆向开发:从概念到实战的范式解析与混合应用

在软件工程领域,正向开发和逆向开发是两种核心的构建范式,它们分别代表了从规划到实现和从成品到理解的两种不同技术路径。正向开发遵循自顶向下的设计原则,强调从需求分析、系统设计到编码实现的可控流程,适用于对架构清晰度和质量保障要求高的场景。逆向开发则从可运行的软件实体出发,通过分析、推断和重建来理解其内部逻辑,常用于对接无文档的第三方系统或进行快速原型验证。这两种范式的技术价值在于,它们为开发者提供了应对不同项目挑战的思维工具——正向开发确保系统的稳健与可维护,逆向开发则提供了破解黑盒问题和快速学习的能力。在实

weixin_30621711的博客 386

我做了个鸿蒙App帮你决定今天吃什么,聊聊ArkTS下三种决策模式的实现(含转盘动画踩坑)

投票模式的逻辑是这样的:每个人划掉自己不想吃的选项,划完之后剩下的候选列表再随机出一个。有个同事说他和女朋友用投票模式之后,吃饭这事儿上的争执少了很多——两个人都把不想吃的划掉,剩下的随机出来,谁也不怪谁。我用的是"投票淘汰"这个思路——每人划掉不想吃的,剩下的随机选。我自己也是这样,一个人的时候不想动脑子,两个人的时候互相推,一群人的时候更是灾难。(N 是你想让它多转几圈),不然动画只转一小段就到了,完全没有转盘的感觉。一个人用的时候,直接随机或者转盘就行,有仪式感,转完就走,别犹豫。

same4869的博客 247

AI社交人设可信度设计:右滑行为背后的信任构建方法论

在对话式AI与虚拟角色快速落地的今天,‘AI人格’已从技术概念演变为真实交互场景中的关键体验维度。其核心不在于拟人化程度,而在于用户能否快速建立对AI行为一致性、动机可解释性与边界感清晰度的稳定预期——这正是人类社交信任的底层逻辑。当右滑成为开放社交中首个轻量级信任决策动作,它实质上是对AI可信度的一次毫秒级压力测试。本文基于真实产品实践,提炼出一套可测量、可迭代的AI人格可信度构建框架,覆盖头像设计、昵称认知、缺陷声明、数据透明与动效心理等17个工程化细节,适用于数字分身、品牌AI、虚拟陪伴等所有需在社交

weixin_30580341的博客 399

「我到底去过哪些地方」这个问题,我用HarmonyOS/iOS做了个App解决了

它不记录配速,不统计卡路里,不分析步频。这种克制让整个 App 的使用心智极低——不用「开始运动」也不用「结束运动」,没有任何需要主动触发的操作。地图的呈现方式很直觉:到过的区域有颜色,没去过的地方留白。整体像是一个缓慢填色的游戏,只不过填色的颜料是真实走过的路。我调研了一圈市面上有足迹功能的 App,发现它们要么藏在运动记录的配速和心率数据里,要么挂在社交平台等你发布打卡。我的需求其实很简单:一张安静的地图,上面填满我走过的地方。不需要配速,不需要社交,不需要任何主动操作。

same4869的博客 269

领普C6无刷窗帘电机深度评测:旗舰性能如何实现智能窗帘的可靠与静音?

智能家居的核心在于执行部件的可靠与静音体验。无刷电机技术通过消除电刷摩擦,从原理上实现了更低的运行噪音和更高的耐用性,其价值在于为用户提供无感、稳定的自动化体验。在智能窗帘这一应用场景中,电机的核心性能直接决定了日常使用的幸福感。领普C6作为旗舰级产品,其无刷电机设计和双平台生态支持,正是为了解决传统窗帘电机在噪音、卡顿和长期稳定性方面的痛点。通过深入分析其安装适配性、米家与HomeKit双生态融合能力,以及本地化执行的可靠性,本文探讨了如何选择一款能够真正融入智能家居系统、实现光线精准管理并长期省心的窗帘

weixin_34364071的博客 465

物联网技术栈全解析:从MQTT协议到云平台实战与测试挑战

物联网(IoT)作为连接物理世界与数字世界的核心技术,其架构通常分为感知层、网络层和应用层。感知层通过各类传感器与微控制器(如ESP32)采集数据;网络层则依赖MQTT、CoAP等轻量级协议,在Wi-Fi、NB-IoT等不同网络环境下实现可靠通信。MQTT协议凭借其发布/订阅模式和低带宽占用,已成为物联网设备与云端对话的事实标准,能有效支持海量设备连接与双向通信。在应用层,云平台(如华为云IoT、阿里云IoT)提供了设备管理、规则引擎与数据可视化等关键服务,极大降低了开发门槛。面对智能家居、工业互联网等广阔

weixin_33734785的博客 561

我用 ArkTS 思路做了个通勤游戏化 App——把每天走的路变成金色大道

我不需要谁告诉我跑得快不快,我就想看到"这条路被我踩熟了"这个事实本身。做完之后回头看,这个需求其实特别适合 HarmonyOS 的场景化能力——持续定位、低功耗后台、本地数据安全,这些正好是鸿蒙在系统层面做得比较深的方向。下面聊聊我的实现思路和踩过的坑,给同样在做 LBS 类应用的鸿蒙开发者一些参考。除了点亮地图,还有一套养成系统:8×8 的领地征服(把家附近的格子全部点亮算占领)、科技树(解锁更高效的点亮方式)、徽章收集。本质上是把日常出行做成了一个单机游戏,不比配速、不社交、不 UGC,纯粹自己玩。

same4869的博客 210

鸿蒙第16篇——数据持久化

本文介绍的数据持久化是指鸿蒙应用的数据持久化存储。它是将内存中的数据通过文件或数据库的形式保存到设备存储中。鸿蒙支持多种数据存储方式, 包括用户首选项Preferences、 键值型数据库KV-Store和关系型数据库。

daozhongyang的专栏 80

我做了一款精力管理App「元気手账」,聊聊从 Swift 移植到鸿蒙 ArkTS 的真实经历

市面上的情绪记录App我试了好几个,要么让我写一大段日记(我懒),要么就是打个心情emoji完事(太粗糙)。我想要的是一个特别轻量的东西——就像手机电量百分比一样,随手记一笔"+20 跑步回来精神了"或者"-30 项目评审被锤了",然后在时间轴上看到今天的能量流向。iOS版我自己用着爽,但换到华为手机的时候就断了,记录习惯一中断基本就废了。去年有段时间状态特别差,每天下午三点准时犯困,开会完脑子一片浆糊,但又说不清到底是什么在消耗我。于是我做了「元気手账」。跑了一段时间自己用着挺顺手,就开始琢磨鸿蒙版。

same4869的博客 122

FreeRTOS OTA实战:从Bootloader设计到安全升级的完整流程(附MQTT示例代码)

本文详细介绍了在FreeRTOS系统中实现安全OTA固件升级的完整流程。内容涵盖从Bootloader设计、存储分区规划到与MQTT协议集成的OTA Agent任务开发,并重点解析了固件签名验证、防回滚等关键安全机制,为嵌入式物联网设备提供了一套高可靠性的远程升级解决方案。

weixin_29248653的博客 157

faster lio 回环 加入GTSAM优化的记录

对Faster lio 加入回环、gtsam优化,在室外建图遇到的问题和过程

Nico_jion的博客 2598

HarmonyOS 6效果实现:“双数组并行“的数据结构在ArkTS中常用于简单的图表数据绑定场景——天数作为X轴标签,人气值作为Y轴高度

技术引言HarmonyOS 6.1.1作为华为全场景分布式操作系统的最新里程碑版本,带来了更为强大的ArkTS声明式开发范式与完善的ArkUI组件体系。在HarmonyOS ArkTS API 24的基础之上,开发者可以充分利用、、等核心装饰器构建出高性能、高响应的复杂交互界面。本文将以一款"QQ语聊·派对房"语音社交应用为实战案例,深入剖析从数据建模、状态管理、粒子动画到多弹窗编排的完整技术链路。该应用涵盖了底部四Tab导航、顶部六Tab分类切换、四类弹窗(开房新增、麦位编辑、退房删除、房间详情查看)、麦

2501_92985290的博客 175

IOPaint模型部署教程

IOPaint是一款功能全面且强大的AI图像处理工具,它不仅免费开源,还由SOTA(State-of-the-Art,即最先进)AI模型驱动,为图像编辑和修复带来了前所未有的便利和高效。以下是对IOPaint的详细介绍:

SJJS_1的博客 1540

记录轨迹这个需求,我用 ArkTS 的思路在 iOS 上先验证了一版

不需要手动"开始记录",不需要打卡签到,不需要拍照上传。日积月累,你去过的街区会被逐渐"点亮",空白区域就是还没踏足的地方。这里有一个很关键的产品决策:不做配速、不做心率、不做卡路里。打开各种旅行 App,要么让我发游记,要么让我打卡景点,要么弹一堆社交推荐。后来我做了「雁过留痕」这个 App,目前已经在 iOS App Store 上架,自己用了三个多月,也在持续关注 HarmonyOS 生态的适配可能性。轨迹渲染这块比较有意思,我用了像素风格的地图渲染方案,而不是常见的导航地图样式。

same4869的博客 235

全网首发:香橙派5MAX安装ubuntu20.04(换了官方桌面)及ros,运行LIVOX-mid360混合固态激光雷达,实际测试fastlio(只能说可以跑,还是有点吃力)

独家发布!!!香橙派5MAX安装ubuntu20.04(换了官方桌面)及ros,运行mid360混合固态激光雷达,测试fastlio(只能说可以跑,还是有点吃力),国货也算崛起了。

2402_82745259的博客 5996

【技能---ubuntu20.04更换国内镜像源】

安装好ubuntu20.04后,在下载软件等安装包的时候,速度特别的慢,为此就想着更换一下镜像源,以此来增加下载的速度!!!下面是换源的具体流程!!!提示:以下是本篇文章正文内容,下面案例可供参考以上到这里就更换完软件源了,如有不足之处,请大家斧正!!!

fyc300的博客 1万+

HarmonyOS应用<民族图鉴>开发第12篇:首页框架——Tabs容器与自定义TabBar深度解析

位置Tab为什么在这第0个(最左)首页用户打开 App 首先看首页,默认第一个第1个百科核心内容浏览,第二高频第2个(中间)地图特色功能,但不是最高频第3个测验互动功能,锦上添花第4个(最右)我的个人中心,惯例放最后排序的底层逻辑使用频率从左到右递减?不完全是——首页最高频放左边,"我的"频率也不低但放右边内容/发现从左往右,个人中心在最右左边是"逛内容",右边是"我的东西",中间是特色功能。

hubiao002的博客 483

物料分类账-返工工单(自身)差异分摊逻辑

如上图所示,当月入库的全部消耗,而返工消耗的数量为100PCS,所以返工消耗占总消耗的比例为100pcs/(205pcs+100pcs)=0.327868852。备注:红色箭头的物料号为产品自己本身所产生的价差,就是返工工单所承担的差异,而我们要计算的就是这个值,所以计算价差不会包括此项。价差合计就是不包括初始分摊的价差9153.7,剩下的价差合计就是返工工单自身所承担的差异4465.21。每一次返工工单所承担的差异都会按照价差*承担比例去计算承担的差异,知道承担完所有差异。

Yeol827的博客 2487

编程语言选择指南:从场景需求到学习路径的理性决策

编程语言作为软件开发的基石,其本质是解决特定问题的工具。从底层原理来看,不同语言的设计哲学源于对特定时代技术痛点的回应:C语言提供了贴近硬件的高级抽象,Java通过虚拟机实现跨平台部署,Python以简洁语法降低编程门槛,Go内置并发模型应对云计算需求。这些设计差异决定了各自的技术价值:Python在数据科学和快速原型开发中占据优势,Go擅长构建高并发后端服务,Java则以其稳定生态支撑企业级应用。在实际应用场景中,选择编程语言应遵循四步决策框架:首先明确开发目标与场景,其次评估语言生态系统与就业市场,接着

weixin_30457465的博客 438

反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释

反卷积的作用 卷积中padding的几个概念 No Padding Half(Same) Padding Full Padding 反卷积 反卷积中的Padding参数 反卷积的stride参数 反卷积总结 参考资料

iioSnail的博客 2万+

华为od 面试手撕代码题【完成任务最少小时】

华为od 面试手撕代码题【完成任务最少小时】

MISAYAONE的博客 1576

React Native for OpenHarmony 评分组件开发手记

本文介绍了一个基于React Native开发的OpenHarmony评分组件实现方案。该组件具备以下核心功能: 基础功能: 支持显示当前评分值(1-5星) 支持用户交互点击评分 提供只读模式展示 扩展特性: 可自定义星星数量(默认5颗) 支持替换评分图标(如爱心、拇指等) 提供三种预设尺寸(sm/md/lg) 可配置填充色和未选中色 可选显示具体分数值 实现要点: 使用TouchableOpacity处理点击事件 通过数组映射渲染星星图标 采用防御性编程处理边界情况 提供完善的样式配置选项 该组件设计简洁

2501_93999581的博客 1028

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

智能汽车配置如何从堆料转向懂你?解析新生代用户核心需求

在汽车智能化浪潮中,车载系统的评价标准正从参数竞赛转向用户体验。其核心在于通过自然语言处理、多模态融合等技术,实现从“执行命令”到“自然对话”的交互升维,并借助场景化服务与生态融合,打破车与生活的数字壁垒。这背后离不开高算力芯片与先进电子电气架构的支撑,它们为持续的OTA升级与功能进化提供了硬件基础。最终,智能配置的价值回归于精准服务特定人群,例如通过全场景免唤醒语音、个性化设置与情感化交互,为新生代用户打造懂其所需的智能出行伙伴,在提升驾驶安全与便捷性的同时,无缝融入其数字生活。

weixin_34341229的博客 517

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

智能电动车37万起售价背后的市场逻辑与产品价值分析

价格锚点是市场营销中的核心概念,它通过设定一个参考价格来影响消费者的价值判断和购买决策。在汽车行业,起售价作为关键的价格锚点,不仅定义了产品的市场定位,还承担着筛选目标客户、传递品牌价值的重要作用。从技术实现角度看,智能电动车的价值由三电系统、智能座舱、辅助驾驶等核心技术共同构建,这些技术通过硬件预埋和软件迭代持续提升用户体验。在工程实践中,企业需要平衡成本与性能,例如通过合理的电池容量和电机配置满足主流续航需求,同时为高阶智驾功能提供硬件基础。当前,随着补能体系完善和用户服务生态的建立,智能电动车的综合价

weixin_30333885的博客 422

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

从华为招聘、苹果搜索到NumPy更新:解读技术行业三大信号与个人成长路径

在技术领域,理解行业动态背后的底层逻辑对职业发展至关重要。从基础原理看,无论是算法数据结构还是操作系统网络,扎实的计算机科学基础始终是技术人员的核心竞争力。这些原理支撑着从科学计算库到搜索引擎等复杂系统的构建。其技术价值在于,它们不仅是解决具体问题的工具,更是塑造技术生态和商业格局的关键要素。例如,NumPy作为Python科学计算的基石,其稳定更新保障了整个数据分析和机器学习生态的可靠性;而苹果自研搜索引擎的动向,则体现了巨头对核心技术自主可控和生态主导权的追求,这直接影响着开发者的技术选型和流量策略。应

weixin_33947521的博客 471

HarmonyOS 7 端侧 AI 图像超分的工程化落地

用户抱怨网络差的时候图片传不上去,更严重的是,大量的私密照片上传到云端,引发了严重的隐私合规审查危机。痛定思痛后,我们决定把 AI 模型直接塞进手机里,用端侧的 NPU 来做推理,但这绝非易事。我们首先在服务端对模型进行了知识蒸馏,把参数砍掉了一大半,然后利用 MindSpore Lite 的转换工具,将模型转成了鸿蒙底层支持的。即便如此,模型依然有 20 多兆,我们最终选择了 FP16 量化,牺牲了极其微小的画质,换取了内存占用减半。推理过程极其消耗 CPU 和内存,稍微大一点的图,处理时间长达几秒。

2602_97267507的博客 156
上一篇: 我在鸿蒙上做了个加密工具,加密结果看起来像一段正常中文——聊聊 AES-GCM + 字谱替换的实现思路
下一篇: 独立开发一个专注计时器,上架几个月下载趋近于零,但我觉得思路没错
SameX-4869
博客等级 码龄17年 3354粉丝 657原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值