阅读视图

道阻且长

都道:“一步错,步步错”。虽然有时候是无心之失,却也在不经意间制造了太多的问题。就想撒了个谎,后面需要无数的谎言来解释当初这个谎言。最开始开发 app 的时候,对于所谓的前段并没那么清晰深入的理解,毕竟之前做 ios 和安卓的开发还是基于 oc 和 java 来搞。

之前虽然也看过不少 uni 的项目,但是真正开始的时候。当时还是选择了 vue2 的矿建,虽然那时候3 也依然有些规模。鉴于当时找到的很多组件都是 vue2 的不支持 3,所以开始的时候就入了这个坑,直接基于 2 的各种组件搭起来了现在的这个闺蜜圈的项目。

当然,后续再开发过程中也发现了很多问题,虽然是 vue2 的各种组件,然而很多满足不了自己的需求,在不断的开发过程中也在不断的修改这些组件,甚至很多组件到现在已经改的完全不是原来的样子了。重写了大量的代码,也修复了很多组件的问题。所谓的生态,国内的生态环境并不是看到的那么好。各种插件市场非常活跃,插件也非常多。但是实际上出了问题大概率得不到作者的解答,只能自己去读代码,理解逻辑之后重写有问题的部分。

再后来,鸿蒙 next 横空出世,uni 也承诺会支持鸿蒙系统。当然后来也确实是支持了,不过仅支持 vue3 的项目的鸿蒙系统编译。于是这原来的 vue2 的项目就面临着一次大版本的升级和兼容处理。在开发了一年之后,如果重新搭架子从 vue3 重写,成本固然是太高了,不在可接受的范围之内。最终的方案是直接将 vue2 的项目迁移到 vue3。

在去年uni 开放鸿蒙的体验版本兼容编译之后,就尝试将项目迁移到 vue3,不过那时候仅限于能编译运行。可以登录到首页,而其他的页面全部都没处理。在这次鸿蒙的技术支持介入之后,也是下定决心将项目迁移到 vue3 进一步迁移到原生鸿蒙。到原生鸿蒙才是最终目的。

不过在迁移过程中也发现一些问题:

1.导航栏 button 无效:

HarmonyOS 基于uniapp的方式开发HarmonyOS应用时候,通过app-plus:titleNView 配置页面右上角按钮未生效(API12+)
【问题描述】:HarmonyOs基于uniapp的方式开发HarmonyOS应用的时候,通过app-plus:titleNview配置页面右上角按钮不生效

【问题现象】:使用app-plus:titleNview配置导航栏右上角button不显示

【版本信息】:hbuilder 版本4.8.5、DevEco Studio 6.0.1 Release

【复现代码】:{

  "path": "pages/besties",

  "style": {

    "navigationBarTitleText": "XXX",

    "navigationBarBackgroundColor": "#ff4f87",

    "app-plus": {

      "bounce": "none",

      "titleNView": {

        "buttons": [{

          "fontSize": "18px",

          "text": "+",          // 直接写加号字符

          "color": "#FFFFFF"

        }]

      }

    }

  }

}

官方给的解决方案:

在基于 UniApp 开发 HarmonyOS 应用时,app-plus:titleNView配置未生效的核心原因是:app-plus是 UniApp 针对 Android/iOS 端设计的原生导航栏配置,HarmonyOS 平台的导航栏实现逻辑与 Android/iOS 不同,因此该配置暂未适配 HarmonyOS 平台。

解决方案:使用「自定义导航栏」替代(推荐,跨平台兼容)
由于 HarmonyOS 不支持 UniApp 的titleNView配置,建议通过隐藏原生导航栏 + 自定义导航栏组件的方式实现右上角按钮,同时兼容跨平台场景。

步骤 1:隐藏原生导航栏
在pages.json中,给目标页面的style添加navigationStyle: "custom",隐藏原生导航栏:

json

{
  "path": "pages/besties",
  "style": {
    "navigationBarTitleText": "XXX",
    "navigationBarBackgroundColor": "#ff4f87",
    "navigationStyle": "custom", // 隐藏原生导航栏
    "app-plus": {
      "bounce": "none"
    }
  }
}
步骤 2:自定义导航栏组件(实现右上角按钮)
在页面中手动编写导航栏布局,包含标题和右上角按钮,示例代码(Vue3 语法):

vue

<template>
  <!-- 自定义导航栏 -->
  <view class="custom-nav-bar" :style="{backgroundColor: '#ff4f87'}">
    <!-- 标题 -->
    <view class="nav-title">XXX</view>
    <!-- 右上角按钮 -->
    <view class="nav-right-btn" @click="handleRightBtnClick">
      <text :style="{fontSize: '18px', color: '#FFFFFF'}">+</text>
    </view>
  </view>

  <!-- 页面内容 -->
  <view class="page-content">
    <!-- 你的页面内容 -->
  </view>
</template>

<script setup>
// 右上角按钮点击事件
const handleRightBtnClick = () => {
  console.log("右上角按钮被点击");
  // 这里写按钮的业务逻辑
};
</script>

<style scoped>
/* 自定义导航栏样式(适配HarmonyOS状态栏高度) */
.custom-nav-bar {
  width: 100%;
  height: var(--status-bar-height) + 44px; /* 状态栏高度 + 导航栏高度 */
  padding-top: var(--status-bar-height); /* 适配状态栏 */
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  box-sizing: border-box;
}

.nav-title {
  color: #FFFFFF;
  font-size: 18px;
  font-weight: bold;
}

.nav-right-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

/* 页面内容区,避免被导航栏遮挡 */
.page-content {
  padding-top: calc(var(--status-bar-height) + 44px);
}
</style>
补充说明(针对 UniApp X 项目)
如果你的项目是UniApp X(专门适配 HarmonyOS 的 UniApp 模式),可以直接使用 HarmonyOS 原生的Navigation组件配置右上角按钮(需在uts页面中实现):

ts

