<extend name="Public/base" /> <block name="css"> <link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all"> <link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all"> <style> #form .txt_area.download_url {width:400px;} .tabcon1711 .table_radio2 .table_btn {width:215px;} </style> </block> <block name="body"> <script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script> <script src="__STATIC__/md5.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" src="__STATIC__/webuploader/webuploader.js"></script> <script src="__STATIC__/layer/layer.js" type="text/javascript"></script> <script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js"></script> <!-- 标签页导航 --> <div class="tab-wrap"> <div class="cf main-place top_nav_list navtab_list"> <ul class="tabnav1711 fr jstabnav"> <li data-tab="tab1" class="current"><a href="javascript:void(0);">基础信息</a></li> <notempty name='show_status'> <li data-tab="tab2" ><a href="javascript:void(0);">下载设置</a></li> </notempty> <li data-tab="tab3" ><a href="javascript:void(0);">参数配置</a></li> <li data-tab="tab4" ><a href="javascript:void(0);">H5分享页面</a></li> <li data-tab="tab5" ><a href="javascript:void(0);">用户等级设置</a></li> </ul> <h3 class="page_title">新增游戏</h3> <p class="description_text">说明:查看和编辑游戏的基础信息、下载设置、参数信息等。</p> </div> <div class="tab-content tabcon1711"> <!-- 表单 --> <form id="form" action="{:U('add')}" method="post" class="form-horizontal"> <!-- 基础 --> <div id="tab1" class="tab-pane in tab1 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="l"><i class="mustmark" style="margin-left:-7px">*</i>游戏名称:</td> <td class="r" > <input type="text" class="txt " name="game_name" value="" placeholder="请输入游戏名称" onkeyup="copyGameName()"> <input type="hidden" name="game_appid" value=""> </td> </tr> <tr> <td class="l">游戏类型:</td> <td class="r"> <select id="game_type_id" name="game_type_id"> <volist name=":get_game_type_all()" id="vo"> <option value="{$vo.id}">{$vo.type_name}</option> </volist> </select> <input type="hidden" id="game_type_name" name="game_type_name" value=""> </td> </tr> <tr> <td class="l noticeinfo">运营平台</td> <td class="r table_radio"> <span class="form_radio table_btn"> <volist name=":get_systems_list('cnen')" id="vo"> <gt name="key" value="0"> <label> <input type="radio" class="inp_radio js-device js-devices{$key}" value="{$key}" name="sdk_version" <if condition="$key eq 1"> checked='true' </if> > {$vo} </label> </gt> </volist></span> <span class="notice-text">显示该游戏所适用的平台,一般为安卓平台和苹果平台</span> </td> </tr> <tr> <td class="l noticeinfo">混服设置</td> <td class="r table_radio"> <span class="form_radio table_btn"> <label> <input type="radio" class="inp_radio" value="1" name="server_type" checked> 专服 </label> <label> <input type="radio" class="inp_radio" value="2" name="server_type"> 混服 </label> </span> <span class="notice-text"></span> </td> </tr> <tr> <td class="l noticeinfo">开放类型</td> <td class="r table_radio"> <span class="form_radio table_btn"> <volist name=":get_opentype_all()" id="vo"> <label><input type="radio" class="inp_radio" value="{$vo.id}" name="category" <eq name="key" value="0"> checked </eq>> {$vo.open_name}</label> </volist></span> <span class="notice-text">显示当前游戏的开放状态,一般为公测,删档内测,不删档内测等。主要APP上显示</span> </td> </tr> <tr> <td class="l noticeinfo">显示状态</td> <td class="r table_radio"> <span class="form_radio table_btn"> <label> <input type="radio" class="inp_radio" value="0" name="game_status"> 关闭 </label> <label> <input type="radio" class="inp_radio" value="1" name="game_status" checked="checked"> 开启 </label></span> <span class="notice-text">设置该游戏是否在各个站点显示</span> </td> </tr> <tr> <td class="l noticeinfo">显示站点</td> <td class="r table_radio"> <span class="form_radio table_btn"> <label> <input type="checkbox" class="inp_radio" value="1" name="display_site[]" checked> PC官网 </label> <label> <input type="checkbox" class="inp_radio" value="2" name="display_site[]" checked> WAP站 </label> <label> <input type="checkbox" class="inp_radio" value="3" name="display_site[]" checked> 游戏盒子APP </label></span> <span class="notice-text">控制游戏在不同平台上是否进行展示,可多选,默认为全部站点显示。取消选择后,对应站点上不显示该游戏的所有数据(含礼包与开服信息)</span> </td> </tr> <tr> <td class="l noticeinfo">推荐状态</td> <td class="r table_radio"> <span class="form_radio table_btn"> <label class="inp_radio"> <input type="radio" class="inp_radio" value="0" name="recommend_status"> 不推荐 </label> <label> <input type="radio" class="inp_radio" value="1" name="recommend_status" checked="checked"> 推荐 </label> <label> <input type="radio" class="inp_radio" value="2" name="recommend_status" > 热门 </label> <label> <input type="radio" class="inp_radio" value="3" name="recommend_status" > 最新 </label></span> <span class="notice-text">设置游戏的推荐类型,更改此游戏在网站所属的推荐板块;</span> </td> </tr> <tr> <td class="l">游戏排序:</td> <td class="r"> <input type="text" class="txt" name="sort" value="" placeholder="请输入游戏排序,如1"> </td> </tr> <tr> <td class="l">游戏下载数:</td> <td class="r"> <input type="text" class="txt table_btn_input" name="dow_num" value="0" readonly="true" style="background:#e7e7e7"> <a id="dow_num_click" class="table_click" href="javascript:">点击修改</a> </td> </tr> <tr> <td class="l">游戏评分:</td> <td class="r"> <input type="text" class="txt" name="game_score" value="" placeholder="请输入0-10数字"> </td> </tr> <tr> <td class="l">游戏首字母:</td> <td class="r"> <input type="text" class="txt" name="short" value="" placeholder="例如荒莽纪,输入HMJ"> </td> </tr> <tr> <td class="l" >一句话简介:</td> <td class="r" > <input type="text" class="txt " name="features" value="" placeholder="输入一句话简介"> </td> </tr> <tr> <td class="l" >游戏开发商:</td> <td class="r" > <input type="text" class="txt " name="dev_name" value="" placeholder="输入开发商名称"> </td> <!-- --> </tr> <tr> <td class="l" >合作方:</td> <td class="r" > <select id="partner_id" name="partner_id"> <option value="">请选择合作方</option> <volist name=":getPartnerList()" id="vo"> <option value="{$vo.id}">{$vo.partner}</option> </volist> </select> </td> </tr> <tr> <td class="l">游戏详细介绍:</td> <td class="r"> <textarea type="text" name="introduction" class="txt_area"> </textarea> </td> </tr> <tr> <td class="l">游戏资料中心:</td> <td class="r table_radio"> <span class="form_textarea"> <textarea name="content">{$field.value}</textarea> {:hook('adminArticleEdit', array('name'=>'content','value'=>$field['value']))} </span> </td> </tr> <tr class="picbox"> <td class="l noticeinfo" >游戏ICON</td> <td class="r"> <span class="table_btn table_upload"> <input type="file" id="upload_picture_icon"> <input type="hidden" name="icon" id="cover_id_icon" value="" /> <div class="upload-img-box"> <notempty name="data['icon']"> <div class="upload-pre-item"><img src=""/></div> </notempty> </div> </span> <span class="notice-text">尺寸不得小于512*512px,圆角半径113px,不强制要求,可直接提供512*512方图</span> </td> </tr> <tr class="picbox"> <td class="l noticeinfo">游戏素材包</td> <td class="r"> <span class="table_btn table_upload"> <div id="uploader" class="wu-example"> <div class="btns"> <div id="picker" style="height:30px;">上传素材包</div> </div> <!--用来存放文件信息--> <div id="thelist" class="uploader-list"> </div> </div> <input type="hidden" id="file_url" name="material_url" value="{$data['material_url']}"/> </span> <span class="notice-text">此处可上传该游戏的素材包,必须为压缩包形式,用于渠道后台下载推广</span> </td> </tr> <tr class="picbox"> <td class="l noticeinfo">游戏推荐图</td> <td class="r"> <span class="table_btn table_upload"> <input type="file" id="upload_picture_cover"> <input type="hidden" name="cover" id="cover_id_cover" value="" /> <div class="upload-img-box"> <notempty name="data['cover']"> <div class="upload-pre-item"><img src=""/></div> </notempty> </div> </span> <span class="notice-text">470*350px(用于官网首屏推荐游戏位展示)</span> </td> </tr> <tr class="picbox"> <td class="l noticeinfo" >游戏截图</td> <td class="r"> <span class="table_btn table_upload table_screenshot" style="float: none;"> {:hook('UploadImages', array('name'=>'screenshot','value'=>$data['screenshot'],'flag'=>true))} </span> <span class="notice-text">横版游戏建议尺寸:16:9,1280*720px及以上;竖版游戏建议尺寸:9:16,720*1280px及以上,用于游戏详情页内展示</span> </td> </tr> <tr class="picbox"> <td class="l noticeinfo" >落地页图片</td> <td class="r"> <span class="table_btn table_upload table_flooring_page_imgs" style="float: none;"> <input type="hidden" name="flooring_page_imgs" value="" /> <div id="uploadImg" class="wu-example"> <div class="btns"> <div id="flooring_page_imgs">上传图片</div> </div> <!--用来存放文件信息--> <div id="flooring_page_imgs_thelist" class="uploader-list" style="display: flex;"> </div> </div> </span> <span class="notice-text">横版游戏建议尺寸:16:9,1280*720px及以上;竖版游戏建议尺寸:9:16,720*1280px及以上,用于游戏详情页内展示</span> </td> </tr> </tbody> </table> </div> <!-- 下载 --> <notempty name='show_status'> <div id="tab2" class="tab-pane tab2 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="l">游戏名称:</td> <td class="r" > <input type="text" class="txt " name="game_name_copy" value="" placeholder="请输入游戏名称" readonly="true" style="background:#e7e7e7"> </td> </tr> <tr> <td class="l">运营平台:</td> <td class="r" > <span class="form_radio table_btn"> <volist name=":get_systems_list('cnen')" id="vo"> <gt name="key" value="0"> <label> <input type="radio" class="inp_radio js-device js-devices{$key}" value="{$key}" name="sdk_version_copy" <if condition="$key eq 1"> checked </if> disabled='true'> {$vo} </label> </gt> </volist></span> </td> </tr> <tr> <td class="l">下载状态:</td> <td class="r" > <span class="form_radio table_btn"> <label> <input type="radio" class="inp_radio" value="1" name="dow_status" checked="checked"> 开启 </label> <label> <input type="radio" class="inp_radio" value="0" name="dow_status"> 关闭 </label></span> </td> </tr> <tr> <td class="l">下载端口:</td> <td class="r" > <span class="form_radio table_btn" style="width:414px;"> <label> <input type="radio" class="inp_radio" value="1" name="down_port" checked="checked"> 官方原包 </label> <label> <input type="radio" class="inp_radio" value="2" name="down_port" > 第三方链接 </label></span> <span class="notice-text" style="line-height:1.3;">选择“第三方链接”后推广员后台-游戏列表-申请游戏页面将不显示该游戏,推广员无法进行申请。</span> </td> </tr> <tr style="<eq name='data.down_port' value='2'>display:table-row;<else />display:none;</eq>"> <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-13px">*</i> 第三方下载地址(<span id='span_type'>安卓</span>) </td> <td class="r"> <textarea name="add_game_address" id="game_address" class="download_url txt_area">{$data['add_game_address']}</textarea> <!-- <span class="notice-text">游戏第三方下载链接,设置后官网游戏下载端口启用第三方链接;不可获取数据,不可进行渠道分包。</span> --> </td> </tr> <tr style="<eq name='data.down_port' value='2'>display:table-row;<else />display:none;</eq>"> <td class="l noticeinfo" ><i class="mustmark" style="margin-left:-13px">*</i> 第三方原包大小 </td> <td class="r"><input type="text" class="txt2" id="game_address_size" name="game_address_size" value="0MB" placeholder="请输入第三方原包大小"> </td> </tr> <tr> <td class="l">超级签Token:</td> <td class="r" > <input type="text" class="txt " name="supersign_token" value="" placeholder="请输入超级签Token" > </td> </tr> <tr> <td class="l">超级签URL:</td> <td class="r" > <input type="text" class="txt " name="supersign_url" value="" placeholder="请输入超级签URL" > </td> </tr> </tbody> </table> </div> </notempty> <!-- 设置 --> <div id="tab3" class="tab-pane tab3 "> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>推广充值CPS比例</td> <td class="r"> <input type="text" class="txt table_text_input" name="ratio" value="0" placeholder="输入0-100之间的数字"><span class="form_unit">%</span> <span class="notice-text">此处比例为推广结算时CPS模式的分成比例</span> </td> </tr> <tr> <td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>推广注册CPA单价</td> <td class="r"> <input type="text" class="txt table_text_input" name="money" value="0" placeholder="请输入大于0的数字"><span class="form_unit">元</span> <span class="notice-text">此处数值为推广结算时CPA模式的注册单价</span> </td> </tr> <tr> <td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>开发者分成比例</td> <td class="r"> <input type="text" class="txt table_text_input" name="dratio" value="0" placeholder="请输入0-100之间的数字"><span class="form_unit">%</span> <span class="notice-text">此处比例为开发者结算时的分成比例</span> </td> </tr> <tr> <td class="l noticeinfo">会长代充折扣比例</td> <td class="r"> <input type="text" class="txt table_text_input" name="discount" value="10" placeholder="请输入0-10之间的数字"><span class="form_unit">折</span> <span class="notice-text">设置该游戏的统一折扣,推广员后台会长代充时使用</span> </td> </tr> <tr> <td class="l noticeinfo">玩家绑币充值折扣</td> <td class="r"> <input type="text" class="txt table_text_input" name="bind_recharge_discount" value="10" placeholder="请输入0-10数字"><span class="form_unit">折</span> <span class="notice-text">设置APP游戏的绑币统一折扣,APP充值时绑币时使用</span> </td> </tr> <tr> <td class="l noticeinfo">扶持额度</td> <td class="r"> <input type="text" class="txt table_text_input" name="support_quota" value="0" placeholder="请输入数字"><span class="form_unit"></span> <span class="notice-text">   设置游戏扶持额度</span> </td> </tr> <tr> <td class="l noticeinfo">扶持比例</td> <td class="r"> <input type="text" class="txt table_text_input" name="support_ratio" value="0" placeholder="请输入0-100之间的数字"><span class="form_unit">%</span> <span class="notice-text">设置游戏扶持比例</span> </td> </tr> <tr> <td class="l noticeinfo">ios版支付方式</td> <td class="r table_radio table_radio2"> <span class="form_radio table_btn"> <label> <input type="radio" class="inp_radio" value="1" name="appstatus" checked="checked" > 第三方支付 </label> <label> <input type="radio" class="inp_radio" value="0" name="appstatus"> 苹果内购 </label></span> <span class="notice-text" style="line-height:1.4;width:68%;">iOS上架版游戏内支付方式的配置开关,二选一,默认是第三方支付;非上架版在系统-扩展工具-支付设置内进行配置(同Android版)</span> <!-- <span class="notice-text" style="line-height:1.4;width:68%;">ios版游戏内的支付方式,二选一,默认是第三方支付。上架版:选择第三方支付则为wap支付,选择苹果内购则为苹果内购;非上架版:选择第三方支付则为wap支付,选择苹果内购则为app支付。金猪支付下支付宝始终是app支付(订单充值方式记录为支付宝),其它皆为wap支付(订单充值方式记录为金猪支付)</span> --> </td> </tr> <tr> <td class="l noticeinfo">是否开启强更</td> <td class="r table_radio table_radio2"> <span class="form_radio table_btn"> <label> <input type="radio" class="inp_radio" value="1" name="is_force_update" >开启 </label> <label> <input type="radio" class="inp_radio" value="0" name="is_force_update" checked="checked" > 关闭 </label></span> <span class="notice-text">开启强更后,若后台原包更新,则用户必须重新下载才可以进入游戏</span> </td> </tr> <tr> <td class="l noticeinfo">游戏标示</td> <td class="r"> <input type="text" class="txt" name="marking" value="{:generate_game_appid()}" readonly="readonly" placeholder="游戏唯一标示"> <span class="notice-text">苹果游戏分包时需填写的游戏标示,格式无特别要求</span> </td> </tr> <tr> <td class="l noticeinfo">游戏key</td> <td class="r"> <input type="text" class="txt" name="game_key" value="" placeholder="游戏支付通知时的加密key"> <span class="notice-text">游戏支付通知时的加密key,可自由设置,长度不得超过32位字符串,设置完必须提供给CP方进行同步</span> </td> </tr> <tr> <td class="l noticeinfo">游戏支付通知地址</td> <td class="r" > <input type="text" class="txt" name="pay_notify_url" value="" placeholder="支付时通知CP方所用的地址"> <span class="notice-text">此处功能为平台用户游戏充值时,通知CP方所用,该地址由CP方提供</span> </td> </tr> <tr> <td class="l noticeinfo">访问秘钥</td> <td class="r"> <input type="text" class="txt" name="access_key" value="" maxlength="20" placeholder="SDK访问服务器时的加密key"> <span class="notice-text">SDK访问服务器时加密key,可自由设置,长度不得超过20位字符串</span> </td> </tr> <tr> <td class="l noticeinfo">威富通商户号</td> <td class="r"> <input type="text" class="txt" name="partner" value="" placeholder="输入威富通商户号"> <span class="notice-text">威富通申请成功以后,威富通方提供的商户号,在此处添加(需要删除,在支付配置里设置即可)</span> </td> </tr> <tr> <td class="l noticeinfo">威富通秘钥</td> <td class="r" > <input type="text" class="txt" name="key" value="" placeholder="输入威富通秘钥"> <span class="notice-text">威富通申请成功以后,威富通方提供的秘钥,在此处添加(需要删除,在支付配置里设置即可)</span> </td> </tr> <tr> <td class="l noticeinfo">游戏支付appid</td> <td class="r"> <input type="text" class="txt" name="game_pay_appid" value="" placeholder="微信支付时用的APPID"> <span class="notice-text">使用微信支付时需要的appid,需要到微信开放平台申请创建,包括官方微信支付和威富通里的微信支付(需要删除,在支付配置里设置即可)</span> </td> </tr> <tr> <td class="l noticeinfo">游戏合作id</td> <td class="r"> <input type="text" class="txt" name="agent_id" value="" placeholder="游戏对接时所需的合作id"> <span class="notice-text">游戏对接时需要的合作id,此id由CP方提供(此功能根据不同游戏CP确定是否需要使用)</span> </td> </tr> <tr> <td class="l noticeinfo">游戏包名</td> <td class="r"> <input type="text" class="txt" name="apk_pck_name" value="" placeholder="安卓生成APK时的包名"> <span class="notice-text">在微信开放平台申请创建的应用包名(app.webchat.payment.agree),若无此项可不填写(待定)</span> </td> </tr> <tr> <td class="l noticeinfo">游戏签名</td> <td class="r"> <input type="text" class="txt" name="apk_pck_sign" value="" placeholder="安卓生成APK时的签名"> <span class="notice-text">在微信开放平台申请创建的应用签名(fd0e6a444fd988bf23ce8a1818623b58),若无此项可不填写(待定)</span> </td> </tr> <tr> <td class="l noticeinfo">客服QQ</td> <td class="r"> <input type="text" class="txt" name="ccustom_service_qq" value="" placeholder="游戏客服QQ"> <span class="notice-text">在游戏里遇到问题点击联系QQ</span> </td> </tr> </tbody> </table> </div> <!-- H5分享页面 --> <div id="tab4" class="tab-pane tab4 "> <div class="infomation information1711"> <p> 功能说明:H5分享页面,每个游戏如下要求进行配置;推广员申请渠道包时,自动生成对应的H5下载页面,便于推广员进行快速推广。 </p> <p>例如:{$_SERVER['HTTP_HOST']}{:str_ireplace(_PHP_FILE_,'/Index.php',U('Home/Index/game_view'))}</p> </div> <table border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td class="l">页面标题:</td> <td class="r" > <input type="text" class="txt2" id="share_game_describe" name="back_describe" value="" style="width: 630px;" > </td> </tr> <tr class="picbox"> <td class="l noticeinfo" > 分享图标 </td> <td class="r" > <span class="table_btn table_upload"> <input type="file" id="upload_dow_icon"> <input type="hidden" name="dow_icon" id="dow_id_icon" value="" /> <div class="upload-img-box"> <notempty name="data['dow_icon']"> <div class="upload-pre-item"><img src=""/></div> </notempty> </div> </span> <span class="notice-text">512*512px</span> </td> </tr> <tr class="picbox"> <td class="l noticeinfo" > 分享背景图片 </td> <td class="r" > <span class="table_btn table_upload"> <input type="file" id="upload_picture_share"> <input type="hidden" name="back_map" id="cover_share_game_cover" value="" /> <div class="upload-img-box"> <notempty name="data['back_map']"> <div class="upload-pre-item"><img src=""/></div> </notempty> </div> </span> <span class="notice-text">720*1280px及以上</span> </td> </tr> </tbody> </table> </div> <div id="tab5" class="tab-pane tab5 "> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="l">等级档位一:</td> <td class="r"> <input class="txt" name="first_level_name" value="" type="text"><b class="fl tab5_b">—</b> <input class="txt" name="first_level" value="" type="text"><span class="fl tab5_notice">第一个框输入等级名称,如:用户一级;第二个框输入玩家达到该等级所需达到的游戏账号级别数,如:10</span> </td> </tr> <tr> <td class="l">等级档位二:</td> <td class="r"> <input class="txt" name="second_level_name" value="" type="text"><b class="fl tab5_b">—</b> <input class="txt" name="second_level" value="" type="text"><span class="fl tab5_notice">第一个框输入等级名称,如:用户二级;第二个框输入玩家达到该等级所需达到的游戏账号级别数,如:20</span> </td> </tr> <tr> <td class="l">等级档位三:</td> <td class="r"> <input class="txt" name="third_level_name" value="" type="text"><b class="fl tab5_b">—</b> <input class="txt" name="third_level" value="" type="text"><span class="fl tab5_notice">第一个框输入等级名称,如:用户三级;第二个框输入玩家达到该等级所需达到的游戏账号级别数,如:30</span> </td> </tr> <tbody> </table> </div> <div class="form-item cf"> <input type="hidden" name="developers" value="0"> <input type="hidden" name="apply_status" value="1"> <button class="submit_btn ajax-post" id="submit" type="submit" target-form="form-horizontal" style="margin-left:210px;"> 保存 </button> <a class="submit_btn " alt="返回上一页" title="返回上一页" href="{:U('Game/lists',array('type'=>I('type',1)))}" > 返回 </a> </div> </form> </div> </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="Game/lists"> </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 type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script> <script type="text/javascript"> //导航高亮 highlight_subnav('{:U('Game/lists')}'); $('#submit').click(function(){ $('#form').submit(); }); // $(".js-device").click(); $(function(){ $("input[name='game_appid']").val("{:generate_game_appid()}"); $("#game_type_name").val($("#game_type_id option:selected").text()); $('.date').datetimepicker({ format: 'yyyy-mm-dd', language:"zh-CN", minView:2, autoclose:true }); $('.time').datetimepicker({ format: 'yyyy-mm-dd hh:ii', language:"zh-CN", minView:2, autoclose:true }); showTab(); $('input:radio[name="down_port"]').change(); }); $(document).ready(function(){ if($(".js-device").val()==1){ $('.android').show(); $('.ios').hide(); }else if($(this).val()==2){ $('.ios').show(); $('.android').hide(); } $(".js-device").click(function(){ if($(this).val()==1){ $('.android').show(); $('.ios').hide(); }else if($(this).val()==2){ $('.ios').show(); $('.android').hide(); } }); }); /*获取游戏类型名称*/ $("#game_type_id").change(function() { $("#game_type_name").val($("#game_type_id option:selected").text()); }); //上传游戏图标 /* 初始化上传插件 */ $("#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){ $("#cover_id_icon").val(data.id); src = data.url || '__ROOT__' + data.path; $("#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,'tip_error'); setTimeout(function(){ $('#top-alert').find('button').click(); $(that).removeClass('disabled').prop('disabled',false); },1500); } } //上传游戏封面 /* 初始化上传插件 */ $("#upload_picture_cover").uploadify({ "height" : 30, "swf" : "__STATIC__/uploadify/uploadify.swf", "fileObjName" : "download", "buttonText" : "上传封面", "uploader" : "{:U('File/uploadPicture',array('session_id'=>session_id(),'flag'=>true))}", "width" : 120, 'removeTimeout' : 1, 'fileTypeExts' : '*.jpg; *.jpeg; *.png; *.gif;', "onUploadSuccess" : upload_picture_cover{$field.name}, 'onFallback' : function() { // alert('未检测到兼容版本的Flash.'); } }); function upload_picture_cover{$field.name}(file, data){ var data = $.parseJSON(data); var src = ''; if(data.status){ $("#cover_id_cover").val(data.id); src = data.url || '__ROOT__' + data.path; $("#cover_id_cover").parent().find('.upload-img-box').html( '<div class="upload-pre-item"><span class="placeholder-graphic placeholder-graphic_ad"><img src="' + src + '"/></span></div>' ); } else { updateAlert(data.info,'tip_error'); setTimeout(function(){ $('#top-alert').find('button').click(); $(that).removeClass('disabled').prop('disabled',false); },1500); } } //上传游戏详情背景 /* 初始化上传插件 */ $("#upload_picture_detail").uploadify({ "height" : 30, "swf" : "__STATIC__/uploadify/uploadify.swf", "fileObjName" : "download", "buttonText" : "上传封面", "uploader" : "{:U('File/uploadPicture',array('session_id'=>session_id(),'flag'=>true))}", "width" : 120, 'removeTimeout' : 1, 'fileTypeExts' : '*.jpg; *.jpeg; *.png; *.gif;', "onUploadSuccess" : upload_picture_detail{$field.name}, 'onFallback' : function() { // alert('未检测到兼容版本的Flash.'); } }); function upload_picture_detail{$field.name}(file, data){ var data = $.parseJSON(data); var src = ''; if(data.status){ $("#detail_id_icon").val(data.id); src = data.url || '__ROOT__' + data.path; $("#detail_id_icon").parent().find('.upload-img-box').html( '<div class="upload-pre-item"><span class="placeholder_graphic"><img src="' + src + '"/></span></div>' ); } else { updateAlert(data.info,'tip_error'); setTimeout(function(){ $('#top-alert').find('button').click(); $(that).removeClass('disabled').prop('disabled',false); },1500); } } //上传游戏分享下载图标 /* 初始化上传插件 */ $("#upload_dow_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_dow_icon{$field.name}, 'onFallback' : function() { // alert('未检测到兼容版本的Flash.'); } }); function upload_dow_icon{$field.name}(file, data){ var data = $.parseJSON(data); var src = ''; if(data.status){ $("#dow_id_icon").val(data.id); src = data.url || '__ROOT__' + data.path; $("#dow_id_icon").parent().find('.upload-img-box').html( '<div class="upload-pre-item"><img src="' + src + '"/></div>' ); } else { updateAlert(data.info,'tip_error'); setTimeout(function(){ $('#top-alert').find('button').click(); $(that).removeClass('disabled').prop('disabled',false); },1500); } } //上传游戏分享背景图片 /* 初始化上传插件 */ $("#upload_picture_share").uploadify({ "height" : 30, "swf" : "__STATIC__/uploadify/uploadify.swf", "fileObjName" : "download", "buttonText" : "上传背景图片", "uploader" : "{:U('File/uploadPicture',array('session_id'=>session_id(),'flag'=>true))}", "width" : 120, 'removeTimeout' : 1, 'fileTypeExts' : '*.jpg; *.jpeg; *.png; *.gif;', "onUploadSuccess" : upload_picture_share{$field.name}, 'onFallback' : function() { // alert('未检测到兼容版本的Flash.'); } }); function upload_picture_share{$field.name}(file, data){ var data = $.parseJSON(data); var src = ''; if(data.status){ $("#cover_share_game_cover").val(data.id); src = data.url || '__ROOT__' + data.path; $("#cover_share_game_cover").parent().find('.upload-img-box').html( '<div class="upload-pre-item"><span class="placeholder_graphic"><img src="' + src + '"/></span></div>' ); } else { updateAlert(data.info,'tip_error'); setTimeout(function(){ $('#top-alert').find('button').click(); $(that).removeClass('disabled').prop('disabled',false); },1500); } } var userInfo = {userId:"kazaff", md5:""}; //用户会话信息 var chunkSize = 5000 * 1024; //分块大小 var uniqueFileName = null; //文件唯一标识符 var md5Mark = null; var backEndUrl = "{:U('File/shard_upload',array('type'=>1,'session_id'=>session_id()))}"; WebUploader.Uploader.register({ "before-send-file" : "beforeSendFile", "before-send" : "beforeSend", "after-send-file" : "afterSendFile" }, { beforeSendFile: function(file){ //秒传验证 if (file['source']['ext'] === 'zip' || file['source']['ext'] === 'rar') { var task = new $.Deferred(); var start = new Date().getTime(); (new WebUploader.Uploader()).md5File(file, 0, 10*1024*1024).progress(function(percentage){ //console.log(percentage); }).then(function(val){ //console.log("总耗时: "+((new Date().getTime()) - start)/1000); md5Mark = val; userInfo.md5 = val; $.ajax({ type: "POST" , url: backEndUrl , data: {status: "md5Check", md5: val} , cache: false , timeout: 1000 //todo 超时的话,只能认为该文件不曾上传过 , dataType: "json" }).then(function(data, textStatus, jqXHR){ alert(data.chunk); //console.log(data); if(data.ifExist){ //若存在,这返回失败给WebUploader,表明该文件不需要上传 task.reject(); uploader.skipFile(file); file.path = data.path; }else{ task.resolve(); //拿到上传文件的唯一名称,用于断点续传 uniqueFileName = md5(''+userInfo.userId+file.name+file.type+file.lastModifiedDate+file.size); } }, function(jqXHR, textStatus, errorThrown){ //任何形式的验证失败,都触发重新上传 task.resolve(); //拿到上传文件的唯一名称,用于断点续传 uniqueFileName = md5(''+userInfo.userId+file.name+file.type+file.lastModifiedDate+file.size); }); }); return $.when(task); } } , beforeSend: function(block){ //分片验证是否已传过,用于断点续传 if (block['file']['source']['ext'] === 'zip' || block['file']['source']['ext'] === 'rar') { var task = new $.Deferred(); $.ajax({ type: "POST" , url: backEndUrl , data: { status: "chunkCheck" , name: uniqueFileName , chunkIndex: block.chunk , size: block.end - block.start } , cache: false , timeout: 1000 //todo 超时的话,只能认为该分片未上传过 , dataType: "json" }).then(function(data, textStatus, jqXHR){ if(data.ifExist){ //若存在,返回失败给WebUploader,表明该分块不需要上传 task.reject(); }else{ task.resolve(); } }, function(jqXHR, textStatus, errorThrown){ //任何形式的验证失败,都触发重新上传 task.resolve(); }); return $.when(task); } } , afterSendFile: function(file){ if (file['source']['ext'] === 'zip' || file['source']['ext'] === 'rar') { var chunksTotal = 0; if((chunksTotal = Math.ceil(file.size/chunkSize)) > 1){ //合并请求 var task = new $.Deferred(); $.ajax({ type: "POST" , url: backEndUrl , data: { status: "chunksMerge" , name: uniqueFileName , chunks: chunksTotal , ext: file.ext , md5: md5Mark } , cache: false , dataType: "json" }).then(function(data, textStatus, jqXHR){ //todo 检查响应是否正常 task.resolve(); file.path = data.path; $("#file_name").val(data.name); $("#file_url").val(data.path+'/'+data.name); $("#file_size").val(file.size); }, function(jqXHR, textStatus, errorThrown){ task.reject(); }); return $.when(task); }else{ //UploadComlate(file); } } } }); var uploaderFile = WebUploader.create({ // 选完文件后,是否自动上传。 auto: true, // swf文件路径 swf: '__STATIC__/webuploader/Uploader.swf', // 文件接收服务端。 server: backEndUrl, // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: {id:'#picker'}, //dnd: "#theList", paste: document.body, accept: { title: '压缩包', extensions: 'rar,zip', mimeTypes: '.rar,.zip', }, // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false, disableGlobalDnd: true, fileNumLimit:1, threads:3, compress: false, prepareNextFile: true, formData: function(){return $.extend(true, {}, userInfo);}, chunked:true, chunkSize: 5*1000*1024, duplicate: true }); uploaderFile.on('beforeFileQueued',function(file){ var mycars=new Array("zip","rar","tar","jar"); if($.inArray(file.ext,mycars) == -1){ updateAlert('上传文件非法','tip_error'); setTimeout(function(){ $('#tip').find('.tipclose').click(); },1500); return false; } //$.each(mycars,function(index,value){}); }) // 当有文件被添加进队列的时候 uploaderFile.on( 'fileQueued', function( file ) { $("#thelist").append( '<div id="' + file.id + '" class="item">' + '<h4 class="info">' + file.name + '</h4>' + '<p class="state">等待上传...</p>' + '</div>' ); }); // 文件上传过程中创建进度条实时显示。 uploaderFile.on( 'uploadProgress', function( file, percentage ) { var $li = $( '#'+file.id ), $percent = $li.find('.progress .progress-bar'); // 避免重复创建 if ( !$percent.length ) { $percent = $('<div class="progress progress-striped active">' + '<div class="progress-bar" role="progressbar" style="width: 0%">' + '</div>' + '</div>').appendTo( $li ).find('.progress-bar'); } $li.find('p.state').text('上传中'); $percent.css( 'width', percentage * 100 + '%' ); $percent.text( (percentage * 100).toFixed(0) + '%' ); }); uploaderFile.on( 'uploadSuccess', function( file , response) { $( '#'+file.id ).find('p.state').text('已上传').fadeOut(800); $('#'+file.id).find('h4.info').append('<a href="javascript:;" class="jsdelzip table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a>'); $('#'+file.id).find('.jsdelzip').on('click',function() { $("#file_url").val(''); uploader.removeFile( file.id ); $('#'+file.id).remove(); return false; }); if(!response.chunk){ var url = response.path + "/" +response.name; $("#file_url").val(url); } }); uploaderFile.on( 'uploadError', function( file ) { $( '#'+file.id ).find('p.state').text('上传出错'); }); uploaderFile.on( 'uploadComplete', function(file) { $( '#'+file.id ).find('.progress').fadeOut(); }); var uploaderImg = WebUploader.create({ // 选完文件后,是否自动上传。 auto: true, // swf文件路径 swf: '__STATIC__/webuploader/Uploader.swf', // 文件接收服务端。 server: "{:U('File/uploadPicture',array('session_id'=>session_id(),'flag'=>true))}", // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: { id:'#flooring_page_imgs', multiple:true }, // dnd: false, paste: document.body, accept: { title: '图片', extensions: 'png,gif,jpg,jpeg,bmp', mimeTypes: '.png,.gif,.jpg,.jpeg,.bmp', }, // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! resize: false, disableGlobalDnd: true, fileNumLimit:5, threads:5, thumb:true, compress:false, prepareNextFile: true, formData: function(){return $.extend(true, {}, userInfo);}, chunked:false, duplicate: true }); var imgListData = []; // 当有文件被添加进队列的时候 var imgList = $("#flooring_page_imgs_thelist"); uploaderImg.on( 'fileQueued', function( file ) { var html = ''; html += '<div id="' + file.id + '" class="item" style="margin-right: 10px;">'; html += '<a href="javascript:;"><img src="" style="width: 100px;height: 100px;"></a>'; html += '<h4 class="info">' + file.name + '</h4>'; html += '<p class="state">等待上传...</p>'; html += '</div>'; imgList.append(html); imgList.css('margin-top','10px'); var img = imgList.children('#'+file.id).find('img'); uploaderImg.makeThumb(file, function (error, src) { if (error) { return; } img.attr('src', src); }, 300, 300); }); // 文件上传过程中创建进度条实时显示。 uploaderImg.on( 'uploadProgress', function( file, percentage ) { var $li = $( '#'+file.id ), $percent = $li.find('.progress .progress-bar'); // 避免重复创建 if ( !$percent.length ) { $percent = $('<div class="progress progress-striped active">' + '<div class="progress-bar" role="progressbar" style="width: 0%">' + '</div>' + '</div>').appendTo( $li ).find('.progress-bar'); } $li.find('p.state').text('上传中'); $percent.css( 'width', percentage * 100 + '%' ); $percent.text( (percentage * 100).toFixed(0) + '%' ); }); uploaderImg.on( 'uploadSuccess', function( file , response) { imgListData.push(response.id); setFlooringPageImgsVal(); $( '#'+file.id ).find('p.state').text('已上传').fadeOut(800); //alert(JSON.stringify(response)); $('#'+file.id).find('h4.info').append('<a href="javascript:;" class="jsdelzip table_click" style="float:none;display:inline-block;margin-left:10px;">删除</a>'); $('#'+file.id).find('.jsdelzip').on('click',function() { uploaderImg.removeFile( file.id ); $('#'+file.id).remove(); $.each(imgListData,function(index, item) { if (response.id == item) { imgListData.splice(index,1); } }); setFlooringPageImgsVal(); return false; }); }); uploaderImg.on('uploadError', function(file) { $( '#'+file.id ).find('p.state').text('上传出错'); }); uploaderImg.on( 'uploadComplete', function(file) { $( '#'+file.id ).find('.progress').fadeOut(); }); function setFlooringPageImgsVal() { var flooring_page_imgs_val = ''; $.each(imgListData,function(index, item) { flooring_page_imgs_val += item + ','; }); flooring_page_imgs_val = flooring_page_imgs_val.substring(0, flooring_page_imgs_val.length - 1); $('input[name=flooring_page_imgs]').val(flooring_page_imgs_val); } function copyGameName(){ document.all["game_name_copy"].value=document.all["game_name"].value; document.all["share_game_name_copy"].value=document.all["game_name"].value; } //运行版本change的操作 $('input:radio[name="sdk_version"]').change( function() { var radio = document.getElementsByName("sdk_version"); var radioLength = radio.length; for(var i = 0;i < radioLength;i++) { if(radio[i].checked) { var radioValue = radio[i].value; } } $("input[name='sdk_version_copy'][value="+radioValue+"]").prop("checked",true); $("#span_type").text(radioValue ==1?'安卓':"苹果"); $("#game_address").attr("name",radioValue ==1?'add_game_address':"ios_game_address"); if(radioValue == 1){ $("input[name='appstatus'][value=1]").prop("disabled",true); $("input[name='appstatus'][value=0]").prop("disabled",true); $("input[name='appstatus'][value=0]").prop("checked",true); }else{ $("input[name='appstatus'][value=1]").removeAttr("disabled"); $("input[name='appstatus'][value=0]").removeAttr("disabled"); } }) $('input:radio[name="down_port"]').change( function() { var radio = document.getElementsByName("down_port"); var radioLength = radio.length; for(var i = 0;i < radioLength;i++) { if(radio[i].checked) { var radioValue = radio[i].value; } } if(radioValue == 1){ $('#game_address').attr("disabled",true).closest('tr').hide(); $('#game_address').attr('style',"background:#e7e7e7;"); $('#game_address').val(''); $('#game_address_size').attr("disabled",true).closest('tr').hide(); $('#game_address_size').attr('style',"background:#e7e7e7;"); $('#game_address_size').val(''); }else{ $('#game_address').removeAttr("disabled").closest('tr').show(); $('#game_address').attr('style',""); $('#game_address_size').removeAttr("disabled").closest('tr').show(); $('#game_address_size').attr('style',""); } }) $("#dow_num_click").click(function () { up_dow_num(); // layer.prompt( // { // formType: 1, // title: "请输入二级密码(如果没有请设置)", // value: '' // }, function (val) { // $.ajax({ // url: '{:U("Member/checkpwd")}', // type: 'post', // dataType: 'json', // data: {'second_pwd': val}, // success: function (data) { // if (data.status > 0) { // up_dow_num(val); // } else { // if (data.status == 0) { // layer.msg(data.info) // } else { // layer.msg(data.msg) // } // } // }, // error: function () { // alert("错误"); // } // }); // }); }); function up_dow_num(val){ layer.prompt( {formType:0,title:"请输入下载数量",value:''}, function(val,index,elem){ $('input[name="dow_num"]').val(val); layer.close(index); } ); } </script> </block>