From cc572ca66e1ad4c5ce96c85602342f5e443e0b76 Mon Sep 17 00:00:00 2001 From: chenxiaojun <956334972@qq.com> Date: Mon, 18 Nov 2019 10:47:59 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=90=8E=E5=8F=B0->?= =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E5=91=98->=E6=8E=A8=E5=B9=BF=E5=91=98?= =?UTF-8?q?=E7=BC=96=E8=BE=91--=E4=BA=8C=E7=BA=A7=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E5=90=8D=E8=AF=8D=E8=A7=A3=E9=87=8A=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/View/Promote/add.html | 12 ++++++------ Application/Admin/View/Promote/edit.html | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Application/Admin/View/Promote/add.html b/Application/Admin/View/Promote/add.html index 2e002fc29..aa06266ae 100644 --- a/Application/Admin/View/Promote/add.html +++ b/Application/Admin/View/Promote/add.html @@ -3,17 +3,17 @@ - - - + + - - - + + +
diff --git a/Application/Admin/View/Promote/edit.html b/Application/Admin/View/Promote/edit.html index 64bac02d2..365ca2e56 100644 --- a/Application/Admin/View/Promote/edit.html +++ b/Application/Admin/View/Promote/edit.html @@ -171,7 +171,7 @@ 二级密码: - 二级密码为推广员后台会长代充时使用 + 二级密码适用于推广后台会长代充与财务管理功能 From 3453de757fb2753edd8fdb6bf686898aa6b6d460 Mon Sep 17 00:00:00 2001 From: zhanglingsheng Date: Mon, 18 Nov 2019 11:02:21 +0800 Subject: [PATCH 02/12] =?UTF-8?q?sdk=E8=8F=9C=E5=8D=95=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/SdkMenuController.class.php | 300 ++++++++---------- 1 file changed, 138 insertions(+), 162 deletions(-) diff --git a/Application/Admin/Controller/SdkMenuController.class.php b/Application/Admin/Controller/SdkMenuController.class.php index faefbfea9..f6cf3ddbb 100644 --- a/Application/Admin/Controller/SdkMenuController.class.php +++ b/Application/Admin/Controller/SdkMenuController.class.php @@ -2,175 +2,151 @@ namespace Admin\Controller; -class SdkMenuController extends ThinkController{ +class SdkMenuController extends ThinkController +{ - public $but_type = [ - '0' => 'h5页面', - '1' => '原生', - '2' => '外部链接', - '3' => 'h5资源', - ]; + public $but_type = [ + '0' => 'h5页面', + '1' => '原生', + '2' => '外部链接', + '3' => 'h5资源', + ]; - public $menu_version = [ - '0' => '双平台', - '1' => '安卓', - '2' => 'ios', - ]; + public $menu_version = [ + '0' => '双平台', + '1' => '安卓', + '2' => 'ios', + ]; - public function lists() - { - $menu_name = I('get.menu_name','sdk_menu'); - $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); - $config = json_decode($sdkMenus['config'],true); - if(!empty($config)) - { - foreach($config as $k => $v) - { - $config[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon']; - $config[$k]['type'] = $this->but_type[$v['type']]; - $config[$k]['menu_version'] = $this->menu_version[$v['menu_version']]; - } - } - $this->assign('list',$config); - $this->assign('menu_name',$menu_name); - $this->assign('menu_list',$this->getMenuList()); - $this->meta_title = '悬浮球菜单'; - $this->display('lists'); - } + public function lists() + { + $menu_name = I('get.menu_name', 'sdk_menu'); + $sdkMenus = M('tool', 'tab_')->where(['name' => $menu_name])->find(); + $config = json_decode($sdkMenus['config'], true); + if (!empty($config)) { + foreach ($config as $k => $v) { + $config[$k]['icon'] = is_https() ? 'https://' : 'http://' . $_SERVER['HTTP_HOST'] . $v['icon']; + $config[$k]['type'] = $this->but_type[$v['type']]; + $config[$k]['menu_version'] = $this->menu_version[$v['menu_version']]; + } + } + $this->assign('list', $config); + $this->assign('menu_name', $menu_name); + $this->assign('menu_list', $this->getMenuList()); + $this->meta_title = '悬浮球菜单'; + $this->display('lists'); + } - public function add() - { - $menu_name = I('get.menu_name','sdk_menu'); - $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); - $config = json_decode($sdkMenus['config'],true); - if(!empty($config)) - { - $config1 = $config; - $id = array_pop($config1); - $id = $id['id'] + 1; - }else - { - $config = []; - $id = 1; - } + public function add() + { + $menu_name = I('get.menu_name', 'sdk_menu'); + $sdkMenus = M('tool', 'tab_')->where(['name' => $menu_name])->find(); + $config = json_decode($sdkMenus['config'], true); + if (!empty($config)) { + $config1 = $config; + $id = array_pop($config1); + $id = $id['id'] + 1; + } else { + $config = []; + $id = 1; + } - if(IS_POST) - { - $post = I('post.'); - $cover = $_REQUEST['icon']; - $post['cover'] = $cover; - $post['id'] = $id; - array_push($config,$post); - $sdkMenus['config'] = json_encode($config); - if(empty($sdkMenus['name'])) - { - $sdkMenus['name'] = $menu_name; - $sdkMenus['title'] = '悬浮球菜单'; - M('tool','tab_')->data($sdkMenus)->add(); - }else - { - M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); - } - $this->success('新增成功', U('lists',['menu_name' => $menu_name])); - } + if (IS_POST) { + $post = I('post.'); + $post['cover'] = $post['icon']; + $post['id'] = $id; + $post['icon'] = get_cover($post['icon'], "path"); + array_push($config, $post); + $sdkMenus['config'] = json_encode($config); + if (empty($sdkMenus['name'])) { + $sdkMenus['name'] = $menu_name; + $sdkMenus['title'] = '悬浮球菜单'; + M('tool', 'tab_')->data($sdkMenus)->add(); + } else { + M('tool', 'tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); + } + $this->success('新增成功', U('lists', ['menu_name' => $menu_name])); + } - $data['sort'] = $id; - $this->meta_title = '悬浮球菜单'; - $this->assign('type','add'); - $this->assign('data',$data); - $this->assign('menu_name',$menu_name); - $this->assign('but_type',$this->but_type); - $this->assign('menu_version',$this->menu_version); - $this->display('add'); - } + $data['sort'] = $id; + $this->meta_title = '悬浮球菜单'; + $this->assign('type', 'add'); + $this->assign('data', $data); + $this->assign('menu_name', $menu_name); + $this->assign('but_type', $this->but_type); + $this->assign('menu_version', $this->menu_version); + $this->display('add'); + } - public function edit($id) - { - $menu_name = I('get.menu_name','sdk_menu'); - $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); - $config = json_decode($sdkMenus['config'],true); - if(IS_POST) - { - foreach($config as $k => $v) - { - if($v['id'] == $id) - { - $post = I('post.'); - foreach($post as $key => $val) - { - if($key == 'icon') - { - $picRes = M('picture')->where(['id'=>intval($val)])->find(); - $path = $picRes['path']; - $config[$k][$key] = $path; - $config[$k]['cover'] = $val; - }else - { - $config[$k][$key] = $val; - $config[$k]['cover'] = ''; - } - } - break; - } - } - $sdkMenus['config'] = json_encode($config); - M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); - $this->success('修改成功', U('lists',['menu_name' => $menu_name])); - } - $data = []; - foreach($config as $k => $v) - { - if($v['id'] == $id) - { - $v['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon']; - $data = $v; - break; - } - } - if(empty($data)) - { - $this->error('菜单不存在','lists'); - } - $img[0] = $data['cover']; - $this->meta_title = '悬浮球菜单'; - $this->assign('type','edit'); - $this->assign('data',$data); - $this->assign('img',$img); - $this->assign('menu_name',$menu_name); - $this->assign('but_type',$this->but_type); - $this->assign('menu_version',$this->menu_version); - $this->display('add'); - } + public function edit($id) + { + $menu_name = I('get.menu_name', 'sdk_menu'); + $sdkMenus = M('tool', 'tab_')->where(['name' => $menu_name])->find(); + $config = json_decode($sdkMenus['config'], true); + if (IS_POST) { + foreach ($config as $k => $v) { + if ($v['id'] == $id) { + $post = I('post.'); + foreach ($post as $key => $val) { + if ($key == 'icon') { + $config[$k]['cover'] = $post['icon']; + $config[$k]['icon'] = get_cover($post['icon'], "path"); + } else { + $config[$k][$key] = $post[$key]; + } + } + break; + } + } + $sdkMenus['config'] = json_encode($config); + M('tool', 'tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); + $this->success('修改成功', U('lists', ['menu_name' => $menu_name])); + } + $data = []; + foreach ($config as $k => $v) { + if ($v['id'] == $id) { + $data = $v; + break; + } + } + if (empty($data)) { + $this->error('菜单不存在', 'lists'); + } + $img[0] = $data['cover']; + $this->meta_title = '悬浮球菜单'; + $this->assign('type', 'edit'); + $this->assign('data', $data); + $this->assign('img', $img); + $this->assign('menu_name', $menu_name); + $this->assign('but_type', $this->but_type); + $this->assign('menu_version', $this->menu_version); + $this->display('add'); + } + public function del($id) + { + $menu_name = I('get.menu_name', 'sdk_menu'); + if (!is_array($id)) { + $data[] = $id; + } else { + $data = $id; + } + $sdkMenus = M('tool', 'tab_')->where(['name' => $menu_name])->find(); + $config = json_decode($sdkMenus['config'], true); + foreach ($config as $k => $v) { + if (in_array($v['id'], $data)) { + unset($config[$k]); + } + } + $sdkMenus['config'] = json_encode($config); + M('tool', 'tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); + $this->success('删除成功', U('lists', ['menu_name' => $menu_name])); + } - public function del($id) - { - $menu_name = I('get.menu_name','sdk_menu'); - if(!is_array($id)) - { - $data[] = $id; - }else - { - $data = $id; - } - $sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find(); - $config = json_decode($sdkMenus['config'],true); - foreach($config as $k => $v) - { - if(in_array($v['id'], $data)) - { - unset($config[$k]); - } - } - $sdkMenus['config'] = json_encode($config); - M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save(); - $this->success('删除成功', U('lists',['menu_name' => $menu_name])); - } + public function getMenuList() + { + $data = M('tool', 'tab_')->where(['type' => 5])->select(); + return $data; + } - public function getMenuList() - { - $data = M('tool','tab_')->where(['type' => 5])->select(); - return $data; - } - -} \ No newline at end of file +} From 2e0a8d2ad08a7f83f7110c8ee2e65600ca344c0a Mon Sep 17 00:00:00 2001 From: yulingwei <2436953959@qq.com> Date: Mon, 18 Nov 2019 11:02:56 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controller/StatisticsController.class.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Application/Admin/Controller/StatisticsController.class.php b/Application/Admin/Controller/StatisticsController.class.php index 3b4b3f85e..4dd30404b 100644 --- a/Application/Admin/Controller/StatisticsController.class.php +++ b/Application/Admin/Controller/StatisticsController.class.php @@ -48,10 +48,10 @@ class StatisticsController extends ThinkController { $this->assign('pay',$list_data['pay']); $this->assign('game_chart',$list_data['chart']); - $this->assign('promotereg',$promote_data['reg']); - $this->assign('promoteactive',$promote_data['active']); - $this->assign('promotepay',$promote_data['pay']); - $this->assign('promote_chart',$promote_data['chart']); + $this->assign('promotereg',array_slice($promote_data['reg'], 0, 10)); + $this->assign('promoteactive',array_slice($promote_data['active'], 0, 10)); + $this->assign('promotepay',array_slice($promote_data['pay'], 0, 10)); + $this->assign('promote_chart', $promote_data['chart']); // 日历 From f074ce853b3b6f590f801dfdc2e6fcecac2d59da Mon Sep 17 00:00:00 2001 From: zhanglingsheng Date: Mon, 18 Nov 2019 11:23:23 +0800 Subject: [PATCH 04/12] =?UTF-8?q?sdk=E8=8F=9C=E5=8D=95=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Admin/View/SdkMenu/add.html | 2 +- composer.lock | 62 ------------------------- 2 files changed, 1 insertion(+), 63 deletions(-) delete mode 100644 composer.lock diff --git a/Application/Admin/View/SdkMenu/add.html b/Application/Admin/View/SdkMenu/add.html index efe1b1c63..172d71f96 100644 --- a/Application/Admin/View/SdkMenu/add.html +++ b/Application/Admin/View/SdkMenu/add.html @@ -109,7 +109,7 @@
--> - +
diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 93e978410..000000000 --- a/composer.lock +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "e64bb985b0f808db7d5076e5d7204d7d", - "packages": [ - { - "name": "rodneyrehm/plist", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/rodneyrehm/CFPropertyList.git", - "reference": "2ea0483806c989eb0518a767fa29a111bb29cb67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rodneyrehm/CFPropertyList/zipball/2ea0483806c989eb0518a767fa29a111bb29cb67", - "reference": "2ea0483806c989eb0518a767fa29a111bb29cb67", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "autoload": { - "psr-0": { - "CFPropertyList": "classes/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Kruse", - "email": "cjk@wwwtech.de" - }, - { - "name": "Rodney Rehm", - "email": "mail+github@rodneyrehm.de" - } - ], - "description": "Library for reading and writing Apple's CFPropertyList (plist) files in XML as well as binary format.", - "homepage": "https://github.com/rodneyrehm/CFPropertyList", - "keywords": [ - "plist" - ], - "time": "2015-01-28T23:18:19+00:00" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} From 787d7573f0c38b0f77dd8df4016dae18ca386cf6 Mon Sep 17 00:00:00 2001 From: sunke <18850253506@163.com> Date: Mon, 18 Nov 2019 11:32:34 +0800 Subject: [PATCH 05/12] bug --- .../Home/Controller/SafeController.class.php | 34 ++++++++- Application/Home/View/default/Query/arpu.html | 75 +++++-------------- .../View/default/Safe/modifyBaseInfo.html | 2 +- .../Home/View/default/Safe/safeDocument.html | 31 ++++++-- 4 files changed, 74 insertions(+), 68 deletions(-) diff --git a/Application/Home/Controller/SafeController.class.php b/Application/Home/Controller/SafeController.class.php index eba3dda20..1da2fa477 100644 --- a/Application/Home/Controller/SafeController.class.php +++ b/Application/Home/Controller/SafeController.class.php @@ -320,12 +320,38 @@ class SafeController extends BaseController{ public function safeDocument() { $time = time(); + $today = date('Y-m-d'); + $username = $_REQUEST['username']; + $tsession =S($today); + if(S($username)) { + $code = S($username); + }else { + if(!empty($tsession)) { + $num = $tsession + 1; + }else { + $num = 1; + } + $promoteRs = M('promote','tab_')->where(['account'=>$username])->getField('create_time',true); + $code = date('Ymd',$promoteRs[0])."_".$num; + } + $endTime = date('Y-m-d',strtotime('+1 year')); - $loginPromote = $this->getLoginPromote(); - $sn = date('Ymd', $loginPromote['create_time']) . '-' . strtoupper(substr(md5($loginPromote['id']), 8, 16)); $this->assign('time',date('Y-m-d',$time)); $this->assign('endTime',$endTime); - $this->assign('sn',$sn); + $this->assign('code',$code); + $this->assign('username',$username); $this->display(); } -} \ No newline at end of file + + public function ajaxAgree() { + $username = $_REQUEST['username']; + $code = $_REQUEST['code']; + $today = date('Y-m-d'); + if(empty(S($username))) { + S($username, $code); + $t = S($today); + S($today,$t+1); + } + $this->ajaxReturn(['code'=>10000]); + } +} \ No newline at end of file diff --git a/Application/Home/View/default/Query/arpu.html b/Application/Home/View/default/Query/arpu.html index f25fac533..3573fe7d1 100644 --- a/Application/Home/View/default/Query/arpu.html +++ b/Application/Home/View/default/Query/arpu.html @@ -76,47 +76,31 @@
  • 关键词说明
  • 活跃用户 - 当日在线的推广玩家 -
  • -
  • - 付费游戏数 - 当日有产生付费的游戏(区分 Android与ios) -
  • -
  • - 新增用户 - 当日新注册用户付费用户:当日游戏充值用户 + 当天登录的用户总数
  • 付费用户 - 当日游戏充值用户 + 当天付费的用户数量
  • 新增付费用户 - 注册以来首次充值的用户 -
  • -
  • - 付费总额 - 当日充值总额 + 当天付费用户中第一次付费的用户数
  • 新增付费额 - 新增注册用户充值总额 + 第一次付费的玩家当天充值总额
  • 付费率 - 单日在线玩家充值率 -
  • -
  • - 累计付费用户 - 历史累计付费注册用户(去重) + 付费用户/活跃用户
  • - ARPU - 即每个用户平均收入 + ARPU(每用户平均付费) + 当日总充值/活跃用户数
  • - ARPPU - 每付费用户平均收益 + ARPPU(付费用户的平均付费) + 当日总充值/付费用户数
  • @@ -164,17 +148,17 @@ 所属渠道 - 活跃用户 - 新增用户 - 付费用户 - 新增付费用户 - 付费总额 - 付费率 - 新增付费额 - 累计付费用户 + 活跃用户 + 新增用户 + 付费用户 + 新增付费用户 + 付费总额 + 付费率 + 新增付费额 + 累计付费用户 - ARPU - ARPPU + ARPU + ARPPU 详情 @@ -324,27 +308,6 @@ var gameId = $('#game-select').val(); } var promoteUrl = "{:U('Query/getSubPromotes')}" initPromoteSelect(promoteUrl) - - $('.keywords_information .keywords_mark').click(function() { - var that = $(this).siblings().addClass('active'); - console.log(that); - $(document).click(function(event) { - var e = event || window.event; - var target= $(e.target); - if (!target.hasClass('keywords_information') && target.closest('.keywords_information').length<1) { - that.removeClass('active'); - } - - }); - - that.find('.keywords_close').click(function() { - that.removeClass('active'); - - return false; - }); - - return false; - }); diff --git a/Application/Home/View/default/Safe/modifyBaseInfo.html b/Application/Home/View/default/Safe/modifyBaseInfo.html index feb19c12a..eb9eda853 100644 --- a/Application/Home/View/default/Safe/modifyBaseInfo.html +++ b/Application/Home/View/default/Safe/modifyBaseInfo.html @@ -235,7 +235,7 @@ - 我已仔细阅读,并同意《游戏推广服务框架协议》 + 我已仔细阅读,并同意《游戏推广服务框架协议》 diff --git a/Application/Home/View/default/Safe/safeDocument.html b/Application/Home/View/default/Safe/safeDocument.html index 9a0b21d5a..a2f05aaf3 100644 --- a/Application/Home/View/default/Safe/safeDocument.html +++ b/Application/Home/View/default/Safe/safeDocument.html @@ -9,6 +9,7 @@ and open the template in the editor. TODO supply a title +