// pages/besties/besties.uts
@Entry
@Component
struct BestiesPage {
  build() {
    Navigation() {
      // 页面内容
      Column() {
        Text("页面内容")
      }
    }
    .title("XXX") // 导航栏标题
    .titleMode(NavigationTitleMode.Free)
    .backgroundColor("#ff4f87")
    // 配置右上角按钮
    .toolBar({
      items: [
        {
          value: "+",
          textColor: "#FFFFFF",
          fontSize: 18,
          action: () => {
            console.log("右上角按钮被点击");
            // 业务逻辑
          }
        }
      ]
    })
  }
}
关键注意事项
app-plus配置的局限性:app-plus是 UniApp 对 Android/iOS 端的扩展配置,HarmonyOS 平台的导航栏、原生组件等逻辑与 Android/iOS 不同,因此大部分app-plus配置在 HarmonyOS 上不生效。
状态栏高度适配:自定义导航栏时,需通过var(--status-bar-height)获取 HarmonyOS 设备的状态栏高度,避免导航栏被状态栏遮挡。
UniApp X 的适配:若使用 UniApp X 开发 HarmonyOS 应用,建议直接使用 HarmonyOS 原生组件(如Navigation),兼容性和体验更好。
通过自定义导航栏或 UniApp X 的原生Navigation组件,即可实现 HarmonyOS 应用中页面右上角按钮的需求,同时保证跨平台兼容性或原生体验。

官方答复地址:https://developer.huawei.com/consumer/cn/forum/topic/0203200053870018576?fid=0109140870620153026&pid=0314200135195141595

当然,这个问题解决最终也是通过自绘导航栏解决的,不过目前还有个问题,就是与 uni 自带的原生导航栏样式稍微有些区别,主要问题在导航栏高度计算,以及导航栏字体渲染问题。这个如果要想彻底解决可能就得全部重写几个页面的导航栏了。这个不影响使用,稍微往后放一点。

另外一个问题,那就是 ai 助理迁移问题,迁移到鸿蒙系统之后,由于部分属性不支持,导致页面直接白屏了。目前虽然就解决了大多数的问题,单机 markdown 渲染问题,以及聊天窗口自动滚动到最新消息依然有问题,在没有全屏的时候是没问题的,消息列表全屏之后,滚动总是少一块。

而至于上篇文章提到的,google play 测试的问题,目前也有好多宝子参与进来了。也反馈了很多问题,当然,很多东西自己觉得习以为常,但是很多人第一次使用的时候却并没有看到相应的效果,或者对于操作步骤有疑惑。

记录:
1.增加异常状态种类,支持多选
2.优化日历样式
3.增加用户徽章
4.针对不同设备处理流式数据
5.优化生日选择的日期选择器
6.优化爱爱记录操作方式
7.优化日历操作方式,更简单明了 删除记录 结束记录逻辑调整
todo

todo:
个人信息–手机号,随便在那里输点东西再去修改昵称, 修改昵称那个输入框变成修改手机号的输入框了。✓
修改完手机号点一下邮箱–取消,在点击昵称 ,输入框变成修改邮箱输入框了✓
我的–高级设置–安全设置 点击密码没反应,改不了密码 ✓
青少年模式不能记录新的了,但是已经记录的💊在日历上还是显示的。
数据分析页面:
年没上限
月只有60天。而且英文界面出错提示是中文。
体重和体温也没有边界值,甚至可以输入负数。 ✓
please拼错账 pleace ✓
中文用户名长度判断问题,中文允许两个字符 ✓

目前已经更新发布了一版新的,并且 ios 和安卓终于版本号同步了。之前由于种种问题,ios 的版本号稍微落后了一点。

当然,正式的测试还得找个时间一起处理。多人长测的确是个问题,需要投入那么点精力。

然而,由于 google 原来的 appid 用不了了,只能换个新的 id,然而新的 id 就会出现 pushid 和 unicloud 不一致的问题,最终只能在 google 包开了 1.0 的 push 临时解决了这个问题。最终没有再搞个分支,不同的分支维护真的太麻烦了。

本来想着一套代码搞定,现在就已经拆分成了鸿蒙的 vue3 和通用版本的 vue2。修复一点问题,现在就得维护两套代码。这个也是属实是无奈之举了。

之前上架华为应用市场的版本是没有 ai 助理的,也就是一个屏蔽了 ai 助理的版本。对于这种不完美事情,总是觉得有些欠缺。继续咨询了一下相关的问题,https://developer.huawei.com/consumer/cn/forum/topic/0203200246757472747?fid=0109140870620153026 给出的答案倒是和之前的区别不大,意思是可以上,但是有些限制。

除了生成的内容要有明显的标识:https://developer.huawei.com/consumer/cn/doc/app/50111-10

另外一个就是使用这种功能需要进行实名认证:

目前看来对于这种认证最简单的侵入性最小的还是手机号认证。为了进行手机号认证,也看了几种方案,一种是基于 uni 自带的证号认证功能,

https://doc.dcloud.net.cn/uniCloud/uni-rpia/mobile-verify/intro.html

相关费用报价其实略贵一些:

真题来说两毛多钱一次,这价格属实是贵了点。随便认证个几百人,这几十块钱就没了。虽然不多,但是毕竟作为一个不挣钱的项目该省的还是要省的。那么,除此之外,那就是直接短信验证码了,uni的短信验证码费用为 0.0355,这个价格比上面的便宜了很多。

然而,这个资源包太大了,有效期一年:

看了下阿里的,虽然大家贵点,但是相对来说资源包可以买的小一些,用完再买,也不会存在浪费的问题:

至于切换,那等短信需求量大了再说吧,毕竟现在只有上架华为应用市场的需要实名,并且不知道这种实名认证是不是满足需求。如果满足不了,那就得再换别的方式了。

既然,已经到了这里,也不在乎多折腾一个应用商店了,登录三星的开发者后台,不得不说,三星还是简单,除了提示改密码,别的什么都没问题。添加应用,补充资料。上传 app 提交审核,然而,晚上收到一封邮件,说审核被拒了,而至于为什么被拒,简单粗暴给了个 apk 扫描没通过的链接。

按照文档的提示,给 google 发送扫描误报请求。结果添加到 google 邮件里的附件又被扫描了,禁止下载。这尼玛真是陷入死循环了,

只好压缩之后重新给 google 发送文件,这尼玛是属于套娃了吧。真是服了。

