Giter VIP home page Giter VIP logo

moshicoco / apple-monitor Goto Github PK

View Code? Open in Web Editor NEW
333.0 6.0 38.0 14.28 MB

一个用 Java 实现的 Apple 商店库存监控,支持bark,dingtalk,微信等方式推送实时库存信息。目前支持**和日本地区。An Apple store inventory monitoring implemented in Java, supports bark, dingtalk, WeChat and other methods to push real-time inventory information. Currently supports China and Japan regions.

License: MIT License

Java 99.56% Dockerfile 0.44%

apple-monitor's Introduction

AppleMonitor

GitHub stars GitHub forks GitHub issues GitHub license GitHub All Releases GitHub release (latest SemVer) Hits

AppleMonitor

一个用 Java 实现的 Apple 线下商店库存监控工具,支持bark,飞书机器人等消息推送方式。

目前已经支持监控**大陆,**香港,**澳门,****,日本等地区的苹果商店。

Currently, it supports monitoring Apple Stores in mainland China, Hong Kong, Macau, China Taiwan, Japan and other regions.

使用效果

效果图

如何使用

  1. 下载构建的产物压缩包 releases版本
  2. 解压压缩包,文件内会包含一个可执行的jar和一份config.json配置文件,以及说明文档若干。
  3. 编辑config.json配置你需要监控的产品型号以及地区即可,可支持cron表达式自定义监控频率。
  4. 执行命令 java -jar apple-monitor-v0.0.9.jar

配置文件参数解释

含义
cronExpressions 执行的cron表达式,建议执行时间间隔设置为 (监控的设备型号数*3)秒,如果你不会写corn表达式,建议使用程序输出的推荐表达式
country 需要监控的国家,目前仅支持"CN","JP" ,CN-MACAO,CN-HK,CN-TW
location 你所在的区域,要用苹果官网风格的地址,例如 广东 深圳 南山区 或者 重庆 重庆 XX区
deviceCodeList Object List
deviceCode 需要监控的产品代码 产品型号列表
storeWhiteList 商店白名单,一个区域可能有多个商店,仅监控白名单中的商店,模糊匹配,不填则默认监控所有
pushConfigs Object List 推送配置
barkPushUrl bark推送服务器地址,默认为 https://api.day.app/push
barkPushToken bark token 获取BarkToken请参考
barkPushSound bark 推送铃声
feishuBotWebhooks 飞书机器人webhook地址
feishuBotSecret 飞书机器人secret

配置文件示例

{
  "appleTaskConfig": {
    "cronExpressions": "*/12 * * * * ?",
    "country": "CN",
    "location": "广东 深圳 南山区",
    "deviceCodeList": [
      {
        "deviceCode": "MTQA3CH/A",
        "storeWhiteList": [
          "益田假日"
        ],
        "pushConfigs": [
          {
            "barkPushUrl": "https://api.day.app/push",
            "barkPushToken": "你的token",
            "barkPushSound": "multiwayinvitation.caf",
            "feishuBotWebhooks": "",
            "feishuBotSecret": ""
          }
        ]
      },
      {
        "deviceCode": "MTQC3CH/A",
        "storeWhiteList": [
          "益田假日"
        ],
        "pushConfigs": [
          {
            "barkPushUrl": "",
            "barkPushToken": "",
            "feishuBotWebhooks": "",
            "feishuBotSecret": ""
          }
        ]
      }
    ]
  }
}

注: 如果需要监控日本地区的情况,请将country设置为JP, location设置为你所在的区域邮编,例如:197-0804,deviceCodes设置为你需要监控的产品型号(日本版本型号),storeWhiteList设置为你需要监控的商店,例如 新宿 ,不填则默认监控所有。

日本地域プロファイル参照例 config-jp.json

如何使用Bark请参考 Bark使用文档

苹果产品型号代码请参考 产品型号列表

支持的推送方式

  • feishu bot
  • bark

常见问题

  • 如果使用 Windows 系统的CMD执行出现乱码,执行前先执行 chcp 65001 这条命令。

关注我

wechatOrCode

