Compare commits

...

221 Commits

Author SHA1 Message Date
  caserKing 4732cfe9b9 Merge commit 'refs/tags/jenkins-front-end-screenad-340-v185^{}' into release 5 years ago
  caserKing 68df77801c 【大屏】【修改】【高度240】 5 years ago
  caserKing 7c0ab83430 Merge commit 'refs/tags/jenkins-front-end-screenad-338-v184^{}' into release 5 years ago
  caserKing d6614cb70d 【大屏】【修改】【去掉测试数据】 5 years ago
  caserKing 4c668f8b2c 【大屏】【测试提交1】 5 years ago
  caserKing 50be508097 【大屏】【优化】【删除多余log】 5 years ago
  caserKing 5ee01dbd3f Merge commit 'refs/tags/jenkins-front-end-screenad-329-^{}' into release 5 years ago
  caserKing 58d9636893 【大屏】【优化】【大屏的排名显示隐藏】 5 years ago
  caserKing d7abe27a8c 【大屏】【修改】【删除多余log】 5 years ago
  caserKing 6f645264a0 【大屏】【修改】】星星样式5】 5 years ago
  caserKing d0af46b122 【大屏】【修改】】星星样式4】 5 years ago
  caserKing 13f06f5313 【大屏】【修改】】星星样式3】 5 years ago
  caserKing dbf641eb06 【大屏】【修改】】星星样式2】 5 years ago
  caserKing fd548b344c 【大屏】【修改】】星星样式】 5 years ago
  caserKing a48da27793 '【大屏】【修改】【调整样式人气图标】' 5 years ago
  caserKing 850835feae 【大屏】【修改】【背景】 5 years ago
  caserKing 3f0b11fb07 【大屏】【添加】【排名接口screen】 5 years ago
  caserKing e8e6804786 【大屏】【切换回券模式] 5 years ago
  caserKing 572ea9111a 【大屏】【添加】【给纯广告图的模式加上排名] 5 years ago
  caserKing 0455c2443a 【大屏】【测试】【测试插件错误原因2] 5 years ago
  caserKing 98e6a11691 【大屏】【测试】【测试插件错误原因] 5 years ago
  caserKing 9af572f291 【大屏】【添加】【融合券和广告的动画】 5 years ago
  caserKing 0b55de9163 【大屏】【添加】【商户排行字号调整10】 5 years ago
  caserKing d63b84bf1a 【大屏】【修改】【排名布局2】 5 years ago
  caserKing c30801377b 【大屏】【修改】【排名布局】 5 years ago
  caserKing 67ce5d4931 【大屏】【添加】【商户排行字号调整9】 5 years ago
  caserKing b427299bf5 【大屏】【添加】【商户排行字号调整8】 5 years ago
  caserKing a34aac415a 【大屏】【添加】【商户排行字号调整7】 5 years ago
  caserKing b58e382b81 【大屏】【添加】【商户排行字号调整6】 5 years ago
  caserKing a902c1505f 【大屏】【添加】【商户排行字号调整5】 5 years ago
  caserKing cdf503afee 【大屏】【添加】【商户排行字号调整4】 5 years ago
  caserKing e971389a11 【大屏】【添加】【商户排行字号调整3】 5 years ago
  caserKing 0f3f9f0136 【大屏】【添加】【商户排行字号调整2】 5 years ago
  caserKing 4762c76a64 【大屏】【添加】【商户排行字号调整】 5 years ago
  caserKing cd40e4bedc 【大屏】【添加】【商户排行】 5 years ago
  caserKing b0cfdae068 Merge remote-tracking branch 'origin/develop' into release 5 years ago
  caserKing 3aa2a02d67 【大屏】【金额数字超限处理】 5 years ago
  hupeng b0cee92073 Merge commit 'refs/tags/jenkins-front-end-screenad-291-v153^{}' into release 5 years ago
  hupeng ca7181c879 [系统][修改]:固定codepush的版本 5 years ago
  hupeng e82c19ed14 [系统][修改]:固定codepush的版本 5 years ago
  caserKing 64b04af159 【测试包是否更新,加个空行】 5 years ago
  caserKing 29e783000c Merge branch 'develop' into release 5 years ago
  caserKing 63f5f1d98b '[大屏】【图片提交优惠/砍价】' 5 years ago
  caserKing c93aeffc6b Merge branch 'develop' of https://git.youlane.cn/mobileui/screenAd into develop 5 years ago
  caserKing fdf00c0668 【大屏】【修改】【加上白色图遮罩,透明度为.1 5 years ago
  hupeng f520725fd7 [系统][修改]:删除不需引入语句 5 years ago
  caserKing 8e63cc2d54 【大屏】【修改】【取消盒子阴影尝试】 5 years ago
  hupeng 9c6e85df0f [系统][修改]:删除不需要更新的文件 5 years ago
  caserKing 39f0ea43c9 【大屏】【修改】【codepush异常不重启】 5 years ago
  caserKing f94eed54d4 Merge branch 'develop' of https://git.youlane.cn/mobileui/screenAd into develop 5 years ago
  caserKing 277c29dd30 重新打最终包 5 years ago
  caserKing 05305fefa0 回滚到改动后版本 5 years ago
  caserKing 44a23912af Merge branch 'develop' of https://git.youlane.cn/mobileui/screenAd into develop 5 years ago
  caserKing e07ce48015 测试自动更新 5 years ago
  caserKing 5a14bbfa39 测试以前的自动更新02 5 years ago
  caserKing 2d4e5bd67c 【大屏】【测试提交] 5 years ago
  caserKing 67cc942bfd 【大屏】【测试提交] 5 years ago
  caserKing 72aeddcfba 【大屏】【测试提交] 5 years ago
  caserKing b062df4c35 【大屏】【修改】【添加默认图】 5 years ago
  caserKing 70d90e01eb 【大屏】【添加】【图片预加载处理】 5 years ago
  caserKing 285a1b7c75 【大屏】【优化】【图片预加载】 5 years ago
  caserKing c4ca42ef2f 【大屏】【测试】【提交测试】 5 years ago
  caserKing d5ab4d7a38 【大屏】【增加】【动画和券logo】 5 years ago
  hupeng 0787c492a2 [监控][修改]:调整服务前台化的位置 5 years ago
  caserKing 2fb7ab99c2 【大屏】【修改】【图片默认路径】 5 years ago
  hupeng 071dcabf4f [监控][修改]:打印引起的错误 5 years ago
  hupeng 998d25ac6f [监控][添加]:增加监控服务进程 5 years ago
  caserKing 6f01803715 【大屏】【修改】【定位样式】 5 years ago
  caserKing 1b48fdb6d6 【大屏】【修改】【调整比例】 5 years ago
  caserKing 96bf0aea00 【大屏】【修改】【播放方式】 5 years ago
  caserKing 4d1566185d 【大屏】【修改】【调整样式】 5 years ago
  caserKing a0fb10a394 【大屏】【修改】【透明度】 5 years ago
  caserKing ece490cce3 [大屏][修改][添加盒子阴影]】 5 years ago
  caserKing f23f1d4bbf 调小优惠券 5 years ago
  caserKing 6ae0fdae95 test数据 5 years ago
  caserKing 9696358614 测试模式 5 years ago
  caserKing 3f4ea581f0 timer另起名字 5 years ago
  caserKing 9cc45e9a8c 取消假数据,正式提交 5 years ago
  caserKing 4e48c19c96 3种播放提交02 5 years ago
  caserKing 92d53ad9c3 3种播放提交 5 years ago
  caserKing ecd90bb59d 测试重新安装05 5 years ago
  caserKing b6312a3fdd 测试重新安装04 5 years ago
  caserKing c6ccd3ec76 测试重新安装03 5 years ago
  caserKing 3d1e4777db 测试重新安装02 5 years ago
  caserKing 524c3b4b7b 测试重新安装 5 years ago
  caserKing c2a11df615 test-width 5 years ago
  caserKing fd2a0c4fcb 1084宽 5 years ago
  caserKing aabe4456d8 width不生效 5 years ago
  caserKing bda693f88f width 5 years ago
  caserKing 376d470b93 宽度100% 5 years ago
  caserKing 0511bd434c 添加border定位问题 5 years ago
  caserKing c1d38c0c4e 添加像素比 5 years ago
  caserKing 434bf3b8e2 切换轮播模式 5 years ago
  caserKing 08836f2d63 尝试处理轮播销毁操作 5 years ago
  caserKing a61ca99a74 轮播销毁后再用不会自动播放 5 years ago
  hupeng 8550157897 [动画][修改]:动画默认值 5 years ago
  hupeng a1aa8346c7 [升级][修改]:优化升级组件使用方式 5 years ago
  hupeng 54a4b19998 [升级][修改]:优化升级组件使用方式 5 years ago
  hupeng bfbdf6de43 [升级][修改]:优化升级组件使用方式 5 years ago
  hupeng 5cab2a84c4 [升级][修改]:优化升级组件使用方式 5 years ago
  hupeng 9b4512c979 [网络][修改]:删除图片缓存组件 5 years ago
  hupeng 8f360c9371 [网络][修改]:优化网络获取数据的方式 5 years ago
  hupeng 79512a4e6f [网络][修改]:优化网络获取数据的方式 5 years ago
  hupeng 43ce06e0b0 Merge commit 'refs/tags/jenkins-front-end-screenad-180-v29^{}' into develop 5 years ago
  hupeng b8c40d00ae [测试][升级]:升级方式测试 5 years ago
  hupeng d07167544b [测试][升级]:升级方式测试 5 years ago
  hupeng 5eeaaa6e2c Merge commit 'refs/tags/jenkins-front-end-screenad-177-v102^{}' into release 5 years ago
  hupeng b3d2d04f05 [测试][升级]:升级方式测试 5 years ago
  hupeng a5caf6ad42 Merge commit 'refs/tags/jenkins-front-end-screenad-175-v101^{}' into release 5 years ago
  hupeng 12fcab8103 [升级][修改]:升级模式 5 years ago
  hupeng b2eaf639f4 Merge commit 'refs/tags/jenkins-front-end-screenad-173-v100^{}' into release 5 years ago
  hupeng c002f19dff [数据][修改]:取消异步执行 5 years ago
  hupeng 7d20600665 Merge branch 'product' into develop 5 years ago
  hupeng 4b99cb3499 [图片][修改]:小程序公众号图片不使用缓存 5 years ago
  hupeng 06eac17e2b Merge commit 'refs/tags/jenkins-front-end-screenad-167-v99^{}' into release 5 years ago
  hupeng 181d16f34f [系统][修改]:配置文件中启用大内存选项 5 years ago
  hupeng 3648d4eb5e Merge commit 'refs/tags/jenkins-front-end-screenad-163-v97^{}' into release 5 years ago
  hupeng ff2e01c965 [图片][修改]:缓存除了商品外的其他图片 5 years ago
  hupeng e37f0abc22 Merge commit 'refs/tags/jenkins-front-end-screenad-149-v95^{}' into release 5 years ago
  hupeng 28a8009b93 [图片][修改]:图片的缩放方式 5 years ago
  hupeng 03da5f1529 Merge commit 'refs/tags/jenkins-front-end-screenad-147-v94^{}' into release 5 years ago
  hupeng 653b75fbb9 [图片][修改]:引入图片缓存模块 5 years ago
  hupeng ab2a36df3e Merge commit 'refs/tags/jenkins-front-end-screenad-145-v93^{}' into release 5 years ago
  hupeng 830f6f1727 [通信][修复]:图片压缩模式更改 5 years ago
  hupeng eca5bd37d2 Merge commit 'refs/tags/jenkins-front-end-screenad-143-v92^{}' into release 5 years ago
  hupeng 7f690c9406 [通信][修复]:切换为异步模式 5 years ago
  hupeng b3c7b0e23d [更新][修复]:更新方式更改 5 years ago
  hupeng c5843efdf4 Merge commit 'refs/tags/jenkins-front-end-screenad-139-v89^{}' into release 5 years ago
  hupeng e2ec37d0e1 Merge branch 'release' into develop 5 years ago
  hupeng a5f81efe3d [通信][修复]:访问增加超时机制 5 years ago
  hupeng c7fac98721 Merge commit 'refs/tags/jenkins-front-end-screenad-137-v88^{}' into release 5 years ago
  hupeng 0fb5abcec5 [异常][修复]:捕获更新中的异常 5 years ago
  hupeng 16c915a73c Merge commit 'refs/tags/jenkins-front-end-screenad-135-v87^{}' into release 5 years ago
  hupeng 3bc2fd48a4 [计时][修改]:同步的访问服务器数据,更换计时方式 5 years ago
  hupeng 3a7abc4183 Merge commit 'refs/tags/jenkins-front-end-screenad-131-v86^{}' into release 5 years ago
  hupeng 2a680cfffd Merge commit 'refs/tags/jenkins-front-end-screenad-130-v85^{}' into release 5 years ago
  hupeng 4b78338d03 [系统][升级]:更新数据存储方式 5 years ago
  hupeng b0c6d51993 [系统][升级]:更新RN版本,升级基础设施 5 years ago
  hupeng f7cde8a8db Merge commit 'refs/tags/jenkins-front-end-screenad-128-v84^{}' into release 5 years ago
  hupeng cff76f5db8 [系统][升级]:更新最新的RN和react版本 5 years ago
  hupeng e3e753e257 Merge commit 'refs/tags/jenkins-front-end-screenad-125-v83^{}' into release 5 years ago
  hupeng 8f121b4ffe [地址][修改]:更改js升级服务器的地址 5 years ago
  hupeng 00d033c309 Merge commit 'refs/tags/jenkins-front-end-screenad-122-v82^{}' into release 5 years ago
  hupeng e177fa0eea [显示][修改]:优化动画显示方式 5 years ago
  hupeng e2a5643bd0 Merge commit 'refs/tags/jenkins-front-end-screenad-120-v81^{}' into release 5 years ago
  hupeng 773df26bec [显示][修复]:更新提示显示问题 5 years ago
  hupeng 511ff309a3 Merge commit 'refs/tags/jenkins-front-end-screenad-118-v80^{}' into release 5 years ago
  hupeng 60db988d02 [显示][修复]:卡券封面显示不出来尝试修改 5 years ago
  hupeng 69a0dbb644 Merge commit 'refs/tags/jenkins-front-end-screenad-116-v79^{}' into release 5 years ago
  hupeng 72ee2b8e96 [显示][修复]:无广告时的错误提示 5 years ago
  hupeng ed37f9b4c2 Merge commit 'refs/tags/jenkins-front-end-screenad-114-v78^{}' into release 5 years ago
  hupeng ff9d6e0e38 [显示][修复]:无广告时的错误提示 5 years ago
  hupeng fa199cdb38 [显示][修复]:无广告时的错误提示 5 years ago
  hupeng e381cbf42f Merge commit 'refs/tags/jenkins-front-end-screenad-111-v77^{}' into release 5 years ago
  hupeng ccf9eec973 [显示][修改]:封装代码更新显示页面 5 years ago
  hupeng 9cb84f58aa [系统][更改]:没注册情况下心跳返回错误处理 5 years ago
  hupeng 9e1701037e [编译][修复]:key名称导致不能编译通过问题 5 years ago
  hupeng 2a009347cf [编译][修复]:key名称导致不能编译通过问题 5 years ago
  hupeng c7fa9dcc31 [编译][修改]:release编译问题解决 5 years ago
  hupeng 97f7fb1184 [编译][修改]:release编译问题解决 5 years ago
  hupeng f557f688d5 [编译][修改]:给release打包添加相应的key 5 years ago
  hupeng 894b071d5d [编译][修改]:给release打包添加相应的key 5 years ago
  hupeng 3acf65e184 Merge commit 'refs/tags/jenkins-front-end-screenad-102-v75^{}' into release 5 years ago
  meo 48c0860407 [版本号][增加]:[版本号中增加B字母] 5 years ago
  meo 9fd3223311 [底部版本号][修改]:[增加versionCode] 5 years ago
  meo 911aaf31af [心跳时间][修改]:[修改为10秒] 5 years ago
  meo 391c9169e9 [二维码][修改]:[二维码位置修改] 5 years ago
  meo 2779e54231 [二维码][修改]:[二维码位置修改] 5 years ago
  meo 2a1eb35d22 [扫码领取][修改]:[文字样式修改] 5 years ago
  meo 9a6836805e [扫码领取][修改]:[文字样式修改] 5 years ago
  meo 3c887a8f02 [楼层楼座][修改]:[样式修改] 5 years ago
  meo 679515ca6d [券][增加]:[增加楼层楼座] 5 years ago
  meo 3c4a2dba2d [修改时间间隔][修改] 5 years ago
  meo 320b570b6b [修改时间间隔][修改] 5 years ago
  meo 03de37170f [动画][修改]:[心跳时间修改] 5 years ago
  meo 2a395c9149 [动画][修改]:[心跳时间修改] 5 years ago
  meo 7f3641bf1d [动画][修改]:[修改动画] 5 years ago
  meo 5b696be3e9 [数据动态化]修改]:[修改心跳的数据动态化] 5 years ago
  meo 4c33422979 [数据动态化]修改]:[修改心跳的数据动态化] 5 years ago
  meo 316bc77682 [售价和面额][修改]:[售价和面额样式的修改] 5 years ago
  meo 6d2aca1dff [售价和面额][修改]:[售价和面额样式的修改] 5 years ago
  meo 2e9a1bc1d6 [售价面额][修改]:[文字大小和位置的修改] 5 years ago
  hupeng a6717a6f29 [显示][修改]:代码结构优化,修复不同种类券显示问题 5 years ago
  meo f91a34bb02 [售价样式修改] 5 years ago
  meo baa53d8716 [页面样式修改] 5 years ago
  meo 460613e145 [面额样式的修改] 5 years ago
  meo 0ba76b71d9 [增加注释,修改样式][修改] 5 years ago
  hupeng 626e9a7774 [显示][修复]:动画效果增加硬件加速选项 5 years ago
  meo bb1972805b [添加注释] 5 years ago
  hupeng d78a55ce8d [显示][修改]:字体调整,价格显示调整 5 years ago
  hupeng 3247327bfc [显示][修改]:动画延迟,中文状态提示 5 years ago
  hupeng 229952f6db [显示][修改]:logo背景和填充方式 5 years ago
  hupeng 0448538492 [显示][修改]:字号调整 5 years ago
  hupeng 224e763ee9 [显示][修改]:适配大屏的分辨率 5 years ago
  hupeng 92c7af45c8 [显示][修改]:适配真机大屏的点阵比 5 years ago
  hupeng 20197f6842 [系统][修改]:开机联网,获取信息检查 5 years ago
  hupeng 2dd823f533 [编译][新增]:获取系统信息,添加product编译模式 6 years ago
  hupeng f80eb821b2 [字体][修复]:标题超出部分进行缩略 6 years ago
  hupeng b7f5f1f8e1 [系统][修改]:心跳访问,抢购角标添加 6 years ago
  hupeng b28e550338 [功能][新增]:完善更新逻辑和相关的代码 6 years ago
  hupeng aec3707710 [样式][新增]:动画效果 6 years ago
  hupeng dc0de21cfa [系统][修改]:版本号的定义方式 6 years ago
  hupeng efb7695adc [升级][新增]:运行后自动升级 6 years ago
  hupeng 2ea27f9b15 [图片][新增]:砍价左上角的图标 6 years ago
  hupeng dd0aa0f8a4 [样式][新增]:优惠券动画效果 6 years ago
  hupeng 3ff426f33f [样式][新增]:砍价角标添加 6 years ago
  hupeng 8d664325e1 [样式][修改]:整个页面布局和样式调整 6 years ago
  hupeng e69604c191 [样式][修改]:调整二维码显示样式 6 years ago
  hupeng 910ca40239 [样式][修改]:调整二维码显示样式 6 years ago
  hupeng a4ae42a9a7 [样式][修改]:调整二维码显示样式 6 years ago
  hupeng ae95c3d9db [样式][修改]:调整APP整体样式 6 years ago
  hupeng 59645eab08 [页面][修改]:修改首页样式 6 years ago
  hupeng 1dcf427d4c [编译][修复]:新加模块的编译问题 6 years ago
  hupeng 063f912b31 [系统][新增]:相机插件和动画插件 6 years ago
  hupeng c69ad1b4be [系统][新增]:获取设备信息接口 6 years ago
  hupeng 48e3b42e4f [版本][更改]:可以在更新代码后看到版本号 6 years ago
  hupeng 4bc9902e4c [APP][修改]:引入package.json文件 6 years ago
  hupeng c2e07a413d Merge commit 'refs/tags/jenkins-front-end-screenad-12^{}' into release 6 years ago
  hupeng 2ce13b92b1 [编译][修改]:版本号转换未整数 6 years ago
  hupeng 49a2a23c43 [编译][更改]:gradle导入,pushcode主机地址导入 6 years ago
  hupeng 16628a00da [编译][更改]:添加版本号管理逻辑 6 years ago