zhongling@MacBookPro Pycharm_projects % cd dayima-vue3
zhongling@MacBookPro dayima-vue3 % echo "=== 2025年12月提交次数 ===" && git log --since="2025-12-01" --until="2025-12-31" --oneline | wc -l
=== 2025年12月提交次数 ===
      49
zhongling@MacBookPro dayima-vue3 % cd ..
zhongling@MacBookPro Pycharm_projects % cd dayima_backend
zhongling@MacBookPro dayima_backend % echo "=== 2025年12月提交次数 ===" && git log --since="2025-12-01" --until="2025-12-31" --oneline | wc -l
=== 2025年12月提交次数 ===
      50
zhongling@MacBookPro dayima_backend % cd ../dayima_uniapp
zhongling@MacBookPro dayima_uniapp % echo "=== 2025年12月提交次数 ===" && git log --since="2025-12-01" --until="2025-12-31" --oneline | wc -l
=== 2025年12月提交次数 ===
      89

 

最近为了处理这些问题,最近这段时间确实比较忙,白天公司的事情,晚上自己的事情,差不多每天都到十一点多,偶尔一天十一点上床了,对象问了一句:“今天咋这么早?!”

再次感谢最近参与测试,提出 bug 的宝子们。

大致小新笔记坊云无心天天向上vind似水流年夏末~、乖、lgin、jason、jungle

杜郎
以及其他最新入群的宝子,后面几个我对不上号,或者有遗漏的也补充下哈可以给我留一下地址哦,测试结束后给每人发红包,嘻嘻。

尽管道阻且长,

但是行则将至,不是吗?

  •  

蜀道难 — 有偿招募 Google Play 测试用户

懒惰,有时候带来的负面效果,后期想要修复的时候,要付出的代驾比当时处理要复杂的多。更恐怖的是,哪怕付出了这么多的代码,依然无法达到最开始的效果。

当 google playstore 开发者给我发邮件提示账号快过期的时候,并没有太留意,后来就给忘了。当然,gmail 的邮箱已经收到了数次提醒,但是由于那段时间不怎么翻墙,导致并没有看到这些邮件,等看到邮件的时候账号已经被用了。

看到这个停用的原因,真的是让人崩溃,这 tmd,当时但凡翻墙了,也就是点几下鼠标的事情。现在好了,重新注册账号依然面临一系列的问题。appid 被占用,旧应用无法下架,无法转让。现在连上线发布都需要面临另外一个问题,那就是需要开启封闭测试,只有封闭测试通过之后才能有发布正式版的权限。

google play开发者给出的答案是:

针对新创建的个人账号的测试要求简介
测试是应用开发流程中不可或缺的一环。通过持续对应用运行测试,您可以在公开发布应用之前验证其正确性、功能行为和易用性。这能让您及时解决发现的技术问题或用户体验问题,最大限度地降低这些问题对用户的影响,从而确保您在 Google Play 中发布的是应用的最佳版本。如果开发者在发布应用之前经常使用 Play 管理中心的测试工具进行测试,他们的应用将能够带给用户更优质的使用体验,从而在 Google Play 上赢得更高的评分,取得更大的成就。

为了帮助所有开发者确保提供高品质的应用,我们提出了新的测试要求。如果开发者使用的是 2023 年 11 月 13 日之后创建的个人账号,则其应用需要先经过测试,然后才能在 Google Play 上发布和分发。若应用未经过测试,系统会停用 Play 管理中心内的部分功能,例如正式版(测试和发布 > 正式版)和预注册(测试和发布 > 测试 > 预注册),直到开发者满足相关要求为止。

测试要求概览
如果您使用的是新创建的个人开发者账号,则必须对您的应用运行封闭式测试,且至少有 12 名测试人员在过去至少 14 天内选择持续参与测试。满足上述条件后,您便可以在 Play 管理中心的信息中心申请正式版发布权限,以便最终在 Google Play 上分发您的应用。申请时,您需要回答一些问题,帮助我们了解您的应用、测试流程及正式版发布准备情况。

下文详细介绍了不同类型的测试轨道和相关要求,以及关于申请正式版发布权限的更多详情。

了解不同的测试轨道和相关要求
Play 管理中心提供不同类型的测试轨道,以便您逐步扩大测试范围并改进应用,力求达到适合面向数十亿 Google Play 用户发布的水平。

内部测试:在完成应用设置之前,您可以自行将 build 快速分发给少量可信测试员。这有助于您排查问题并收集早期反馈。通常,build 被添加到 Play 管理中心几秒钟后,就会向测试人员开放。虽然内部测试并非强制性要求,但我们建议您从这里开始。
封闭式测试:利用封闭式测试,您可以与由您控管的众多用户分享应用。这样一来,您可以在发布前修复问题,并确保应用符合 Google Play 政策的要求。您必须先运行封闭式测试,然后才能申请发布正式版应用。当您申请正式版发布权限时,必须至少有 12 名测试人员选择参与您的封闭式测试。他们必须在过去 14 天内选择持续参与。完成应用设置后,您即可启动封闭式测试。
开放式测试:让您可在 Google Play 中发布测试版应用。进行开放式测试时,任何人都可以加入您的测试计划并向您提交非公开反馈。请先确保您的应用和商品详情已经准备好在 Google Play 上架,然后再选择该选项。如果您拥有正式版发布权限,则可以使用开放式测试。
正式版:让您可通过 Google Play 面向数十亿用户发布应用。您需要先运行符合我们条件的封闭式测试,然后才能申请将应用发布为正式版。在申请时,您还需要回答一些与封闭式测试相关的问题。当您申请正式版发布权限时,必须至少有 12 名测试人员选择参与您的封闭式测试。他们必须在过去 14 天内选择持续参与。

如果开发者使用的是 2023 年 11 月 13 日之后创建的个人账号,则其应用需要先经过测试,然后才能在 Google Play 上发布和分发。若应用未经过测试,系统会停用 Play 管理中心内的部分功能

测试要求概览

如果您使用的是新创建的个人开发者账号,则必须对您的应用运行封闭式测试,且至少有 12 名测试人员在过去至少 14 天内选择持续参与测试。

重要提示:向测试人员强调,他们需要选择持续参与至少为期 14 天的封闭式测试。

