QQ音乐一键刷:APP开发历程

QQ音乐一键刷:基于iApp的娱乐工具向软件

前言:

本软件是完全使用iApp(安卓可视化编程软件,官称:裕语言)编写的软件。其实对iApp这个软件,不能算的上真正意义上的编程软件,但是对于编程思维训练无疑是有一点帮助的,而且现在iApp提供的语言版本(v3,v5,v6,iGame)也越来越多,意味着可编写的软件功能越来越丰富,软件性能越来越高。本软件基于iApp v3开发。

软件

蓝奏云下载 访问密码:chun

软件更新历程:

v0.0.1 内测版

  1. 项目正式启动,对接接口;
  2. 无需密码一键刷;
  3. 本地存储保障账号安全(确实是太懒不想对接云端)。

v0.0.2 内测版

  1. 优化输入限制;
  2. 优化功能提示;
  3. 增加软件更多;
  4. 增加加载提示;
  5. 优化界面布局;
  6. 修复已知问题。

v0.0.3 测试版

  1. 新增实验性功能;
  2. 增加软件稳定性;
  3. 优化界面美观;
  4. 优化代码逻辑;
  5. 已知问题:“一键刷20小时”无法正常刷20小时,只有500分钟左右,并且不会增加音响力经验值。

v1.0.0公测版

  1. 下架无用实验性功能;
  2. 增加软件稳定性;
  3. 优化界面美观;
  4. 优化代码逻辑;
  5. 优化权限调用;
  6. 增加代码判断;
  7. 美化操作提示;
  8. 美化状态栏,增加系统判断;
  9. 美化界面跳转;
  10. 解决已知问题;
  11. 因接口问题,将“一键300分钟”改为“一键24小时”;
  12. 新增QQ一键打开排行榜。

软件部分内容开源

核心接口

基于网友分享的聚合刷接口,和谐时间未知,所以不稳定

http://shanhe.kim/api/qy2.0/music.php?uin=QQ号码

返回事例:

{ "status":"success", "uin":"10001", "message":"已为你刷取24个小时!", "url":"https://y.qq.com/m/client/vipexchange/index.html" }

 

并且还分享了html源码,不过是基于这个接口的界面,而不是接口源码,感兴趣的:下载链接(提取码:6666)

实现代码

iApp v3:

ug(5,"text",qq)
//获取编辑框输入的QQ号码
utw(null,"","请耐心等待","",true,wia)
{
}
t()
{
  ss("http://shanhe.kim/qy1/shanhe.php?uin="+qq+"&qq="+qq,url)
  hs(url,a)
  //简单的数据提交
  syso(a)
  json(a,ab)
  json(ab,"get","status",status)
  json(ab,"get","message",massage)
  //简单的数据处理
  ufnsui()
  {
    us(8,"text",status)
    f(massage=="请传入qq号")
    {
      us(9,"text","请输入你的QQ号码")
    }
    else
    {
      us(9,"text",massage)
    }
    f(status=="success")
    {
      tw("成功")
      endutw()
    }
    else f(status=="error")
    {
      tw("失败")
      endutw()
    }
    else
    {
      tw("错误码:000EX1")
      endutw()
    }
    //简单的数据判断
  }
}

其实没有什么干货,懂v3的一般都会

实验性功能(已经关闭)

其实这个刷20小时,就是把接口重复四次300分钟*4次=1200分钟=20小时

但是执行之后仅能收到的成功时长只有500分钟上下,可能原因有

  1. 接口本身基于多次聚合,多次执行无效
  2. 当天时间都还没过20小时,时间判断拦截
  3. 接口执行时间过短(暂未测试)

并且这500分钟还不能加入到音响力时长里面,原因暂不清楚

iApp v3实现调用QQ打开网站

实现代码:

s qqurl="https://y.qq.com/m/client/vipexchange/index.html"
//QQ音乐官方排行榜网址
java(bytes,qqurl,"String.getBytes","String","utf-8")
java(bytes2,null,"android.util.Base64.encode","byte[]",bytes,"int",2)
//base64加密网址 不然无法打开
javanew(wz,"String","byte[]",bytes2,"String","utf-8")
ss("mqqapi://forward/url?url_prefix="+wz+"&src_type=web&version=1",qurl)
sit(a,"action", "android.intent.action.VIEW")
sit(a,"data",qurl)
uit(a, "chooser", "QQ访问")
//QQ?启动!

Ps:貌似只能打开QQ的官方链接(可能是带qq.com的,具体判断方式不清楚)

发表回复

后才能评论