跳到主要内容

接口记账

since v2.0.3

从2.0.3版本开始,小花记账支持接口记账。

注意

接口记账非屏幕识别技术,不会实时监控用户屏幕。

自动接口记账目前需要手动点击确认,才能添加账单,并不能自动添加账单。

自动接口记账目前仅支持 Android 系统,处于实验阶段,请勿过度依赖。

原理​

通过 Android 中的 Uri Schema,采用 Deep Link 技术,通过 Tasker 等应用,捕获通知栏中金额的显示(例如微信支付后,会向用户发送消息,消息中包含了金额)。

然后 Tasker 发起一个 Browser URL 任务,再通过 Deep Link ,直达小花的记账页中。

接口说明​

接口示例​

提示

您可通过手机浏览器中访问接口地址,体验一下自动接口记账功能。

xhjz://api/chamberlain/save?type=1&amount=26.5&orderName=餐饮美食&amountDate=2024-08-21 10:00:00&note=黄焖鸡米饭

接口参数​

参数含义示例是否必填
type账单的类型,0收入,1支出,2不计入收支type=1是
amount账单金额,大于0的数字,保留两位小数amount=26.5是
orderName账单分类名称orderName=餐饮美食否,默认为账单类型type中,第一个分类名称
amountDate记账时间,格式需符合 yyyy-MM-dd HH:mm:ssamountDate=2024-08-21 10:00:00否,默认值为当前时间
note备注,字数不能超过30个字符note=黄焖鸡米饭否,可为空

如何实现自动接口记账​

提示

该功能需要一定的动手能力,包括在电脑端执行相关命令

安装 Tasker​

地址:https://tasker.joaoapps.com

下载 Tasker 配置文件​

备注

目前配置文件仅支持微信支付,其他APP配置请根据内容自行参考

点击下载配置文件

导入配置 Tasker​

[左下角的主页] -> [导入项目] -> [选择你手机中下载的配置文件xhjz] -> [点击开启按钮]

如果提示需要相关权限,则需要开启对应权限

开启 Tasker 权限​

[Tasker右上角] -> [更多] -> [android设置]

建议开启如下功能:

  • 无障碍设置(已下载应用中选择Tasker并开启)
  • 通知访问服务

在你的系统中,例如小米手机长按Tasker图标后,点击“应用详情”,找到“权限相关”,建议开启如下功能:

  • 自启动
  • 通知管理:允许
  • 省电策略:无限制
  • 后台加锁(防止清空内存)

开启小花记账权限​

在你的系统中,例如小米手机长按小花记账图标后,点击“应用详情”,找到“权限相关”,建议开启如下功能:

  • 自启动
  • 省电策略:无限制
  • 后台加锁(防止清空内存)

电脑相关​

  • 在电脑端安装adb命令:https://blog.csdn.net/Python_0011/article/details/132040387

    命令行窗口执行adb version成功显示版本号,则安装成功

  • 手机开启USB调试(首先需要开启开发者模式,一般是多次点击系统版本号,能看到开发者模式选项)

  • 手机连接电脑,通过adb devices查看是否连接上,如果显示:

    List of devices attached
    ****** device (****表示一堆字母)

    则表明已成功连接

  • 命令行窗口执行:adb shell pm grant net.dinglisch.android.taskerm android.permission.READ_LOGS

  • 命令行窗口执行:adb shell am force-stop net.dinglisch.android.taskerm

  • 重新打开Tasker应用

最终效果​

  1. 微信支付后,会弹出通知栏消息,包含了金额
  2. Tasker 捕获到通知栏消息,发起 Browser URL 任务
  3. 通过 Deep Link 技术,Tasker会跳转小花记账APP,直达记账页面,将金额自动填写在金额输入框中
  4. 点击确认,入账成功

其他配置​

自动返回上个APP​

如果您需要在记账成功后,自动返回上个APP,您可以在 [我的] -> [自动化] -> [接口记账] 中,开启“自动返回上个APP”功能。

您还可以配置延迟秒数,例如延迟 3 秒后,自动返回上个APP。

更新日志​

  • v2.0.10 - 修复了某些情况下可能自动记账过程中,分类识别无效的bug