58 changed files with 14261 additions and 256 deletions
Split View
  1. +1
    -2
      .flowconfig
  2. +10
    -0
      .gitignore
  3. +1543
    -176
      App.js
  4. +41
    -10
      HttpUtils.js
  5. +0
    -1
      __tests__/App-test.js
  6. +54
    -5
      android/app/build.gradle
  7. BIN
      android/app/libs/cron4j-2.2.5.jar
  8. BIN
      android/app/screenAd.keystore
  9. +16
    -3
      android/app/src/main/AndroidManifest.xml
  10. +22
    -0
      android/app/src/main/java/com/screenad/AutoStartBroadcastReceiver.java
  11. +153
    -0
      android/app/src/main/java/com/screenad/DaemonService.java
  12. +21
    -0
      android/app/src/main/java/com/screenad/MainActivity.java
  13. +36
    -12
      android/app/src/main/java/com/screenad/MainApplication.java
  14. +36
    -0
      android/app/src/main/java/com/screenad/RNBuildConfig.java
  15. +31
    -0
      android/app/src/main/java/com/screenad/RNBuildConfigPackage.java
  16. BIN
      android/app/src/main/res/drawable-mdpi/image_background.png
  17. BIN
      android/app/src/main/res/drawable-mdpi/image_discount.png
  18. BIN
      android/app/src/main/res/drawable-mdpi/image_groupbuy.png
  19. BIN
      android/app/src/main/res/drawable-mdpi/image_itembackground.png
  20. BIN
      android/app/src/main/res/drawable-mdpi/image_timed.png
  21. BIN
      android/app/src/main/res/drawable-mdpi/image_title.png
  22. BIN
      android/app/src/main/res/drawable-mdpi/image_titleqrcode.png
  23. +0
    -1
      android/app/src/main/res/values/strings.xml
  24. +1
    -7
      android/build.gradle
  25. +4
    -0
      android/gradle.properties
  26. BIN
      android/gradle/wrapper/gradle-5.4.1-all.zip
  27. BIN
      android/gradle/wrapper/gradle-wrapper.jar
  28. +1
    -1
      android/gradle/wrapper/gradle-wrapper.properties
  29. +17
    -1
      android/gradlew
  30. +17
    -1
      android/gradlew.bat
  31. +7
    -1
      android/settings.gradle
  32. +2
    -2
      babel.config.js
  33. BIN
      image/background-yellow.png
  34. BIN
      image/background.png
  35. BIN
      image/discount.png
  36. BIN
      image/groupbuy.png
  37. BIN
      image/hot_gray.png
  38. BIN
      image/hot_yellow.png
  39. BIN
      image/item-background.png
  40. BIN
      image/logo.png
  41. BIN
      image/page1.jpg
  42. BIN
      image/page2.jpg
  43. BIN
      image/page3.jpg
  44. BIN
      image/page4.jpg
  45. BIN
      image/star_gray.png
  46. BIN
      image/star_yellow.png
  47. BIN
      image/test-l.png
  48. BIN
      image/timed.png
  49. BIN
      image/title-qrcode.png
  50. BIN
      image/title.png
  51. BIN
      image/title_yellow.png
  52. +0
    -1
      index.js
  53. +85
    -9
      ios/screenAd.xcodeproj/project.pbxproj
  54. +2
    -1
      ios/screenAd/AppDelegate.h
  55. +15
    -13
      ios/screenAd/AppDelegate.m
  56. +17
    -0
      metro.config.js
  57. +12110
    -0
      package-lock.json
  58. +19
    -9
      package.json

