新添功能-SDK用户菜单

master
Your Name 5 years ago
parent d3bdb1eaa0
commit 06c74d0157

@ -0,0 +1,124 @@
<?php
namespace Admin\Controller;
class SdkMenuController extends ThinkController{
public function lists()
{
$sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->find();
$config = json_decode($sdkMenus['config'],true);
foreach($config as $k => $v)
{
$config[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['SERVER_NAME'] . $v['icon'];
}
$this->assign('list',$config);
$this->meta_title = 'SDk用户菜单';
$this->display('lists');
}
public function add()
{
$sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->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.');
$post['id'] = $id;
array_push($config,$post);
$sdkMenus['config'] = json_encode($config);
M('tool','tab_')->where(['name' => 'sdk_menu'])->data($sdkMenus)->save();
$this->success('新增成功', U('lists'));
}
$data['sort'] = $id;
$this->meta_title = 'SDk用户菜单';
$this->assign('type','add');
$this->assign('data',$data);
$this->display('add');
}
public function edit($id)
{
$sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->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][$key] = strstr($val,'/Upload');
}else
{
$config[$k][$key] = $val;
}
}
break;
}
}
$sdkMenus['config'] = json_encode($config);
M('tool','tab_')->where(['name' => 'sdk_menu'])->data($sdkMenus)->save();
$this->success('修改成功', U('lists'));
}
$data = [];
foreach($config as $k => $v)
{
if($v['id'] == $id)
{
$v['icon'] = is_https()?'https://':'http://' . $_SERVER['SERVER_NAME'] . $v['icon'];
$data = $v;
break;
}
}
if(empty($data))
{
$this->error('菜单不存在','lists');
}
$this->meta_title = 'SDk用户菜单';
$this->assign('type','edit');
$this->assign('data',$data);
$this->display('add');
}
public function del($id)
{
if(!is_array($id))
{
$data[] = $id;
}else
{
$data = $id;
}
$sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->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' => 'sdk_menu'])->data($sdkMenus)->save();
$this->success('删除成功', U('lists'));
}
}

@ -0,0 +1,141 @@
<extend name="Public/base"/>
<block name="body">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">{$meta_title}</h3>
<p class="description_text"></p>
</div>
<div class="tab-content tabcon1711 tabcon17112">
<IF condition="$type == edit">
<form action="{:U('edit')}" method="post" class="form-horizontal form_info_ml">
<else />
<form action="{:U('add')}" method="post" class="form-horizontal form_info_ml">
</IF>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l noticeinfo">菜单名称</td>
<td class="r table_radio">
<input type="text" class="" name="name" value="{$data.name|default=''}" >
</td>
</tr>
<tr>
<td class="l noticeinfo">菜单标题</td>
<td class="r table_radio">
<input type="text" class="" name="title" value="{$data.title|default=''}" >
</td>
</tr>
<tr>
<td class="l noticeinfo">菜单链接</td>
<td class="r table_radio">
<input type="text" class="" name="url" value="{$data.url|default=''}" >
</td>
</tr>
<tr>
<td class="l noticeinfo">url类型</td>
<td class="r table_radio">
<span class="form_select">
<select name="type">
<option value="1">原生</option>
<option value="0">h5页面</option>
</select>
</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">跳转目标</td>
<td class="r table_radio">
<input type="text" class="" name="url_action" value="{$data.url_action|default=''}" placeholder='url类型为原生时填写'>
</td>
</tr>
<tr>
<td class="l noticeinfo">排序</td>
<td class="r table_radio">
<input type="text" class="" name="sort" value="{$data.sort|default=''}">
</td>
</tr>
<tr class="picbox">
<td class="l noticeinfo">菜单图标</td>
<td class="r table_radio">
<span class="form_icon table_btn table_upload">
<input type="file" id="upload_picture_icon">
<input type="hidden" name="icon" id="cover_id_icon" value="{$data.icon}" />
<div class="upload-img-box">
<notempty name="data['icon']">
<div class="upload-pre-item">
<span class="placeholder-graphic placeholder-graphic_icon"><img src="{$data['icon']}"/></span>
</div>
</notempty>
</div>
</span>
<span class="notice-text" style="left:215px;">菜单图标</span>
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="id" value="{:I('id')}">
<script type="text/javascript">
//上传图片
/* 初始化上传插件 */
//上传游戏图标
/* 初始化上传插件 */
$("#upload_picture_icon").uploadify({
"height" : 30,
"swf" : "__STATIC__/uploadify/uploadify.swf",
"fileObjName" : "download",
"buttonText" : "上传图标",
"uploader" : "{:U('File/uploadPicture',array('session_id'=>session_id()))}",
"width" : 120,
'removeTimeout' : 1,
'fileTypeExts' : '*.jpg; *.jpeg; *.png; *.gif;',
"onUploadSuccess" : upload_picture_icon{$field.name},
'onFallback' : function() {
alert('未检测到兼容版本的Flash.');
}
});
function upload_picture_icon{$field.name}(file, data){
var data = $.parseJSON(data);
var src = '';
if(data.status){
src = data.path || data.url;
$("#cover_id_icon").val(src);
$("#cover_id_icon").parent().find('.upload-img-box').html(
'<div class="upload-pre-item"><span class="placeholder-graphic placeholder-graphic_icon"><img src="' + src + '"/></span></div>'
);
} else {
updateAlert(data.info);
setTimeout(function(){
$('#top-alert').find('button').click();
$(that).removeClass('disabled').prop('disabled',false);
},1500);
}
}
</script>
</form>
<div class="form-item cf">
<button class="submit_btn ajax-post mlspacing" id="submit" type="submit" target-form="form-horizontal">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="javascript:window.history.back();" >
返回
</a>
</div>
</div>
</block>
<block name="script">
<script type="text/javascript" charset="utf-8">
//导航高亮
highlight_subnav('{:U('SdkMenu/lists')}');
</script>
</block>

