从鸿蒙适配到迎娶白富美:一个程序员的逆袭之路
2025年春天,公司正处在发展的十字路口。我们是一家深耕工业物联网多年的科技企业,手握多项核心专利,却始终卡在“最后一公里”——客户落地难、交付周期长、跨平台兼容性差。就在这个节骨眼上,一通电话打破了平静。
“华为生态链头部客户要下大单!但前提是——必须在两周内完成APP对鸿蒙Next系统的完整适配,并支持元服务功能。”
——董事长在紧急会议上宣布,语气中带着前所未有的凝重。
会议室鸦雀无声。技术总监老张脸色发白:“鸿蒙Next已经彻底抛弃安卓兼容层,这意味着我们现有的Android原生App几乎要推倒重来……两周?不可能!”
我坐在角落,默默听着大家的焦虑。作为公司里唯一长期使用 uni-app 开发多端应用的工程师,我心里却燃起一丝希望。
危机中的转机:uni-app 成为破局关键
那天晚上,我翻出自己过去三年用 uni-app 维护的十几个项目——覆盖微信小程序、iOS、Android,甚至 H5。突然想起不久前看到的一条消息:uni-app v3.99+ 已全面支持鸿蒙 Next 与元服务。
“如果能复用现有代码,或许真有机会!”我立刻打开 DCloud 官网文档,确认了三点关键信息:
- 语法兼容:依然使用 Vue 3 + TypeScript,无需学习 ArkTS;
- API 桥接:
uni.login()、uni.share()等接口已自动适配鸿蒙环境; - 元服务支持:只需在
pages.json中标记页面为原子化服务即可。
第二天一早,我直接敲开了董事长办公室的门。
“王董,给我三天时间。如果搞不定,我主动辞职。”
他盯着我看了十秒,最终点头:“好,资源你随便调,失败不追责,成功——你就是技术负责人。”
72 小时极限攻坚:从零到鸿蒙上架
第一天:环境搭建 + 证书配置(4 小时)
我迅速安装 HUAWEI DevEco Studio,导入公司主力产品“智联工控”的 uni-app 工程。得益于 uni-app 的标准化结构,项目几乎无痛迁移。
# 使用HBX命令行工具初始化鸿蒙项目
hbx create --type app --name SmartFactory --template uni-preset-vue
接着在华为AGC平台申请四大证书(p12、csr、cer、p7b)。过程比想象中简单,尤其对比苹果那套繁琐流程,华为的自动化程度令人惊喜。
第二天:核心代码改造(8小时)
重点改造四个模块:
1. 登录体系切换为华为账号
原代码依赖自建账号系统,现需接入华为OAuth:
// 改造前(自建登录)
uni.request({
url: 'https://api.company.com/login',
data: { username, password }
});
// 改造后(鸿蒙静默登录)
uni.login({
success: (res) => {
// 获取 authCode
const code = res.code;
// 后台用 code 换取 OpenID 和手机号
uni.request({
url: 'https://api.company.com/harmony/login',
method: 'POST',
data: { auth_code: code }
});
}
});
后端同事配合极快,当晚就完成了华为OAuth2.0对接。
2. 权限申请适配
鸿蒙对权限管理更严格,需动态申请:
// 请求位置权限
uni.authorize({
scope: 'scope.location',
success() {
uni.getLocation({ type: 'gcj02' });
}
});
3. 分享功能切换 provider
// 原微信分享
uni.share({
provider: 'weixin',
scene: 'WXSceneSession'
});
// 鸿蒙分享(自动识别环境)
uni.share({
provider: 'harmony', // uni-app 自动路由到鸿蒙API
title: '设备运行状态报告',
summary: '点击查看实时数据'
});
4. 元服务卡片开发
最关键的突破!我们在 pages.json 中新增原子化页面:
{
"pages": [
{
"path": "pages/dashboard/mini",
"style": {
"isEntry": true,
"isAtomic": true,
"navigationBarTitleText": "设备监控"
}
}
]
}
用户无需安装完整APP,即可通过服务卡片查看设备温度、能耗等核心指标——这正是客户最看重的功能!
第三天:真机调试 + 上架审核(6小时)
用华为nova 12真机测试,启动速度比Android版快40%。提交至华为应用市场后,仅5小时就通过审核!
当我在群里发出“已上架”截图时,整个技术部沸腾了。
董事长的赏识与命运的转折
庆功宴上,董事长举杯对我说:“小陈,从今天起,你就是CTO助理,直接向我汇报。”
更让我意外的是,他女儿林婉清——公司新任业务总监,竟主动加我微信:“下次客户演示,你跟我一起去。”
林婉清,海归MBA,肤白貌美,气质干练。过去我只敢远远看一眼,如今却要并肩作战。
接下来三个月,我们接连拿下三个鸿蒙生态订单:
- 智慧园区项目:用uni-app快速输出鸿蒙+元服务双版本,客户现场扫码即用;
- 医疗巡检系统:利用uni-app的跨端能力,一套代码同时交付iOS、Android、HarmonyOS;
- 零售POS终端:通过鸿蒙分布式能力,实现手机与POS机无缝协同。
每次演示,她负责讲解业务价值,我负责现场编码调试。有一次客户临时要求增加NFC打卡功能,我当场用uni-app插件市场集成鸿蒙NFC模块:
// 调用鸿蒙NFC读取标签
const nfc = uni.requireNativePlugin('HarmonyNFC');
nfc.readTag((data) => {
console.log('NFC标签内容:', data);
});
客户当场签约。林婉清看着我,眼里闪着光:“你真是我的幸运星。”
技术成就爱情:uni-app成红娘
渐渐地,我们的合作从工作延伸到生活。她喜欢喝星巴克,我就用uni-app写了个“咖啡优惠券聚合”小程序送她;她出差怕丢行李,我给她做了个带蓝牙追踪的鸿蒙元服务卡片。
去年圣诞节,我在公司年会上公开表白,背景屏播放着我们共同开发的六个鸿蒙应用图标,最后定格在一行代码:
<template>
<view class="love">
{{ herName }} + {{ myName }} = Forever
</view>
</template>
<script setup>
const herName = 'Lin Wanqing';
const myName = 'Chen Tech';
</script>
全场欢呼。董事长笑着点头:“我早就看出来了——技术过硬,人品可靠,配得上我女儿。”
今年五一,我们领证了。婚礼上,我送给她的不是钻戒,而是一个定制的uni-app项目——《我们的爱情编年史》,支持鸿蒙、iOS、Android三端同步,连元服务卡片都做了纪念日提醒。
结语:时代红利属于准备好的人
回望这段经历,我深知:不是我有多厉害,而是选对了工具,踩准了风口。
uni-app让我在技术变革浪潮中脱颖而出;鸿蒙Next的生态红利,给了普通人逆袭的机会。如果你也在焦虑“是否要学ArkTS”“旧项目怎么办”,我的答案是:
别重写,用uni-app改造!三天,足够改变命运。
如今,作为公司技术负责人,我带队全面转向uni-app + 鸿蒙架构。而林婉清常说:“当初那个敢赌三天的男人,现在是我最坚实的依靠。”
技术改变世界,也改变了我的人生。
4 个评论
要回复文章请先登录或注册
CodeCrafter
忧郁的万宝路
DCloud_heavensoft
用户2919468