+ 1
- 2
.flowconfig View File

@@ -24,7 +24,6 @@
[libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow/
node_modules/react-native/flow-github/

[options]
emoji=true
@@ -67,4 +66,4 @@ suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError

[version]
^0.86.0
^0.92.0

+ 10
- 0
.gitignore View File

@@ -54,3 +54,13 @@ buck-out/

# Bundle artifact
*.jsbundle
/yarn.lock

android/app/.classpath
android/app/.project
android/.project
android/.settings/*
android/app/.settings/*
android/app/src/main/gen/*
android/bin/*


+ 1543
- 176
App.js
File diff suppressed because it is too large
View File


+ 41
- 10
HttpUtils.js View File

@@ -1,17 +1,36 @@
export default class HttpUtil {
/**
* 利用 Promise 的 get 方式请求
* @param url
* @returns {Promise}
*/
static get(url) {
return new Promise((resolve, reject) => {
fetch(url)
request = new Promise((resolve, reject) => {
fetch(url, {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(result => resolve(result))
.catch(error => reject(error))
})
}).catch(e => reject(e.message));
const timeoutRequest = new Promise((resolve, reject) => {
setTimeout(reject, 30000, 'Request timeout');
});
return Promise
.race([request, timeoutRequest])
.then(res => {
return res
}, m => {
throw new Error(m);
});
}
/**
@@ -21,7 +40,7 @@ export default class HttpUtil {
* @returns {Promise}
*/
static post(url, params) {
return new Promise((resolve, reject) => {
request = new Promise((resolve, reject) => {
fetch(url, {
method: 'POST',
headers: {
@@ -29,11 +48,23 @@ export default class HttpUtil {
'Content-Type': 'application/json'
},
body: JSON.stringify(params)
})
.then(response => response.json())
.then(result => resolve(result))
.catch(error => reject(error))
})
}).then(response => response.json())
.then(result => resolve(result))
}).catch(e => reject(e.message));
const timeoutRequest = new Promise((resolve, reject) => {
setTimeout(reject, 30000, 'Request timeout');
});
return Promise
.race([request, timeoutRequest])
.then(res => {
return res
}, m => {
throw new Error(m);
});
}
}

__tests__/App.js → __tests__/App-test.js View File

@@ -1,6 +1,5 @@
/**
* @format
* @lint-ignore-every XPLATJSCOPYRIGHT1
*/

import 'react-native';

+ 54
- 5
android/app/build.gradle View File

@@ -96,35 +96,81 @@ def enableProguardInReleaseBuilds = false

android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

def getVersionCode = { ->
return project.hasProperty('versionCode') ? Integer.parseInt(project.versionCode) : 1
}

def getVersionName = { ->
return project.hasProperty('versionName') ? project.versionName : "1.0"
}

defaultConfig {
applicationId "com.screenad"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
versionCode = getVersionCode()
versionName getVersionName()
}

android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "screenad_" + variant.buildType.name + "_" + defaultConfig.versionCode + ".apk"
}
}

splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a"
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
debug {
buildConfigField "String", "API_HOST", "\"https://mall.youlane.cn/\""
buildConfigField "String", "CODEPUSH_HOST", "\"https://update.youlane.cn/\""
buildConfigField "String", "CODEPUSH_KEY", "\"8snO1yoHlvhEtBjr02zTr3g1comw4ksvOXqog\""
}
release {
buildConfigField "String", "API_HOST", "\"https://admintest.malls.iformall.com/\""
buildConfigField "String", "CODEPUSH_HOST", "\"https://update.youlane.cn/\""
buildConfigField "String", "CODEPUSH_KEY", "\"9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog\""
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
product.initWith(release)
product {
buildConfigField "String", "API_HOST", "\"https://admin.malls.iformall.com/\""
buildConfigField "String", "CODEPUSH_HOST", "\"https://update.malls.iformall.com/\""
buildConfigField "String", "CODEPUSH_KEY", "\"9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog\""
matchingFallbacks = ['product', 'release']
}

}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3]
def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
@@ -135,6 +181,9 @@ android {
}

dependencies {
implementation project(':react-native-svg')
implementation project(':react-native-camera')
implementation project(':react-native-device-info')
implementation project(':react-native-code-push')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"


BIN
android/app/libs/cron4j-2.2.5.jar View File


BIN
android/app/screenAd.keystore View File


+ 16
- 3
android/app/src/main/AndroidManifest.xml View File

@@ -3,7 +3,9 @@

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application
android:name=".MainApplication"
android:label="@string/app_name"
@@ -14,16 +16,27 @@

<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:screenOrientation="portrait"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
android:windowSoftInputMode="adjustResize"
android:largeHeap="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<service
android:name=".DaemonService"
android:exported="true"
android:launchMode="singleInstance" />
<receiver android:name=".AutoStartBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>
</application>

</manifest>

+ 22
- 0
android/app/src/main/java/com/screenad/AutoStartBroadcastReceiver.java View File

@@ -0,0 +1,22 @@
package com.screenad;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
//开机自启动广播接受
public class AutoStartBroadcastReceiver extends BroadcastReceiver {
static final String action_boot ="android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(action_boot) && !BuildConfig.BUILD_TYPE.equals("debug")){
Intent sayHelloIntent=new Intent(context,MainActivity.class);
sayHelloIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(sayHelloIntent);
}
}
}