说实话就是现在google 的做法是越来越看不懂了,关键是很多操作也不知道后续该如何操作。这就很蛋疼了,这种事情当然更好的办法是去咸鱼之类的找个专门做测试的。

测试资格需要加入这个 google 群组(需要加入群组之后才能参与测试):guimiquan@googlegroups.com

https://groups.google.com/g/guimiquan

我也没咋用过这个东西,不清楚怎么去处理这个破玩意儿。有时候感觉老外设计的东西,的确是不怎么符合自己的使用习惯。

ap测试地址:

https://play.google.com/apps/testing/gma.dayi.app

app商店地址:

https://play.google.com/store/apps/details?id=gma.dayi.app

网上依然能找到这种测评服务了,价格大约 200+。

现在的问题在于重新注册开发者账号话费了 30 美元,现在不上架恶心,上架也恶心。既然如此那还是折腾一下吧,不过鉴于自己手上没那么多的设备,想请各位宝子帮帮忙测试一下,想参与的加一下 google 的群组。需要 12 名测试人员,根据提供的测试账号数量,在测试完成后给于相应的报酬,如果有时间,或者闲着没事的希望可以板帮我哦。

目前我自己还在修改一些问题,希望大家除了加下 google group,顺便加下群哦,QQ群:777692924obaby@mars

需要大家开始帮忙测试了会统一通知一下的。

都说蜀道难,现在发版比蜀道还难,蜀道难都是看得到的难,而这发版,完全是不知道的陷阱。

最后说下测试报酬哈,鉴于价格大约都是 200+,12 个账号,按照每个账号 20 元红包来计算(提供几个测试账号,会获得相应账号数量的红包)。如果不想要红包的,可以寄写真照片(3 张),如果喜欢的话。

如果种种原因,到时最后测试没通过,红包依然会发放,不过金额就变成 10 元了哈。毕竟不想让大家白费精力,这个钱属实不多。聊表心意,主要是这个应用也没啥盈利能力,全靠用爱发电,小女子先行写过啦。

  •  

完美主义

小时候跟姐姐学的用扑克牌算命,洗牌就那么一张一张的抽出来排上去,从 1 开始一直排到 13,不同的花色对应着好或者不好,每个数字代表不用的意义,事业啊、婚姻啊、学历啊等等。有时候,为了抽到一排红心,自己会将扑克牌在洗牌之后重新排号,按照一个特定的顺序,抽几张扔几张。最后总是能拿到一排红心。

慢慢长大之后发现,不要说一排红心,哪怕能拿到一颗红心已经实属不易。为了这颗所谓的红心,要付出的实在是太多太多。

反常的气温,忽然又升高到了十七度。给人一种暖春的感觉,周五的时候,对象说给宝子约了周六的牙医。宝子的这个牙,已经成了一种非常严重的问题。由于之前一直吃手,后来用这种手段干预,戴手套,贴嘴等等,虽然不吃了,但是舌头还是不自觉的就往前顶,现在牙齿已经有些变形了,甚至连骨头都开始过度生长。

去妇幼、齐鲁去问诊,给的建议都是等牙齿换完再处理,但是现在似乎依然等不到那个时候了,再不干预,以后要该起来就更难了。原本想着,简单的咨询一下,但是在经过一系列的检查之后,觉得还算靠谱,给的医疗建议也在接受范围之内。决定不再折腾了直接在这里处理,费用六千五。为这些所谓的坏习惯的付出依然不止这些。

有时候懒惰真的会付出代驾,小的时候想下狠心纠正这种坏习惯,但是宝子的姥姥各种觉得残忍,阻挠。最后的结果就是,虽然当时是痛快了。后患却没那么容易消除。虽然现在自己依然不是一个完美主义者,但是,这种过失,现在想起来却也时常后悔。

周末,有时候感觉时间是真的少,各种乱七八糟的事情就占据掉了大半。剩下一点点的时间,来处理下那些乱七八糟微不足道的事情。之前 google play store 的账号,因为长时间没登录被停用了,导致原有的闺蜜圈 app 也被下架。在重新注册开发者账号,想要重新发布应用的时候,提示 appid 被占用了,给 google 发邮件申请转移,给的答案是账号可以解除封禁,可以登录,但是转移却是一直失败的,根本没有转移权限。

既然如此,那暂时也就不再尝试使用原来的 appid 了,毕竟,这个流程一直持续下去,也不知道会到猴年马月能结束,就酱紫吧。完美主义,自己坚持有个 p 用,还得条件允许才能完美。

除了 google play,其实还有一个平台是自己之前也想上的,那就是鸿蒙,uniapp 刚支持打包鸿蒙 应用的时候,自己就尝试过向鸿蒙的迁移。然而,由于项目框架较老,需要做的工作不止一点点,需要先将 vue2 升级到 vue3,然后在将 vue3 版本打包成鸿蒙的 app。

升级这一步就不是很顺利,作为一个初学前端(vue 框架)的菜鸟,最开始项目建立的时候,代码结构设计的并不是非常好,并且硬编码了很多 vue 2 only的一些代码。升级到 vue3 之后,勉强编译通过,运行到了鸿蒙系统上。

再后来,这件事情也确实没什么动力,就不了了之了。然而,就在上周又接到了一个广东深圳的电话,接起来之后说是鸿蒙开发者中心的。问有没有app 升级或者开发计划,说看到在应用商店上架的闺蜜圈 app了,并且说帮忙给建立技术支持服务群,协助将项目从 vue2 到鸿蒙系统 app 的发版。 

在接到这一通电话之后,总觉得不做点什么真的对不起鸿蒙生态的付出。(这个电话打了很多次了,一直没接)之前,自己的那种完美主义追求,想要在国内的各大应用市场上架。然而在多年以后,所有的手机应用市场都关上了针对个人开发者的大门,除了华为。国内的个人开发者,真的连狗都不如。

在自己开发第一款 app 的时候,国内应用商店华为、小米、锤子、魅族还是针对个人开发者开放的,只是现在小米把个人开发者推出了门外,魅族也关闭了那扇大门,锤子死了。只剩下华为还算是对个人开发者开放,更何况现在,人家都找上门了,自己又有什么理由不做出点努力呢?

而至于完美主义,现在依然不可能了,如果要做,也只能部分完美。让那些自己有能力去完美的地方,能稍微完美一点吧。