免责

  1. 本项目仅用于学习研究,禁止任何人用于商业及非法用途,如产生法律纠纷与本人无关。
  2. 本项目为开源项目,若相关公司有异议,请邮件联系作者,作者收到邮件后会及时处理。

致谢

感谢 JetBrains 对本项目的支持。

JetBrains

License

Stargazers over time

Stargazers over time

apple-monitor's People

Contributors

dependabot[bot] avatar imgbotapp avatar lrannn avatar moshicoco avatar sven0219 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

apple-monitor's Issues

jar文件执行不起来

请问大佬这是什么原因

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "top.misec.applemonitor.config.AppCfg.getAppleTaskConfig()" because "appCfg" is null at top.misec.applemonitor.AppleMonitorMain.main(AppleMonitorMain.java:27)

关于 澳门店 监控的设置

请问 如果要监控澳门的话这样设置有错吗?

{
"appleTaskConfig": {
"cronExpressions": "*/6 * * * * ?",
"country": "CN-MACAO",
"location": "澳門",
"deviceCodes": [
"MQ8A3ZA/A"
],
"storeWhiteList": [
"澳門銀河",
"路氹金光"
]
},

这是什么意思啊

�[1;30m2023-10-09 16:55:15�[0;39m �[32mINFO �[0;39m �[1;30m[main]�[0;39m �[36mt.m.a.c.AppleTaskConfig�[0;39m : 机器人开 始干活啦
Exception in thread "main" top.misec.bark.exception.BarkException: pushUrl is invalid
at top.misec.bark.BarkPush.(BarkPush.java:35)
at top.misec.applemonitor.config.AppleTaskConfig.lambda$valid$0(AppleTaskConfig.java:61)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at top.misec.applemonitor.config.AppleTaskConfig.lambda$valid$1(AppleTaskConfig.java:51)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at top.misec.applemonitor.config.AppleTaskConfig.valid(AppleTaskConfig.java:46)
at top.misec.applemonitor.AppleMonitorMain.main(AppleMonitorMain.java:27)

小白提问,谢谢大佬

我是小白,请教一下,为什么cmd界面全是乱码,能不能改一个功能,有货才提醒。哈哈哈,一直提醒不好

{ "appleTaskConfig": { "cronExpressions": "*/12 * * * * ?", "country": "CN", "location": "福建 福州 晋安区", "deviceCodeList": [ { "deviceCode": "MTQA3CH/A", "storeWhiteList": [ "泰禾广场" ], "pushConfigs": [ { "barkPushUrl": "", "barkPushToken": "", "feishuBotWebhooks": "", "feishuBotSecret": "" } ] }, { "deviceCode": "MTQC3CH/A", "storeWhiteList": [ "泰禾广场" ], "pushConfigs": [ { "barkPushUrl": "", "barkPushToken": "", "feishuBotWebhooks": "", "feishuBotSecret": "" } ] } ] } }

java se版本1.8.0_381运行出现错误

java -jar apple-monitor-v0.0.9.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: top/misec/applemonitor/AppleMonitorMain has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

昨天还可以,今天一直报错填错产品代码

2023-09-22 09:25:20 INFO [hutool-cron-1] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息
2023-09-22 09:25:24 INFO [hutool-cron-0] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息
2023-09-22 09:25:26 INFO [hutool-cron-0] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息
2023-09-22 09:25:30 INFO [hutool-cron-1] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息
2023-09-22 09:25:32 INFO [hutool-cron-1] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息
2023-09-22 09:25:36 INFO [hutool-cron-0] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息
2023-09-22 09:25:38 INFO [hutool-cron-0] t.m.a.j.AppleMonitor : 您可能填错产品代码了,目前仅支持监控**和日本地区的产品,注意不同国家的机型型号不同,下面是是错误信息

win10 系统,config.json默认

java.lang.NullPointerException: Cannot invoke "top.misec.applemonitor.config.MonitorCfg.valid()" because "config" is null
at top.misec.applemonitor.AppleMonitorMain.main(AppleMonitorMain.java:20)

Windows环境报错,求教最低Java版本要求

java -jar apple-monitor-v0.0.9.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: top/misec/applemonitor/AppleMonitorMain has been compiled by a more recent version of the Java Run
time (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
看样子是Java版本过低

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.