+ 153
- 0
android/app/src/main/java/com/screenad/DaemonService.java View File

@@ -0,0 +1,153 @@
package com.screenad;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.NotificationChannel;
import android.app.Service;
import android.content.Intent;
import android.os.Build;
import android.os.IBinder;
import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.util.Log;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.ArrayList;
import java.util.List;
import com.screenad.MainApplication;
import it.sauronsoftware.cron4j.Scheduler;
/**
* 守护进程,同时用来升级程序
*/
public class DaemonService extends Service {
// 核心进程 Service ID
private final static int CORE_SERVICE_ID = -5122;
private ExecutorService executorService = Executors.newSingleThreadExecutor();
Scheduler scheduler;
public DaemonService() {
}
private static void log(String text) {
Log.i("DaemonService",text);
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
log("started");
//利用 Android 漏洞提高进程优先级, 前台进程
String CHANNEL_ONE_ID = "DaemonService";
String CHANNEL_ONE_NAME= "DaemonService";
NotificationChannel notificationChannel= null;
//进行8.0的判断
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
notificationChannel= new NotificationChannel(CHANNEL_ONE_ID,
CHANNEL_ONE_NAME, NotificationManager.IMPORTANCE_HIGH);
notificationChannel.setShowBadge(true);
notificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC);
NotificationManager manager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.createNotificationChannel(notificationChannel);
}
Notification notification= new Notification.Builder(this).setChannelId(CHANNEL_ONE_ID)
.setContentTitle("DaemonService")
.build();
notification.flags|= Notification.FLAG_NO_CLEAR;
startForeground(CORE_SERVICE_ID, notification);
executorService.submit(new Runnable() {
@Override
public void run() {
startCronTabTask();
}
});
return START_STICKY;
}
private boolean isProcessWork(Context context, String processName) {
ActivityManager myAM = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processInfos = myAM.getRunningAppProcesses();
if (processInfos == null) {
return false;
}
for (ActivityManager.RunningAppProcessInfo processInfo : processInfos) {
if (processInfo.processName.equals(processName)) {
return true;
}
}
return false;
}
private boolean isBackground(Context context, String packageName) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(packageName)) {
/* BACKGROUND=400 EMPTY=500 FOREGROUND=100 GONE=1000 PERCEPTIBLE=130 SERVICE=300 ISIBLE=200 */
log(appProcess.processName + " appimportace =" + appProcess.importance);
if (appProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
log("处于后台" + appProcess.processName);
return true;
} else {
log("处于前台" + appProcess.processName);
return false;
}
}
}
return false;
}
/**
* 开启cron4jtab定时任务
*/
private void startCronTabTask() {
if (scheduler != null) {
scheduler.stop();
}
scheduler = new Scheduler();
scheduler.isDaemon();
scheduler.schedule("* * * * *", new Runnable() {
public void run() {
try {
if (!isProcessWork(MainApplication.getContext(), "com.screenad") ||
isBackground(MainApplication.getContext(), "com.screenad")) {
log("正在重启 com.screenad...");
Intent newIntent = MainApplication.getContext().getPackageManager().getLaunchIntentForPackage("com.screenad");
MainApplication.getContext().startActivity(newIntent);
}else{
log("运行良好 com.screenad...");
}
} catch (Exception e) {
log(e.getMessage());
}
}
});
scheduler.start();
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onDestroy() {
super.onDestroy();
}
}