为了能升级到 vue3 和支持最新版的鸿蒙开发工具,将 hbuilder 升级到了最新版,切换到原来 vue3 的分支,不得不说,最新版的 hbuilder 在鸿蒙的支持上友好了很多。

配置好一系列工具和插件之后,甚至应不需要在使用鸿蒙开发者工具打包就可以直接运行到模拟器了,虽然提示只支持 arm 架构的模拟器,但是运行是完全没有问题的。

当然,现在升级最大的优势在于,通过 cursor 可以帮忙解决大部分的 vue代码升级问题。

的确减少了自己的大部分工作量,只需要关注那些 ai 解决不了的问题就 ok 了。两天陆陆续续的修复,最终还是在鸿蒙系统上运行起来了,也修复了大部分的错误,当然,这个升级之后的功能,还需要进一步的细致测试。

实际运行效果:

有的事情,开始固然是艰难了一些,甚至,很长时间都看不到方向,然而,做了也就那样,没什么做不了。也没什么做不到。

网上总是说 hbuiler 这不好,那不好,性能太差,不如原生。有哪有啊完美无瑕的工具或者框架,如果通过这个工具或者框架实现了自己的目的,那么这个框架或者工具就是足够优秀的,哪怕不完美。国外的东西不见得就是好的,国内的东西也不见得就是不好。很多程序员为了争论 emacs 和 vi 到底哪个更好,能口诛笔伐。甚至连 vi 党和 vim 党都能同室操戈,我作为一个实用主义党是在不明白这种争论的意义和价值。

当然,其实这些年我说 hbuiler 好不是一次了,我也是目光短浅,没用过 flutter 之类的其他的跨平台语言。仅仅局限于自己的鼠目寸光,与我而言,这解决了我的问题,就足够了。通过自学,两个月的时间,能让我通过这门语言或者工具来做一款产品,这就够了。

只是,现在我站在了自己写的屎山代码上,有太多的东西需要优化,有太多的结构需要调整。

或许,是时候放弃完美了,对于用户来说,你的代码是不是屎并没那么重要,只要给用户呈现的不是💩就完了。

  •  

绽放

晚上下班之后,沿着那条跑过无数次的公路奔跑

路边的树上依然没了绿意

一阵北风吹来

树上的黄叶控制不住的在空中飞舞

身不由己的在空中划出一条不规则的曲线

落在地面上

一阵更猛烈的风吹来

地上的树叶又被裹挟着飞到了空中

耳机里伴随着风声传来的是张韶涵的《阿刁》

想大口呼吸

却不禁让狂风灌满了整个胸腔

虽然已经解开了薄羽绒服的扣子

微微出汗的身体依然想要抛弃这沉重的枷锁

只是啊

或许这被嫌弃的枷锁

是多少孩子的爱而不得

或许

我们生不逢时

或许

我们一路荆棘

但是

孩子啊,我们还是要努力的绽放

  •  

意义

中午吃完饭,打开电脑下载了点乱七八糟的东西,期间传来了 iphone 的两次短信提示音。平时垃圾短信、垃圾电话一大堆所以也没去看到底是什么东西。等到要出门上班的时候,看了下 p70 手机,推送栏有一条消息:“……驾驶 中型以上……汽车…… 超速 ……不超过 20% ……”,都不用仔细看就知道是超速了。

距离上次收到超速短信已经过了数年,最近几年除了路边停车收到的罚单,以及对象在快速路上超速吃了一张罚单。从来没再收到过超速罚单,倒不是因为没超速,只是山东高速的容错率还是蛮高的。

看了下拍的现场图片,应该是在原来的济潍高速被拍的。区间限速路段 22km 长度,限速 120km/h,实际的区间速度为 134km/h。之前跑 G20的时候,基本区间限速都是压着 140 左右跑,但是却没被拍过。只有回老家的时候才会跑济潍高速,跑的时候一般是压着 130 跑,然而这次稍微快了点。这一下,两百块没了,说实话就是这两百干啥不好呢,为什么要超速呢。

带着家人跑高速的时候,对象总是提示说,不要超速,被罚款太不值了。有时候被说,心里也感觉不爽,但是真的压着 120 跑,总是觉得有些憋屈。然而,等真被拍了之后,交了两百块钱,现在也会想着 200 花的有意义么?平均时速降 2km/h 就完全可以省掉这 200 快了。也常在网上看到有人说,限速 120 超速 20% 不要紧,然而,这个超速 20% 以内不要紧,不是所有的高速都适用。如果要超速,还是贴着 10% 之内超吧,毕竟,交的罚款都赶上来回的油费了。

周日带着宝子去上网球课,终于有重新能达到隔网接球了。跟着前一个教练学的内容,扔了一年多的钱,学了个不标准的动作。现在每节课都在纠正之前的错误,也在承担之前这错误的姿势带来的影响。目前已经又消耗掉 20 节课时费了。好在现在纠正的还算可以,最起码就是球能打实了,能听到打球的声音了。总说及时止损,有时候却因为自己的懒惰和松懈,浪费了太多的时间在那些错误的地方,然而这些错误最终的买单人还是自己。

有时候也不得不思考究竟什么是有意义的,学习?工作?玩耍?还是什么其他的东西?

然而,有时候想想这些都没什么意义,或许真正有意义的事情是做自己喜欢的事情,让自己快乐。然而,这种快乐又从何而来呢?是兴趣爱好还是什么其他的东西?亦或者说是一种无所谓的坚持?

坚持有意义吗?答案就是我也不知道有没有意义,只是从某种意义上在坚持一件事情。最近晚上跳绳的时候,有时候会一边看电视一边跳,这么跳的好处是看到入迷的时候,跳绳反而觉得没那么累了,甚至很容易就跳到 4000+。

昨晚跳的时候,看的第一集电视剧已经过半,在第一集结束之后,继续后面一集。既然开始跳了,自然是要坚持下去的。就这样,刚好差不多一个小时多一点的时间,完成了一万个。

虽然最开始的 4000 还能有点感觉,但是到了 6000+以后反而没什么太大的感觉了,除了有点出汗,并没有太吃力。或许这就是坚持的意义吧,只有牛马有个一个好身体,才能赚更多的牛马费不是吗?也只有更多的牛马费,才能给宝子营造更好的生活环境。