@ -0,0 +1,167 @@
<extend name="Public/base"/>
<block name="body">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">{$meta_title}</h3>
<p class="description_text"></p>
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<a class="" href="{:U('add')}"><span class="button_icon button_icon1"></span>新增</a>
<a class=" ajax-post confirm" url="{:U('del')}" target-form="ids"><span class="button_icon button_icon2"></span>删 除</a>
</div>
</div>
<div class="data_list">
<table style="text-align:center">
<thead>
<tr>
<th>
<input class="checkbox check-all" type="checkbox">
</th>
<th style="text-align:center">ID</th>
<th style="text-align:center">菜单名称</th>
<th style="text-align:center">菜单标题</th>
<th style="text-align:center">菜单图标</th>
<th style="text-align:center">菜单链接</th>
<th style="text-align:center">url类型</th>
<th style="text-align:center">跳转目标</th>
<th style="text-align:center">排序</th>
<th style="text-align:center">操作</th>
</tr>
</thead>
<tbody>
<notempty name="list">
<volist name="list" id="channel">
<tr>
<td><input class="ids" type="checkbox" name="id[]" value="{$channel.id}"></td>
<td>{$channel.id}</td>
<td>{$channel.name}</td>
<td>{$channel.title}</td>
<td><img src="{$channel.icon}"></td>
<td>{$channel.url}</td>
<td>{$channel.type}</td>
<td>{$channel.action}</td>
<td>
<div name="sort" data-title="{$channel.game_name} 排序设置" game-id="{$channel.id}" class="tab_not_same editTab">
<span class="w70">{$channel.sort}</span>
</div>
</td>
<td>
<a title="编辑" href="{:U('edit?id='.$channel['id'].'&pid='.$pid)}">编辑</a>
<a class="confirm ajax-get" title="删除" href="{:U('del?id='.$channel['id'])}">删除</a>
</td>
</tr>
</volist>
<else/>
<td colspan="9" class="text-center">aOh! 暂时还没有内容!</td>
</notempty>
</tbody>
</table>
</div>
<div class="page">
{$_page|default=''}
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$m_title}">
<input type="hidden" name="url" value="{$m_url}">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/layer/extend/layer.ext.js"></script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('SdkMenu/lists')}');
Think.setValue('row',"{:I('row',10)}");
$(function() {
//点击排序
$('.list_sort').click(function(){
var url = $(this).attr('url');
var ids = $('.ids:checked');
var param = '';
if(ids.length > 0){
var str = new Array();
ids.each(function(){
str.push($(this).val());
});
param = str.join(',');
}
if(url != undefined && url != ''){
window.location.href = url + '/ids/' + param;
}
});
});
$('.editTab').click(function() {
var that = $(this),num = $.trim(that.children().text());
var id = that.attr('game-id');
var names = that.attr('name');
var title = that.attr('data-title');
layer.prompt({title:title,formType:0},function(value,index) {
if (!/^(?:0|[1-9][0-9]*)$/.test(value)) {
updateAlert('请输入正整数','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
return false;
}
layer.close(index);
var arr = {};
arr.id = id;
arr[names] = value;
$.ajax({
async: false,
url:"{:U('edit')}",
type:"POST",
dataType:"json",
data:arr,
success:function(result){
if(result.status){
//layer.msg('修改成功',{icon: 1});
updateAlert('修改成功');
setTimeout(function(){
$('#tip').find('.tipclose').click();
window.location.reload();
},2000);
}else{
//layer.msg('修改失败',{icon: 2});
updateAlert('修改失败','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
}
},
error:function(){
//layer.msg('服务器异常');
updateAlert('服务器异常','tip_error');
setTimeout(function(){
$('#tip').find('.tipclose').click();
},2000);
}
});
});
return false;
});
</script>
</block>

@ -226,28 +226,13 @@ function get_game_param($game_id,$field="",$type=''){
function getChinaChar($num)
{
// $string = '';
// for ($i=0; $i<$num; $i++) {
// // 使用chr()函数拼接双字节汉字前一个chr()为高位字节,后一个为低位字节
// $a = chr(mt_rand(0xB0,0xD0)).chr(mt_rand(0xA1, 0xF0));
// // 转码
// $string .= iconv('GB2312', 'UTF-8', $a);
// }
// return $string;
$char = file_get_contents(APP_PATH.'Sdk/SecretKey/Data/chinaChar.txt');
$str = '';
$length = strlen($char);
for($i = 0;$i < $num;$i++)
{
$rand = rand(0,$length);
for(;$rand >= 0;$rand--)
{
if($rand == 0 || $rand %3 ==0)
{
break;
}
}
$str = $str . substr($char,$rand,3);
$str .= substr($char,$rand*3,3);
}
return $str;
}

@ -1,7 +1,7 @@
<?php
namespace Sdk\Controller;
use Think\Controller;
class GameController extends BaseController{
class GameController extends Controller{
/**
* 读取游戏客服qq
* @param int $game_id 游戏ID
@ -40,51 +40,26 @@ class GameController extends BaseController{
* 小纯洁
*/
public function get_suspend(){
#获取SDK上POST方式传过来的数据 然后base64解密 然后将json字符串转化成数组
$request = json_decode(base64_decode(file_get_contents("php://input")),true);
if($request['promote_id']!=0){
$res=M('site_base','tab_')->field('sites_ball_logo,ball_status')->where(['promote_id'=>$request['promote_id']])->find();
if($res){
/*
适配oss路径
*/
if($res['sites_ball_logo']==0){
$res['sites_ball_logo']=C(WAP_SUSPEND_ICON);
}
$cover1 = get_cover($res['sites_ball_logo'] ,'path');
if(strpos($cover1, 'http')!==false){
$cover1 = $cover1;
}else{
$cover1 = 'http://'.$_SERVER['HTTP_HOST'].$cover1;
}
if($res['ball_status'] == '') {
$res['ball_status'] = 1;
}
$data = array(
"status"=>200,
"sites_ball_logo"=>$cover1,
"ball_status"=>$res['ball_status'],
);
echo base64_encode(json_encode($data));die;
}
}
$base = M('site_base','tab_')->field('sites_ball_logo,ball_status')->where(['promote_id'=>$request['promote_id']])->find();
/*
适配oss路径
*/
$cover2 = get_cover( C(WAP_SUSPEND_ICON) ,'path');
if(strpos($cover2, 'http')!==false){
$cover2 = $cover2;
}else{
$cover2 = 'http://'.$_SERVER['HTTP_HOST'].$cover2;
$sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->find();
$menus = json_decode($sdkMenus['config'],true);
foreach($menus as $k => $v)
{
$menus[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['SERVER_NAME'] . $v['icon'];
}
array_multisort(array_column($menus,'sort'),SORT_ASC,$menus);
$data = array(
"status"=>200,
"sites_ball_logo"=>$cover2,
"ball_status"=>C(WAP_SUSPEND_SHWO_STATUS)==2?0:1,
);
$data = [
'code' => 200,
'msg' => '获取成功',
'data' => [
'sites_ball_logo' => $base['sites_ball_logo'],
'ball_status' => $base['ball_status'],
'menus' => $menus,
]
];
echo base64_encode(json_encode($data));die;
}
//获取游戏域名

Loading…
Cancel
Save