+ 21
- 0
android/app/src/main/java/com/screenad/MainActivity.java View File

@@ -1,5 +1,10 @@
package com.screenad;

import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;

import com.facebook.react.ReactActivity;

public class MainActivity extends ReactActivity {
@@ -8,6 +13,22 @@ public class MainActivity extends ReactActivity {
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

View decorView = getWindow().getDecorView();
int option = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(option);
getWindow().setNavigationBarColor(Color.TRANSPARENT);
getWindow().setStatusBarColor(Color.TRANSPARENT);

}

@Override
protected String getMainComponentName() {
return "screenAd";


+ 36
- 12
android/app/src/main/java/com/screenad/MainApplication.java View File

@@ -1,8 +1,16 @@
package com.screenad;

import com.screenad.DaemonService;
import android.app.Application;

import android.content.Context;
import android.content.Intent;
import com.facebook.react.ReactApplication;
import com.horcrux.svg.SvgPackage;
import org.reactnative.camera.RNCameraPackage;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.learnium.RNDeviceInfo.RNDeviceInfo;
import com.microsoft.codepush.react.CodePush;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
@@ -12,14 +20,16 @@ import com.facebook.soloader.SoLoader;
import java.util.Arrays;
import java.util.List;

import android.util.Log;

public class MainApplication extends Application implements ReactApplication {

private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {

@Override
protected String getJSBundleFile() {
return CodePush.getJSBundleFile();
}
@Override
protected String getJSBundleFile() {
return CodePush.getJSBundleFile();
}
@Override
public boolean getUseDeveloperSupport() {
@@ -29,13 +39,17 @@ public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CodePush(
getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey),
getApplicationContext(),
BuildConfig.DEBUG,
"http://202.165.179.86:3333/"
)
new MainReactPackage(),
new SvgPackage(),
new RNCameraPackage(),
new RNBuildConfigPackage(),
new RNDeviceInfo(),
new CodePush(
BuildConfig.CODEPUSH_KEY,
getApplicationContext(),
BuildConfig.DEBUG,
BuildConfig.CODEPUSH_HOST
)
);
}

@@ -45,6 +59,13 @@ public class MainApplication extends Application implements ReactApplication {
}
};

private static void log(String text) {
Log.i("MainApplication",text);
}
private static Context context;
public static Context getContext() {
return context;
}
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
@@ -53,6 +74,9 @@ public class MainApplication extends Application implements ReactApplication {
@Override
public void onCreate() {
super.onCreate();
context = this;
SoLoader.init(this, /* native exopackage */ false);
context.startForegroundService(new Intent(getContext(), DaemonService.class));
log("started");
}
}

+ 36
- 0
android/app/src/main/java/com/screenad/RNBuildConfig.java View File

@@ -0,0 +1,36 @@
package com.screenad;
import android.content.pm.PackageManager;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Nullable;
public class RNBuildConfig extends ReactContextBaseJavaModule {
public RNBuildConfig(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "BuildConfig";
}
@Override
public @Nullable
Map<String, Object> getConstants() {
HashMap<String, Object> constants = new HashMap<String, Object>();
constants.put("apiHost", BuildConfig.API_HOST);
constants.put("buildType", BuildConfig.BUILD_TYPE);
constants.put("versionCode", BuildConfig.VERSION_CODE);
constants.put("versionName", BuildConfig.VERSION_NAME);
return constants;
}
}

+ 31
- 0
android/app/src/main/java/com/screenad/RNBuildConfigPackage.java View File

@@ -0,0 +1,31 @@
package com.screenad;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RNBuildConfigPackage implements ReactPackage {
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new RNBuildConfig(reactContext));
return modules;
}
// Deprecated RN 0.47
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
}

BIN
android/app/src/main/res/drawable-mdpi/image_background.png View File

Before After
Width: 1080  |  Height: 1920  |  Size: 995 KiB

BIN
android/app/src/main/res/drawable-mdpi/image_discount.png View File

Before After
Width: 142  |  Height: 142  |  Size: 11 KiB

BIN
android/app/src/main/res/drawable-mdpi/image_groupbuy.png View File

Before After
Width: 141  |  Height: 141  |  Size: 33 KiB

BIN
android/app/src/main/res/drawable-mdpi/image_itembackground.png View File

Before After
Width: 1080  |  Height: 428  |  Size: 28 KiB

BIN
android/app/src/main/res/drawable-mdpi/image_timed.png View File

Before After
Width: 141  |  Height: 141  |  Size: 33 KiB

BIN
android/app/src/main/res/drawable-mdpi/image_title.png View File

Before After
Width: 546  |  Height: 198  |  Size: 67 KiB

BIN
android/app/src/main/res/drawable-mdpi/image_titleqrcode.png View File

Before After
Width: 268  |  Height: 268  |  Size: 28 KiB

+ 0
- 1
android/app/src/main/res/values/strings.xml View File

@@ -1,4 +1,3 @@
<resources>
<string moduleConfig="true" name="reactNativeCodePush_androidDeploymentKey">9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog</string>
<string name="app_name">screenAd</string>
</resources>

+ 1
- 7
android/build.gradle View File

@@ -13,7 +13,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath("com.android.tools.build:gradle:3.4.0")

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -31,9 +31,3 @@ allprojects {
}
}
}


task wrapper(type: Wrapper) {
gradleVersion = '4.7'
distributionUrl = distributionUrl.replace("bin", "all")
}

+ 4
- 0
android/gradle.properties View File

@@ -16,3 +16,7 @@
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
MYAPP_RELEASE_STORE_FILE=screenAd.keystore
MYAPP_RELEASE_KEY_ALIAS=screenAd
MYAPP_RELEASE_STORE_PASSWORD=formall2019
MYAPP_RELEASE_KEY_PASSWORD=formall2019

BIN
android/gradle/wrapper/gradle-5.4.1-all.zip View File


BIN
android/gradle/wrapper/gradle-wrapper.jar View File


+ 1
- 1
android/gradle/wrapper/gradle-wrapper.properties View File

@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip
distributionUrl=gradle-5.4.1-all.zip

+ 17
- 1
android/gradlew View File

@@ -1,5 +1,21 @@
#!/usr/bin/env sh

#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

##############################################################################
##
## Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"


+ 17
- 1
android/gradlew.bat View File