总说年轻人不愿意结婚生子,之前忘了在谁那里看到的一个专家的言论说,那年轻人不愿意生孩子,并不是年轻人没有责任心,而是现在的年轻人责任心比上一辈高太多了,知道为自己的孩子负责,知道为他们创造更好的生活条件。自己没有能力的时候,不想生而不养。

而这个好的条件,有需要付出多少的努力?然而,这些所谓的努力又有多少事有意义的?对于多数人来说,从来不会希望你过得比他们好。上周回去奔丧的时候,在殡仪馆,大姐夫跟二姑家的堂哥在那里聊天,自己去厕所的时候路过。堂哥玩笑了一句:“发财了,不认识亲戚了?”

我幽怨的回了一句:“嗐,发个屁才啊,不单工资没涨,还降工资了……”

简单的聊了几句就去洗手间了。努力或许从来都没什么意义,别人看到的都是你现在的表象,至于是不是他们希望的,大概率并不是。而之所以说这句话,大概率是因为这次回去自己没有开大白而是开粉皮回去的。毕竟这个时候在一堆车牌号鲁 V 和鲁 G 的车里,找到一辆鲁 B 的车还是蛮容易的,自己下车的时候他们大概率也是看到了。虽然不是什么豪车,但是也能戳痛某些人吧。不管承认不承认,有时候看到别人开着跑车出现,自己的内心也会触动,那种内心的由衷的羡慕,因为这些东西大概率自己这辈子无法体会了。而这些东西,不是自己努力就能得到的,如果要按这个来平评判,自己的努力就没有任何的意义。

穷,固然会被人看不起,但是你过得比他好,大概率他会记恨你。

于是,多数时候,我总是习惯展示给他们自己想看的那个自己。更像一个虚伪的骗子,哪怕是自己的家人,有时候竟然也会带着一份伪装,只是不知道这份伪装如果真的去掉,会变成什么样子?大概率不是自己想要的样子。

自己不断追求各种所谓的意义,以前却很少追求快乐。在某些时候,甚至为了单纯的快乐竟然有一些负罪的感觉。就想那个拉磨的驴,偶然从磨盘上下来之后,也会怀疑自己存在的意义和价值。内心的不自信,太多的时候需要所谓的外界的认可来证明自己的价值。诚然,这种病态从来没有真正消除过。

跟大多数人一样,人生的轨迹似乎也没什么太多的变化。上学、工作、结婚、生子,在父辈的言语中,听到的最多的就是多生几个孩子。这一辈子什么都不会留下,能留下的只有自己的孩子。然而,留下那么多孩子干嘛呢?如果给不了好的生活,宁可不要孩子。自己摸爬滚打从按个小村子里爬出来,难道要让自己的孩子继续重蹈覆辙吗?

四叔家的姐姐得了脑瘤,在鬼门关走了一遭之后,心态变了很多。自己很喜欢这个小姐姐,小时候经常在一起,长大了之后见的少了,但是感觉依然很亲切。然而也只有过年的时候才有时间去看看她,身体瘦削,这几年气色好了很多。她说:“有时候读书太多也不好,你看你跑那么远都见不到你。”

“这哪里算远,一点都不远”我答道,我握着她的手,能感到那只手冰冰凉凉。我想努力的给她暖一下,就这么紧紧的握着。

也许从来没什么所谓的感同身受,哪怕经历过同样的事情,每个人依然有每个人的感觉。而自己能做的,也仅仅是尽量去体会他人的内心的感觉。

人生,或许从来没什么意义。也许只有自己能给自己的人生赋予意义,快乐活着,痛快生活。

只是,说起来从来都简单,然而,追寻却从来不易。

  •  

送别

周二早上,刚换好衣服准备去上班。手机响了,一个陌生的号码,归属地显示的是潍坊。之前也会接到各种陌生号码的电话,为了解决 iphone 的骚扰电话,开了自动录音功能。但是,这个功能并不稳定,录音有时候显示不完整,有时候对方打了很多次电话,手机却连响都不会响。周末的时候把这个功能关掉了。

电话接起来,对面传来一个熟悉的声音,是四叔家的哥哥:“二大爷(二伯)走了,明天的公事……”

“好的,我知道了,我明天回”简单的答复之后就挂断了电话。

快到中午的时候,又接到电话,通知了下时间,早上八点半。这个时间,如果早上从青岛走,六点之前就得出发。决定下班之后,往回赶。工作日的晚上,路上的车并不多。七点多出发,到家的时候也九点多了,好在提前远程开了空调,到家的时候,温度也到了 20 多度了。

客厅的桌子上还放着国庆走的时候落在上面的零食,袋子开着,并没封口。试了一下,已经潮了。把桌子上的东西都收拾了一下扔到了垃圾桶里。

好在冰箱里还有上次回来的时候放的饮料,就住一晚。没开电视,也没开饮水机,两瓶魔爪下肚之后,感觉也没那么渴了。躺床上,刷会儿手机,眨眼已经十一点多了,想着早上不能起太晚,简单洗刷就睡了。

睁眼看了下时间,七点,爬起来收拾下,准备出门。收拾好一切一定七点半了,刚要出门的时候姐姐打电话问出门了没。

开上车,去古城煎包吃个早餐。到小学门口的时候,依然堵的不动了。果断调头往另外一个方向走,只是,这县城的生活节奏,慢吞吞,一个红绿灯都过不了几辆车。那种闲庭信步的悠闲感,真的适应不了。

要了两个煎包,一碗豆浆。到角落的桌子边坐下来,开始吃,一口下去,竟然齁咸。一向味道不错的煎包,今天的确有失水准。好在还有碗豆浆,草草吃完,继续往殡仪馆赶。

等自己赶到的时候,依然很多然都到了。只是,现在很多人都变了模样,年轻的孩子们,自己甚至都已经认不出谁是谁。自己同辈的姐姐、哥哥们却基本都没怎么变样,很多人也老了很多。

这是自己第三次来这个地方,第一次是送自己的父亲,第二次是送对象的爷爷,这第三次是送自己的二伯。

