|
Server : Apache System : Linux iZ6xhqomji47p1Z 5.10.134-15.al8.x86_64 #1 SMP Thu Jul 20 00:44:04 CST 2023 x86_64 User : www ( 1000) PHP Version : 8.1.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/fsjlkj.cn/application/admin/template/weapp/ |
{include file="public/layout" /}
<style>
.icon-link_add {
background-color: #fff;
position: absolute;
top: 5px;
right: 6px;
text-align: center;
border: 1px solid #e1e1e1;
border-radius: 50%;
cursor: pointer;
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.e-jiahao2 {
color: #adadad;
font-weight: 700;
}
.e-jianhao {
color: #3fa9e0;
font-weight: 700;
}
</style>
<body class="bodystyle" style="cursor: default; -moz-user-select: inherit;">
<div id="append_parent"></div>
<div id="ajaxwaitid"></div>
<div class="page">
<div class="row-bar clearfix mb10">
<div class="row-bar-l fl">
<ul class="tab-base nc-row">
{eq name="$Think.const.CONTROLLER_NAME.'@index'|is_check_access" value="1"}
<li><a href="{:url('Weapp/index')}" class="tab {eq name="$Request.action" value="index"}current{/eq}"><span>我的插件</span></a></li>
{/eq}
{eq name="$Think.const.CONTROLLER_NAME.'@plugin'|is_check_access" value="1"}
{eq name="$weapp_plugin_open" value="1"}
<li><a href="{:url('Weapp/plugin')}" class="tab {eq name="$Request.action" value="plugin"}current{/eq}"><span>云插件库</span></a></li>
{/eq}
{/eq}
{eq name="$Think.const.CONTROLLER_NAME.'@mybuy'|is_check_access" value="1"}
<li><a href="{:url('Weapp/mybuy', ['install'=>0])}" class="tab {eq name="$Request.action" value="mybuy"}current{/eq}"><span>已购买插件</span></a></li>
{/eq}
</ul>
</div>
<div class="flexigrid fr">
<form class="navbar-form form-inline" action="{:url('Weapp/index')}" method="get" onsubmit="layer_loading('正在处理');">
{$searchform.hidden|default=''}
<div class="ftitle">
<div class="sDiv2 fl" style="margin-right: 6px;">
<input type="text" size="30" name="keywords" class="qsbox" placeholder="搜索应用名称..." autocomplete="off">
<input type="submit" class="btn" value="搜索">
<i class="iconfont e-sousuo"></i>
</div>
</div>
</form>
</div>
</div>
<div class="flexigrid">
<div class="plug-list">
{empty name="list"}
<div class="bDiv" style="height: auto;">
<div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
<table style="width: 100%">
<tbody>
<tr>
<td class="no-data" align="center" axis="col0" colspan="50">
<div class="no_row">
<div class="no_pic"><img src="__SKIN__/images/null-data.png"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="iDiv" style="display: none;"></div>
</div>
{else /}
<script>
var update_admin_menu_url = "{:url('Ajax/update_admin_menu', ['_ajax'=>1])}"; //添加、删除入口地址
var is_founder = {$is_founder};
$(function(){
//添加、取消成为栏目
$(".bodystyle").on('click','.e-jiahao2',function (){
if(is_founder !== 1){
return false;
}
var menu_id = $(this).data('menu_id');
var title = $(this).data('name');
var controller_name = "Weapp" ;
var action_name = "execute" ;
var param = $(this).data('param');
var icon = "iconfont e-chajian" ;
_this = this;
if($(this).hasClass('e-jianhao')) { //原本为“已添加”,去除"我的菜单",修改下面块为“未添加”模式,且显示
$.ajax({
type: "POST",
url: update_admin_menu_url,
data: {title:title,controller_name:controller_name,action_name:action_name,menu_id:menu_id,icon:icon,param:param,type:2},
dataType: 'json',
success:function (res) {
if(res.code == 1){
//修改状态
$(_this).removeClass('e-jianhao');
//去除左侧菜单
parent.$("."+controller_name+'_'+action_name+'_'+menu_id).remove();
}
return false;
}
});
}else{ //原本为未添加,添加到我的菜单
$.ajax({
type: "POST",
url: update_admin_menu_url,
data: {title:title,controller_name:controller_name,action_name:action_name,menu_id:menu_id,icon:icon,param:param,type:1,is_switch:0},
dataType: 'json',
success:function (res) {
if(res.code == 1){
//修改状态
$(_this).addClass('e-jianhao');
//添加左侧菜单
var html = '<a data-child="0" data-id="'+menu_id+ '" class="left_menu_'+menu_id+ ' '+controller_name+'_'+action_name+'_'+menu_id+'" id="'+controller_name+'_'+action_name+'" data-menu_id="' + menu_id + '" href="javascript:void(0);" data-param="'+controller_name+'|'+action_name+param+'" >'
+'<i class="'+icon+'"></i>'+title+'</a>';
if (parent.$(".left_menu_2004")){
parent.$(".left_menu_2004").before(html);
}else{
parent.$("#sub-menu").append(html);
}
}
return false;
}
});
}
});
});
</script>
{foreach name="list" item="vo" key="k" }
<div class="plug-item-content">
<div class="plug-item-top">
<div class="plug-img">
<a href="{:url('Weapp/execute',array('sm'=>$vo['code'],'sc'=>$vo['code'],'sa'=>'index'))}"><img src="{$vo.config.litpic|get_default_pic=###}?v={$vo.config.version}" ></a>
</div>
<div class="plug-text">
<div class="plug-text-title">
{if condition="empty($vo['config']['management']['href'])"}
<a class="title-l" href="{:url('Weapp/execute',array('sm'=>$vo['code'],'sc'=>$vo['code'],'sa'=>'index'))}">{$vo.name}</a>
{else /}
<a class="title-l" href="{:url('Weapp/execute',array('sm'=>$vo['code'],'sc'=>$vo['code'],'sa'=>'index'))}" target="{$vo['config']['management']['target']|default='_self'}">{$vo.name}</a>
{/if}
{$RenewList[$vo['code']]['maturity_text']|default=''}
{notempty name="$is_founder"}
{if condition="!empty($vo.config.management.href)"}
<div class="icon-link_add">
<div {if condition="in_array('1000'.$vo.id,$menu_id_arr)"}title="取消导航显示" class="iconfont e-jiahao2 e-jianhao"{else /}title="加入导航显示" class="iconfont e-jiahao2"{/if} data-menu_id="1000{$vo.id}" data-name="{$vo.name}" data-param="{$vo.config.management.href|handle_weapp_url=###}" ></div>
</div>
{else /}
<div class="icon-link_add">
<div {if condition="in_array('1000'.$vo.id,$menu_id_arr)"}title="取消导航显示" class="iconfont e-jiahao2 e-jianhao"{else /}title="加入导航显示" class="iconfont e-jiahao2"{/if} data-menu_id="1000{$vo.id}" data-name="{$vo.name}" data-param="|sm|{$vo.code}|sc|{$vo.code}|sa|index" ></div>
</div>
{/if}
{/notempty}
</div>
<div class="plug-text-versions">
<span>版本:{$vo.config.version|default='未知'}</span>
{assign name="weapp_upgrade_info" value="$weapp_upgrade[$vo['code']]" /}
{eq name="$weapp_upgrade_info['code']" value='2'}
<span>
<textarea id="{$vo.code}_upgrade" class="none">{$weapp_upgrade_info['msg']['upgrade']|default=''}</textarea>
<textarea id="{$vo.code}_intro" class="none">{$weapp_upgrade_info['msg']['intro']|default=''}</textarea>
<textarea id="{$vo.code}_notice" class="none">{$weapp_upgrade_info['msg']['notice']|default=''}</textarea>
<a href="javascript:void(0);" class="a_upgrade red" data-version="{$vo.version}" data-code="{$vo.code}" data-status="{$vo.status|default='0'}" data-name="{$vo.name}" onclick="weapp_upgrade(this);">{$weapp_upgrade_info['msg']['tips']|default='[新版本更新]'}</a>
</span>
{/eq}
</div>
<div class="plug-text-des">
{$vo.config.description|default='暂无描述~'}
</div>
</div>
</div>
<div class="plug-item-bottm">
{empty name="$vo.status"}
{empty name="$vo.is_buy"}
{eq name="'Weapp@install'|is_check_access" value="1"}
<a href="javascript:void(0);" onclick="install(this);" data-id="{$vo['id']}" class="btn blue">安装</a>
{/eq}
{eq name="'Weapp@del'|is_check_access" value="1"}
<a href="javascript:void(0);" data-url="{:url('Weapp/del')}" data-id="{$vo.id}" data-name="{$vo.name}" onClick="delfun(this);">删除</a>
{/eq}
{else /}
{eq name="'Weapp@install'|is_check_access" value="1"}
<a href="javascript:void(0);" onclick="remoteInstall('{$vo['code']}', '{$vo['min_version']}');">安装</a>
{/eq}
{eq name="'Weapp@del_remote'|is_check_access" value="1"}
<a href="javascript:void(0);" data-url="{:url('Weapp/del_remote')}" data-id="{$vo.id}" data-name="{$vo.name}" onClick="del_remote(this);">删除</a>
{/eq}
{/empty}
{else /}
{eq name="'Weapp@execute'|is_check_access" value="1"}
{if condition="empty($vo['config']['management']['href'])"}
<a href="{:url('Weapp/execute',array('sm'=>$vo['code'],'sc'=>$vo['code'],'sa'=>'index'))}">管理</a>
{else /}
<a href="{$vo['config']['management']['href']}" target="{$vo['config']['management']['target']|default='_self'}">管理</a>
{/if}
{/eq}
{eq name="'Weapp@uninstall'|is_check_access" value="1"}
<a href="javascript:void(0);" onclick="uninstall(this);" data-id="{$vo['id']}" data-name="{$vo.name}">卸载</a>
{/eq}
{/empty}
<div class="plug-status">
{if condition="$vo['status'] eq 1"}
<span style="cursor: pointer;" class="yes" {eq name="'Weapp@disable'|is_check_access" value="1"}onClick="changeTableVal('weapp','id','{$vo.id}','status',this);"{/eq} data-value="-1" data-weapp_code="{$vo.code}" data-yestext="<i class='fa fa-check-circle'></i>已启用" data-notext="<i class='fa fa-ban'></i>已禁用"><i class="fa fa-check-circle"></i>已启用</span>
{else /}
<span style="cursor: pointer;" class="no" {eq name="'Weapp@disable'|is_check_access" value="1"}onClick="changeTableVal('weapp','id','{$vo.id}','status',this);"{/eq} data-value="1" data-weapp_code="{$vo.code}" data-yestext="<i class='fa fa-check-circle'></i>已启用" data-notext="<i class='fa fa-ban'></i>已禁用"><i class="fa fa-ban"></i>已禁用</span>
{/if}
{eq name='$vo.code' value='Diyminipro'}
<script type="text/javascript">
$(function(){
var diymimipro_status = "{$vo['status']}";
if ('1' == diymimipro_status) {
$('#Diyminipro_theme_index', window.parent.document).show();
} else {
$('#Diyminipro_theme_index', window.parent.document).hide();
}
});
</script>
{/eq}
</div>
</div>
</div>
{/foreach}
{/empty}
<div class="flexigrid">
<div class="footer-oper">
<div class="fbuttonr">
<div class="pages">
{$page}
</div>
</div>
<div style="clear:both"></div>
</div>
</div>
</div>
</div>
</div>
<form name="form2" id="form2" method="post" action="">
<input type="hidden" name="id" value="" />
<input type="hidden" name="code" value=""/>
<input type="hidden" name="min_version" value=""/>
<input type="hidden" name="thorough" value="1" />
</form>
<script>
$(document).ready(function(){
// 表格行点击选中切换
$('#flexigrid > table>tbody >tr').click(function(){
$(this).toggleClass('trSelected');
});
// 点击刷新数据
$('.fa-refresh').click(function(){
location.href = location.href;
});
});
function weapp_upgrade(obj)
{
var name = $(obj).attr('data-name');
var status = $(obj).attr('data-status');
if (0 == status) {
layer.alert('请先安装该插件!', {
title:false,//name,
icon: 0
});
return false;
}
var code = $(obj).attr('data-code');
var v = $("#"+code+"_upgrade").val();
var intro = $("#"+code+"_intro").val();
intro += '<style type="text/css">.layui-layer-content{height:270px!important;text-align:left!important;}</style>';
var notice = $("#"+code+"_notice").val();
v = notice + intro + '<br/>' + v;
//询问框
layer.confirm(v, {
shade: layer_shade,
area: ['580px','400px'],
move: false,
title: '新版本更新',
btnAlign:'r',
closeBtn: 3,
btn: ['升级','取消'], //按钮
success: function () {
$(".layui-layer-content").css('text-align', 'left');
}
}, function(){
layer.closeAll();
setTimeout(function(){
upgrade(code); // 请求后台
},200);
}, function(index){
layer.close(index);
});
}
function upgrade(code){
layer_loading('升级中');
$.ajax({
type : "GET",
url : "{:url('Weapp/OneKeyUpgrade')}",
timeout : 360000, //超时时间设置,单位毫秒 设置了 1小时
data : {code:code, _ajax:1},
error: function(request) {
layer.closeAll();
layer.alert("升级失败!", {icon: 5, closeBtn: false, title:false}, function(){
window.location.reload();
});
},
success: function(res) {
layer.closeAll();
if(1 == res.code){
layer.alert('已升级最新版本!', {icon: 1, closeBtn: false, title:false}, function(){
window.location.reload();
});
}
else{
layer.alert(res.msg, {icon: 5, closeBtn: false, title:false}, function(){
window.location.reload();
});
}
}
});
}
function install(obj)
{
var id = $(obj).attr('data-id');
var form2 = $('#form2');
form2.find('input[name=id]').val(id);
var url = "{:url('Weapp/install')}";
form2.attr('action', url);
layer_loading('正在处理');
form2.submit();
}
function uninstall(obj)
{
//询问框
var confirm = layer.confirm('数据将不可恢复,是否卸载?', {
shade: layer_shade,
area: ['480px', '190px'],
move: false,
title: '提示',
btnAlign:'r',
closeBtn: 3,
btn: ['确定', '取消'] ,//按钮
success: function () {
$(".layui-layer-content").css('text-align', 'left');
}
}, function(){
layer.close(confirm);
uninstall_true(obj);
}, function(){
layer.close(confirm);
}
);
return false;
}
function uninstall_true(obj)
{
var id = $(obj).attr('data-id');
layer_loading('正在处理');
// 确定
$.ajax({
type : 'post',
url : "{:url('Weapp/uninstall')}",
data : {id:id, thorough:0, _ajax:1},
dataType : 'json',
success : function(res){
layer.closeAll();
if(res.code == 1){
layer.msg(res.msg, {icon: 1, time: 1500}, function(){
window.location.reload();
});
}else{
layer.alert(res.msg, {icon: 5, title:false});
}
},
error: function(e) {
layer.closeAll();
// 处理插件行为app_end影响到的卸载问题
if (e.responseText.indexOf("\\behavior\\admin\\") >= 0 && e.responseText.indexOf("not found") >= 0) {
layer.msg('卸载成功', {icon: 1, time: 1000}, function(){
window.location.reload();
});
} else {
layer.alert(e.responseText, {icon: 5, title:false});
}
}
});
}
function delfun(obj){
var name = $(obj).attr('data-name');
layer.confirm('确认删除?', {
area: ['480px', '190px'],
shade: layer_shade,
move: false,
title: '提示',
btnAlign:'r',
closeBtn: 3,
btn: ['确定','取消'] ,//按钮
success: function () {
$(".layui-layer-content").css('text-align', 'left');
}
}, function(){
layer_loading('正在处理');
// 确定
$.ajax({
type : 'post',
url : $(obj).attr('data-url'),
data : {del_id:$(obj).attr('data-id'), _ajax:1},
dataType : 'json',
success : function(data){
layer.closeAll();
if(data.code == 1){
layer.msg(data.msg, {icon: 1});
window.location.reload();
}else{
layer.alert(data.msg, {icon: 5, title:false}); //alert(data);
}
}
})
}, function(index){
layer.close(index);
});
return false;
}
function del_remote(obj){
var name = $(obj).attr('data-name');
layer.confirm('确认移除?', {
area: ['480px', '190px'],
shade: layer_shade,
move: false,
title: '提示',
btnAlign:'r',
closeBtn: 3,
btn: ['确定','取消'] ,//按钮
success: function () {
$(".layui-layer-content").css('text-align', 'left');
}
}, function(){
layer_loading('正在处理');
// 确定
$.ajax({
type : 'post',
url : $(obj).attr('data-url'),
data : {del_id:$(obj).attr('data-id'), _ajax:1},
dataType : 'json',
success : function(data){
layer.closeAll();
if(data.code == 1){
layer.msg(data.msg, {icon: 1});
window.location.reload();
}else{
layer.alert(data.msg, {icon: 5, title:false}); //alert(data);
}
}
})
}, function(index){
layer.close(index);
});
return false;
}
function jump() {
location.reload()
}
function remoteInstall(code, min_version) {
var form2 = $('#form2');
form2.find('input[name=code]').val(code);
form2.find('input[name=min_version]').val(min_version);
var url = "{:url('Weapp/remoteInstall')}";
form2.attr('action', url);
layer_loading('远程安装');
form2.submit();
}
</script>
{include file="public/footer" /}