@@ -1,3 +1,19 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem http://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome


+ 7
- 1
android/settings.gradle View File

@@ -1,5 +1,11 @@
rootProject.name = 'screenAd'
include ':react-native-svg'
project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
include ':react-native-camera'
project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')
include ':react-native-code-push'
project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '..\\node_modules\\react-native-code-push\\android\\app')
project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app')

include ':app'

+ 2
- 2
babel.config.js View File

@@ -1,3 +1,3 @@
module.exports = {
presets: ["module:metro-react-native-babel-preset"]
}
presets: ['module:metro-react-native-babel-preset'],
};

BIN
image/background-yellow.png View File

Before After
Width: 1080  |  Height: 1920  |  Size: 824 KiB

BIN
image/background.png View File

Before After
Width: 1080  |  Height: 1920  |  Size: 995 KiB

BIN
image/discount.png View File

Before After
Width: 142  |  Height: 142  |  Size: 11 KiB

BIN
image/groupbuy.png View File

Before After
Width: 141  |  Height: 141  |  Size: 33 KiB

BIN
image/hot_gray.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.3 KiB

BIN
image/hot_yellow.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.5 KiB

BIN
image/item-background.png View File

Before After
Width: 1080  |  Height: 428  |  Size: 28 KiB

BIN
image/logo.png View File

Before After
Width: 88  |  Height: 63  |  Size: 9.4 KiB

BIN
image/page1.jpg View File

Before After
Width: 700  |  Height: 1244  |  Size: 383 KiB

BIN
image/page2.jpg View File

Before After
Width: 700  |  Height: 1244  |  Size: 383 KiB

BIN
image/page3.jpg View File

Before After
Width: 700  |  Height: 1244  |  Size: 383 KiB

BIN
image/page4.jpg View File

Before After
Width: 700  |  Height: 1244  |  Size: 383 KiB

BIN
image/star_gray.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.7 KiB

BIN
image/star_yellow.png View File

Before After
Width: 200  |  Height: 200  |  Size: 5.9 KiB

BIN
image/test-l.png View File

Before After
Width: 63  |  Height: 64  |  Size: 4.2 KiB

BIN
image/timed.png View File

Before After
Width: 141  |  Height: 141  |  Size: 33 KiB

BIN
image/title-qrcode.png View File

Before After
Width: 268  |  Height: 268  |  Size: 28 KiB

BIN
image/title.png View File

Before After
Width: 546  |  Height: 198  |  Size: 67 KiB

BIN
image/title_yellow.png View File

Before After
Width: 539  |  Height: 195  |  Size: 64 KiB

+ 0
- 1
index.js View File

@@ -1,6 +1,5 @@
/**
* @format
* @lint-ignore-every XPLATJSCOPYRIGHT1
*/

import {AppRegistry} from 'react-native';


+ 85
- 9
ios/screenAd.xcodeproj/project.pbxproj View File