第一次来的时候,依然太久远了,一眨眼二十年了。很多的事情都忘记了,记忆中仅剩的一点点记忆,就是领骨灰出来的时候,给的骨灰盒太小。烧完的骨灰,竟然没法完全装到骨灰盒里。有那么一块骨头还翘在外面。二伯用脚踩着骨灰盒才把骨灰盒给扣上,那小小的骨灰盒啊,竟然死了都那么不体面。因为父亲生病欠了太多的钱,那时也确实买不起更好的骨灰盒,更好的骨灰盒会更大一些。

现在二伯自己也走了,国庆期间自己又去探望了一次,说稍微好转了一点。尽管如此,但是这么久了没从重症监护室出来,总觉得,也是早晚的事情,这一天总是会来的。

到现在,父亲兄弟四人,现在也仅剩下四叔一人了。二伯在老家没有什么家产,也没房子,最终的选择就是县城的公墓。之前总是远远的看到过公墓,或者在电视上看到。自己走进公墓之后才发现,真的是一排一排,写满了名字。所有的人,最后终将成为一抔黄土,埋没在这黄土之中,两代之后,再也没人记得这个人曾经存在过。此时,这是个就真的从这个世界消失了。

一切结束后,回程的路上,想着去壳牌加油站加个油,预付卡还有两百多,依然不够一次了。又充了500 进去,结果到加油站 发现加油站给围起来了,不知道是在装修还是干嘛。这 500 块钱,不知道猴年马月才能再用上了。

今天早上出门的时候,看到绿化带的月季依然坚强的绽放着,虽然已是寒冬,哪怕不合时宜,只是赶上了这样的时间,也要努力的绽放。至于其他的,由他去吧。

  •  

龙葵

龙葵花语的核心寓意包括“沉不住气”象征冲动与不稳重‌,以及‌“执着与坚定”代表对目标、爱情和信仰的坚持,同时涵盖危险与诱惑、孤傲坚韧等多元象征。‌‌

龙葵这种植物,在自己小时候就见过,并且也吃过无数次。那时候,并不知道她的名字。直到后来玩到一款游戏《仙剑奇侠传 3》,看到里面的任务名字,龙葵,搜索了一下,才知道原来是它。

而游戏中各种人物名字,景天、雪见、长卿、重楼,也剧是药材名称。那时候才发现,自己所谓的常识是何其浅薄而又无知。

阳台上的花,花开花谢,落叶枯萎,来来回回换了无数次的花,阳台上空闲的花盆也越来越多。终于,有一天看淘宝的时候,看到了一个熟悉的身影,那就是龙葵。紫色的浆果,跟小时候看到的一模一样,只是,现在哪怕回到村里竟也不常见了。买了两包种子,回来之后收拾了一下花盆,饶有兴致的种了下去。

后来就是浇浇水,倒也不用特别的照顾。同时还买了一包蛇莓的种子,只是,这个种子自从种下去之后,就再也没见过,两个花盆里看不出有任何发芽的迹象,也找不到了那些种子。

终于某一天,自己去给从发芽的地瓜上拔下来的芽浇水的时候。看到了花盆里漏出头的龙葵,欣欣向荣,或许,她更像野草吧。

前段时间还怕没有蜜蜂授粉,龙葵没法结果。前段时间自己还用棉签尝试给花朵授粉,现在看来,似乎也没必要,哪怕没有蜜蜂授粉,现在也结满了小果子,圆圆的,绿绿的。

小的时候,这龙葵的果实,其实不单可以吃,还可以用来当玩具。夏天麦收的时候,也是龙葵大量结果的时候。这下一小段麦秆,去掉两头的关节,就剩下一条通透的小管子。

用指甲把麦秆的一头剥开成对称的十字,弯曲的时候不要太平,稍微有点幅度,把龙葵圆溜溜的果实去掉果蒂,放到那个十字口里。竖着举起来,仰起头,把麦秆的另外一头放进嘴里,向上吹气,龙葵的果子就会随着气流在麦秆的头上转动跳舞。

而至于为什么能跳舞,这个就该去问伯努利了,毕竟伯努利的流体力学方程能解答这个疑惑。

找到成熟的紫色的果子,就会摘下来吃掉。虽然小小的,但是味道真的很好。

然而,并不是所有的东西都有这种顽强的生命力,昨天的时候发现评论呢亲密度标签全部都挂了。

打开网站发现已经暂停服务了:

不是所有的服务都像自己的博客一样,有这么顽强的生命力,到目前位置已经熬死了无数的服务,好用的,不好用的,免费的,收费的。看着无数的服务倒下去。

好在这个东西是开源的,于是干脆自己又部署了一套。

昨天看到 枋柚梓 发布的 umami 升级的文章,之前的 umami 是通过 mysql 编译安装的。而现在这个新版本已经放弃了 mysql,尽管每天都看到升级提示,是在没动力去升级,每次升级编译是个问题,数据库升级也是个问题。于是放弃了所有的历史数据,干脆 docker 重新装了一个,只是换了 pg 数据库之后,确实麻烦了一些。

这几天的访问量和各种指标也的确离谱,应该还是有沙雕在陆陆续续的攻击。

尽管部署好了,但是还有一些问题没解决。现在却也不想解决了,例如那个网站图标不显示的问题。强迫症的问题,等以后哪天想处理了再处理吧,毕竟,还有一切其他的乱七八糟的事情要做。

有时候想想龙葵的花语也挺矛盾的,沉不住气,与执着。然而,这种矛盾又无比和谐,尽管沉不住气,但是却有着坚定的信仰。

挺好的,希望自己也能一直坚持下去。

  •  

不了了之

已经记不清楚入冬多长时间了,只是隐约记得冬天的节气一个接一个,似乎依然过了好几个了。

这气温也跟着起起起伏伏,从前天开始,暖气片竟然有一些温度了,不在那么冰冷。或许这冬天真的是来了,不过自己的体温似乎一点变化都没有,不管冷还是热,在这个冬天始终稳定在一个冰凉的状态,多少次想找个体温枪量一下自己脚的温度,却总是上床之后才想起来,又不想在去找体温枪。如果量一下的话应该是显示个 low 吧。