@@ -39,8 +39,14 @@
ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; };
ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED2971642150620600B7C4FE /* JavaScriptCore.framework */; };
84325BCA939E4E4E8090435C /* libCodePush.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 928B0784CE244B05BADC60D9 /* libCodePush.a */; };
1D9B977EF02A4A4889A3DB8D /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 66D0C7202A274329A44896AF /* libz.tbd */; };
206CC543489C4F7995B4032A /* libCodePush.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 891CFC0FAA7D49E980C84838 /* libCodePush.a */; };
C7220E8B42ED4C16A6C2AE14 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 03F6F5CC7188401F80052D6D /* libz.tbd */; };
FEBB7F68D5534228A6A832AD /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C488E5D3FD5417DAAAA5C79 /* libRNDeviceInfo.a */; };
59D20E8E9CD64A01B87A3AC0 /* libRNDeviceInfo-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D705AD40EF415A95C31652 /* libRNDeviceInfo-tvOS.a */; };
D240C4819F1E4B80BB6D7BEE /* libRNCamera.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F8C0E0ED2BA401B9075C9F3 /* libRNCamera.a */; };
BA9EAC9D8E144D058AC73DD2 /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 99C586CF88164E08936AF0C0 /* libRNFetchBlob.a */; };
B4144D9AB571435787D52BFB /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C56D91B66FA473E89F6B165 /* libRNSVG.a */; };
C109232BD2434156AC1DB82B /* libRNSVG-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA6B0CF8B7494E2E82C54C57 /* libRNSVG-tvOS.a */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
@@ -348,9 +354,19 @@
ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = "<group>"; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
0CB64B19BE27429888B0F5FA /* CodePush.xcodeproj */ = {isa = PBXFileReference; name = "CodePush.xcodeproj"; path = "../node_modules/react-native-code-push/ios/CodePush.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
928B0784CE244B05BADC60D9 /* libCodePush.a */ = {isa = PBXFileReference; name = "libCodePush.a"; path = "libCodePush.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
66D0C7202A274329A44896AF /* libz.tbd */ = {isa = PBXFileReference; name = "libz.tbd"; path = "usr/lib/libz.tbd"; sourceTree = SDKROOT; fileEncoding = undefined; lastKnownFileType = sourcecode.text-based-dylib-definition; explicitFileType = undefined; includeInIndex = 0; };
D256D2ADE9FF4E9782EBCA6D /* CodePush.xcodeproj */ = {isa = PBXFileReference; name = "CodePush.xcodeproj"; path = "../node_modules/react-native-code-push/ios/CodePush.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
891CFC0FAA7D49E980C84838 /* libCodePush.a */ = {isa = PBXFileReference; name = "libCodePush.a"; path = "libCodePush.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
03F6F5CC7188401F80052D6D /* libz.tbd */ = {isa = PBXFileReference; name = "libz.tbd"; path = "usr/lib/libz.tbd"; sourceTree = SDKROOT; fileEncoding = undefined; lastKnownFileType = sourcecode.text-based-dylib-definition; explicitFileType = undefined; includeInIndex = 0; };
C6058A0BC9054E0394045AC4 /* RNDeviceInfo.xcodeproj */ = {isa = PBXFileReference; name = "RNDeviceInfo.xcodeproj"; path = "../node_modules/react-native-device-info/ios/RNDeviceInfo.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
0C488E5D3FD5417DAAAA5C79 /* libRNDeviceInfo.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo.a"; path = "libRNDeviceInfo.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
22D705AD40EF415A95C31652 /* libRNDeviceInfo-tvOS.a */ = {isa = PBXFileReference; name = "libRNDeviceInfo-tvOS.a"; path = "libRNDeviceInfo-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
0F57B32024664223A7D6E682 /* RNCamera.xcodeproj */ = {isa = PBXFileReference; name = "RNCamera.xcodeproj"; path = "../node_modules/react-native-camera/ios/RNCamera.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
4F8C0E0ED2BA401B9075C9F3 /* libRNCamera.a */ = {isa = PBXFileReference; name = "libRNCamera.a"; path = "libRNCamera.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
BE5C3F5DA65B4EFC83BEC512 /* RNFetchBlob.xcodeproj */ = {isa = PBXFileReference; name = "RNFetchBlob.xcodeproj"; path = "../node_modules/react-native-fetch-blob/ios/RNFetchBlob.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
99C586CF88164E08936AF0C0 /* libRNFetchBlob.a */ = {isa = PBXFileReference; name = "libRNFetchBlob.a"; path = "libRNFetchBlob.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
D6E9CCF6747C429FACC9C9EE /* RNSVG.xcodeproj */ = {isa = PBXFileReference; name = "RNSVG.xcodeproj"; path = "../node_modules/react-native-svg/ios/RNSVG.xcodeproj"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = wrapper.pb-project; explicitFileType = undefined; includeInIndex = 0; };
9C56D91B66FA473E89F6B165 /* libRNSVG.a */ = {isa = PBXFileReference; name = "libRNSVG.a"; path = "libRNSVG.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
DA6B0CF8B7494E2E82C54C57 /* libRNSVG-tvOS.a */ = {isa = PBXFileReference; name = "libRNSVG-tvOS.a"; path = "libRNSVG-tvOS.a"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = archive.ar; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
@@ -379,8 +395,12 @@
832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
84325BCA939E4E4E8090435C /* libCodePush.a in Frameworks */,
1D9B977EF02A4A4889A3DB8D /* libz.tbd in Frameworks */,
206CC543489C4F7995B4032A /* libCodePush.a in Frameworks */,
C7220E8B42ED4C16A6C2AE14 /* libz.tbd in Frameworks */,
FEBB7F68D5534228A6A832AD /* libRNDeviceInfo.a in Frameworks */,
D240C4819F1E4B80BB6D7BEE /* libRNCamera.a in Frameworks */,
BA9EAC9D8E144D058AC73DD2 /* libRNFetchBlob.a in Frameworks */,
B4144D9AB571435787D52BFB /* libRNSVG.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -397,6 +417,8 @@
2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,
2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
59D20E8E9CD64A01B87A3AC0 /* libRNDeviceInfo-tvOS.a in Frameworks */,
C109232BD2434156AC1DB82B /* libRNSVG-tvOS.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -533,7 +555,7 @@
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
2D16E6891FA4F8E400B85C8A /* libReact.a */,
66D0C7202A274329A44896AF /* libz.tbd */,
03F6F5CC7188401F80052D6D /* libz.tbd */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -571,7 +593,11 @@
832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
0CB64B19BE27429888B0F5FA /* CodePush.xcodeproj */,
D256D2ADE9FF4E9782EBCA6D /* CodePush.xcodeproj */,
C6058A0BC9054E0394045AC4 /* RNDeviceInfo.xcodeproj */,
0F57B32024664223A7D6E682 /* RNCamera.xcodeproj */,
BE5C3F5DA65B4EFC83BEC512 /* RNFetchBlob.xcodeproj */,
D6E9CCF6747C429FACC9C9EE /* RNSVG.xcodeproj */,
);
name = Libraries;
sourceTree = "<group>";
@@ -1200,10 +1226,17 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Debug;
@@ -1226,10 +1259,17 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Release;
@@ -1253,6 +1293,10 @@
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Debug;
@@ -1275,6 +1319,10 @@
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Release;
@@ -1305,10 +1353,17 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Debug;
@@ -1339,10 +1394,17 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Release;
@@ -1372,10 +1434,17 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Debug;
@@ -1405,10 +1474,17 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
"\"$(SRCROOT)/$(TARGET_NAME)\"",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)\..\node_modules\react-native-code-push\ios\CodePush/**",
"$(SRCROOT)\..\node_modules\react-native-device-info\ios\RNDeviceInfo",
"$(SRCROOT)\..\node_modules\react-native-camera\ios/**",
"$(SRCROOT)\..\node_modules\react-native-fetch-blob\ios/**",
"$(SRCROOT)\..\node_modules\react-native-svg\ios/**",
);
};
name = Release;


+ 2
- 1
ios/screenAd/AppDelegate.h View File

@@ -5,9 +5,10 @@
* LICENSE file in the root directory of this source tree.
*/

#import <React/RCTBridgeDelegate.h>
#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>
@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>

@property (nonatomic, strong) UIWindow *window;



+ 15
- 13
ios/screenAd/AppDelegate.m View File

@@ -8,6 +8,7 @@
#import "AppDelegate.h"
#import <CodePush/CodePush.h>

#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>

@@ -15,20 +16,12 @@

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
moduleName:@"screenAd"
initialProperties:nil];

#ifdef DEBUG
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
jsCodeLocation = [CodePush bundleURL];
#endif

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"screenAd"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [UIColor blackColor];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
@@ -38,4 +31,13 @@
return YES;
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
return [CodePush bundleURL];
#endif
}

@end

+ 17
- 0
metro.config.js View File

@@ -0,0 +1,17 @@
/**
* Metro configuration for React Native
* https://github.com/facebook/react-native
*
* @format
*/

module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};

+ 12110
- 0
package-lock.json
File diff suppressed because it is too large
View File


+ 19
- 9
package.json View File

@@ -7,17 +7,27 @@
"test": "jest"
},
"dependencies": {
"react": "16.6.3",
"react-native": "0.58.4",
"react-native-code-push": "^5.5.2",
"react-native-swiper": "^1.5.14"
"code-push": "2.0.7",
"react": "16.8.3",
"react-native": "0.59.9",
"react-native-animatable": "^1.3.2",
"react-native-camera": "^1.12.0",
"react-native-code-push": "5.6.1",
"react-native-device-info": "^2.1.2",
"react-native-shadow": "^1.2.2",
"react-native-snap-carousel": "^3.8.0",
"react-native-star-rating-view": "0.0.12",
"react-native-svg": "^9.6.2",
"react-native-swiper": "^1.5.14",
"rn-fetch-blob": "^0.10.15"
},
"devDependencies": {
"babel-core": "7.0.0-bridge.0",
"babel-jest": "24.1.0",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3"
"@babel/core": "^7.4.5",
"@babel/runtime": "^7.4.5",
"babel-jest": "^24.8.0",
"jest": "^24.8.0",
"metro-react-native-babel-preset": "^0.54.1",
"react-test-renderer": "16.8.3"
},
"jest": {
"preset": "react-native"


Loading…
Cancel
Save