前段时间去拍的照片,依然有段时间了。百度网盘没有vip,所以下载照片基本都是挂在群晖的自动同步上下载。尽管速度只有 100k 左右,但是只要时间够长通知能下载完的,自动同步的好处是不用管到底下载到什么进度了。然而,想着看下下载的照片,当把内网的端口映射出来之后,各种扫描接踵而至,如逐臭的苍蝇一般,让人不胜其烦。

仅仅开了不到一天的时间就如此,这扫描也是无缝不入。虽然群晖自带防火墙,但是每次添加规则只能添加 15 个。这逻辑也是服了。 为了屏蔽国外的这些扫描器,只好添加一堆规则:

只是,这一系列昨晚之后。总觉得还是少了点东西,看了下系统上的年假还有四五天。这四五天年假,等过了元旦也就过期了。既然不能折现,何不浪费了他。

打定了主意,这大好的时光自然也不该浪费。尽管依然是冬天,但是树上的叶子依然是深绿色,枫树、银杏却早已变得火红或者金黄,尽情的飘散在这初冬之中。曾想着,等哪天下雪之后,穿一袭红色长裙站在皑皑白雪中,享受那种冰冷的热烈。

青岛的冬天,却不常见到雪,更不曾留住雪。一切都有些可遇不可求,现在的时光却是刚刚好,又怎堪辜负这大好的时光。

选了几套衣服,摄影师表示那件红的有点太突出了,可以拍个圣诞神马的。最终换了一条粉色的长裙,而至于拍摄的地点,原本是想去世博园的,摄影师却说之前去的时候,拍摄的姐妹,穿了件轻婚纱,在入口被拦住了不让进。现在这好景致,市南的公园,以及红岛的万亩枫林看比人发的都挺好看的,然而问题是太远了。尤其是从近城阳的地方开车过去也是比较费时间的,最后选择了世纪公园。

找个停车场停好车,步行到公园门口。门口一撮撮的大爷凑到一起,有的在下棋,有的在打扑克。这样的老年生活也挺好的,轻松自由。不过既然是拍照,那自然选几个场地就可以啦。

就在入口处转了转,拍了几套。这身打扮在这个季节还算是比较正常的。

等换上那条粉色的长裙之后,事情就变得没那么简单了,毕竟在这个季节还穿裙子的也的确是少数。补妆的时候,一只蚊子落在了胳膊上,化妆师小姐姐,眼疾手快直接给拍死了。没想到,冬天还有蚊子,蚊子也没想到,冬天还有穿的这么干净的,漏一大片的。

除了拍照也的确没有这种穿搭了,尽管在一周之前还看到不少拍婚纱照的,可能与工作日也有关系,可能也许是公园太偏僻,并没看到太多专程来拍照的。

直到看到这拍完的成片才发现,左下角那个姐妹的包包也入镜了。

拍照的时候,她就一直蹲在那个包包的旁边。过了几分钟,可能觉得无聊了,从包里拿出一包烟来,抽出来一只点上,抽了一口之后,就把烟夹在手指上,继续蹲那里看手机。拍照的时候,也不断的有人过来,可能都觉得这是个拍照的好地方吧。

等排到后面人越来越多了,再也没有多少空闲的地方。之前还想着往里走走,只是拍了一段时间,去湖边又拍了几站过之后却不想往里走了。总觉得有无数的好风光,但是这好风光却难以揽入怀中,毕竟时间终是有限,抱着这长裙在公园里面走也确实是有些累。

化妆的小姐姐说,裙子从后面已经扎到最紧了。感觉还是有点往下掉,有点走光。

减肥的事情依然在继续,这漫长的一个月有没有太大的进展。前天晚上,一边看《唐朝诡事录》一遍跳绳,一集电视剧看完,刚好跳了7000 多个。

昨天晚上想继续跳的时候,发身身体有点沉,跳不大动的样子,就跳了 2000 个就结束了。

状态不好的时候,真的跳不动。有的时候,挺想坚持一件事情,只是,稍微懈怠,这件事情就那么不了了之。再也没了后续,这坚持,又能坚持多久。

偶尔从镜子里看到自己,感觉似乎没那么老,但是,通过相机那高清的照片,看到自己的脸的时候,那种苍老感,却再也遮挡不住了。或许真的垂垂老矣。年龄这个东西,就这么一步步的赶尽杀绝,也不给任何喘息的机会。

的确是很多事情,再不做,可能就真的做不了了,在等待的时候,太多的事情拖到了终点,甚至是无疾而终。

多年以后,自己依然叛逆,那种自私而又无所畏惧的性格,或许,永远都不会变吧。

做的太多的事情,总是在补偿自己的童年,少年,年轻的时候那些所谓的爱而不得。

终于,现在能有能力补偿那个孩子的时候,有的时候又觉得太过于奢侈,或者不该去浪费。那种矛盾从来都没解决过,那种不了了之之后的失望更让人后悔。

不过是最终下定了决心:

我讨厌等待,我更讨厌爱而不得!

  •  

生如夏花

 

生命,一次又一次轻薄过。
轻狂不知疲倦。
–题记


我听见回声,来自山谷和心间。
以寂寞的镰刀收割空旷的灵魂。
不断地重复决绝,又重复幸福。
终有绿洲摇曳在沙漠。
我相信自己。
生来如同璀璨的夏日之花。
不凋不败,妖治如火。
承受心跳的负荷和呼吸的累赘。
乐此不疲。


我听见音乐,来自月光和胴体。
辅极端的诱饵捕获飘渺的唯美。
一生充盈着激烈,又充盈着纯然。
总有回忆贯穿于世间。
我相信自己。
死时如同静美的秋日落叶。
不盛不乱,姿态如烟。
即便枯萎也保留丰肌清骨的傲然。
玄之又玄。


我听见爱情,我相信爱情。
爱情是一潭挣扎的蓝藻。
如同一阵凄微的风。
穿过我失血的静脉。
驻守岁月的信念。


我相信一切能够听见。
甚至预见离散,遇见另一个自己。
而有些瞬间无法把握。
任凭东走西顾,逝去的必然不返。
请看我头置簪花,一路走来一路盛开。
频频遗漏一些,又深陷风霜雨雪的感动。


般若波罗蜜,一声一声。
生如夏花,死如秋叶。
还在乎拥有什么。

 

  •