File: /www/server/panel/BTPanel/static/js/utils.min.js
var lan={get:function(e,t){var s={diskinfo_span_1:"磁盘分区[{1}]的可用容量小于1GB,这可能会导致MySQL自动停止,面板无法访问等问题,请及时清理!",process_kill_confirm:"结束进程名[{1}],PID[{2}]后可能会影响服务器的正常运行,继续吗?",del:"删除[{1}]",del_all_task:"您共选择了[{1}]个任务,删除后将无法恢复,真的要删除吗?",del_all_task_ok:"成功删除[{1}]个任务!",del_all_task_the:"正在删除[{1}],请稍候...",add_all_task_ok:"成功添加[{1}]个计划任务!",add:"正在添加[{1}],请稍候...",confirm_del:"您真的要删除[{1}]吗?",update_num:"一次只能选择{1}个文件上传,剩下的不作处理!",service_confirm:"您真的要{1}{2}服务吗?",service_the:"正在{1}{2}服务,请稍候...",service_ok:"{1}服务已{2}",service_err:"{1}服务{2}失败!",recycle_bin_confirm:"您真的要删除文件[{1}]?",recycle_bin_confirm_dir:"您真的要删除目录[{1}]?",del_all_ftp:"您共选择了[{1}]个FTP,删除后将无法恢复,真的要删除吗?",del_all_ftp_ok:"成功删除{1}个FTP帐户",del_all_database:"您共选择了[{1}]个数据库,删除后将无法恢复,真的要删除吗?",del_all_database_ok:"成功删除[{1}]个数据库!",config_edit_ps:"此处为{1}主配置文件,若您不了解配置规则,请勿随意修改",install_confirm:"您真的要安装{1}-{2}吗?",del_all_site:"您共选择了[{1}]个站点,删除后将无法恢复,真的要删除吗?",del_all_site_ok:"成功删除[{1}]个站点!",ssl_enable:'您已启用[{1}]证书,如需关闭,请点击"关闭SSL"按钮',lack_param:"缺少必要参数[{1}]",del_ftp:"是否删除[{1}]该FTP账号?"};if(!s[e])return"";msg=s[e];for(var a=0;a<t.length;a++)msg=msg.replace("{"+(a+1)+"}",t[a]+"");return msg},index:{memre:"内存释放",memre_ok:"释放完成",memre_ok_0:"释放中",memre_ok_1:"已释放",memre_ok_2:"状态最佳",mem_warning:"当前可用物理内存小于64M,这可能导致MySQL自动停止,站点502等错误,请尝试释放内存!",user_warning:"当前面板用户为admin,这可能为面板安全带来风险!",cpu_core:"核心",interfacespeed:"接口速率",package_num:"报文数量",interface_net:"接口流量实时",net_up:"上行",net_down:"下行",unit:"单位",net_font:"宋体",update_go:"立即更新",update_get:"正在获取版本信息...",update_check:"检查更新",update_to:"升级到",update_the:"正在升级面板..",update_ok:"升级成功!",update_log:"版本更新",reboot_title:"安全重启服务器",reboot_warning:"注意,若您的服务器是一个容器,请取消",reboot_ps:"安全重启有利于保障文件安全,将执行以下操作:",reboot_ps_1:"1.停止Web服务",reboot_ps_2:"2.停止MySQL服务",reboot_ps_3:"3.开始重启服务器",reboot_ps_4:"4.等待服务器启动",reboot_msg_1:"正在停止Web服务",reboot_msg_2:"正在停止MySQL服务",reboot_msg_3:"开始重启服务器",reboot_msg_4:"等待服务器启动",reboot_msg_5:"服务器重启成功!",panel_reboot_title:"重启面板服务",panel_reboot_msg:"即将重启面板服务,继续吗?",panel_reboot_to:"正在重启面板服务,请稍候...",panel_reboot_ok:"面板服务重启成功!",net_dorp_ip:"屏蔽此IP",net_doup_ip_msg:"屏蔽此IP后,对方将无法访问本服务器,你可以在【安全】中删除,继续吗?",net_doup_ip_ps:"手动屏蔽",net_doup_ip_to:"手动屏蔽",net_status_title:"网络状态",net_protocol:"协议",net_address_dst:"本地地址",net_address_src:"远程地址",net_address_status:"状态",net_process:"进程",net_process_pid:"PID",process_check:"正在分析...",process_kill:"结束",process_kill_title:"结束此进程",process_title:"进程管理",process_pid:"PID",process_name:"名称",process_cpu:"CPU",process_mem:"内存",process_disk:"读/写",process_status:"状态",process_thread:"线程",process_user:"用户",process_act:"操作",kill_msg:"正在结束进程...",rep_panel_msg:"修复面板会获取最新的面板代码程序,<br>包括BUG修复,是否继续操作?",rep_panel_title:"修复面板",rep_panel_the:"正在校验模块...",rep_panel_ok:"修复完成,请按 Ctrl+F5 刷新缓存!"},config:{close_panel_msg:"关闭面板会导致您无法访问面板 ,您真的要关闭宝塔Linux面板吗?",close_panel_title:"关闭面板",config_save:"正在保存配置...",config_sync:"正在同步时间...",config_user_binding:"绑定宝塔帐号",config_user_edit:"修改绑定宝塔账号",binding:"绑定",token_get:"正在获取密钥...",user_bt:"宝塔官网账户",pass_bt:"宝塔官网密码",binding_un_msg:"您确定要解除绑定宝塔帐号码?",binding_un_title:"解除绑定",binding_un:"解绑",ssl_close_msg:"关闭SSL后,必需使用http协议访问面板,继续吗?",ssl_open_ps:"危险!此功能不懂别开启!",ssl_open_ps_1:"必须要用到且了解此功能才决定自己是否要开启!",ssl_open_ps_2:"面板SSL是自签证书,不被浏览器信任,显示不安全是正常现象",ssl_open_ps_3:"开启后导致面板不能访问,可以点击下面链接了解解决方法",ssl_open_ps_4:"我已了经解详情,并愿意承担风险",ssl_open_ps_5:"了解详情",ssl_title:"设置面板SSL",ssl_ps:"请先确认风险!",ssl_msg:"正在安装并设置SSL组件,这需要几分钟时间...",qrcode_no_list:"当前绑定列表为空,请先绑定然后重试"},control:{save_day_err:"保存天数不合法!",close_log:"清空记录",close_log_msg:"您真的清空所有监控记录吗?",disk_read_num:"读取次数",disk_write_num:"写入次数",disk_read_bytes:"读取字节数",disk_write_bytes:"写入字节数"},crontab:{task_log_title:"任务执行日志",task_empty:"当前没有计划任务",del_task:"您确定要删除该任务吗?",del_task_all_title:"批量删除任务",del_task_err:"以下任务删除失败:",add_task_empty:"任务名称不能为空!",input_hour_err:"小时值不合法!",input_minute_err:"分钟值不合法!",input_number_err:"不能有负数!",input_file_err:"请选择脚本文件!",input_script_err:"脚本代码不能为空!",input_url_err:"URL地址不正确!",input_empty_err:"对象列表为空,无法继续!",backup_site:"备份网站",backup_database:"备份数据库",backup_log:"切割日志",backup_all_err:"以下对象添加任务失败:",day:"天",hour:"小时",minute:"分钟",sun:"日",sbody:"脚本内容",log_site:"切割网站",url_address:"URL地址",backup_to:"备份到",disk:"服务器磁盘",save_new:"保留最新",save_num:"份",TZZ1:"周一",TZZ2:"周二",TZZ3:"周三",TZZ4:"周四",TZZ5:"周五",TZZ6:"周六",TZZ7:"周日",mem_ps:"释放PHP、MYSQL、PURE-FTPD、APACHE、NGINX的内存占用,建议在每天半夜执行!",mem:"释放内存"},firewall:{empty:"已清理!",port:"端口",accept:"放行",port_ps:"说明: 支持放行端口范围,如: 3000:3500",ip:"欲屏蔽的IP地址",drop:"屏蔽",ip_ps:"说明: 支持屏蔽IP段,如: 192.168.0.0/24",ssh_port_msg:"更改远程端口后,有安全组的需在安全组放行新的端口才能访问,您真的要更改远程端口吗?",ssh_port_title:"远程端口",ssh_off_msg:"停用SSH服务后您将无法使用终端工具连接服务器,继续吗?",ssh_on_msg:"确定启用SSH服务吗?",ping_msg:"禁PING后不影响服务器正常使用,但无法ping通服务器,您真的要禁PING吗?",ping_un_msg:"解除禁PING状态可能会被黑客发现您的服务器,您真的要解禁吗?",ping_title:"是否禁ping",ping:"已禁Ping",ping_un:"已解除禁Ping",ping_err:"连接服务器失败",status_not:"未使用",status_net:"外网不通",status_ok:"正常",drop_ip:"屏蔽IP",accept_port:"放行端口",port_err:"端口范围不合法!",ps_err:"备注/说明 不能为空!",del_title:"删除防火墙规则",close_log:"清空日志",close_log_msg:"即将清空面板日志,继续吗?",close_the:"正在清理,请稍候..."},upload:{file_type_err:"不允许上传的文件类型!",file_err:"错误的文件",file_err_empty:"不能为空字节文件!",select_file:"请选择文件!",select_empty:"没有可用文件上传,重新选择文件",up_sleep:"等待上传",up_the:"已上传",up_save:"正在保存..",up_ok:"已上传成功",up_ok_1:"上传完成",up_ok_2:"已上传",up_speed:"上传进度:",up_err:" 上传错误",ie_err:"抱歉,IE 6/7/8 不支持请更换浏览器再上传"},bt:{empty:"空",dir:"选择目录",path:"当前路径",comp:"计算机",filename:"文件名",etime:"修改时间",access:"权限",own:"所有者",adddir:"新建文件夹",path_ok:"选择",save_file:"正在保存,请稍候...",read_file:"正在读取文件,请稍候...",edit_title:"在线编辑",edit_ps:"提示:Ctrl+F 搜索关键字,Ctrl+S 保存,Ctrl+H 查找替换!",stop:"停止",start:"启动",restart:"重启",reload:"重载",php_status_err:"抱歉,不支持PHP5.2",php_status_title:"PHP负载状态",php_pool:"应用池(pool)",php_manager:"进程管理方式(process manager)",dynamic:"动态",static:"静态",php_start:"启动日期(start time)",php_accepted:"请求数(accepted conn)",php_queue:"请求队列(listen queue)",php_max_queue:"最大等待队列(max listen queue)",php_len_queue:"socket队列长度(listen queue len)",php_idle:"空闲进程数量(idle processes)",php_active:"活跃进程数量(active processes)",php_total:"总进程数量(total processes)",php_max_active:"最大活跃进程数量(max active processes)",php_max_children:"到达进程上限次数(max children reached)",php_slow:"慢请求数量(slow requests)",nginx_title:"Nginx负载状态",nginx_active:"活动连接(Active connections)",nginx_accepts:"总连接次数(accepts)",nginx_handled:"总握手次数(handled)",nginx_requests:"总请求数(requests)",nginx_reading:"请求数(Reading)",nginx_writing:"响应数(Writing)",nginx_waiting:"驻留进程(Waiting)",nginx_worker:"工作进程(Worker)",nginx_workercpu:"Nginx占用CPU(Workercpu)",nginx_workermen:"Nginx占用内存(Workermen)",apache_uptime:"启动时间(Uptime)",apache_restarttime:"重启时间(RestartTime)",apache_totalaccesses:"总连接数(TotalAccesses)",apache_totalkbytes:"传送总字节(TotalkBytes)",apache_reqpersec:"每秒请求数(ReqPerSec)",apache_idleworkers:"空闲进程(IdleWorkers)",apache_busyworkers:"繁忙进程(BusyWorkers)",apache_workercpu:"Apache使用CPU",apache_workermem:"Apache使用内存",drop_ip_title:"屏蔽此IP",net_status_title:"网络状态",net_pool:"协议",copy_ok:"复制成功",copy_empty:"密码为空",cal_msg:"计算结果:",cal_empty:"输入计算结果,否则无法删除",cal_err:"计算错误,请重新计算",loginout:"您真的要退出面板吗?",pass_err_len:"面板密码不能少于8位!",pass_err:"面板密码不能为弱口令",pass_err_re:"两次输入的密码不一致",pass_title:"修改密码",pass_new_title:"新的密码",pass_rep:"随机密码",pass_rep_btn:"随机",pass_re:"重复",pass_re_title:"再输一次",pass_rep_ps:"请在修改前记录好您的新密码!",user_len:"用户名长度不能少于3位",user_err_re:"两次输入的用户名不一致",user_title:"修改面板用户名",user:"用户名",user_new:"新的用户名",task_list:"任务列表",task_msg:"消息列表",task_not_list:"当前没有任务!",task_scan:"正在扫描",task_install:"正在安装",task_sleep:"等待",task_downloading:"下载中",task_the:"正在处理",task_ok:"已完成",task_close:"任务已取消!",time:"耗时",s:"秒",install_title:"推荐安装套件",install_ps:"我们为您推荐以下一键套件,请按需选择或在",install_s:"软件管理",install_s1:"页面中自动选择,推荐安装LNMP",install_lnmp:"LNMP(推荐)",install_type:"安装方式",install_rpm:"极速安装",install_rpm_title:"即rpm/deb,安装时间极快(5-10分钟),版本与稳定性略低于编译安装,适合快速部署测试",install_src:"编译安装",install_src_title:"安装时间长(30分钟到2小时),性能最大化,适合生产环境",install_key:"一键安装",install_apache22:"您选择的是Apache2.2,PHP将会以php5_module模式运行!",install_apache24:"您选择的是Apache2.4,PHP将会以php-fpm模式运行!",insatll_s22:"Apache2.2不支持",insatll_s24:"Apache2.4不支持",insatll_mem:"您的内存小于{1},不建议安装MySQL-{2}",install_to:"正在添加到安装器...",install_ok:"已将安装请求添加到安装器",task_add:"已添加到队列",panel_open:"正在打开面板...",panel_add:"关联宝塔面板",panel_edit:"修改关联",panel_err_format:"面板地址格式不正确,示例:",panel_err_empty:"面板资料不能为空",panel_address:"面板地址",panel_user:"用户名",panel_pass:"密码",panel_ps:"备注",panel_ps_1:"收藏其它服务器面板资料,实现一键登录面板功能",panel_ps_2:"面板备注不可重复",panel_ps_3:"<font style='color:red'>注意,开启广告拦截会导致无法快捷登录</font>",task_time:"时间",task_name:"名称",task_msg_title:"消息提醒",task_title:"消息盒子",task_tip_read:"标记已读",task_tip_all:"全部已读",no_data:"当前没有数据"},files:{recycle_bin_re:"恢复",recycle_bin_del:"永久删除",recycle_bin_on:"文件回收站",recycle_bin_on_db:"数据库回收站",recycle_bin_ps:"注意:关闭回收站,删除的文件无法恢复!",recycle_bin_close:"清空回收站",recycle_bin_type1:"全部",recycle_bin_type2:"文件夹",recycle_bin_type3:"文件",recycle_bin_type4:"图片",recycle_bin_type5:"文档",recycle_bin_type6:"数据库",recycle_bin_th1:"文件名",recycle_bin_th2:"原位置",recycle_bin_th3:"大小",recycle_bin_th4:"删除时间",recycle_bin_th5:"操作",recycle_bin_title:"回收站",recycle_bin_re_title:"恢复文件",recycle_bin_re_msg:"若您的原位置已有同名文件或目录,将被覆盖,继续吗?",recycle_bin_re_the:"正在恢复,请稍候...",recycle_bin_del_title:"删除文件",recycle_bin_del_msg:"删除操作不可逆,继续吗?",recycle_bin_del_the:"正在删除,请稍候...",recycle_bin_close_msg:"清空回收站操作会永久删除回收站中的文件,继续吗?",recycle_bin_close_the:"正在删除,请稍候...",dir_menu_webshell:"目录查杀",file_menu_webshell:"查杀",file_menu_copy:"复制",file_menu_mv:"剪切",file_menu_rename:"重命名",file_menu_auth:"权限",file_menu_zip:"压缩",file_menu_unzip:"解压",file_menu_edit:"编辑",file_menu_img:"预览",file_menu_down:"下载",file_menu_del:"删除",file_name:"文件名",file_size:"大小",file_etime:"修改时间",file_auth:"权限",file_own:"所有者",file_read:"读取",file_write:"写入",file_exec:"执行",file_public:"公共",file_group:"用户组",file_act:"操作",get_size:"共{1}个目录与{2}个文件,大小:",get:"获取",new:"新建",new_empty_file:"新建空白文件",new_dir:"新建目录",dir_name:"目录名称",return:"返回上一级",shell:"终端",paste:"粘贴",paste_all:"粘贴所有",path_root:"根目录",all:"批量",set_auth:"设置权限",up_title:"上传文件",up_add:"添加文件",up_start:"开始上传",up_coding:"文件编码",up_bin:"二进制",unzip_title:"解压文件",unzip_name:"文件名",unzip_name_title:"压缩文件名",unzip_to:"解压到",unzip_coding:"编码",unzip_the:"正在解压,请稍候...",zip_title:"压缩文件",zip_to:"压缩到",zip_the:"正在压缩,请稍候...",zip_ok:"服务器正在后台压缩文件,请稍候刷新文件列表查看进度!",zip_pass_title:"解压密码",zip_pass_msg:"不需要请留空",mv_the:"正在移动,请稍候...",copy_the:"正在复制,请稍候...",copy_ok:"已复制",mv_ok:"已剪切",shell_title:"执行SHELL (仅支持非交互命令)",shell_go:"发送",shell_ps:"shell命令",down_title:"下载文件",down_url:"URL地址",down_to:"下载到",down_save:"保存文件名",down_task:"正在添加到队列,请稍候..",del_file:"删除文件",del_dir:"删除目录",del_all_file:"批量删除文件",del_all_msg:"您确定要删除选中的文件/目录吗?",file_conver_msg:"即将覆盖以下文件,是否确定?"},ftp:{empty:"当前没有FTP数据",stop_title:"停用这个帐号",stop_title:"FTP帐户",start_title:"启用这个帐号",stop:"已停用",start:"已启用",copy:"复制密码",open_path:"打开目录",edit_pass:"改密",ps:"备注信息",add_title:"添加FTP帐户",add_user:"用户名",add_user_tips:"请输入FTP用户名",add_pass:"密码",add_pass_tips:"请输入FTP密码",add_pass_rep:"随机密码",add_path:"根目录",add_path_tips:"请输入或选择FTP目录",add_path_rep:"选择文件目录",add_path_title:"帐户根目录,会自动创建同名目录",add_path_ps:"FTP所指向的目录",add_ps:"备注",add_ps_title:"备注信息(小于255个字符)",del_all:"是否批量删除选中的FTP账号?",del_all_err:"以下FTP帐户删除失败:",stop_confirm:"您真的要停止{1}的FTP吗?",pass_title:"修改FTP用户密码",pass_user:"用户名",pass_new:"新密码",pass_confirm:"您确定要修改该FTP帐户密码吗?",port_title:"修改FTP端口",port_name:"端口",port_tips:"请填写端口",del_ftp_title:"删除FTP",del_ftp_all_title:"删除选中FTP"},database:{empty:"当前没有数据库数据",backup_empty:"无备份",backup_ok:"有备份",copy_pass:"复制密码",input:"导入",input_title:"导入数据库",admin:"管理",admin_title:"数据库管理",auth:"权限",auth_title:"设置访问权限",auth_title:"设置数据库权限",edit_pass:"改密",edit_pass_title:"修改数据库密码",del_title:"删除数据库",ps:"备注信息",add_title:"添加数据库",add_name:"数据库名",add_name_title:"新的数据库名称",add_pass:"密码",add_pass_title:"数据库密码",add_pass_rep:"随机密码",add_auth:"访问权限",add_auth_local:"本地服务器",add_auth_all:"所有人",add_auth_ip:"指定IP",add_auth_ip_title:"请输允许访问此数据库的IP地址",add_ps:"备注",edit_root:"root密码",user:"用户名",edit_pass_new:"新密码",edit_pass_new_title:"新的数据库密码",edit_pass_confirm:"您确定要修改数据库密码吗?",backup_re:"恢复",backup_name:"文件名称",backup_size:"文件大小",backup_time:"备份时间",backup_title:"数据库备份详情",backup:"备份",input_confirm:"数据库将被覆盖,继续吗?",input_the:"正在导入,请稍候...",backup_the:"正在备份,请稍候...",backup_del_title:"删除备份文件",backup_del_confirm:"您真的要删除备份文件吗?",del_all_title:"批量删除数据库",del_all_err:"以下数据库删除失败:",input_title_file:"从文件导入数据库",input_local_up:"从本地上传",input_ps1:"仅支持sql、zip、sql.gz、(tar.gz|gz|tgz)",input_ps2:"zip、tar.gz压缩包结构:test.zip或test.tar.gz压缩包内,必需包含test.sql",input_ps3:"若文件过大,您还可以使用SFTP工具,将数据库文件上传到/www/backup/database",input_up_type:"请上传sql、zip、sql.gz、(tar.gz|gz|tgz)",auth_err:"此数据库不能修改访问权限",auth_name:"访问权限",sync_the:"正在同步,请稍候...",phpmyadmin_err:"请先安装phpMyAdmin",phpmyadmin:"正在打开phpMyAdmin"},soft:{php_main1:"php服务",php_main2:"上传限制",php_main3:"超时限制",php_main4:"配置文件",php_main5:"安装扩展",php_main6:"禁用函数",php_main7:"性能调整",php_main8:"负载状态",php_main9:"Session配置",php_menu_ext:"扩展配置",admin:"管理",off:"关闭",on:"开启",stop:"停止",start:"启动",status:"当前状态",restart:"重启",reload:"重载配置",mysql_mem_err:"机器内存小于1G,不建议使用mysql5.5以上版本</li><li>如果数据库经常自动停止,请尝试使用linux工具箱增加SWAP或者升级服务器内存",concurrency_m:"自定义",concurrency:"并发",concurrency_type:"并发方案",php_fpm_model:"运行模式",php_fpm_ps1:"PHP-FPM运行模式",php_fpm_ps2:"允许创建的最大子进程数",php_fpm_ps3:"起始进程数(服务启动后初始进程数量)",php_fpm_ps4:"最小空闲进程数(清理空闲进程后的保留数量)",php_fpm_ps5:"最大空闲进程数(当空闲进程达到此值时清理)",php_fpm_err1:"max_spare_servers 不能大于 max_children",php_fpm_err2:"min_spare_servers 不能大于 start_servers",php_fpm_err3:"min_spare_servers 不能大于 max_spare_servers",php_fpm_err4:"start_servers 不能大于 max_children",php_fpm_err5:"配置值不能小于1",phpinfo:"查看phpinfo()",get:"正在获取...",get_config:"正在获取配置文件,请稍候...",get_list:"正在获取列表...",the_save:"正在保存数据...",config_edit:"配置修改",edit_empty:"不修改请留空",php_upload_size:"上传大小限制不能小于2M",mvc_ps:"MVC架构的程序需要开启,如typecho",the_install:"正在安装...",the_uninstall:"正在卸载...",install_the:"安装中...",sleep_install:"等待安装...",install:"安装",uninstall:"卸载",php_ext_name:"名称",php_ext_type:"类型",php_ext_ps:"说明",php_ext_status:"状态",php_ext_install_confirm:"您真的要安装{1}吗?",php_ext_uninstall_confirm:"您真的要卸载{1}吗?",add_install:"正在添加到安装器...",install_title:"软件安装",insatll_type:"安装方式",install_version:"安装版本",type_title:"选择安装方式",err_install1:"请先卸载Apache",err_install2:"请先卸载Nginx",err_install3:"请先安装php",err_install4:"请先安装MySQL",setup:"设置",apache22:"警告:当前为php-fpm模式,将不被Apache2.2支持,请重新安装此PHP版本!",apache24:"警告:当前为php5_module模式,将不被nginx/apache2.4支持,请重新安装此PHP版本!",apache22_err:"Apache2.2不支持多PHP版本共存,请先卸载已安装PHP版本,再安装此版本!",mysql_f:"注意: 安装新的MySQL版本,会覆盖数据库数据,请先备份数据库!",mysql_d:"抱歉,出于安全考虑,请先到[数据库]管理备份数据库,并中删除所有数据库!",fun_ps1:"添加要被禁止的函数名,如: exec",fun_ps2:"在此处可以禁用指定函数的调用,以增强环境安全性!",fun_ps3:"强烈建议禁用如exec,system等危险函数!",fun_msg:"您输入的函数已被禁用!",nginx_status:"负载状态",nginx_version:"切换版本",waf_title:"过滤器",web_service:"Web服务",waf_not:"您当前Nginx版本不支持waf模块,请安装Nginx1.12,重装Nginx不会丢失您的网站配置!",waf_edit:"编辑规则",waf_up:"上传限制",waf_input1:"URL过滤",waf_input2:"Cookie过滤",waf_input3:"POST过滤",waf_input4:"防CC攻击",waf_input5:"记录防御信息",waf_input6:"CC攻击触发频率(次)",waf_input7:"CC攻击触发周期",waf_input8:"IP白名单",waf_input9:"IP黑名单",waf_ip:"IP地址",waf_up_title:"文件上传后缀黑名单",waf_up_from1:"添加禁止上传的扩展名,如: zip",waf_up_from2:"扩展名",waf_url_white:"URL白名单",waf_index:"警告内容",waf_cloud:"从云端更新",waf_update:"正在更新规则文件,请稍候..",waf_cc_err:"CC防御配置值超出可用值 (频率1-3000|周期1-1800)",php_version:"php版本",save_path:"存储位置",service:"服务",safe:"安全设置",log:"日志",error_log:"错误日志",mysql_to_msg:"迁移数据库文件过程中将会停止数据库运行,继续吗?",mysql_to_msg1:"正在迁移文件,请稍候...",mysql_to:"迁移",mysql_log_close:"清空",mysql_log_bin:"二进制日志",mysql_log_err:"错误日志",mysql_log_ps1:"当前没有日志内容!",mysql_port_title:"修改数据库端口可能会导致您的站点无法连接数据库,确定要修改吗?",select_version:"选择版本",version_to:"切换",pma_port:"访问端口",pma_port_title:"phpmyadmin访问端口",pma_pass:"密码访问",pma_user:"授权账号",pma_pass1:"访问密码",pma_pass2:"重复密码",pma_ps:"为phpmyadmin增加一道访问安全锁",pma_pass_close:"您真的要关闭访问认证吗?",pma_pass_empty:"授权用户或密码不能为空!",menu_temp:"正在获取模板...",menu_phpsafe:"php守护已启动,无需设置",qiniu_lise:"正在从云端获取...",qiniu_file_title:"文件列表",qiniu_th1:"名称",qiniu_th2:"类型",qiniu_th3:"大小",qiniu_th4:"更新时间",mysql_del_err:"抱歉,为安全考虑,请先到[数据库]管理备份数据库并中删除所有数据库!",uninstall_confirm:"您真的要卸载[{1}-{2}]吗?",from_err:"表单错误!",lib_the:"正在提交配置,请稍候...",lib_config:"配置",lib_insatll_confirm:"您真的要安装[{1}]插件吗?",lib_uninsatll_confirm:"您真的要卸载[{1}]插件吗?",lib_install:"安装插件",lib_uninstall:"卸载插件",lib_install_the:"正在安装,请稍候...",lib_uninstall_the:"正在卸载,请稍候...",mysql_set_msg:"优化方案",mysql_set_select:"请选择",mysql_set_maxmem:"最大使用内存",mysql_set_key_buffer_size:"用于索引的缓冲区大小",mysql_set_query_cache_size:"查询缓存,不开启请设为0",mysql_set_tmp_table_size:"临时表缓存大小",mysql_set_innodb_buffer_pool_size:"Innodb缓冲区大小",mysql_set_innodb_log_buffer_size:"Innodb日志缓冲区大小",mysql_set_sort_buffer_size:"每个线程排序的缓冲大小",mysql_set_read_buffer_size:"读入缓冲区大小",mysql_set_read_rnd_buffer_size:"随机读取缓冲区大小",mysql_set_join_buffer_size:"关联表缓存大小",mysql_set_thread_stack:"每个线程的堆栈大小",mysql_set_binlog_cache_size:"二进制日志缓存大小(4096的倍数)",mysql_set_thread_cache_size:"线程池大小",mysql_set_table_open_cache:"表缓存",mysql_set_max_connections:"最大连接数",mysql_set_restart:"重启数据库",mysql_set_conn:"连接数",mysql_set_err:"错误,内存分配过高!<p style='color:red;'>物理内存: {1}MB<br>最大使用内存: {2}MB<br>可能造成的后果: 导致数据库不稳定,甚至无法启动MySQLd服务!</p>",mysql_status_title1:"启动时间",mysql_status_title2:"总连接次数",mysql_status_title3:"发送",mysql_status_title4:"接收",mysql_status_title5:"每秒查询",mysql_status_title6:"每秒事务",mysql_status_title7:"File",mysql_status_title8:"Position",mysql_status_title9:"活动/峰值连接数",mysql_status_title10:"线程缓存命中率",mysql_status_title11:"索引命中率",mysql_status_title12:"Innodb索引命中率",mysql_status_title13:"查询缓存命中率",mysql_status_title14:"创建临时表到磁盘",mysql_status_title15:"已打开的表",mysql_status_title16:"没有使用索引的量",mysql_status_title17:"没有索引的JOIN量",mysql_status_title18:"排序后的合并次数",mysql_status_title19:"锁表次数",mysql_status_ps1:"若值过大,增加max_connections",mysql_status_ps2:"若过低,增加thread_cache_size",mysql_status_ps3:"若过低,增加key_buffer_size",mysql_status_ps4:"若过低,增加innodb_buffer_pool_size",mysql_status_ps5:"若过低,增加query_cache_size",mysql_status_ps6:"若过大,尝试增加tmp_table_size",mysql_status_ps7:"table_open_cache配置值应大于等于此值",mysql_status_ps8:"若不为0,请检查数据表的索引是否合理",mysql_status_ps9:"若不为0,请检查数据表的索引是否合理",mysql_status_ps10:"若值过大,增加sort_buffer_size",mysql_status_ps11:"若值过大,请考虑增加您的数据库性能",config_php_tips:"默认已开启Openssl/Curl/Mysql等扩展,详情可点击<a href='javascript:;' class='btlink return_php_info'>phpinfo</a>查看"},site:{running:"正在运行",running_title:"停用这个站点",running_text:"运行中",stopped:"已停止",stopped_title:"启用这个站点",backup_yes:"有备份",backup_no:"无备份",web_end_time:"永久",open_path_txt:"打开目录",set:"设置",site_del_title:"删除站点",site_no_data:"当前没有站点数据",site_null:"null",site_bak:"备注信息",saving_txt:"正在保存...",domain_err_txt:"域名格式不正确,请重新输入!",ftp:"FTP账号资料",ftp_tips:"只要将网站上传至以上FTP即可访问!",user:"用户",password:"密码",database_txt:"数据库账号资料",database:"数据库",database_name:"数据库名",database_set:"数据库设置",success_txt:"成功创建站点",php_ver:"PHP版本",site_add:"添加网站",domain:"域名",port:"端口",note:"备注",note_ph:"网站备注",web_root_dir:"网站根目录",web_dir:"网站目录",root_dir:"根目录",yes:"创建",no:"不创建",ftp_set:"FTP设置",ftp_help:"创建站点的同时,为站点创建一个对应FTP帐户,并且FTP目录指向站点所在目录",database_help:"创建站点的同时,为站点创建一个对应的数据库帐户,方便不同站点使用不同数据库",domain_help:"每行填写一个域名,默认为80端口<br>泛解析添加方法 *.domain.com<br>如另加端口格式为 www.domain.com:88",domain_len_msg:"不要超出20个字符",anti_XSS_attack:"防跨站攻击",write_access_log:"写访问日志",run_dir:"运行目录",site_help_1:"部分程序需要指定二级目录作为运行目录,如ThinkPHP5,Laravel",site_help_2:"选择您的运行目录,点保存即可",default_doc_help:"默认文档,每行一个,优先级由上至下",site_stop_txt:"站点停用后将无法访问,您真的要停用这个站点吗?",site_start_txt:"即将启动站点,您真的要启用这个站点吗?",site_del_info:"是否要删除同名的FTP、数据库、根目录",all_del_info:"同时删除站点根目录",all_del_site:"批量删除站点",del_err:"以下站点删除失败",click_access:"点击访问",operate:"操作",domain_man:"域名管理",unresolved:"未解析",parsed:"已解析",this_domain_un:"该域名未解析",analytic_ip:"域名解析IP为",current_server_ip:"当前服务器IP",parsed_info:"仅供参考,使用CDN的用户请无视",domain_empty:"域名不能为空!",domain_last_cannot:"最后一个域名不能删除",domain_del_confirm:"您真的要从站点中删除这个域名吗?",webback_del_confirm:"真的要删除备份包吗?",del_bak_file:"删除备份文件",filename:"文件名称",filesize:"文件大小",backuptime:"打包时间",backup_title:"打包备份",public_set:"全局设置",local_site:"本站",setindex:"设置网站默认文档",default_doc:"新建网站默认页面",default_site:"默认站点",default_site_yes:"设置默认站点",default_site_no:"未设置默认站点",default_site_help_1:"设置默认站点后,所有未绑定的域名和IP都被定向到默认站点",default_site_help_2:"可有效防止恶意解析",site_menu_1:"子目录绑定",site_menu_2:"网站目录",site_menu_3:"流量限制",site_menu_4:"伪静态",site_menu_5:"默认文档",site_menu_6:"配置文件",site_menu_7:"SSL",site_menu_8:"PHP版本",site_menu_9:"Tomcat",site_menu_10:"301重定向",site_menu_11:"反向代理",site_menu_12:"防盗链",website_change:"站点修改",addtime:"添加时间",the_msg:"正在提交任务...",start_scan:"开始扫描",update_lib:"更新特征库",scanned:"已扫描",risk_quantity:"风险数量",danger_fun:"危险函数",danger_fun_no:"未禁用危险函数",danger:"危险",file:"文件",ssh_port:"SSH端口",high_risk:"高危",sshd_tampering:"sshd文件被篡改",xss_attack:"跨站攻击",site_xss_attack:"站点未开启防跨站攻击!",mod_time:"修改时间",code:"代码",behavior:"行为",risk:"风险",details:"详情",to_update:"正在更新,请稍候...",limit_net_1:"论坛/博客",limit_net_2:"图片站",limit_net_3:"下载站",limit_net_4:"商城",limit_net_5:"门户",limit_net_6:"企业站",limit_net_7:"视频站",limit_net_8:"启用流量控制",limit_net_9:"限制方案",limit_net_10:"并发限制",limit_net_11:"限制当前站点最大并发数",limit_net_12:"单IP限制",limit_net_13:"限制单个IP访问最大并发数",limit_net_14:"流量限制",limit_net_15:"限制每个请求的流量上限(单位:KB)",subdirectories:"子目录",url_rewrite_alter:"你真的要为这个子目录创建独立的伪静态规则吗?",rule_cov_tool:"规则转换工具",a_c_n:"Apache转Nginx",save_as_template:"另存为模板",url_rw_help_1:"请选择您的应用,若设置伪静态后,网站无法正常访问,请尝试设置回default",url_rw_help_2:"您可以对伪静态规则进行修改,修改完后保存即可",config_url:"配置伪静态规则",d_s_empty:"域名和子目录名称不能为空",s_bin_del:"您真的要删除这个子目录绑定吗?",proxy_url:"目标URL",proxy_url_info:"请填写完整URL,例:http://www.test.com",proxy_domain:"发送域名",proxy_domian_info:"发送到目标服务器的域名,例:www.test.com",proxy_cache:"开启缓存",con_rep:"内容替换",con_rep_info:"被替换的文本,可留空",to_con:"替换为,可留空",proxy_enable:"启用反向代理",proxy_help_1:"目标Url必需是可以访问的,否则将直接502",proxy_help_2:"默认本站点所有域名访问将被传递到目标服务器,请确保目标服务器已绑定域名",proxy_help_3:"若您是被动代理,请在发送域名处填写上目标站点的域名",proxy_help_4:"若您不需要内容替换功能,请直接留空",proxy_help_5:"可通过purge清理指定URL的缓存,示例:http://test.com/purge/test.png",access_domain:"访问域名",all_site:"整站",target_url:"目标URL",eg_url:"请填写完整URL,例:http://www.test.com",enable_301:"启用301",to301_help_1:"选择[整站]时请不要将目标URL设为同一站点下的域名.",to301_help_2:"取消301重定向后,需清空浏览器缓存才能看到生效结果.",bt_ssl:"宝塔SSL",lets_ssl:"Let's Encrypt免费证书",other:"其它",other_ssl:"其他证书",use_other_ssl:"使用其他证书",ssl_help_1:"本站点未设置SSL,如需设置SSL,请选择切换类目申请开启SSL<br><p style='color:red;'>关闭SSL以后,请务必清除浏览器缓存再访问站点</p>",ssl_help_2:"已为您自动生成Let's Encrypt免费证书;",ssl_help_3:"如需使用其他SSL,请切换其他证书后粘贴您的KEY以及PEM内容,然后保存即可",ssl_key:"密钥(KEY)",ssl_crt:"证书(PEM格式)",ssl_close:"关闭SSL",bt_bind_no:"未绑定宝塔账号,请注册绑定,绑定宝塔账号(非论坛账号)可实现一键部署SSL",bt_user:"宝塔账号",login:"登录",bt_reg:"注册宝塔账号",bt_ssl_help_1:"宝塔SSL证书为亚洲诚信证书,需要实名认证才能申请使用",bt_ssl_help_2:"已有宝塔账号请登录绑定",bt_ssl_help_3:"宝塔SSL申请的是TrustAsia DV SSL CA - G5 原价:1900元/1年,宝塔用户免费!",bt_ssl_help_4:"一年满期后免费颁发",btapply:"申请",endtime:"到期时间",status:"状态",bt_ssl_help_5:"申请之前,请确保域名已解析,如未解析会导致审核失败",bt_ssl_help_6:"宝塔SSL申请的是免费版TrustAsia DV SSL CA - G5证书,仅支持单个域名申请",bt_ssl_help_7:"有效期1年,不支持续签,到期后需要重新申请",bt_ssl_help_8:"Let's Encrypt免费证书,有效期3个月,支持多域名默认会自动续签",bt_ssl_help_9:"若您的站点使用了CDN或301重定向会导致续签失败",bt_ssl_help_10:"粘贴您的*.key以及*.pem内容,然后保存即可<a href='http://www.bt.cn/bbs/thread-704-1-1.html' class='btlink' target='_blank'>[帮助]</a>",phone_input:"请输入手机号码",ssl_apply_1:"正在提交订单,请稍候..",ssl_apply_2:"正在校验域名,请稍候..",ssl_apply_3:"正在部署证书,请稍候..",ssl_apply_4:"正在更新证书,请稍候..",lets_help_1:"不用实名认证,浏览器兼容较低,申请存在一定失败率",lets_help_2:"let's Encrypt证书有效期为3个月",lets_help_3:"3个月有效期后自动续签",get_ssl_list:"正在获取证书列表,请稍候..",order_success:"订单完成",deploy:"部署",deployed:"已部署",domain_wait:"待域名确认",domain_validate:"验证域名",domain_check:"请检查域名是否解析到本服务器",update_ssl:"更新证书",get_ssl_err:"证书获取失败",get_ssl_err1:"证书获取失败,返回如下错误信息",err_type:"错误类型",ssl_close_info:"已关闭SSL,请务必清除浏览器缓存后再访问站点!",switch:"切换",switch_php_help1:"请根据您的程序需求选择版本",switch_php_help2:"若非必要,请尽量不要使用PHP5.2,这会降低您的服务器安全性;",switch_php_help3:"PHP7不支持mysql扩展,默认安装mysqli以及mysql-pdo",enable_nodejs:"启用Node.js?v=1777008528",nodejs_help1:"当前版本为Node.js?v=1777008528",nodejs_help2:"Node.js可以与PHP共存,但无法与Tomcat共存;",nodejs_help3:"若您的Node.js应用中有php脚本,访问时请添加.php扩展名",a_n_n:"apache2.2暂不支持Tomcat!",enable_tomcat:"启用Tomcat",tomcat_help1:"当前版本为Tomcat",tomcat_help2:"若您需要其它版本,请到软件商店- 所有软件 中切换;",tomcat_help3:"部署顺序: 安装Tomcat >> 创建站点 >> 上传并配置项目 >> 启用Tomcat",tomcat_help4:"若您的tomcat应用中有php脚本,访问时请添加.php扩展名",tomcat_help5:"开启成功后,大概需要1-5分钟时间生效!",tomcat_err_msg:"您没有安装Tomcat,请先安装!",tomcat_err_msg1:"请先安装Tomcat!",web_config_help:"此处为站点主配置文件,若您不了解配置规则,请勿随意修改.",rewritename:"0.当前",template_empty:"模板名称不能为空",save_rewrite_temp:"保存为Rewrite模板",template_name:"模板名称",change_defalut_page:"修改默认页",err_404:"404错误页",empty_page:"网站不存在提示页",default_page_stop:"网站停用后的提示页"},public:{success:"操作成功!",error:"操作失败!",add_success:"添加成功!",del_success:"删除成功",save:"保存",edit:"修改",edit_ok:"修改成功!",edit_err:"修改失败!",know:"知道了",close:"关闭",cancel:"取消",ok:"确定",empty:"清空",submit:"提交",exec:"执行",script:"脚本",log:"日志",slow_log:"慢日志",bin_log:"二进制日志",del:"删除",add:"添加",the_get:"正在获取,请稍候...",fresh:"刷新",config:"正在设置...",config_ok:"设置成功!",the:"正在处理,请稍候...",user:"帐号",pass:"密码",read:"正在读取,请稍候...",pre:"百分比",num:"次数",byte:"字节",input_err:"表单不合法,请重新输入!",the_add:"正在添加,请稍候...",the_del:"正在删除,请稍候...",msg:"提示",list_empty:"列表为空!",all:"所有",upload:"上传",download:"下载",action:"操作",warning:"警告",return:"返回",help:"帮助",list:"列表",off:"关闭",on:"开启"},pro_info_detail:{pid:"进程id",status:"进程状态",ppid:"父进程id",user_name:"所属用户名",num_threads:"所拥有的线程数",io_read:"读取的IO数据量",io_write:"写入的IO数据量",socket:"连接进程数",create_time:"进程启动时间",name:"名称",exe:"可执行文件路径",start_command:"启动命令",pro_info:"查询结果"},memory_info_detail:{rss:"物理内存大小",vms:"虚拟内存大小",shared:"共享内存大小",text:"代码段内存大小",lib:"库内存大小",data:"数据段内存大小",dirty:"脏内存大小",pss:"实际使用的物理内存大小",swap:"交换内存大小",memory_info:"查询结果"},soft_info_detail:{datid:"数据库OID(Object Identifier)",datname:"数据库名称",numbackends:"已连接到此数据库的后端数量",xact_commit:"数据库提交的事务数量",xact_rollback:"数据库回滚的事务数量",blks_read:"数据库从磁盘读取的块数",blks_hit:"数据库从共享缓存中读取的块数",tup_inserted:"数据库检索的行数",tup_fetched:"数据库检索的行数含“WHERE”限制",deadlocks:"数据库由于死锁而导致的回滚数",stats_reset:"最后一次重置统计信息的时间",active_connections:"当前活跃连接数",accepts:"接收的TCP连接数",handled:"成功处理的TCP连接数",requests:"处理的HTTP请求总数",Reading:"正在读取数据的TCP连接数",Writing:"正在写入数据的TCP连接数",Waiting:"可用连接的空闲TCP连接数",bind:"绑定的IP地址",port:"运行的端口号",maxconn:"可同时处理的最大连接数",cachesize:"使用的内存大小",curr_connections:"当前连接数",cmd_get:"执行get命令的次数",get_hits:"get命中缓存的次数",get_misses:"get没有命中缓存的次数",bytes_read:"读取字节数",bytes_written:"写入字节数",limit_maxbytes:"服务器可使用的最大内存大小",bytes:"当前存储数据所占用的字节数",curr_items:"当前缓存条目数量",evictions:"缓存淘汰的条目数量",hit:"命中率,即get命中率",Aborted_clients:"服务器主动中断的数量",Aborted_connects:"连接失败的数量",Bytes_received:"接收到的字节数",Bytes_sent:"发送的字节数",Com_commit:"提交的事务数量",Com_rollback:"回滚的事务数量",Connections:"已经建立的连接数量",Created_tmp_disk_tables:"创建的临时磁盘表数量",Created_tmp_tables:"创建的临时表数量",Innodb_buffer_pool_pages_dirty:"当前脏页数量",Innodb_buffer_pool_read_requests:" 从缓冲池中读取的请求数量",Innodb_buffer_pool_reads:"从磁盘中读取的数量",Key_read_requests:"从缓存中读取索引的请求数量",Key_reads:"从磁盘中读取索引的数量",Key_write_requests:"向缓存中写入索引的请求数量",Key_writes:"向磁盘中写入索引的数量",Max_used_connections:"最大同时连接数量",Open_tables:"当前打开的表数量",Opened_files:"打开的文件数量",Opened_tables:"打开的表数量",Qcache_hits:"查询缓存命中数量",Qcache_inserts:"查询缓存插入数量",Questions:"执行的查询数量",Select_full_join:"全表关联查询数量",Select_range_check:"范围检查查询数量",Sort_merge_passes:"排序合并操作的次数",Table_locks_waited:"等待表锁的次数",Threads_cached:"缓存的线程数量",Threads_connected:"当前连接的线程数量",Threads_created:" 创建的线程数量",Threads_running:"正在运行的线程数量",Uptime:"服务运行时间",Thread_cache_hit_ratio:"线程缓存命中率",Index_hit_ratio:"索引命中率",Innodb_index_hit_ratio:"Innodb索引命中率",Query_cache_hit_ratio:"查询缓存命中率",tcp_port:"服务器监听的TCP端口号",uptime_in_days:"服务器运行的天数",connected_clients:"当前连接到Redis服务器的客户端数量",used_memory:"服务器当前占用的内存大小",used_memory_rss:"服务器使用的常驻内存大小",used_memory_peak:"服务器最高峰时使用的内存大小",mem_fragmentation_ratio:"内存碎片率",total_connections_received:"服务器总共接受过的连接数",total_commands_processed:"服务器总共执行过的命令数",instantaneous_ops_per_sec:"服务器瞬时执行命令速率",keyspace_hits:"命中缓存的键值对数量",keyspace_misses:"未命中缓存的键值对数量",latest_fork_usec:"最近一次fork操作消耗的时间",version:"版本号",now_connection:"最大并发数",maximum_connection:"可以建立的最大连接数",query_num:"查询操作的数量",insert_num:"插入操作的数量",update_num:"更新操作的数量",delete_num:"删除操作的数量",hit_times:"操作的执行时间",misses_hit:"操作执行的失败次数",dataSize:"数据量",storageSize:"存储空间",resident:"当前驻留的内存大小",ChrootEveryone:"是否需要chroot才能登录FTP服务器",BrokenClientsCompatibility:"是否支持FTP服务器的broken client兼容性",MaxClientsNumber:"最大允许的FTP客户端数量",Daemonize:"是否启用daemon模式",MaxClientsPerIP:"每个IP地址最大允许的FTP客户端数量",VerboseLog:"是否输出详细的FTP日志信息",DisplayDotFiles:"是否显示FTP文件的DOT符号",AnonymousOnly:"是否只允许匿名用户登录FTP服务器",NoAnonymous:"是否允许匿名用户登录FTP服务器",SyslogFacility:"使用FTP的系统日志记录方式",DontResolve:"是否禁用 DNS 解析",MaxIdleTime:"设置 FTP 服务器的最大空闲时间",PureDB:"纯 FTP 服务器的 PDB 文件路径",UnixAuthentication:"是否使用 Unix 认证方式",LimitRecursion:"设置 FTP 服务器的最大重试次数",AnonymousCanCreateDirs:"是否禁止匿名用户创建目录",MaxLoad:"设置FTP服务器的最大负载",PassivePortRange:"FTP服务器的passive端口范围",AntiWarez:"启用Anti-WebDAV功能",Umask:"设置文件的权限模式",MinUID:"最小用户ID",AllowUserFXP:"是否允许使用FTPFX协议",AllowAnonymousFXP:"是否允许匿名登FTPFX协议",ProhibitDotFilesWrite:"是否禁止写入dot文件",ProhibitDotFilesRead:"是否禁止读取.dot文件",AutoRename:"用于自动重命名文件",AnonymousCantUpload:"是否禁止匿名用户上传文件",CreateHomeDir:"是否创建FTP服务器的主目录",PIDFile:"服务器的进程ID文件的路径",MaxDiskUsage:"服务器的最大磁盘使用量",CustomerProof:"服务器的客户端证书",TLS:"服务器的TLS协议",AllowOverwrite:"是否允许用户覆盖文件",AllowStoreRestart:"是否允许在服务器重启时自动重新加载FTP服务器",free_memory:"当前Java应用程序可用的内存大小",total_memory:"服务器的总内存大小",max_memory:"可以使用的最大内存大小",maxThreads:"运行的最大线程数",currentThreadCount:"运行的线程数",currentThreadsBusy:"繁忙的线程数",maxTime:"服务器可以运行的最大时间",processingTime:"服务器处理请求所需的时间",requestCount:"当前正在处理的请求数",errorCount:"当前错误的请求数",bytesReceived:"当前已经接收到的字节数",bytesSent:"当前已经发送的字节数",RestartTime:"重启时间",UpTime:"的运行时间",TotalAccesses:"已经处理的请求数",TotalKBytes:"已经处理的字节数",ReqPerSec:"每秒处理的请求数",BusyWorkers:"线程数",IdleWorkers:"空闲的线程数",workercpu:"线程的CPU使用率",workermem:"线程的内存使用率",apache_RestartTime:"服务器的重启时间",apache_UpTime:"服务器的运行时间",apache_TotalAccesses:"服务器处理的总请求数",apache_TotalKBytes:"服务器处理的总字节数",apache_ReqPerSec:"平均每秒的请求数",apache_BusyWorkers:"正在处理请求的工作进程数",apache_IdleWorkers:"空闲工作进程数",apache_workercpu:"工作进程的 CPU 占用率",apache_workermem:"工作进程的内存占用",soft_info:"查询结果"}},bt={os:"Linux",site:{get_msg_configs:function(t){var s=bt.load("正在获取消息推送配置,请稍候...");bt.send("get_msg_configs","config/get_msg_configs",{},function(e){s.close(),t&&t(e)})},get_site_security:function(e,t,s){bt.send("GetSecurity","site/GetSecurity",{id:e,name:t},function(e){s&&s(e)})},set_site_security:function(e,t,s,a,n,i,l,o){var r=bt.load(lan.site.the_msg);bt.send("SetSecurity","site/SetSecurity",{id:e,name:t,fix:s,domains:a,status:n,return_rule:i,http_status:l},function(e){r.close(),o&&o(e)})},fullScreenLog:function(a,n,e,i){$(".full").unbind("click").click(function(){var t;t={content:i?'<div id="editor-content" style="height: 100%;"></div>':'<pre style="background:black;color:white;height:100%;margin:0">'+a.html()+"</pre>",success:function(e){var t,s;i&&(t={el:"editor-content",mode:"dockerfile",content:a.html(),readOnly:!n.hasOwnProperty("readOnly")||n.readOnly,theme:"ace/theme/monokai"},n.path&&(t.path=n.path),s=bt.aceEditor(t),n.top||setTimeout(function(){s.ACE.getSession().setScrollTop(s.ACE.renderer.scrollBar.scrollHeight)},50))}},layer.open({type:1,area:["100%","100%"],shade:.4,title:n.title||"查看【"+n.name+"】"+e+"日志",closeBtn:1,content:t.content,success:function(e){$(e).css({top:"0",left:"0"}),t.success&&t.success(e)}})})}},pub:{get_data:function(e,t,s){var a;s||(a=bt.load(lan.public.the)),bt.send("getData","data/getData",e,function(e){a&&a.close(),t&&t(e)})},set_data_by_key:function(s,a,e){var n=$(e),t=$("<input class='baktext' type='text' placeholder='"+lan.ftp.ps+"' />").val(n.text());n.hide().after(t),t.focus(),t.blur(function(){var e=$(this).parents("tr").data("item"),t=$(this),e={table:s,id:e.id};e[a]=t.val(),bt.pub.set_data_ps(e,function(e){e.status&&(n.text(t.val()),n.show(),t.remove())})}),t.keyup(function(){13==event.keyCode&&t.trigger("blur")})},set_data_ps:function(e,t){bt.send("setPs","data/setPs",e,function(e){t&&t(e)})},set_server_status:function(a,e){var n=a,t="name="+(a=(a="mysql"==(a="pureftpd"==(a=bt.contains(a,"php-")?"php-fpm-"+a.replace("php-","").replace(".",""):a)?"pure-ftpd":a)?"mysqld":a).replace("_soft",""))+"&type="+e,i=lan.bt[e],s="";switch(e){case"stop":s="停止";break;case"restart":s="重启";break;case"reload":s="重载"}bt.confirm({msg:lan.get("service_confirm",[i,a]),title:s+a+"服务"},function(){var s=bt.load(lan.get("service_the",[i,a]));bt.send("system","system/ServiceAdmin",t,function(e){s.close();var t=e.status?lan.get("service_ok",[a,i]):e.msg||lan.get("service_err",[a,i]);e.status?bt.msg({msg:t,icon:e.status}):layer.msg(t,{icon:2,closeBtn:2,time:0,shade:.3,shadeClose:!0}),e.status&&($(".bt-soft-menu").length?setTimeout(function(){bt.send("get_soft_find","plugin/get_soft_find",{sName:n},function(e){$(".bt-soft-menu").data("data",e),$(".bt-soft-menu .bgw").click()})},1e3):setTimeout(function(){bt.refreshMain("/soft")},1e3),e.status||bt.msg(e))})})},set_ftp_logs:function(e){var s="exec_name="+e,a="开启",t=("stop"===e&&(a="关闭"),"stop"!=e);layer.confirm(a+"pure-ftpd日志管理后,"+(t?"将记录所有FTP用户的登录、操作记录":"将无法记录所有FTP用户的登录、操作记录")+",是否继续操作?",{title:a+"pure-ftpd日志管理",closeBtn:2,icon:3,cancel:function(){$("#isFtplog").prop("checked",!t)}},function(){var t=bt.load("正在"+a+"pure-ftpd日志管理,请稍后...");bt.send("ftp","ftp/set_ftp_logs",s,function(e){t.close(),bt.msg(e),$(".bt-soft-menu p").eq(3).click()})},function(){$("#isFtplog").prop("checked",!t)})},get_ftp_logs:function(t){bt.send("ftp","ftp/set_ftp_logs",{exec_name:"getlog"},function(e){e="start"===e.msg;t&&t(e)})},set_server_status_by:function(e,t){bt.send("system","system/ServiceAdmin",e,function(e){t&&t(e)})},get_task_count:function(t){bt.send("GetTaskCount","ajax/GetTaskCount",{},function(e){$(".task").text(e),t&&t(e)})},check_install:function(t){bt.send("CheckInstalled","ajax/CheckInstalled",{},function(e){t&&t(e)})},get_user_info:function(t){var s=bt.load();bt.send("GetUserInfo","ssl/GetUserInfo",{},function(e){s.close(),t&&t(e)})},show_hide_pass:function(e){var t="glyphicon-eye-open",s="glyphicon-eye-close";$(e).hasClass(t)?($(e).removeClass(t).addClass(s),$(e).prev().text($(e).prev().attr("data-pw"))):($(e).removeClass(s).addClass(t),$(e).prev().text("**********"))},copy_pass:function(e){var t=new ClipboardJS("#bt_copys");t.on("success",function(e){bt.msg({msg:"复制成功",icon:1})}),t.on("error",function(e){bt.msg({msg:"复制失败,浏览器不兼容!",icon:2})}),$("#bt_copys").attr("data-clipboard-text",e),$("#bt_copys").click()},login_btname:function(e,t,s){var a=bt.load(lan.config.token_get);bt.send("GetToken","ssl/GetToken",{username:e,password:t},function(e){a.close(),bt.msg(e),e.status&&s&&s(e)})},bind_btname:function(e){(new BindAccount).bindUserView(1)},unbind_bt:function(){$("input[name='btusername']").val();bt.confirm({msg:lan.config.binding_un_msg,title:lan.config.binding_un_title},function(){bt.send("DelToken","ssl/DelToken",{},function(e){bt.msg(e),$("input[name='btusername']").val("")})})},get_menm:function(t){var s=bt.load();bt.send("GetMemInfo","system/GetMemInfo",{},function(e){s.close(),t&&t(e)})},on_edit_file:function(t,o,r){var e,s,a,c;0!=t?($("#PathPlace input").val(),e=encodeURIComponent($("#textBody").val()),s=$("select[name=encoding]").val(),a=bt.load(lan.bt.save_file),bt.send("SaveFileBody","files/SaveFileBody","data="+e+"&path="+o+"&encoding="+s,function(e){1==t&&a.close(),bt.msg(e)})):(c=bt.load(lan.bt.read_file),ext=bt.get_file_ext(o),bt.send("GetFileBody","files/GetFileBody","path="+o,function(s){if(s.status){c.close();for(var e,t=["utf-8","GBK","GB2312","BIG5"],a="",n=0;n<t.length;n++)e=s.encoding===t[n]?"selected":"",a+='<option value="'+t[n]+'" '+e+">"+t[n]+"</option>";var i={},l=bt.open({type:1,shift:5,closeBtn:1,area:["80%","80%"],shade:!1,title:lan.bt.edit_title+"["+o+"]",btn:[lan.public.save,lan.public.close],content:' <form class="bt-form pd20"> <div class="line"> <p style="position: relative; color:red;margin-bottom:10px">'+lan.bt.edit_ps+'<select class="bt-input-text" name="encoding" style="width: 74px;position: absolute;top: 0;right: 0;height: 22px;z-index: 9999;border-radius: 0;">'+a+'</select> </p> <div class="mCustomScrollbar bt-input-text ace_config_editor_scroll" id="textBody" style="width:100%;margin:0 auto;line-height: 1.8;position: relative;top: 10px;min-height:300px;"></div> </div> </form>',yes:function(e,t){bt.saveEditor(i)},btn2:function(e,t){l.close()},success:function(t){function e(){var e=$(t).find(".layui-layer-content").height();$("#textBody").height(e-80)}e(),$(window).on("resize",e),i=bt.aceEditor({el:"textBody",content:s.data,mode:r,saveCallback:function(e){bt.send("SaveFileBody","files/SaveFileBody",{path:o,encoding:$('[name="encoding"] option:selected').val(),data:e},function(e){bt.msg(e)})}})}})}else bt.msg({msg:s.msg,icon:5})}))}},soft:{install:function(e,t){window.parent.postMessage("installPlugin::"+e,"*")},get_soft_find:function(e,t){var s=bt.load();bt.send("get_soft_find","plugin/get_soft_find",{sName:e},function(e){s.close(),t&&t(e)})},get_config_path:function(e){var t="";if("Linux"==bt.os)switch(e){case"mysql":case"mysqld":t="/etc/my.cnf";break;case"nginx":t="/www/server/nginx/conf/nginx.conf";break;case"pureftpd":t="/www/server/pure-ftpd/etc/pure-ftpd.conf";break;case"apache":t="/www/server/apache/conf/httpd.conf";break;case"tomcat":t="/www/server/tomcat/conf/server.xml";break;case"memcached":t="/etc/init.d/memcached";break;case"redis":t="/www/server/redis/redis.conf";break;case"openlitespeed":t="/usr/local/lsws/conf/httpd_config.conf";break;default:t="/www/server/php/"+e+"/etc/php.ini"}return t},set_lib_config:function(n,i,s,e){if(-1!==["btwaf_httpd","btwaf","total","rsync","tamper_proof","syssafe","task_manager","security_notice","tamper_core","bt_security","system_scan","vuln_push","disk_analysis"].indexOf(n)&&parseInt(e)<0)return bt.soft.view_expire({type:"plugin",name:n,endtime:e});bt_tools.send({url:"/plugin?action=a&name="+n},function(e){if(e.msg&&-1!==e.msg.indexOf("您无操作此插件的权限"))return bt_tools.msg(e);var t=bt.load(lan.soft.menu_temp);$.ajax({url:"/plugin?action=getConfigHtml",data:{name:n,version:s},type:"get",success:function(a){function s(){bt.open({type:1,shift:5,offset:"auto",closeBtn:2,area:-1<i.indexOf("Node.js版本管理器")?["700px","710px"]:"700px",title:'<img style="width: 24px;margin-right: 5px;margin-left: -10px;margin-top: -3px;" src="/static/img/soft_ico/ico-'+n+'.png" />'+i,content:a.replace('"javascript/text"','"text/javascript"'),success:function(e){-1!=a.indexOf("CodeMirror")&&(loadLink(["/static/codemirror/lib/codemirror.css?v=1777008528"]),loadScript(["/static/codemirror/lib/codemirror.js?v=1777008528","/static/codemirror/addon/edit/editAll.js?v=1777008528","/static/codemirror/mode/modeAll.js?v=1777008528","/static/codemirror/addon/dialog/dialog.js?v=1777008528","/static/codemirror/addon/search/search.js?v=1777008528","/static/codemirror/addon/scroll/annotatescrollbar.js?v=1777008528"]));var t=$(window).height(),s=$(e).height();t<=s?setTimeout(function(){$(e).css({top:"0px"})},100):($(e).find(".layui-layer-content").removeAttr("style").css({"background-color":"#fff"}),$(e).css({top:(t-s)/2+"px"}),$(e).find(".layui-layer-close").addClass("layui-layer-close2").removeClass("layui-layer-close1"))},cancel:function(e){return layer.close(e),window.parent.postMessage("closePlugin","*"),!1}})}t.close(),!1===a.status?"phpguard"==n?layer.msg(lan.soft.menu_phpsafe,{icon:1}):layer.msg(a.msg,{icon:2}):"total"!=n&&"rsync"!=n&&"syssafe"!=n&&"tamper_proof"!=n||"true"==bt.get_storage(n+"_config")?s():bt_tools.send({url:"/plugin?action=check_plugin_settings",data:{soft_name:n}},function(e){e.on_config?s():layer.open({type:0,area:"200px",title:"【"+i+"】插件",closeBtn:2,icon:3,btn:["确定","取消"],content:"<div><span>检测到【"+i+'】插件存在配置文件</span><div style="display: flex;margin-top: 10px"><span>配置文件</span><div><div class="indicators-label" style="margin-left: 10px;" bt-event-click="indicatorsType" data-name="pv"><input type="radio" value="1" name="1" checked><label class="check_pv" style="font-weight:normal;cursor: pointer">导入</label><input type="radio" name="1" value="0"><label class="check_pv" style="margin-left: 10px; margin-bottom: 0; font-weight: normal;cursor: pointer" class="check_pv" style="font-weight:normal">不导入</label></div></div></div></div>',success:function(e,t){$(".check_pv").click(function(){$(this).prev().prop("checked",!0)}),$(".layui-layer-btn1").click(function(){bt.set_storage(n+"_config",!0),s(),layer.close(t)})},yes:function(t,e){bt.set_storage(n+"_config",!0),1==$('input[name="1"]:checked').val()?bt_tools.send({url:"/plugin?action=load_plugin_settings",data:{soft_name:n}},function(e){e.status&&(layer.close(t),s())},"导入配置文件"):(layer.close(t),s())},cancel:function(e){bt.set_storage(n+"_config",!0),layer.close(e),s()}})})}})},{verify:!1})},get_soft_list:function(e,t,s,a,n){null==e&&(e=1),null==t&&(t=0),null==s&&(s="");var i,l=bt.soft_flush_cache||0;null==n&&(n=12),-1==(e+="").indexOf("not_load")?i=bt.load(lan.public.the,1):(i=null,e=e.split("not_load")[0]),bt.send("get_soft_list","plugin/get_soft_list",{p:e,type:t,tojs:"soft.get_list",force:l,query:s,row:n},function(e){i&&i.close(),bt.soft.softList=e.list.data,e.list.data.length%3!=0?$(".soft_card_page").css("justify-content","flex-start"):$(".soft_card_page").css("justify-content","space-between"),bt.set_cookie("force",0),bt.set_cookie("ltd_end",e.ltd),bt.set_cookie("pro_end",e.pro),a&&a(e)}),bt.soft_flush_cache=0},updata_ltd:function(){window.parent.postMessage("ProductLtdBuy","*")},product_pay_view:function(e){window.parent.postMessage("ProductPayView::"+JSON.stringify(e),"*")}},firewall:{add_accept_port:function(e,t,s,a){var n="AddDropAddress";if("port"==e){ports=t.split(":"),-1!=t.indexOf("-")&&(ports=t.split("-"));for(var i=0;i<ports.length;i++)if(!bt.check_port(ports[i]))return void layer.msg("可用端口范围:1-65535",{icon:2});n="AddAcceptPort"}if(s.length<1)return layer.msg(lan.firewall.ps_err,{icon:2}),-1;loading=bt.load(),bt.send(n,"firewall/"+n,{port:t,type:e,ps:s},function(e){loading.close(),a&&a(e)})},del_accept_port:function(s,a,n){var i="DelDropAddress";-1==a.indexOf(".")&&(i="DelAcceptPort"),bt.confirm({msg:lan.get("confirm_del",[a]),title:lan.firewall.del_title},function(e){var t=bt.load(lan.public.the_del);bt.send(i,"firewall/"+i,{id:s,port:a},function(e){t.close(),n&&n(e)})})}},system:{rep_panel:function(t){var s=bt.load(lan.index.rep_panel_the);bt.send("RepPanel","system/RepPanel",{},function(e){s.close(),e&&(t&&t({status:e,msg:lan.index.rep_panel_ok}),bt.system.reload_panel())})}},database:{get_list:function(e,t,s){null==e&&(e=1),t=null==t?"":t;var a=bt.get_cookie("order")?"&order="+bt.get_cookie("order"):"";bt.pub.get_data("tojs=database.get_list&table=databases&limit=15&p="+e+"&search="+t+a,function(e){s&&s(e)})}},refreshMain:function(e){window.parent.postMessage("refreshMain"+(e?"::"+e:""),"*")},isInteger:function(e){return(0|e)===e},isInteger:function(e){return(0|e)===e},check_ip:function(e){return/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(e)},check_ips:function(e){return/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\/\d{1,2})?$/.test(e)},check_domain_list:function(e,t){for(var s=e.trim().replace(" ","").split("\n"),a=0;a<s.length;a++){var n=s[a];if(t&&!bt.check_domain_port(n))return bt.msg({status:!1,msg:"第"+(a+1)+"行【"+n+"】域名格式错误"}),!1;if(!t&&!bt.check_domain(n))return bt.msg({status:!1,msg:"第"+(a+1)+"行【"+n+"】域名格式错误"}),!1}return s},check_url:function(e){return/^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/.test(e)},check_port:function(e){return/^([1-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/.test(e)},check_chinese:function(e){return/[\u4e00-\u9fa5]/.test(e)},check_domain:function(e){return/^([\w\u4e00-\u9fa5\-\*]{1,100}\.){1,10}([\w\u4e00-\u9fa5\-]{1,24}|[\w\u4e00-\u9fa5\-]{1,24}\.[\w\u4e00-\u9fa5\-]{1,24})$/.test(bt.strim(e))},check_domain_port:function(e){return/^([\w\u4e00-\u9fa5\-\*]{1,100}\.){1,10}([\w\u4e00-\u9fa5\-]{1,24}|[\w\u4e00-\u9fa5\-]{1,24}\.[\w\u4e00-\u9fa5\-]{1,24})(:([1-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]))?$/.test(bt.strim(e))},check_img:function(e){return bt.check_exts(e,["jpg","jpeg","png","bmp","gif","tiff","ico"])},check_email:function(e){return/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/.test(e)},check_phone:function(e){return/^1(3|4|5|6|7|8|9)\d{9}$/.test(e)},check_zip:function(e){e=e.split("."),e=e[e.length-1].toLowerCase();return"zip"==e?0:"rar"==e?2:"gz"==e||"tgz"==e?1:-1},check_text:function(e){return!bt.check_exts(e,["rar","zip","tar.gz","gz","iso","xsl","doc","xdoc","jpeg","jpg","png","gif","bmp","tiff","exe","so","7z","bz"])},check_exts:function(e,t){e=e.split(".");if(!(e.length<2))for(var s=e[e.length-1].toLowerCase(),a=0;a<t.length;a++)if(s==t[a])return!0;return!1},check_version:function(e,t){for(var s=e.split("."),a=t.split("."),n=(s.length>a.length?s:a).length;0<n-s.length;)s.push(0);for(;0<n-a.length;)a.push(0);for(var i=0;i<n;i++)if(i==n-1){if(s[i]!=a[i])return 2}else if(s[i]!=a[i])return-1;return 1},url_merge:function(e){var t=window.location.origin;return("/static"!==cdn_url?cdn_url:t+cdn_url)+e+"?version="+panel_version+"&repair="+update_code},replace_all:function(str,old_data,new_data){var reg_str="/("+old_data+"+)/g",reg=eval(reg_str);return str.replace(reg,new_data)},get_file_ext:function(e){e=e.split(".");return e[e.length-1]},get_file_path:function(e){var t=e.split("/");return path=e.replace("/"+t[t.length-1],"")},get_date:function(e){var t=new Date,e=(t.setTime(t.getTime()+864e5*(null==e||isNaN(parseInt(e))?0:parseInt(e))),t.getFullYear()),s=t.getMonth()+1,t=t.getDate();return e+"-"+(s<10?"0"+s:s)+"-"+(t<10?"0"+t:t)},get_form:function(e){for(var t=$(e).serializeArray(),s={},a=0;a<t.length;a++)s[t[a].name]=t[a].value;return s},ltrim:function(str,r){var reg_str="/(^\\"+r+"+)/g",reg=eval(reg_str);return str=str.replace(reg,""),str},rtrim:function(str,r){var reg_str="/(\\"+r+"+$)/g",reg=eval(reg_str);return str=str.replace(reg,""),str},strim:function(str){var reg_str="/ /g",reg=eval(reg_str);return str=str.replace(reg,""),str},contains:function(e,t){return!!e&&0<=e.indexOf(t)},format_size:function(e,t,s,a){if(null==e)return 0;null==t&&(t=!0),null==s&&(s=2),null==a&&(a=""),"string"==typeof e&&(e=parseInt(e));for(var n=[" B"," KB"," MB"," GB","TB"],i=0;i<n.length;i++){var l,o=n[i];if(a){if(o.trim()==a.trim())return l=0==i||0==s?e:e.toFixed(s),t?l+o:parseFloat(l)}else if(e<1024)return l=0==i||0==s?e:e.toFixed(s),t?l+o:parseFloat(l);e/=1024}},format_data:function(e,t){null==t&&(t="yyyy/MM/dd hh:mm:ss"),10<(e=e.toString()).length&&(e=e.substring(0,10));var s,e=new Date(1e3*parseInt(e)),a={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(s in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),a)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?a[s]:("00"+a[s]).substr((""+a[s]).length)));return t},format_data:function(e,t){null==t&&(t="yyyy/MM/dd hh:mm:ss"),10<(e=e.toString()).length&&(e=e.substring(0,10));var s,e=new Date(1e3*parseInt(e)),a={"M+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(s in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),a)new RegExp("("+s+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?a[s]:("00"+a[s]).substr((""+a[s]).length)));return t},format_path:function(e){return e=e.replace(/(\\)/g,"/")},get_random:function(e){e=e||32;var t="AaBbCcDdEeFfGHhiJjKkLMmNnPpRSrTsWtXwYxZyz2345678",s=t.length,a="";for(i=0;i<e;i++)a+=t.charAt(Math.floor(Math.random()*s));return a},refresh_pwd:function(e,t){null==t&&(t="MyPassword");var s=$("#"+t);(0<s.length?s:$("."+t)).val(bt.get_random(e))},get_random_num:function(e,t){var t=t-e,s=Math.random();return e+Math.round(s*t)},get_random_code:function(){for(var e=[20,21,22,23],t=bt.get_random_num(13,19),s=t%10,a=bt.get_random_num(13,29),n=a%10;0<=$.inArray(a,e)||s+n<=10||s==n;)n=(a=bt.get_random_num(13,29))%10;return{num1:t,num2:a}},set_storage:function(e,t,s){"local"!=e&&"session"!=e&&(s=t,t=e,e="local"),window[e+"Storage"].setItem(t,s)},get_storage:function(e,t){return"local"!=e&&"session"!=e&&(t=e,e="local"),window[e+"Storage"].getItem(t)},remove_storage:function(e,t){"local"!=e&&"session"!=e&&(t=e,e="local"),window[e+"Storage"].removeItem(t)},clear_storage:function(e){"local"!=e&&"session"!=e&&(key=e,e="local"),window[e+"Storage"].clear()},set_cookie:function(e,t,s){s=(null!=s?(a=new Date).setTime(a.getTime()+s):(a=new Date).setTime(a.getTime()+2592e6),a.toGMTString());var a="https:"==window.location.protocol;document.cookie="http"+(a?"s":"")+"_"+e+"="+encodeURIComponent(t)+";expires="+s+(a?";Secure; Path=/; SameSite=None":"")},get_cookie:function(t){var s="https:"==window.location.protocol,s=new RegExp("(^| )http"+(s?"s":"")+"_"+t+"=([^;]*)(;|$)");if(t=document.cookie.match(s)){s="";if(2<t.length)try{s=decodeURIComponent(t[2])}catch(e){s=t[2]}return"undefined"==s?"":s}return null},clear_cookie:function(e){bt.set_cookie(e,"",new Date)},simple_confirm:function(e,s,t){layer.open({type:1,title:e.title,area:"430px",closeBtn:2,shadeClose:!1,btn:e.btn||[lan.public.ok,lan.public.cancel],content:'<div class="bt-form hint_confirm pd30"> <div class="hint_title"> <i class="hint-confirm-icon"></i> <div class="hint_con">'+e.msg+"</div> </div> </div>",yes:function(e,t){s&&void 0===s(e)&&layer.close(e)},btn2:function(e){t&&void 0===t(e)&&layer.close(e)},cancel:function(e){t&&void 0===t(e)&&layer.close(e)}})},simple_confirm:function(e,s,t){layer.open({type:1,title:e.title,area:"430px",closeBtn:2,shadeClose:!1,btn:e.btn||[lan.public.ok,lan.public.cancel],content:'<div class="bt-form hint_confirm pd30">\t\t\t\t\t<div class="hint_title">\t\t\t\t\t\t<i class="hint-confirm-icon"></i>\t\t\t\t\t\t<div class="hint_con">'+e.msg+"</div>\t\t\t\t\t</div>\t\t\t\t</div>",yes:function(e,t){s&&void 0===s(e)&&layer.close(e)},btn2:function(e){t&&void 0===t(e)&&layer.close(e)},cancel:function(e){t&&void 0===t(e)&&layer.close(e)}})},prompt_confirm:function(s,e,a){layer.open({type:1,title:s,area:"350px",closeBtn:2,btn:["确认","取消"],content:"<div class='bt-form promptDelete pd20'>\t\t\t\t\t\t\t\t<p>"+e+"</p>\t\t\t\t\t\t\t\t<div class='confirm-info-box'>\t\t\t\t\t\t\t\t\t<input onpaste='return false;' id='prompt_input_box' type='text' value=''>\t\t\t\t\t\t\t\t\t<div class='placeholder c9 prompt_input_tips' >如果确认操作,请手动输入‘<font style='color: red'>"+s+"</font>’</div>\t\t\t\t\t\t\t\t\t\t\t<div style='margin-top:5px;display: none;' class='prompt_input_ps'>验证码错误,请手动输入‘<font style='color: red'>"+s+"</font>’</div></div>\t\t\t\t\t\t\t\t</div>",success:function(){var e=$("#prompt_input_box");$(".placeholder").click(function(){$(this).hide().siblings("input").focus()}),e.focus(function(){$(".prompt_input_tips.placeholder").hide()}),e.blur(function(){""==e.val()?$(".prompt_input_tips.placeholder").show():$(".prompt_input_tips.placeholder").hide()}),e.keyup(function(){(""==e.val()?($(".prompt_input_tips.placeholder").show(),$(".prompt_input_ps")):$(".prompt_input_tips.placeholder")).hide()})},yes:function(e,t){bt.replace_all($("#prompt_input_box").val()," ","")==s?(layer.close(e),a&&a()):$(".prompt_input_ps").show()}})},show_confirm:function(e,t,n,s){var a=Math.round(9*Math.random()+1),i=Math.round(9*Math.random()+1);function l(e,t){var s=$("#vcodeResult"),a=s.val().replace(/ /g,"");null==a||""==a||a!=s.data("value")?layer.msg(lan.bt.cal_err):(layer.close(e),n&&n())}layer.open({type:1,title:e,area:"365px",closeBtn:2,shadeClose:!0,btn:[lan.public.ok,lan.public.cancel],content:"<div class='bt-form webDelete pd20'> <p style='font-size:13px;word-break: break-all;margin-bottom: 5px;'>"+t+"</p>"+(s||"")+"<div class='vcode'>"+lan.bt.cal_msg+"<span class='text'>"+(a+" + "+i)+"</span>=<input type='number' id='vcodeResult' data-value='"+(a+i)+"' value=''></div> </div>",success:function(e,t){$("#vcodeResult").focus().keyup(function(e){13==e.keyCode&&l(t)})},yes:l})},compute_confirm:function(e,n){var t=Math.round(9*Math.random()+1),s=Math.round(9*Math.random()+1);function a(e,t){var s=$("#vcodeResult"),a=s.val().replace(/ /g,"");null==a||""==a||a!=s.data("value")?layer.msg(lan.bt.cal_err):(layer.close(e),n&&n())}layer.open({type:1,title:e.title,area:"430px",closeBtn:2,shadeClose:!0,btn:[lan.public.ok,lan.public.cancel],content:'<div class="bt-form hint_confirm pd30">\t\t\t\t\t\t<div class="hint_title">\t\t\t\t\t\t\t<i class="hint-confirm-icon"></i>\t\t\t\t\t\t\t<div class="hint_con">'+e.msg+'</div>\t\t\t\t\t\t</div>\t\t\t\t\t\t<div class="vcode">计算验证:<span class="text">'+(t+" + "+s)+'</span>=<input type="number" id="vcodeResult" data-value="'+(t+s)+'" value=""></div>\t\t\t\t</div>',success:function(e,t){$("#vcodeResult").focus().keyup(function(e){13==e.keyCode&&a(t)})},yes:a})},input_confirm:function(s,a){layer.open({type:1,title:s.title,area:"430px",closeBtn:2,shadeClose:!0,btn:[lan.public.ok,lan.public.cancel],content:'<div class="bt-form hint_confirm pd30">\t\t\t\t\t\t<div class="hint_title">\t\t\t\t\t\t\t<i class="hint-confirm-icon"></i>\t\t\t\t\t\t\t<div class="hint_con">'+s.msg+'</div>\t\t\t\t\t\t</div>\t\t\t\t\t\t<div class="confirm-info-box">\t\t\t\t\t\t\t<div>请手动输入“<span class="color-org">'+s.value+'</span>”,完成验证</div>\t\t\t\t\t\t\t<input onpaste="return false;" id="prompt_input_box" type="text" value="" autocomplete="off">\t\t\t\t\t\t</div>\t\t\t\t</div>',yes:function(e,t){if(bt.replace_all($("#prompt_input_box").val()," ","")!=s.value)return $("#prompt_input_box").focus(),layer.msg("验证失败,请重新输入",{icon:2});layer.close(e),a&&a()}})},get_file_list:function(e,o,r){o=o||"dir";var c=this;bt.send("GetDir","files/GetDir",{path:e,disk:!0},function(e){var t="",s="";if(null!=e.DISK){for(var a=0;a<e.DISK.length;a++)s+='<dd class="bt_open_dir" path ="'+e.DISK[a].path+"\"><span class='glyphicon glyphicon-hdd'></span> "+e.DISK[a].path+"</dd>";$("#changecomlist").html(s)}for(a=0;a<e.DIR.length;a++){var n=(i=e.DIR[a].split(";"))[0];""!=(l=i[10])&&null==(l=null==(l=l.split(":")[1])?i[10].split(":")[1]:l)&&(l=i[10]),20<n.length&&(n=n.substring(0,20)+"..."),isChineseChar(n)&&10<n.length&&(n=n.substring(0,10)+"..."),t+="<tr><td>"+("all"===o||"dir"===o||"multiple"===o?'<span style="display: flex;align-items: center;"><input style="margin: 0;" type="checkbox" name="fileCheck" /></span>':"")+'</td><td><a class=\'fileItem bt_open_dir\' class="bt_open_dir" data-path ="'+e.PATH+"/"+i[0]+"\" title='"+i[0]+"' data-type=\"dir\"><span class='glyphicon glyphicon-folder-open'></span><span>"+n+"</span></a></td><td style='width:100px'><span style=' width: 100px;display: inline-block;text-overflow: ellipsis;overflow: hidden;white-space: pre;vertical-align: middle;'>"+l+"</span></td><td>"+bt.format_data(i[2])+"</td><td>"+i[3]+" | "+i[4]+"</td></tr>"}if(null!==e.FILES&&""!==e.FILES)for(a=0;a<e.FILES.length;a++){var i,l,n=(i=e.FILES[a].split(";"))[0];""!=(l=i[10])&&null==(l=null==(l=l.split(":")[1])?i[10].split(":")[1]:l)&&(l=i[10]),20<n.length&&(n=n.substring(0,20)+"..."),isChineseChar(n)&&10<n.length&&(n=n.substring(0,10)+"..."),t+="<tr><td>"+("all"===o||"file"===o||"multiple"===o?'<span style="display: flex;align-items: center;"><input style="margin: 0;" type="checkbox" name="fileCheck" /></span>':"")+"<td><a class='fileItem bt_open_dir' class=\"bt_open_dir\" title='"+i[0]+'\' data-type="files" data-path ="'+e.PATH+"/"+i[0]+"\"><span class='glyphicon glyphicon-file'></span><span>"+n+"</span></a></td><td style='width:100px'><span style=' width: 100px;display: inline-block;text-overflow: ellipsis;overflow: hidden;white-space: pre;vertical-align: middle;'>"+l+"</span></td><td>"+bt.format_data(i[2])+"</td><td>"+i[3]+" | "+i[4]+"</td></tr>"}$(".default").hide(),$(".file-list").show(),$("#tbody").html(t),"/"!==e.PATH.substr(e.PATH.length-1,1)&&(e.PATH+="/"),$("#PathPlace").find("span").html(e.PATH),$("#tbody tr").click(function(){0<$(this).find("td:eq(0) input").length&&($(this).hasClass("active")?($(this).removeClass("active"),$(this).find("td:eq(0) input").prop("checked",!1)):($(this).addClass("active"),$(this).find("td:eq(0) input").prop("checked",!0),"multiple"!==o&&($(this).addClass("active").siblings().removeClass("active"),$(this).siblings().find("td:eq(0) input").prop("checked",!1))))}),$("#changecomlist dd").click(function(){c.get_file_list($(this).attr("path"),o)}),$(".bt_open_dir").click(function(){var e=$(this).data();"dir"===e.type&&c.get_file_list(e.path,o)}),r&&r(e)})},select_path:function(a,n,i,l){bt.set_cookie("SetName",""),"string"!=typeof n&&(i=n,n="dir"),title="all"===n?"选择目录和文件":"file"===n?lan.bt.file:lan.bt.dir,"multiple"===n&&(title="选择目录和文件,支持多选");var o=bt.open({type:1,area:"750px",title:title,closeBtn:2,shift:5,content:"<div class='changepath'> <div class='path-top flex' style='justify-content: space-between;'><div> <button type='button' id='btn_back' class='btn btn-default btn-sm'><span class='glyphicon glyphicon-share-alt'></span> "+lan.public.return+"</button> <div class='place' id='PathPlace'>"+lan.bt.path+":<span></span></div> </div> <div> <button type='button' id='btn_refresh' class='btn btn-default btn-sm'><span class='glyphicon glyphicon-repeat'></span> 刷新</button> </div> </div> <div class='path-con'><div class='path-con-left'><dl><dt id='changecomlist' >"+lan.bt.comp+"</dt></dl></div><div class='path-con-right'><ul class='default' id='computerDefautl'></ul><div class='file-list divtable'><table class='table table-hover' style='border:0 none'><thead><tr class='file-list-head'><th width='5%'></th><th width='38%'>"+lan.bt.filename+"</th><th>备注</th><th width='24%'>"+lan.bt.etime+"</th><th width='8%'>"+lan.bt.access+"</th></tr></thead><tbody id='tbody' class='list-list'></tbody></table></div></div></div></div><div class='getfile-btn' style='margin-top:0'><button type='button' class='btn btn-default btn-sm pull-left' onclick='CreateFolder()'>"+lan.bt.adddir+"</button><button type='button' class='btn btn-danger btn-sm mr5' onclick=\"layer.close(getCookie('ChangePath'))\">"+lan.public.close+"</button> <button type='button' id='bt_select' class='btn btn-success btn-sm' >"+lan.bt.path_ok+"</button></div>",success:function(){$("#btn_refresh").click(function(){var e=$("#PathPlace").find("span").text(),e=bt.rtrim(bt.format_path(e),"/"),t=bt.load("正在刷新目录,请稍后...");bt.get_file_list(e,n,function(){t.close()})}),$("#btn_back").on("click",function(){var e=$("#PathPlace").find("span").text(),e=bt.rtrim(bt.format_path(e),"/"),e=bt.get_file_path(e);bt.get_file_list(e,n)}),$("#bt_select").on("click",function(){var t=[],e=$("#tbody tr.active"),s="dir";if(!e.length&&"file"==n)return layer.msg("请选择文件继续操作!",{icon:0}),!1;e.each(function(){var e=$(this).find(".fileItem").data();s=e.type,t.push(bt.rtrim(e.path,"/"))}),0===t.length&&(t=[$("#PathPlace").find("span").text()]),$("#"+a).val(t[0]).change(),$("."+a).val(t[0]).change(),"function"==typeof i&&i(t[0],t,s),o.close()});var e=$("#"+a),t=e.val(),s=$("#defaultPath");0<s.length&&0<e.parents(".tab-body").length&&(t=s.text()),bt.get_file_list(t=l?l:t,n)}});bt.set_cookie("ChangePath",o.form)},win_format_param:function(e){if("object"!=typeof s)return e;var t,s="";for(t in e)s+=t+"="+e[t]+"&";return s=0<s.length?s.substr(0,s.length-1):s},msg:function(e){-1===e.code&&(e.closeBtn=1,e.time=0);var t={title:e.title||!1,shadeClose:e.shadeClose||!0,closeBtn:e.closeBtn||0,scrollbar:!0,shade:.3},s=(e.hasOwnProperty("time")||(e.time=2e3),"string"==typeof e.msg&&bt.contains(e.msg,"ERROR")&&(e.time=0),e.hasOwnProperty("icon")?"boolean"==typeof e.icon&&(e.icon=e.icon?1:2):e.hasOwnProperty("status")&&(e.icon=e.status?1:2,e.status||(t.time=0)),e.icon&&(t.icon=e.icon),t.time=e.time,"");e.msg&&(s+=e.msg),e.msg_error&&(s+=e.msg_error),e.msg_solve&&(s+=e.msg_solve),layer.msg(s,t)},confirm:function(e,t,s){var a={title:e.title||!1,time:e.time||0,shadeClose:void 0===e.shadeClose||e.shadeClose,closeBtn:e.closeBtn||2,scrollbar:!0,shade:.3,icon:3,skin:e.skin||"",cancel:e.cancel||function(){}};layer.confirm(e.msg,a,function(e){t&&t(e)},function(e){s&&s(e)})},load:function(e){e=e||lan.public.the;var t={form:layer.msg(e,{icon:16,time:0,shade:[.3,"#000"]}),close:function(){layer.close(t.form)}};return t},open:function(e){e.closeBtn=2;var t={form:layer.open(e),close:function(){layer.close(t.form)}};return t},closeAll:function(){layer.closeAll()},send:function(e,t,s,a,n){t=t.replace("panel_data","data");var i=bt.get_random(16),i=(console.time(i),e||alert(lan.get("lack_param",["response"])),(modelTmp=t.split("/")).length<2&&alert(lan.get("lack_param",["s_module","action"])),bt.os,s=bt.win_format_param(s),"/"+modelTmp[0]+"?action="+modelTmp[1]);$.post(i,s,function(e){if("string"==typeof e){if(-1!=e.indexOf("/static/favicon.ico")&&-1!=e.indexOf("/static/img/qrCode.png")||0===e.indexOf("<!DOCTYPE html>"))return void(window.location.href="/login");var t,s;if(e.startsWith("Traceback"))return error_find=0,gl_error_body="\x3c!--\x3c!--"+e,t=parseInt(bt.get_cookie("pro_end")||-1),s=parseInt(bt.get_cookie("ltd_end")||-1),isBuy=0==t||0<s,void showErrorMessage()}if(n&&n.hasOwnProperty("verify")&&!0===n.verify&&"object"==typeof e&&!1===e.status&&(e.hasOwnProperty("msg")||e.hasOwnProperty("error_msg")))return bt_tools.msg({status:e.status,msg:e.hasOwnProperty("msg")?e.msg:e.error_msg}),!1;a&&a(e)}).error(function(e,t){a&&a("error")})},aceEditor:function(e){var t,s={ACE:ace.edit(e.el,{theme:e.theme||"ace/theme/chrome",mode:"ace/mode/"+(e.mode||"nginx"),wrap:!0,showInvisibles:!1,showPrintMargin:!1,showFoldWidgets:!1,useSoftTabs:!0,tabSize:2,readOnly:e.readOnly||!1}),path:e.path,content:"",saveCallback:e.saveCallback};return $("#"+e.el).css("fontSize","12px"),s.ACE.commands.addCommand({name:"保存文件",bindKey:{win:"Ctrl-S",mac:"Command-S"},exec:function(e){bt.saveEditor(s,s.saveCallback)},readOnly:!1}),void 0!==e.path?(t=layer.msg(lan.soft.get_config,{icon:16,time:0,shade:[.3,"#000"]}),bt.send("GetFileBody","files/GetFileBody",{path:e.path},function(e){if(layer.close(t),!e.status)return bt.msg(e),!1;s.ACE.setValue(e.data),s.ACE.moveCursorTo(0,0),s.ACE.resize()})):null!=e.content&&(s.ACE.setValue(e.content),s.ACE.moveCursorTo(0,0),s.ACE.resize()),s},saveEditor:function(e,t){var s;e.saveCallback?e.saveCallback(e.ACE.getValue()):(t=t||"utf-8",s=bt.load(lan.soft.the_save),bt.send("SaveFileBody","files/SaveFileBody",{data:e.ACE.getValue(),path:e.path,encoding:t},function(e){s.close(),bt.msg(e)}))},openFeedback:function(n){var i=bt_tools.open({area:["570px","380px"],btn:!1,content:'<div id="feedback">\t\t\t<div class="nps_survey_banner">\t\t\t<span class="Ftitle"> <i></i> <span style="vertical-align:4px;">'+n.title+'</span> </span>\t\t</div>\t\t<div style="padding: 25px 0 0 40px">\t\t\t<div class="flex flex-col items-center">\t\t\t\t<div id="feedForm"></div>\t\t\t</div>\t\t</div>\t\t</div>',success:function(e){e.find(".layui-layer-title").remove(),bt_tools.form({el:"#feedForm",form:[{group:{type:"textarea",name:"feed",style:{width:"500px","min-width":"500px","min-height":"130px","line-height":"22px","padding-top":"10px",resize:"none"},tips:{text:n.placeholder,style:{top:"126px",left:"50px"}}}},{group:{name:"tips",type:"other",boxcontent:'<div style="color:#20a53a;margin-left:30px;">'+n.recover+"</div>"}},{group:{type:"button",size:"",name:"submitForm",class:"feedBtn",style:"margin:6px auto 0;padding:6px 40px;",title:"提交",event:function(e,t,s){if(""==e.feed)return bt.msg({status:!1,msg:"请填写反馈内容"});var a={};a[n.key]=e.feed,bt_tools.send({url:"config?action=write_nps_new",data:{questions:JSON.stringify(a),software_name:1,rate:0,product_type:n.proType}},function(e){e.status&&(i.close(),layer.open({title:!1,btn:!1,shadeClose:!0,shade:.1,closeBtn:0,skin:"qa_thank_dialog",area:"230px",content:'<div class="qa_thank_box" style="background-color:#F1F9F3;text-align: center;padding: 20px 0;"><img src="/static/img/feedback/QA_like.png" style="width: 55px;"><p style="margin-top: 15px;">感谢您的参与!</p></div>',success:function(e,t){$(e).find(".layui-layer-content").css({padding:"0","border-radius":"5px"}),$(e).css({"border-radius":"5px","min-width":"230px"}),setTimeout(function(){layer.close(t)},3e3)}}))},"提交反馈")}}}]})},yes:function(){},cancel:function(){}})},check_select:function(){setTimeout(function(){var e=$('input[type="checkbox"].check:checked').length;1==e?($('button[batch="true"]').hide(),$('button[batch="false"]').show()):1<e?($('button[batch="true"]').show(),$('button[batch="false"]').show()):($('button[batch="true"]').hide(),$('button[batch="false"]').hide())},5)},render_help:function(e){for(var t='<ul class="help-info-text c7">',s=0;s<e.length;s++)t+="<li>"+e[s]+"</li>";return t+="</ul>"},render_ps:function(e){for(var t="<p class='p1'>"+e.title+"</p>",s=0;s<e.list.length;s++)t+="<p><span>"+e.list[s].title+":</span><strong>"+e.list[s].val+"</strong></p>";return t+='<p style="margin-bottom: 19px; margin-top: 11px; color: var(--el-color-text-secondary)"></p>'},render_table:function(e,t,s){var a,n="";for(a in t)if(t.hasOwnProperty(a)){if(n+="<tr><th>"+a+"</th>","object"!=typeof t[a])n+="<td>"+t[a]+"</td>";else for(var i=0;i<t[a].length;i++)n+="<td>"+t[a][i]+"</td>";n+="</tr>"}s?$("#"+e).append(n):$("#"+e).html(n)},fixed_table:function(e){$("#"+e).parent().bind("scroll",function(){var e=this.scrollTop;$(this).find("thead").css({transform:"translateY("+e+"px)",position:"relative","z-index":"1"})})},render_tab:function(t,e){for(var s=$("#"+t).addClass("tab-nav"),a=0;a<e.length;a++){var n=e[a],i=$("<span "+(n.on?'class="on"':"")+">"+n.title+"</span>");n.callback&&(i.data("callback",n.callback),i.click(function(){$("#"+t).find("span").removeClass("on"),$(this).addClass("on");var e=$("#"+t).next(".tab-con");e.html(""),$(this).data("callback")(e)})),s.append(i)}},render_form_line:function(e,t,s){var a=[],n="",i="",l=" ml0",o=(t=t||"",e.title&&(n+='<span class="tname">'+e.title+"</span>",l=""),n+="<div class='info-r "+e.class+" "+l+"'>",e.name),r=e.placeholder;if(e.items&&"select"!=e.type){for(var c=0;c<e.items.length;c++){var p=e.items[c];if(!o&&!p.name)return void alert("缺少必要参数name");if(!p.hide){switch(p.name&&(o=p.name),p.placeholder&&(r=p.placeholder),p.title&&(n+='<div class="inlineBlock mr5"><span class="mr5">'+p.title+"</span> "),p.type){case"select":var d=p.width||"100px";n+="<select "+(p.disabled?"disabled":"")+' class="bt-input-text mr5 '+o+t+'" name="'+o+'" style="width:'+d+'">';for(var _=0;_<p.items.length;_++)n+="<option "+(p.value==p.items[_].value?"selected":"")+' value="'+p.items[_].value+'">'+p.items[_].title+"</option>";n+="</select>";break;case"textarea":n+='<textarea class="bt-input-text mr20 '+o+t+'" name="'+o+'" style="width:'+(d=p.width||"330px")+";height:"+(u=p.height||"100px")+';line-height:22px">'+(p.value||"")+"</textarea>",r&&(n+='<div class="placeholder c9" style="top: 15px; left: 15px; display: block;">'+r+"</div>");break;case"button":var d=p.width||"330px";n+='<button type="button" name=\''+o+"' class=\"btn btn-"+(p.color||"success")+" btn-sm mr5 ml5 "+o+t+" "+(p.class||"")+'">'+p.text+"</button>";break;case"radio":n+='<input type="radio" class="'+o+'" id="'+o+'" name="'+o+'" '+(!0===p.value?"checked":"")+'><label class="mr20" for="'+o+'" style="font-weight:normal">'+p.text+"</label>";break;case"checkbox":n+='<input type="checkbox" class="'+o+'" id="'+o+'" name="'+o+'" '+(!0===p.value?"checked":"")+'><label class="mr20" for="'+o+'" style="font-weight:normal">'+p.text+"</label>";break;case"number":d=p.width||"330px",n=(n+="<input name='"+o+"' "+(p.disabled?"disabled":"")+" class='bt-input-text mr5 "+o+t+"' "+(r?' placeholder="'+r+'"':"")+" type='number' style='width:"+d+"' value='"+(p.value||"0")+"' />")+(p.unit||"");break;case"password":d=p.width||"330px";n+="<input name='"+o+"' "+(p.disabled?"disabled":"")+" class='bt-input-text mr5 "+o+t+"' "+(r?' placeholder="'+r+'"':"")+" type='password' style='width:"+d+"' value='"+(p.value||"")+"' />";break;case"div":n+='<div class="bt-input-text ace_config_editor_scroll mr20 '+o+t+'" name="'+o+'" style="width:'+(d=p.width||"330px")+";height:"+(u=p.height||"100px")+';line-height:22px">'+(p.value||"")+"</div>",r&&(n+='<div class="placeholder c9" style="top: 15px; left: 15px; display: block;">'+r+"</div>");break;case"switch":n+='<div style="display: inline-block;vertical-align: middle;">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input type="checkbox" id="'+o+'" '+(1==p.value?"checked":"")+' class="btswitch btswitch-ios">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<label class="btswitch-btn" for="'+o+'" style="margin-top:5px;"></label>\t\t\t\t\t\t\t\t\t\t\t\t\t</div>';break;case"other":n+=p.boxcontent;break;default:d=p.width||"330px";n+="<input name='"+o+"' "+(p.disabled?"disabled":"")+" class='bt-input-text mr5 "+o+t+"' "+(r?' placeholder="'+r+'"':"")+" type='text' style='width:"+d+"' value='"+(p.value||"")+"' />"}p.title&&(n+="</div>"),null!=p.callback&&a.push({bind:o+t,callback:p.callback}),p.event&&(n+='<span data-id="'+o+t+'" class="glyphicon cursor mr5 '+p.event.css+" icon_"+o+t+'" ></span>',p.event.callback)&&a.push({bind:"icon_"+o+t,callback:p.event.callback}),p.ps&&(n+=" <span class='c9 mt10'>"+p.ps+"</span>"),p.ps_help&&(n+="<span class='bt-ico-ask "+p.name+"_help' tip='"+p.ps_help+"'>?</span>")}}e.ps&&(n+=" <span class='c9 mt10'>"+e.ps+"</span>")}else{switch(e.type){case"select":d=e.width||"100px";n+="<select "+(e.disabled?"disabled":"")+' class="bt-input-text mr5 '+o+t+'" name="'+o+'" style="width:'+d+'">';for(_=0;_<e.items.length;_++)n+="<option "+(e.value==e.items[_].value?"selected":"")+' value="'+e.items[_].value+'">'+e.items[_].title+"</option>";n+="</select>";break;case"button":d=e.width||"330px";n+='<button type="button" name=\''+o+"' class=\"btn btn-success btn-sm mr5 ml5 "+o+t+'">'+e.text+"</button>";break;case"number":d=e.width||"330px";n+="<input name='"+e.name+"' "+(e.disabled?"disabled":"")+" class='bt-input-text mr5 "+o+t+"' "+(r?' placeholder="'+r+'"':"")+" type='number' style='width:"+d+"' value='"+(e.value||"0")+"' />";break;case"checkbox":n+='<input type="checkbox" class="'+o+'" id="'+o+'" name="'+o+'" '+(!0===e.value?"checked":"")+'><label class="mr20" for="'+o+'" style="font-weight:normal">'+e.text+"</label>";break;case"password":d=e.width||"330px";n+="<input name='"+o+"' "+(e.disabled?"disabled":"")+" class='bt-input-text mr5 "+o+t+"' "+(r?' placeholder="'+r+'"':"")+" type='password' style='width:"+d+"' value='"+(e.value||"")+"' />";break;case"textarea":var d=e.width||"330px",u=e.height||"100px";n+='<textarea class="bt-input-text mr20 '+o+t+'" '+(e.disabled?"disabled":"")+' name="'+o+'" style="width:'+d+";height:"+u+';line-height:22px">'+(e.value||"")+"</textarea>",r&&(n+='<div class="placeholder c9" style="top: 15px; left: 15px; display: block;">'+r+"</div>");break;case"other":n+=e.boxcontent;break;default:d=e.width||"330px";n+="<input name='"+e.name+"' "+(e.disabled?"disabled":"")+" class='bt-input-text mr5 "+o+t+"' "+(r?' placeholder="'+r+'"':"")+" type='text' style='width:"+d+"' value='"+(e.value||"")+"' />"}e.callback&&a.push({bind:o+t,callback:e.callback}),e.ps&&(n+=" <span class='c9 mt10 mr5'>"+e.ps+"</span>")}return n+="</div>",e.class||(e.class=""),n='<div class="line '+e.class+'" '+(i=e.hide?'style="display:none;"':i)+">"+n+"</div>",s&&(s.append(n),bt.render_clicks(a)),{html:n,clicks:a,data:e}},render_form:function(e,t){if(e){for(var s="_"+bt.get_random(6),a=$("<div data-id='form"+s+"' class='bt-form bt-form pd20 pb70 "+(e.class||"")+"'></div>"),n=e.list,i=[],l=0;l<n.length;l++){var o=n[l];if(o.hasOwnProperty("html"))a.append(o.html);else{for(var r=bt.render_form_line(o,s),c=0;c<r.clicks.length;c++)i.push(r.clicks[c]);a.append(r.html)}}for(var p="",l=0;l<e.btns.length;l++){var d=e.btns[l];p+="<button type='button' class='btn btn-sm "+(d.css||"btn-danger")+" "+d.name+s+"' >"+d.title+"</button>",i.push({bind:d.name+s,callback:d.callback})}a.append("<div class='bt-form-submit-btn'>"+p+"</div>");var _=bt.open({type:1,skin:e.skin,area:e.area,title:e.title,closeBtn:2,content:a.prop("outerHTML"),end:e.end||!1,success:function(){$(":focus").blur(),e.yes&&e.yes()}});setTimeout(function(){bt.render_clicks(i,_,t)},100)}return s},render_clicks:function(e,t,s){for(var a=0;a<e.length;a++){var n=e[a],i=$("."+n.bind);switch(i.data("item",n),i.data("load",t),i.data("callback",s),i.prop("tagName")){case"SPAN":i.click(function(){$(this).data("item").callback($(this).attr("data-id"))});break;case"SELECT":i.change(function(){$(this).data("item").callback($(this))});break;case"TEXTAREA":case"INPUT":case"BUTTON":"BUTTON"==i.prop("tagName")||"checkbox"==i.attr("type")?i.click(function(){var a,e=$(this).data("item"),t=$(this).data("load"),s=$(this).data("callback"),n=0===$(this).parents(".bt-form").length?$(this).parents(".bt-w-con"):$(this).parents(".bt-form");e.callback?(a={},n.find("*").each(function(e,t){var s=$(t).attr("name");s&&("checkbox"==$(t).attr("type")||"radio"==$(t).attr("type")?a[s]=$(t).prop("checked"):a[s]=$(t).val())}),e.callback(a,t,function(e){s&&s(e)})):t.close()}):"radio"==i.attr("type")?i.click(function(){$(this).data("item").callback($(this))}):i.on("input",function(){$(this).data("item").callback($(this))})}}},render:function(a){if(a.columns){for(var e={},t=($(a.table).html(""),"<thead><tr>"),s=0;s<a.columns.length;s++)(l=a.columns[s])&&(t+="<th",l.width&&(t+=' width="'+l.width+'" '),(l.align||l.sort)&&(t+=' style="',l.align&&(t+="text-align:"+l.align+";"),l.sort&&(t+=l.sort?"cursor: pointer;":""),t+='"'),"checkbox"==l.type?t+='><input class="check" onclick="bt.check_select();" type="checkbox">':t+=">"+l.title,l.sort&&(e[l.field]=l.sort,t+=' <span data-id="'+l.field+'" class="glyphicon glyphicon-triangle-top" style="margin-left:5px;color:#bbb"></span>'),l.help&&(t+='<a href="'+l.help+'" class="bt-ico-ask" target="_blank" title="点击查看说明">?</a>'),t+="</th>");t+="</tr></thead>";var n=$(a.table).append(t);if(0<a.data.length)for(var i=0;i<a.data.length;i++)for(var l,o,r,c,p=a.data[i],d=$("<tr></tr>"),s=0;s<a.columns.length;s++)(l=a.columns[s])&&("string"==typeof(o=p[l.field])&&(o=o.replace(/\\/g,"")),l.hasOwnProperty("templet")&&(o=l.templet(p)),"checkbox"==l.type&&(o="<input value="+p[l.field]+' class="check" onclick="bt.check_select();" type="checkbox">'),r="<td ",l.align&&(r+='style="',l.align&&(r+="text-align:"+l.align),r+='"'),l.index&&(r+='data-index="'+i+'" '),r+=">",c=!1,void 0!==l.fixed&&l.fixed&&(void 0!==l.class?-1===l.class.indexOf("fixed")&&(l.class+=" fixed"):l.class="fixed",c=!0),d.append(r+(c?'<span style="width:'+(l.width-16)+'px" title="'+o+'" class="'+l.class+'">'+o+"</span>":o)+"</td>"),d.data("item",p),n.append(d));else n.append("<tr><td colspan='"+a.columns.length+"'>"+lan.bt.no_data+"</td></tr>"),"softList"==$(a.table).attr("id")&&(n.find("td").css("text-align","center").html("<a class=\"btlink\" onclick=\"bt.openFeedback({title:'宝塔面板需求反馈收集',placeholder:'<span>如果您在使用过程中遇到任何问题或功能不完善,请将您的问题或需求详细描述给我们,</span><br>我们将尽力为您解决或完善。',recover:'我们特别重视您的需求反馈,我们会定期每周进行需求评审。希望能更好的帮到您',key:993,proType:16})\">未查询到搜索内容,提交需求反馈</a>"),$(".soft-search").after("<a class=\"btlink npsFeedBack ml20\" style=\"line-height: 30px\" onclick=\"bt.openFeedback({title:'宝塔面板需求反馈收集',placeholder:'<span>如果您在使用过程中遇到任何问题或功能不完善,请将您的问题或需求详细描述给我们,</span><br>我们将尽力为您解决或完善。',recover:'我们特别重视您的需求反馈,我们会定期每周进行需求评审。希望能更好的帮到您',key:993,proType:16})\">未查询到搜索内容,提交需求反馈</a>"));$(a.table).find(".check").click(function(){var e=$(this).prop("checked");"TH"==$(this).parent().prop("tagName")&&$(".check").prop("checked",e?"checked":"")});var _,u="glyphicon-triangle-top",h="glyphicon-triangle-bottom",m=bt.get_cookie("order");null!=m&&2==(_=m.split(" ")).length&&("asc"==_[1]?$(a.table).find('th span[data-id="'+_[0]+'"]').removeClass(h).addClass(u):$(a.table).find('th span[data-id="'+_[0]+'"]').removeClass(u).addClass(h)),$(a.table).find("th").data("checks",e).click(function(){var e,t=$(this),s=t.data("checks"),t=t.find("span");0<t.length&&(e=t.attr("data-id"),t.hasClass(u)?(bt.set_cookie("order",e+" desc"),$(a.table).find('th span[data-id="'+e+'"]').removeClass(u).addClass(h),s[e]()):t.hasClass(h)&&(bt.set_cookie("order",e+" asc"),$(a.table).find('th span[data-id="'+_[0]+'"]').removeClass(h).addClass(u),s[e]()))})}return n},onlineService:function(a){layer.open({type:1,area:["200px","250px"],title:!1,closeBtn:2,shift:0,content:'<div class="service_consult">\t\t\t\t\t\t<div class="service_consult_title" style="background: rgba(32, 165, 58, 0.1);"><a href="https://www.bt.cn/new/wechat_customer" target="_blank" class="btlink" style="display: flex;"><span style="border-bottom: 1px solid;">点击咨询客服</span><div class="svgtofont-arrow" style="width: 15px;height: 18px;margin-top: 1px;margin-left: 5px;vertical-align: middle;"></div></a></div>\t\t\t\t\t\t<div class="contact_consult" style="margin: 10px auto 8px auto;">\t\t\t\t\t\t\t<div id="contact_consult_qcode">\t\t\t\t\t\t\t\t<img style="border: none;width: 140px;display: inline;" src="/static/images/customer/customer-qrcode.png" alt="" />\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>\t\t\t\t\t\t<div class="wechat-title">\t\t\t\t\t\t<img class="icon" style="width: 16px;height: 16px;display: inline;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAATlJREFUSEvtVrFOw0AMfed8AxJsZWGAgQHBXP4DCQa+Ioou7g18BRIg9T/KDGJggIGFbiDxDXGQowSBuGvrFISEmtF+7/nis312RVEMiWgIoMT375aIjpj5KeJrTMy8JSJjAPsRzEhErl1Zlhd1XZ8kRKZEdMjM0xlBBiIyATCIYZxzl857X6uTiHaY+TElZrUz87aIPCjvI0gIwVmF5uG7H1gFmZepxv85XTdqCCEcLMQ0gLz3jbbTOm/rPdkLBt0v0E77xysq2it9T2nhuTzPN4ho10KyYEXkXvvkBcC6hWjEvmqQMwCnANZa8p1RJAbfa41vAM7/0cUzczOiZ43zvunrtPVOntuO3+wrluJ12qspvFBm/+bR+u03nhPrkKZk2ZVINUZO964sy44Ta9FSK5GuQ1VVXb0DLf+sHQ9tLL0AAAAASUVORK5CYII=">\t\t\t\t\t\t<span class="scan-title" style="font-size: 16px;">扫一扫</span></div>\t\t\t\t</div>',success:function(e){$(e).css("border-radius","4px");var t="";if(Array.isArray(a)){for(var s=0;s<a.length;s++)t+=a[s];$("#helpList").parent(t)}}})},formatJsonForNotes:function(e,t){var i="",l=0;return(t=t||{}).newlineAfterColonIfBeforeBraceOrBracket=!0===t.newlineAfterColonIfBeforeBraceOrBracket,t.spaceAfterColon=!1!==t.spaceAfterColon,"string"!=typeof e||(e=JSON.parse(e)),e=(e=(e=(e=(e=(e=JSON.stringify(e)).replace(/([\{\}])/g,"\r\n$1\r\n")).replace(/([\[\]])/g,"\r\n$1\r\n")).replace(/(\,)/g,"$1\r\n")).replace(/(\r\n\r\n)/g,"\r\n")).replace(/\r\n\,/g,","),t.newlineAfterColonIfBeforeBraceOrBracket||(e=(e=e.replace(/\:\r\n\{/g,":{")).replace(/\:\r\n\[/g,":[")),t.spaceAfterColon&&(e=e.replace(/\:/g,": ")),$.each(e.split("\r\n"),function(e,t){var s=0,a=0,n="";for(t.match(/\{$/)||t.match(/\[$/)?a=1:t.match(/\}/)||t.match(/\]/)?0!==l&&--l:a=0,s=0;s<l;s++)n+=" ";i+=n+t+"\r\n",l+=a}),i}},bt_tools={commandConnectionPool:{},table:function(e){var f=this,t=$(e.el),s=t.data("table");if(s&&0<t.find("table").length)return void 0!==e.url?s.$refresh_table_list(!0):void 0!==e.data&&s.$reader_content(e.data),s;function a(e){this.config=e,this.$load()}a.prototype={style_list:[],event_list:{},checkbox_list:[],batch_active:{},event_rows_model:{},data:[],cache_set_column:[],cache_set_all:{},page:"",column:[],batch_thread:[],random:bt.get_random(5),init:!1,checked:!1,$load:function(){this.config.init&&this.config.init(this),$(this.config.el).addClass("bt_table"),this.config.minWidth&&this.style_list.push({className:this.config.el+" table",css:"min-width:"+this.config.minWidth}),this.config.tootls?this.$reader_tootls(this.config.tootls):0===$(this.config.el+".divtable").length&&$(this.config.el).append('<div class="divtable mtb10" style="max-height:'+(this.config.height||"auto")+'"></div>'),this.$reader_content(),void 0!==this.config.url?this.$refresh_table_list(this.config.load||!1):void 0!==this.config.data?this.$reader_content(this.config.data):alert("缺少data或url参数"),this.config.methods&&$.extend(this,this.config.methods),this.config.height&&bt_tools.$fixed_table_thead(this.config.el+" .divtable")},$refresh_table_list:function(e,t){var s=this;this.$http(e,function(e){t&&t(e),s.$reader_content(e.data,void 0!==e.total?parseInt(e.total):e.page)})},$reader_content:function(e,m){var f,b=this,g="",v="",y=0,x=this.config.column,w={},k=$(b.config.el+" .checkbox_"+b.random);this.data=e=e||[],b.config.setting_btn?f=setInterval(function(){if(null!=bt.config){var e=bt.config,t=b.config.setting_btn;if(t){b.config.el,b.random;for(var s="",a=(b.cache_set_column=[],0);a<x.length;a++)"checkbox"!=x[a].type&&(x[a].width,b.cache_set_column.push({title:x[a].real_title||x[a].title,value:!x[a].hasOwnProperty("display")||x[a].display,idx:a,disabled:!!x[a].hasOwnProperty("isDisabled")&&x[a].isDisabled,pay:!!x[a].hasOwnProperty("pay")&&x[a].pay}));if(b.config.hasOwnProperty("setting_list"))for(a=0;a<b.config.setting_list.length;a++)b.cache_set_column.unshift(b.config.setting_list[a]);b.cache_set_all=$.isEmptyObject(e.table_header)?b.cache_set_all:e.table_header;e=$.isEmptyObject(e.table_header)?[]:JSON.parse(b.cache_set_all[b.config.headerId]||"[]");try{var n=b.cache_set_all[b.config.headerId]&&e.filter(function(e,t){return!!b.cache_set_column[t]&&e.title===b.cache_set_column[t].title}).length===b.cache_set_column.length;b.cache_set_column=n?JSON.parse(b.cache_set_all[b.config.headerId]):b.cache_set_column}catch(e){console.log(e)}for(a=0;a<b.cache_set_column.length;a++){var i=b.cache_set_column[a],l=$(i.title).text().replace(/\?/g,""),o=(i.value&&0,"");("流量"==l||"流量"==i.title&&i.disabled)&&(o="不支持openlitespeed"),s+='<li title="'+o+'" class="setting_ul_li'+(i.value?" active":"")+(i.disabled?" disabled":"")+'"> <i></i> <span class="ml10">'+(l||i.title)+"</span>"+(l||i.pay?'<span class="glyphicon icon-vipLtd" style="margin-left: 6px;position: relative;top: -2px;"></span>':"")+"</li>",i.idx&&(x[i.idx].display=i.value)}$(b.config.el+" .set_list_fid_dropdown").length||$(b.config.el+" .tootls_top .pull-right").append('<div class="set_list_fid_dropdown"><div class="setting_btn"><i class="glyphicon glyphicon-cog icon-setting"></i></div> <ul class="setting_ul">'+s+"</ul></div>");var d=null;$(b.config.el+" .setting_btn").hover(function(){$(this).next().show()},function(e){var r=$(this),c=0,p=0;$(document).mousemove(function(e){c=e.pageY,p=e.pageX}),d=setInterval(function(){var e,t,s,a,n,i,l,o;"block"==r.next().css("display")?(e=r.width(),t=r.height(),s=r.offset().top,a=r.offset().left,n=r.next().width(),i=r.next().height(),l=r.next().offset().top,o=r.next().offset().left,a<p&&p<a+e&&s<c&&c<s+t||o<p&&p<o+n&&l<c&&c<l+i||r.next().hide()):clearInterval(d)},200)}),$(b.config.el+" .setting_ul .setting_ul_li").unbind("click").click(function(e){if($(this).hasClass("disabled"))return!1;$(this).hasClass("active")?$(this).removeClass("active"):$(this).addClass("active");var t=$(this).index();b.cache_set_column[t].value=!b.cache_set_column[t].value,b.cache_set_all[b.config.headerId]=b.cache_set_column,bt.send("set_table_header","config/set_table_header",{table_name:b.config.headerId,table_data:JSON.stringify(b.cache_set_column)},function(e){bt.send("get_table_header","config/get_table_header",{},function(e){bt.config.table_header=e,b.init=!1,b.style_list=[b.style_list[0]],$("#bt_table_"+b.random).remove(),b.$reader_content(b.data,m)})})})}k.length&&(k.removeClass("active selected"),b.checkbox_list=[],b.$set_batch_view());do{var r=b.data[y],c=0;0<b.data.length&&(v+="<tr>");for(var p,_,u,h,a=0;a<x.length;a++)t&&!1===x[a].display?x[a].hasOwnProperty("class")||c++:(p=x[a],$.isEmptyObject(p)?c++:(0!==y||b.init||(b.init||b.style_list.push(b.$dynamic_merge_style(p,a-c)),u="sort_"+b.random,h="checkbox_"+b.random,_=p.sortValue||"desc",g+='<th class="'+p.fid+'"><span '+(p.sort?'class="not-select '+u+(p.sortValue?" sort-active":"")+' cursor-pointer"':"")+' data-index="'+a+'" '+(p.sort?'data-sort="'+_+'"':"")+">"+("checkbox"==p.type?'<label><i class="cust—checkbox cursor-pointer '+h+'" data-checkbox="all"></i><input type="checkbox" class="cust—checkbox-input"></label>':"<span>"+p.title+"</span>")+(p.sort?'<span class="glyphicon glyphicon-triangle-'+("desc"==_?"bottom":"top")+' ml5"></span>':"")+"</span></th>",0===y&&(!w[u]&&p.sort&&(w[u]={event:b.config.sortEvent,eventType:"click",type:"sort"}),w[h]||(w[h]={event:p.checked,eventType:"click",type:"checkbox"}))),void 0!==r&&(_="",u="event_"+p.fid+"_"+b.random,void 0!==(_=p.template?b.$custom_template_render(p,r,a):_)&&void 0!==p.template||(_=b.$reader_column_type(p,r),w=$.extend(w,_[1]),_=_[0]),h=!1,void 0!==p.fixed&&p.fixed&&(void 0!==p.class?-1===p.class.indexOf("fixed")&&(p.class+=" fixed"):p.class="fixed",h=!0),v+="<td><span "+(h?'style="width:'+(p.width-16)+'px" title="'+_+'"':" ")+(p.class?'class="'+p.class+'"':"")+" "+(p.tips?'title="'+p.tips+'"':"")+">"+_+"</span></td>",0===y)&&!w[u]&&p.event&&(w[u]={event:p.event,eventType:"click",type:"rows"})))}while(0<b.data.length&&(v+="</tr>"),0==b.data.length&&(v+='<tr class="no-tr"><td colspan="'+x.length+'" style="text-align:center;">'+(b.config.default||"数据为空")+"</td></tr>"),++y<b.data.length);if(b.init||b.$style_bind(b.style_list),b.$event_bind(w),b.init?($(b.config.el+" .divtable tbody").html(v),b.config.page&&$(b.config.el+" .page").replaceWith(b.$reader_page(b.config.page,m))):($(b.config.el+" .divtable .table").remove(),b.config.thead(g),$(b.config.el+" .divtable").append('<table class="table table-hover"><thead style="position: relative;z-index: 1;">'+g+"</thead><tbody>"+v+"</tbody></table></div></div>")),t&&b.config.hasOwnProperty("setting_list"))for(a=0;a<b.cache_set_column.length;a++)(i=b.cache_set_column[a]).hasOwnProperty("class")&&(i.value?$(b.config.el+" ."+i.class).show():$(b.config.el+" ."+i.class).hide());b.init=!0,b.config.success&&b.config.success(b),clearInterval(f)}},1):function(){k.length&&(k.removeClass("active selected"),b.checkbox_list=[],b.$set_batch_view());do{var e=b.data[y],t=0;0<b.data.length&&(v+="<tr>");for(var s=0;s<x.length;s++){var a,n,i,l=x[s];$.isEmptyObject(l)?t++:(0!==y||b.init||(b.init||b.style_list.push(b.$dynamic_merge_style(l,s-t)),n="sort_"+b.random,i="checkbox_"+b.random,a=l.sortValue||"desc",g+="<th><span "+(l.sort?'class="not-select '+n+(l.sortValue?" sort-active":"")+' cursor-pointer"':"")+' data-index="'+s+'" '+(l.sort?'data-sort="'+a+'"':"")+">"+("checkbox"==l.type?'<label><i class="cust—checkbox cursor-pointer '+i+'" data-checkbox="all"></i><input type="checkbox" class="cust—checkbox-input"></label>':"<span>"+l.title+"</span>")+(l.sort?'<span class="glyphicon glyphicon-triangle-'+("desc"==a?"bottom":"top")+' ml5"></span>':"")+"</span></th>",0===y&&(!w[n]&&l.sort&&(w[n]={event:b.config.sortEvent,eventType:"click",type:"sort"}),w[i]||(w[i]={event:l.checked,eventType:"click",type:"checkbox"}))),void 0!==e&&(a="",n="event_"+l.fid+"_"+b.random,void 0!==(a=l.template?b.$custom_template_render(l,e,s):a)&&void 0!==l.template||(a=b.$reader_column_type(l,e),w=$.extend(w,a[1]),a=a[0]),i=!1,void 0!==l.fixed&&l.fixed&&(void 0!==l.class?-1===l.class.indexOf("fixed")&&(l.class+=" fixed"):l.class="fixed",i=!0),v+="<td><span "+(i?'style="width:'+(l.width-16)+'px" title="'+a+'"':" ")+(l.class?'class="'+l.class+'"':"")+" "+(l.tips?'title="'+l.tips+'"':"")+">"+a+"</span></td>",0===y)&&!w[n]&&l.event&&(w[n]={event:l.event,eventType:"click",type:"rows"}))}}while(0<b.data.length&&(v+="</tr>"),0==b.data.length&&(v+='<tr class="no-tr"><td colspan="'+x.length+'" style="text-align:center;">'+(b.config.default||"数据为空")+"</td></tr>"),y++,y<b.data.length);b.init||b.$style_bind(b.style_list);b.$event_bind(w),b.init?($(b.config.el+" .divtable tbody").html(v),b.config.page&&$(b.config.el+" .page").replaceWith(b.$reader_page(b.config.page,m))):$(b.config.el+" .divtable").append('<table class="table table-hover"><thead style="position: relative;z-index: 1;">'+g+"</thead><tbody>"+v+"</tbody></table></div></div>");b.init=!0,b.config.success&&b.config.success(this)}()},$custom_template_render:function(e,t,s){var a="event_"+e.fid+"_"+this.random,t=e.template(t,s),s=$(t);return template=0<s.length?s.addClass(a)[0].outerHTML:"text"===e.type?'<span class="'+a+" "+e.class+'">'+t+"</span>":'<a href="javascript:;" class="btlink '+a+'">'+t+"</a>"},$modify_row_data:function(e){this.event_rows_model.rows=$.extend(this.event_rows_model.rows,e);var e=this.event_rows_model,t=null;void 0!==e.model.template&&(t=$(this.$custom_template_render(e.model,e.rows,e.index))).length||(t=$(this.$reader_column_type(e.model,e.rows)[0])),"group"==e.model.type?$(e.el).parent().empty().append(t):e.el.replaceWith(t),e.el=t},$batch_success_table:function(e){var t=this,s=$(e.html).length;bt.open({type:1,title:e.title,area:e.area||["350px","350px"],shadeClose:!1,closeBtn:2,content:e.content||'<div class="batch_title"><span class><span class="batch_icon"></span><span class="batch_text">'+e.title+'操作完成!</span></span></div><div class="'+(4<s?"fiexd_thead":"")+' batch_tabel divtable" style="margin: 15px 30px 15px 30px;overflow: auto;height: 200px;"><table class="table table-hover"><thead><tr><th>'+e.th+'</th><th style="text-align:right;width:120px;">操作结果</th></tr></thead><tbody>'+e.html+"</tbody></table></div>",success:function(){4<s&&t.$fixed_table_thead(".fiexd_thead")}})},$fixed_table_thead:function(e){$(e).scroll(function(){var e=this.scrollTop;this.querySelector("thead").style.transform="translateY("+(e-1)+"px)"})},$delete_table_row:function(e){this.data.splice(e,1),this.$reader_content(this.data)},$set_batch_view:function(){var e,t;void 0!==this.config.batch&&(e=$(this.config.el+" .set_batch_option"),void 0!==this.config.batch.config?0<this.checkbox_list.length?e.removeClass("bt-disabled btn-default").addClass("btn-success").text("批量"+this.batch_active.title+"(已选中"+this.checkbox_list.length+")"):e.addClass("bt-disabled btn-default").removeClass("btn-success").text("批量"+this.batch_active.title):(t=$(this.config.el+" .bt_table_select_group .bt_select_value"),0<this.checkbox_list.length?(e.removeClass("bt-disabled btn-default").addClass("btn-success").prev().removeClass("bt-disabled"),t.find("em").html("(已选中"+this.checkbox_list.length+")")):(e.addClass("bt-disabled btn-default").removeClass("btn-success").prev().addClass("bt-disabled"),t.children().eq(0).html("请选择批量操作<em></em>"),t.next().find("li").removeClass("active"),this.batch_active={})))},$reader_column_type:function(i,l){var s=l[i.fid],o={},r="click_"+i.fid+"_"+this.random,e=[],c=this;switch(i.type){case"text":e=[s,o];break;case"checkbox":e=['<label><i class="cust—checkbox cursor-pointer checkbox_'+this.random+'"></i><input type="checkbox" class="cust—checkbox-input"></label>',o];break;case"password":var r="ico_"+c.random+"_",t='<span class="bt-table-password mr10"><i>**********</i></span>';i.eye_open&&(t+='<span class="glyphicon cursor pw-ico glyphicon-eye-open mr10 '+r+'eye_open" title="显示密码"></span>',o[r+"eye_open"]||(o[r+"eye_open"]={type:"eye_open_password"})),i.copy&&(t+='<span class="ico-copy cursor btcopy mr10 '+r+'copy" title="复制密码"></span>',o[r+"copy"]||(o[r+"copy"]={type:"copy_password"})),e=[t,o];break;case"link":r+="_"+i.fid,!o[r]&&i.event&&(o[r]={event:i.event,type:"rows"}),e=['<a class="btlink '+r+'" href="'+(i.href?s:"javascript:;")+'" '+(i.href?'target="'+(i.target||"_blank")+'"':"")+' title="'+s+'">'+s+"</a>",o];break;case"input":blurName="blur_"+i.fid+"_"+this.random,keyupName="keyup_"+i.fid+"_"+this.random,!o[blurName]&&i.blur&&(o[blurName]={event:i.blur,eventType:"blur",type:"rows"}),!o[keyupName]&&i.keyup&&(o[keyupName]={event:i.keyup,eventType:"keyup",type:"rows"}),e=['<input type="text" title="点击编辑内容,按回车或失去焦点自动保存" class="table-input '+blurName+" "+keyupName+'" data-value="'+s+'" value="'+s+'" />',o];break;case"status":var a="";$.each(i.config.list,function(e,t){t[0]===s&&(a=t)}),!o[r]&&i.event&&(o[r]={event:i.event,type:"rows"}),e=['<a class="btlink '+r+" "+(-1<a[2].indexOf("#")?"":a[2])+'" style="'+(-1<a[2].indexOf("#")?"color:"+a[2]+";":"")+'" href="javascript:;"><span>'+a[1]+"</span>"+(i.config.icon?'<span class="glyphicon '+a[3]+'"></span>':"")+"</a>",o];break;case"switch":a="",t=bt.get_random(5);a=1==new Number(s)?"checked":"",!o[r]&&i.event&&(o[r]={event:i.event,type:"rows"}),e=['<div class="bt_switch_group"><input class="btswitch btswitch-ios '+r+'" id="'+t+'" type="checkbox" '+a+'><label class="btswitch-btn" for="'+t+'" data-index="0" bt-event-click="set_site_server_status"></label></div>',o];break;case"group":var p="";$.each(i.group,function(e,t){r=(i.fid||"group")+"_"+e+"_"+c.random;var s=!1;if(t.template){var a=t.template(l,c),n=$(a);0<n.length?p+=n.addClass(r)[0].outerHTML:p+='<a href="javascript:;" class="btlink '+r+'" title="'+(t.title||"")+'">'+a+"</a>"}else{if(void 0!==t.hide&&"boolean"!=typeof(s="boolean"==typeof t.hide?t.hide:t.hide(l)))return!1;p+='<a href="javascript:;" class="btlink '+r+'" '+(s?'style="display:none;"':"")+' title="'+(t.tips||t.title)+'">'+t.title+"</a>"}s||(p+=i.group.length==e+1?"":" | "),!o[r]&&t.event&&(o[r]={event:t.event,type:"rows"})}),e=[p,o];break;default:e=[s,o]}return e},$reader_tootls:function(e){var p=this,a={};function l(n,e){var t=bt.load("正在执行批量"+n.title+",请稍候..."),s={},a=p.$get_data_batch_list(n.paramId,e);n.beforeRequest?s[n.paramName]=n.beforeRequest(e):s[n.paramName]=a.join(","),bt_tools.send({url:n.url||p.config.batch.url,data:$.extend(n.param||{},s)},function(s){if(t.close(),!1===s.status&&void 0===s.success)return bt_tools.msg(s),!1;var a;void 0===n.tips||n.tips?(a="",$.each(s.error,function(e,t){a+='<tr><td><span class="text-overflow" title="'+e+'">'+e+'</span/></td><td><div style="float:right;" class="size_ellipsis"><span style="color:red">'+t+"</span></div></td></tr>"}),$.each(s.success,function(e,t){a+='<tr><td><span class="text-overflow" title="'+t+'">'+t+'</span></td><td><div style="float:right;" class="size_ellipsis"><span style="color:#20a53a">操作成功</span></div></td></tr>'}),p.$batch_success_table({title:"批量"+n.title,th:n.theadName,html:a}),n.refresh&&p.$refresh_table_list(!0)):n.success||(a="",$.each(e,function(e,t){a+='<tr><td><span class="text-overflow" title="'+t.name+'">'+t.name+'</span></td><td><div style="float:right;"><span style="color:'+(s.status?"#20a53a":"red")+'">'+((void 0!==n.theadValue?n.theadValue[s.status?0:1]:null)||s.msg)+"</span></div></td></tr>"}),p.$batch_success_table({title:"批量"+n.title+"完成",th:n.theadName,html:a}),n.refresh&&p.$refresh_table_list(!0)),n.success&&n.success(s,e,p)})}function o(o,r,c){var t={loadT:0,config:{},check_list:r,bacth_status:!0,start_batch:function(e,t){"function"==typeof(e=void 0===e?{}:e)&&(t=e,e={}),o.load&&(this.loadT=layer.msg("正在执行批量"+o.title+',<span class="batch_progress">进度:0/'+this.check_list.length+"</span>,请稍候...",{icon:16,skin:"batch_tips",shade:.3,time:0,area:"400px"})),this.config={param:e,url:o.url},this.bacth(t)},bacth:function(t,s){var a=this,e={};if("function"!=typeof t&&void 0!==t||(s=t,t=0),t<this.check_list.length){if("function"==typeof o.url?this.config.url=o.url(r[t]):this.config.url=o.url,e="function"==typeof o.param?o.param(r[t]):o.param,this.config.param=$.extend(this.config.param,e),void 0!==o.paramId&&(a.config.param[o.paramName||o.paramId]=a.check_list[t][o.paramId]),void 0!==o.beforeBacth&&(this.config.param=$.extend(this.config.param,o.beforeBacth(a.check_list[t]))),this.config.param.bacth&&t==this.check_list.length-1&&delete this.config.param.bacth,!a.bacth_status)return!1;o.load&&$("#layui-layer"+a.loadT).find(".layui-layer-content").html('<i class="layui-layer-ico layui-layer-ico16"></i>正在执行批量'+o.title+',<span class="batch_progress">进度:'+t+"/"+a.check_list.length+"</span>,请稍候..."+(o.clear?'<a href="javascript:;" class="btlink clear_batch" style="margin-left:20px;">取消</a>':"")),bt_tools.send({url:this.config.url,data:this.config.param,bacth:!0},function(e){$.extend(a.check_list[t],{request:{status:"boolean"==typeof e.status&&e.status,msg:e.msg||"请求网络错误"}},{requests:e}),t++,a.bacth(t,s)},{verify:!1})}else{if(c&&c(),s&&s(this.check_list),o.automatic){for(var n="",i=0;i<this.check_list.length;i++){var l=this.check_list[i];n+="<tr><td>"+(void 0!==l[o.paramThead]?l[o.paramThead]:l.name)+'</td><td><div style="float:right;"><span style="color:'+(l.request.status?"#20a53a":"red")+'">'+l.request.msg+"</span></div></td></tr>"}p.$batch_success_table({title:"批量"+o.title,th:o.theadName,html:n}),o.refresh&&p.$refresh_table_list(!0),p.$clear_table_checkbox()}layer.close(this.loadT)}},clear_bacth:function(){this.bacth_status=!1,layer.close(this.loadT)}};o.callback?o.callback(t):!o.confirm||o.recursion?o.confirmVerify?bt.show_confirm("批量操作"+o.title+"已选中","批量"+o.title+",该操作可能会存在风险,是否继续?",function(e){layer.close(e),o.recursion?t.start_batch():l(o,r)}):bt.confirm({title:"批量"+o.title,msg:void 0!==o.tips?o.tips:"批量"+o.title+",该操作可能会存在风险,是否继续?",shadeClose:o.shadeClose||!1},function(e){layer.close(e),o.recursion?t.start_batch():l(o,r)}):l(o,r)}for(var t=0;t<e.length;t++){var s,n="",i=e[t],r=[];switch(i.type){case"group":r=i.positon||["left","top"],$.each(i.list,function(e,t){var s=i.type+"_"+p.random+"_"+e;"division"==t.type?n+='<span class="mlr5"></span>':t.group?(n+='<div class="btn-group" style="vertical-align: top;"> <button type="button" class="btn btn-default '+s+' btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span style="margin-right:2px;">分类管理</span><span class="caret" style="position: relative;top: -1px;"></span></button> <ul class="dropdown-menu"></ul> </div>',i.list&&$.each(i.list,function(e,t){t[i.key]}),t.init&&setTimeout(function(){t.init(s)},400)):n+='<button type="button" title="'+(t.tips||t.title)+'" class="btn '+(t.active?"btn-success":"btn-default")+" "+s+' btn-sm mr5" '+f.$verify(p.$reader_style(t.style),"style")+">"+(t.icon?'<span class="glyphicon glyphicon-'+t.icon+' mr5"></span>':"")+"<span>"+t.title+"</span></button>",a[s]||(a[s]={event:t.event,type:"button"})});break;case"search":r=i.positon||["right","top"],i.value=i.value||"",this.config.search=i;var c="search_input_"+this.random,d="search_focus_"+this.random,_="search_btn_"+this.random,n='<div class="bt_search"><input type="text" class="search_input '+c+'" style="'+(i.width?"width:"+i.width:"")+'" placeholder="'+(i.placeholder||"")+'"/><span class="glyphicon glyphicon-search '+_+'" aria-hidden="true"></span></div>';a[c]||(a[c]={eventType:"keyup",type:"search_input"}),a[d]||(a[d]={type:"search_focus",eventType:"focus"}),a[_]||(a[_]={type:"search_btn"});break;case"batch":r=i.positon||["left","bottom"],i.placeholder=i.placeholder||"请选择批量操作",i.buttonValue=i.buttonValue||"批量操作",this.config.batch=i;var u=[],h="",m=i.config;void 0!==i.config?(p.batch_active=m,$(p.config.el).on("click",".set_batch_option",function(e){for(var s=[],t=0;t<p.checkbox_list.length;t++)s.push(p.data[p.checkbox_list[t]]);if($(this).hasClass("bt-disabled"))return layer.tips(p.config.batch.disabledTips||"请选择需要批量操作的数据",$(this),{tips:[1,"red"],time:2e3}),!1;switch(typeof m.confirm){case"function":m.confirm(m,function(e,t){m.param=$.extend(m.param,e),o(m,s,t)});break;case"undefined":o(m,s);break;case"object":var a=m.confirm;bt.open({title:a.title||"批量操作",area:a.area||"350px",btn:a.btn||["确认","取消"],content:a.content,success:function(e,t){a.success(e,t,m)},yes:function(e,t){a.yes(e,t,function(e,t){m.param=$.extend(m.param,e),l(m,s)})}})}})):($.each(i.selectList,function(e,s){s.group?($.each(s.group,function(e,t){u.push($.extend({},s,t)),h+='<li class="item">'+t.title+"</li>"}),delete s.group):(u.push(s),h+='<li class="item">'+s.title+"</li>")}),$(p.config.el).unbind().on("click",".bt_table_select_group .bt_select_value",function(e){var t=$(this).parent(),s=t.find(".bt_selects"),a=t.offset(),n=p.$get_win_area();return t.hasClass("bt-disabled")?layer.tips(p.config.batch.disabledSelectValue,t,{tips:[1,"red"],time:2e3}):(t.hasClass("active")?t.removeClass("active"):t.addClass("active"),s.height()>n[1]-a.top?s.addClass("top"):s.removeClass("top"),$(document).one("click",function(){return $(p.config.el).find(".bt_table_select_group").removeClass("active"),!1})),!1}),$(p.config.el).on("click",".bt_table_select_group .item",function(e){var t=$(this).text(),s=$(this).index();$(this).addClass("active").siblings().removeClass("active"),$(p.config.el+" .bt_select_tips").html("批量"+t+"<em>(已选中"+p.checkbox_list.length+")</em>"),p.batch_active=u[s],p.checked||$(".bt_table_select_group").removeClass("active")}),$(p.config.el).on("click",".set_batch_option",function(e){var a=[],n=p.batch_active;if($(this).hasClass("bt-disabled"))return layer.tips(p.config.batch.disabledSelectValue,$(this),{tips:[1,"red"],time:2e3}),!1;for(var t,s=0;s<p.checkbox_list.length;s++)a.push(p.data[p.checkbox_list[s]]);if("{}"===JSON.stringify(n))return t=$(p.config.el+" .bt_table_select_group"),layer.tips("请选择需要批量操作的类型",t,{tips:[1,"red"],time:2e3}),t.css("border","1px solid red"),setTimeout(function(){t.removeAttr("style")},2e3),!1;switch(typeof n.confirm){case"function":n.confirm(n,function(e,t){n.param=$.extend(n.param,e),o(n,a,t)});break;case"undefined":o(n,a);break;case"object":var i=n.confirm;bt.open({type:1,title:i.title||"批量操作",area:i.area||"350px",btn:i.btn||["确认","取消"],content:'<div class="pd20">'+i.content+"</div>",success:function(e,t){i.success(e,t,n)},yes:function(s,e){i.yes(s,e,function(e,t){n.param=$.extend(n.param,e),layer.close(s),l(n,a)})}})}})),n='<div class="bt_batch"><label><i class="cust—checkbox cursor-pointer checkbox_'+this.random+'" data-checkbox="all"></i><input type="checkbox" lass="cust—checkbox-input" /></label>'+(void 0!==i.config?'<button type="button" class="btn btn-default btn-sm set_batch_option bt-disabled">批量'+i.config.title+"</button>":'<div class="bt_table_select_group bt-disabled not-select"><span class="bt_select_value"><span class="bt_select_tips">请选择批量操作<em></em></span><span class="glyphicon glyphicon-triangle-bottom ml5"></span></span><ul class="bt_selects ">'+h+'</ul></div><button type="button" class="btn btn-default btn-sm set_batch_option bt-disabled" >'+i.buttonValue+"</button>")+"</div>";break;case"page":r=i.positon||["right","bottom"],i.page=e.page||1,i.pageParam=i.pageParam||"p",i.number=i.number||20,i.numberList=i.numberList||[10,20,50,100,200],i.numberParam="boolean"==typeof i.numberParam?i.numberParam:i.numberParam||"limit",this.config.page=i;c=this.$get_page_number();c&&(this.config.page.number=c),n=this.$reader_page(this.config.page,'<div><span class="Pcurrent">1</span><span class="Pcount">共0条数据</span></div>')}n&&((s=$(p.config.el+" .tootls_"+r[1])).length?s.find(".pull-"+r[0]).append(n):(s='<div class="tootls_group tootls_'+r[1]+'"><div class="pull-left">'+("left"===r[0]?n:"")+'</div><div class="pull-right">'+("right"===r[0]?n:"")+"</div></div>","top"===r[1]?($(p.config.el).append(s),0===$(p.config.el+" .divtable").length&&$(p.config.el).append('<div class="divtable mtb10" style="max-height:'+p.config.height+'px"></div>')):(0===$(p.config.el+" .divtable").length&&$(p.config.el).append('<div class="divtable mtb10" style="max-height:'+p.config.height+'px"></div>'),$(p.config.el).append(s))))}this.init||this.$event_bind(a)},$clear_table_checkbox:function(){$(this.config.el).find(".bt_table .cust—checkbox").removeClass("selected active")},$get_data_batch_list:function(s,e){var a=[];return $.each(e||this.data,function(e,t){a.push(t[s])}),a},$reader_page:function(s,e){var a,t,n,i="",l={},o=null;return s.number&&!e?(i=(1!==s.page?'<a class="Pnum page_link_'+this.random+'" data-page="1">首页</a>':"")+(1!==s.page?'<a class="Pnum page_link_'+this.random+'" data-page="'+(s.page-1)+'">上一页</a>':"")+(this.data.length===s.number?'<a class="Pnum page_link_'+this.random+'" data-page="'+(s.page+1)+'">下一页</a>':"")+'<span class="Pcount">第 '+s.page+" 页</span>",l["page_link_"+this.random]={type:"cut_page_number"}):("number"==typeof e&&(e=this.$custom_page(e)),(o=$(e)).find("a").addClass("page_link_"+this.random),i+=o.html(),s.numberStatus&&(t="page_select_"+this.random,a=this.$get_page_number(),i+='<select class="page_select_number '+t+'">',$.each(s.numberList,function(e,t){i+='<option value="'+t+'" '+((a||s.number)==t?"selected":"")+">"+t+"条/页</option>"}),i+="</select>",l[t]={eventType:"change",type:"page_select"}),s.jump&&(t="page_jump_input_"+this.random,n="page_jump_btn_"+this.random,i+='<div class="page_jump_group"><span class="page_jump_title">跳转到</span><input type="number" class="page_jump_input '+t+'" value="'+s.page+'" /><span class="page_jump_title">页</span><button type="button" class="page_jump_btn '+n+'">确认</button></div>',l[t]={eventType:"keyup",type:"page_jump_input"},l[n]={type:"page_jump_btn"}),l["page_link_"+this.random]={type:"cut_page_number"},this.config.page.total=0===o.length?0:"number"==typeof e?e:parseInt(o.find(".Pcount").html().match(/([0-9]*)/g)[1])),this.$event_bind(l),'<div class="page">'+i+"</div>"},$reader_style:function(e){var s="";return"string"==typeof e?e:void 0===e?"":($.each(e,function(e,t){s+=e+":"+t+";"}),s)},$custom_page:function(e){var t='<div class="page">',s=this.config.page,a=Math.ceil(e/s.number),n=0;if(1<s.page&&1<a&&(t+='<a class="Pstart" href="p=1">首页</a><a class="Pstart" href="p='+(s.page-1)+'">上一页</a>'),a<=10)for(var i=1;i<=a;i++)i==s.page?t+='<span class="Pcurrent">'+i+"</span>":t+='<a class="Pnum" href="p='+i+'">'+i+"</a>";else if(s.page<10){for(i=1;i<=10;i++)i==s.page?t+='<span class="Pcurrent">'+i+"</span>":t+='<a class="Pnum" href="p='+i+'">'+i+"</a>";t+="<span>...</span>"}else if(a-s.page<7){1<a-7&&(t=t+'<a class="Pnum" href="p=1">1</a>'+"<span>...</span>");for(i=a-7;i<=a;i++)i==s.page?t+='<span class="Pcurrent">'+i+"</span>":t+=1==i?"<span>...</span>":'<a class="Pnum" href="p='+i+'">'+i+"</a>"}else{for(t=t+'<a class="Pnum" href="p=1">1</a>'+"<span>...</span>",i=(n=(n=0==n?s.page:n)<=s.page-5||n>=s.page+5?s.page:n)-3;i<=n+3;i++)i==s.page?t+='<span class="Pcurrent">'+i+"</span>":t+='<a class="Pnum" href="p='+i+'">'+i+"</a>";t=t+"<span>...</span>"+('<a class="Pnum" href="p='+a+'">'+a+"</a>")}return 1<a&&s.page<a&&(t+='<a class="Pstart" href="p='+(s.page+1)+'">下一页</a><a class="Pstart" href="p='+a+'">尾页</a>'),t+'<span class="Pcount">共'+e+"条</span></div>"},$dynamic_merge_style:function(e,t){var s="";return $.each(e,function(e,t){switch(e){case"align":s+="text-align:"+t+";";break;case"width":s+="width:"+("string"==typeof t?t:t+"px")+";";break;case"style":s+=t;break;case"minWidth":s+="min-width:"+("string"==typeof t?t:t+"px")+";";break;case"maxWidth":s+="max-width:"+("string"==typeof t?t:t+"px")+";"}}),{index:t,css:s}},$event_bind:function(e){var c=this;$.each(e,function(o,r){if(c.event_list[o]&&c.event_list[o].eventType===r.eventType)return!0;c.event_list[o]=r,$(c.config.el).on(r.eventType||"click","."+o,function(e){var t=$(this).parents("tr").index(),s=$(this).data(),a=[],n=c.config.column[$(this).parents("td").index()];switch(r.type){case"rows":c.event_rows_model={el:$(this),model:n,rows:c.data[t],index:t},a=[c.event_rows_model.rows,c.event_rows_model.index,e,o,c];break;case"sort":var i=c.config.column[s.index];$(this).hasClass("sort-active")&&$(".sort_"+c.random+" .sort-active").data({sort:"desc"}),$(".sort_"+c.random).removeClass("sort-active").find(".glyphicon").removeClass("glyphicon-triangle-top").addClass("glyphicon-triangle-bottom"),$(this).addClass("sort-active"),"asc"==s.sort?($(this).data({sort:"desc"}),$(this).find(".glyphicon").removeClass("glyphicon-triangle-top").addClass("glyphicon-triangle-bottom")):($(this).data({sort:"asc"}),$(this).find(".glyphicon").removeClass("glyphicon-triangle-bottom").addClass("glyphicon-triangle-top")),c.config.sort=c.config.sortParam({name:i.fid,sort:s.sort}),c.$refresh_table_list(!0);break;case"checkbox":var i=$(c.config.el+' [data-checkbox="all"]'),l=$(c.config.el+" tbody .checkbox_"+c.random);null==s.checkbox?$(this).hasClass("active")?($(this).removeClass("active"),c.checkbox_list.splice(c.checkbox_list.indexOf(t),1),0<c.checkbox_list.length?i.addClass("selected").removeClass("active"):i.removeClass("selected active")):($(this).addClass("active"),c.checkbox_list.push(t),c.data.length===c.checkbox_list.length?i.addClass("active").removeClass("selected"):0<c.checkbox_list.length&&i.addClass("selected")):c.checkbox_list.length===c.data.length?(c.checkbox_list=[],l.removeClass("active selected").next().prop("checked","checked"),i.removeClass("active")):(l.each(function(e,t){$(this).hasClass("active")||($(this).addClass("active").next().prop("checked","checked"),c.checkbox_list.push(e))}),i.removeClass("selected").addClass("active")),c.$set_batch_view();break;case"button":a.push(e,c);break;case"search_focus":l=$(c.config.el+" .bt_search_tips");0<$(c.config.el+" .bt_search_tips").length&&l.remove();break;case"search_input":if(13==e.keyCode)return $(c.config.el+" .search_btn_"+c.random).click(),!1;break;case"search_btn":i=$(c.config.el+" .search_input"),l=$(c.config.el+" .search_input").val();l=(l=$("<div></div>").text(l).html()).replace(/(^\s*)|(\s*$)/g,""),i.text(l),c.config.search.value=l,c.config.page&&(c.config.page.page=1),i.append('<div class="bt_search_tips"><span>'+l+'</span><i class="bt_search_close"></i></div>'),c.$refresh_table_list(!0);break;case"page_select":i=parseInt($(this).val());return c.$set_page_number(i),c.config.page.number=i,c.config.page.page=1,c.$refresh_table_list(!0),!1;case"page_jump_input":return 13===e.keyCode&&($(c.config.el+" .page_jump_btn_"+c.random).click(),$(this).focus()),!1;case"page_jump_btn":l=parseInt($(c.config.el+" .page_jump_input_"+c.random).val());Math.ceil(c.config.page.total/c.config.page.number)<(l=isNaN(l)||Number(l)<1?1:l)&&(l=c.config.page.page),c.config.page.page=l,c.$refresh_table_list(!0);break;case"cut_page_number":i=$(this).data("page")||parseInt($(this).attr("href").match(/([0-9]*)$/)[0]);return c.config.page.page=i,c.$refresh_table_list(!0),!1;case"eye_open_password":return $(this).hasClass("glyphicon-eye-open")?($(this).addClass("glyphicon-eye-close").removeClass("glyphicon-eye-open"),$(this).prev().text(c.data[t][n.fid])):($(this).addClass("glyphicon-eye-open").removeClass("glyphicon-eye-close"),$(this).prev().html("<i>**********</i>")),!1;case"copy_password":return bt.pub.copy_pass(c.data[t][n.fid]),!1}r.event&&r.event.apply(this,a)})})},$style_bind:function(s,e){var a="",n=this;$.each(s,function(e,t){""!=t.css&&(t.className?a+=t.className+"{"+t.css+"}":(e=s[0].hasOwnProperty("className")?e:t.index+1,a+=n.config.el+" thead th:nth-child("+e+"),"+n.config.el+" tbody tr td:nth-child"+(t.span?" span":"")+"("+e+"){"+t.css+"}"))}),0==$("#bt_table_"+n.random).length&&$(n.config.el).append('<style type="text/css" id="bt_table_'+n.random+'">'+a+"</style>")},$get_win_area:function(){return[window.innerWidth,window.innerHeight]},$get_page_number:function(){var e=this.config.pageName;if(e)return bt.get_cookie(e+"_page_number")},$set_page_number:function(e){var t=this.config.pageName;t&&bt.set_cookie(t+"_page_number",e)},$http:function(e,s){var t=this.$get_page_number(),a=this,n={},i=this.config,l=i.page,o=i.search,r=i.sort||{},t=(l&&(t&&!l.number&&(l.number=t),l.defaultNumber&&(l.number=l.defaultNumber),l.numberParam&&(n[l.numberParam]=l.number),n[l.pageParam]=l.page),o&&(n[o.searchParam]=o.value),$.extend(i.param,n,r));this.config.beforeRequest?"model"===this.config.beforeRequest?i.param=t.hasOwnProperty("data")&&"string"==typeof t.data?(l=JSON.parse(t.data),delete t.data,{data:JSON.stringify($.extend(l,t))}):{data:JSON.stringify(t)}:i.param=this.config.beforeRequest(t):i.param=t,bt_tools.send({url:i.url,data:i.param},function(e){var t;void 0!==i.dataFilter?(void 0!==(t=i.dataFilter(e,a)).tootls&&(t.tootls=parseInt(t.tootls)),s&&s(t)):void 0===e.data?s&&s({data:e}):s&&s({data:e.data,page:e.page})},{load:!!e&&"获取列表数据",verify:void 0===i.dataVerify||!!i.dataVerify})}};t=new a(e);return $(e.el).data("table",t),t},verifyForm:function(e,t,s){for(var a=!1,n=this.getFormValue(e,[]),i=0;i<t.length;i++){var l=t[i];if("string"==typeof(a=l.validator.apply(this,[n[l.name],n])))return this.error(a),!1}s&&s("string"!=typeof a,n)},getFormValue:function(e,t){var s,a=$(e).serializeObject();for(s in t=t&&[],a)-1<t.indexOf(s)&&delete a[s];return a},setLayerArea:function(e){var e=$(e),t=e.width(),s=e.height(),a=$(window).width(),n=$(window).height();e.css({left:(a-t)/2,top:(n-s)/2})},line:function(e){var t=$('<div class="line '+(e.lineClass||"")+'" style="'+(e.labelStyle||"")+'"><span class="tname" style="'+(e.labelWidth?"width:"+e.labelWidth:"")+'">'+((void 0!==e.must&&""!=e.must?'<span class="color-red mr5">'+e.must+"</span>":"")+e.label||"")+'</span><div class="info-r" style="'+(e.labelWidth?"margin-left:"+e.labelWidth:"")+'"></div></div>'),e=this.renderLineForm(e);return e.data({line:t}),t.find(".info-r").append(e),{$line:t,$form:e}},help:function(e){for(var t="",s=0;s<e.list.length;s++)t+="<li>"+e.list[s]+"</li>";return $('<ul class="help-info-text c7" style="'+(e.style||"")+'">'+t+"</ul>")},renderLineForm:function(s){s.type=s.type||"text";var e,a=["label","labelWidth","group","on","width","options","type"],n=null,t=(()=>{var e,t={};for(e in s)-1===a.indexOf(e)&&(t[e]=s[e]);return t})(),i=s.width?'style="width:'+s.width+'"':"";switch(s.type){case"textarea":n='<textarea class="bt-input-text mr5" '+i+"></textarea>";break;case"select":for(var l=s.options,o="",r=0;r<l.length;r++){var c=l[r],c="string"==typeof c?{label:c,value:c}:c;o+='<option value="'+c.value+'">'+c.label+"</option>"}n='<select class="bt-input-text mr5" '+i+">"+o+"</select>";break;case"text":n='<input type="text" class="bt-input-text mr5" />'}for(e in(n=$(n)).width(s.width||"100%").attr(t),s.on||(s.on={}),s.on)(t=>{n.on(t,function(e){s.on[t].apply(this,[e,$(this).val()])})})(e);return n},fromGroup:function(e,t,s){for(var a=$(e),n={},i=0;i<t.length;i++){var l,o=t[i];"tips"===o.type?a.append(this.help(o)):(l=this.line(o),void 0!==s&&l.$form.val(s[o.name]||""),n[l.$form.attr("name")]=l,a.append(l.$line))}return n},form:function(e){var _=this;function t(e){this.config=e,this.el=e.el,this.submit=e.submit,this.data=e.data||{},this.$load()}return t.prototype={element:null,style_list:[],event_list:{},event_type:["click","event","focus","keyup","blur","change","input"],hide_list:[],form_element:{},form_config:{},random:bt.get_random(5),$load:function(){var e;this.el&&($(this.el).html(this.$reader_content()),0<$("#editCrontabForm .bt_multiple_select_updown").length&&(e=$("#editCrontabForm .bt_multiple_select_updown").parent().height(),$("#editCrontabForm .line:eq(3) .tname").css({height:e+"px","line-height":e+"px"})),this.$event_bind())},$reader_content:function(e){var s=this,a="",t="";return $.each(s.config.form,function(e,t){t.separate?a+='<div class="bt_form_separate"><span class="btn btn-sm btn-default">'+t.separate+"</span></div>":a+=s.$reader_content_row(e,t)}),s.element=$('<form class="bt-form" data-form="'+s.random+'" onsubmit="return false">'+a+"</form>"),(t=$('<div class="'+_.$verify(s.config.class)+'"></div>')).append(s.element),e&&e(),t[0].outerHTML},$reader_content_row:function(e,t){try{var s=t.help||!1,a=t.formLabelWidth||this.config.formLabelWidth;return!1===t.display?'<div class="line" style="padding:0"></div>':'<div class="line'+_.$verify(t.class)+_.$verify(t.hide,"hide",!0)+'"'+_.$verify(t.id,"id")+">"+(void 0!==t.label?'<span class="tname" '+(a?'style="width:'+a+'"':"")+">"+(void 0!==t.must&&""!=t.must?'<span class="color-red mr5">'+t.must+"</span>":"")+t.label+"</span>":"")+'<div class="'+(t.label?"info-r":"")+_.$verify(t.line_class)+'"'+_.$verify(this.$reader_style($.extend(t.style,a?{"margin-left":a}:{})),"style")+">"+this.$reader_form_element(t.group,e)+(s?'<div class="c9 mt5 '+_.$verify(s.class,"class")+'" '+_.$verify(this.$reader_style(s.style),"style")+">"+s.list.join("</br>")+"</div>":"")+"</div></div>"}catch(e){console.log(e)}},$reader_form_element:function(e,s){var a=this,n="";return Array.isArray(e)||(e=[e]),$.each(e,function(e,t){t.find_index=s,n+=a.$reader_form_find(t),a.form_config[t.name]=t}),n},$reader_form_find:function(a){var n=this,s="",e=n.$reader_style(a.style)+_.$verify(a.width,"width","style"),t=n.$verify_group(a,["name","placeholder","disabled","readonly","autofocus","autocomplete","min","max"]),i=n.$create_event_config(a),l="",o=a.find_index;if(!1!==a.display){s+=a.label?'<span class="mr5 inlineBlock">'+a.label+"</span>":"",void 0!==a.name&&n.$check_event_bind(a.name,i),s+='<div class="'+(a.dispaly||"inlineBlock")+" "+_.$verify(a.hide,"hide",!0)+" "+(a.class||"")+'">';var r,c=void 0!==n.data[a.name]&&""!==n.data[a.name]?n.data[a.name]:a.value||"";switch(a.type){case"text":case"checkbox":case"password":case"radio":case"number":var p="event_"+a.name+"_"+n.random;switch(a.type){case"checkbox":s+='<label class="cursor-pointer form-checkbox-label" '+_.$verify(n.$reader_style(a.style),"style")+'><i class="form-checkbox cust—checkbox cursor-pointer mr5 '+p+"_label "+(c?"active":"")+'"></i><input type="checkbox" class="form—checkbox-input hide mr10 '+p+'" name="'+a.name+'" '+(c?"checked":"")+'/><span class="vertical_middle">'+a.title+"</span></label>",void 0!==a.disabled&&a.disabled||(n.$check_event_bind(p+"_label",{click:{type:"checkbox_icon",config:a}}),n.$check_event_bind(p,{input:{type:"checkbox",config:a,event:a.event}}));break;case"radio":$.each(a.list,function(e,t){e=p+"_radio_"+e;s+='<span class="form-radio"><input type="radio" name="'+a.name+'" '+(c==t.value?"checked":"")+' id="'+e+'" class="'+e+'" value="'+t.value+'"><label for="'+e+'" class="mb0">'+t.title+"</span>",n.$check_event_bind(e,{input:{type:"radio",config:a,event:a.event}})});break;default:s+='<input type="'+a.type+'"'+t+" "+(a.icon?'id="'+p+'"':"")+' class="bt-input-'+("select_path"!==a.type&&"number"!==a.type&&"password"!==a.type?a.type:"text")+" mr10 "+(a.label?"vertical_middle":"")+_.$verify(a.class)+'"'+_.$verify(e,"style")+' value="'+c+'"/>'}a.btn&&!a.disabled&&(s+='<span class="btn '+a.btn.type+" "+a.name+'_btn cursor" '+_.$verify(n.$reader_style(a.btn.style),"style")+">"+a.btn.title+"</span>",void 0!==a.btn.event)&&n.$check_event_bind(a.name+"_btn",{click:{config:a,event:a.btn.event}}),a.icon&&(s+='<span class="glyphicon '+a.icon.type+" "+a.name+"_icon cursor "+(a.disabled?"hide":"")+' mr10" '+_.$verify(n.$reader_style(a.icon.style),"style")+"></span>",void 0!==a.icon.event)&&n.$check_event_bind(a.name+"_icon",{click:{type:"select_path",select:a.icon.select||"",config:a,defaultPath:a.icon.defaultPath||"",children:"."+a.name+"_icon",event:a.icon.event,callback:a.icon.callback}});break;case"textarea":s+='<textarea class="bt-input-text"'+_.$verify(e,"style")+t+" >"+c+"</textarea>",$.each(["blur","focus","input"],function(e,t){if(a.tips){var s=null;switch(t){case"blur":s=function(e,t,s){""===$(this).val()&&$(this).next().show(),layer.close(t.tips.loadT),$(e.target).data("layer","")};break;case"focus":s=function(e,t){$(this).next().hide(),t.tips.loadT=layer.tips(r,$(this),{tips:[1,"#20a53a"],time:0,area:$(this).width()})}}}n.event_list[a.name][t]?n.event_list[a.name][t].added=s:n.event_list[a.name][t]={type:a.type,cust:!1,event:a[t],added:s}}),a.tips&&(r="",r=void 0===a.tips.list?a.tips.text:a.tips.list.join("</br>"),s+='<div class="placeholder c9 '+a.name+'_tips" '+_.$verify(n.$reader_style(a.tips.style),"style")+">"+r+"</div>",n.$check_event_bind(a.name+"_tips",{click:{type:"textarea_tips",config:a}}));break;case"select":s+=n.$reader_select(a,e,t,o),n.$check_event_bind("custom_select",{click:{type:"custom_select",children:".bt_select_value"}}),n.$check_event_bind("custom_select_item",{click:{type:"custom_select_item",children:"li.item"}});break;case"multipleSelect":s+=n.$reader_multipleSelect(a,e,t,o),n.$check_event_bind("custom_select",{click:{type:"custom_select",children:".bt_select_value"}}),n.$check_event_bind("custom_select_item",{click:{type:"custom_select_item",children:"li.item"}}),n.$check_event_bind("icon_trem_close",{click:{type:"icon_trem_close",children:".icon-trem-close"}});break;case"secondaryMenu":s+=n.$reader_secondaryMenu(a,e,t,o),n.$check_event_bind("secondary_menu_parent",{"mouseover click":{type:"secondary_menu_parent",children:".item-parent"}}),n.$check_event_bind("secondary_menu_child",{click:{type:"secondary_menu_child",children:".item-child"}});break;case"link":l="event_link_"+n.random+"_"+a.name,s+='<a href="'+(a.href||"javascript:;")+'" class="'+(a.subclass||"btlink")+" "+l+'" '+_.$verify(n.$reader_style(a.style),"style")+">"+a.title+"</a>",n.$check_event_bind(l,{click:{type:"link_event",event:a.event}});break;case"button":s+='<button class="btn '+(a.hasOwnProperty("active")?a.active?"btn-success":"btn-default":"btn-success ")+" btn-"+(a.size||"sm ")+" "+l+" "+_.$verify(a.class)+'" '+_.$verify(n.$reader_style(a.style),"style")+" "+t+">"+a.title+"</button>";break;case"help":var d="";$.each(a.list,function(e,t){d+="<li>"+t+"</li>"}),s+='<ul class="help-info-text c7'+_.$verify(a.class)+'"'+_.$verify(n.$reader_style(a.style),"style")+" "+t+">"+d+"</ul>";break;case"other":s+=a.boxcontent}s=(s+=a.unit?'<span class="'+("text-tips"===a.type?"text-tips":"unit")+'">'+a.unit+"</span>":"")+(a.suffix?'<span class="text-tips ml10" '+("select"===a.type)+">"+a.suffix+"</span>":"")+"</div>"}return s},$check_event_bind:function(e,t){this.event_list[e]||this.event_list.hasOwnProperty(e)||(this.event_list[e]=t)},$create_event_config:function(s){var a={};return void 0===s.name?{}:($.each(this.event_type,function(e,t){s[t]&&(a["event"===t?"click":t]={type:s.type,event:s[t],cust:-1<["select","checkbox","radio"].indexOf(s.type),config:s})}),a)},$reader_style:function(e){var s="";return"string"==typeof e?e:void 0===e?"":($.each(e,function(e,t){s+=e+":"+t+";"}),s)},$local_refresh:function(e,t){var s=this.element.find("[data-name="+e+"]");(s=0===this.element.find("[data-name="+e+"]").length?this.element.find("[name="+e+"]"):s).parent().replaceWith(this.$reader_form_find(t))},$reader_select:function(s,e,t,a){var n=this,i="",l="",o={};if("function"==typeof s.list&&(s.list.call(this,this.config.form),s.list=[]),!Array.isArray(s.list))return r=s.list,bt_tools.send({url:r.url,data:r.param||r.data||{}},function(e){var t;!1!==e.status?(t=s.list.dataFilter?s.list.dataFilter(e,n):e,s.list.success&&s.list.success(e,n,n.config.form[a],t),s.list=t,s.list.length||(s.disabled=!0,layer.msg(s.placeholder||"数据获取为空",{icon:2})),n.$replace_render_content(a)):bt.msg(e)}),!1;void 0===n.data[s.name]&&(o=s.list[0]),$.each(s.list,function(e,t){if(t.value===s.value||t.value===n.data[s.name])return o=t,!1}),$.each(s.list,function(e,t){i+='<li class="item'+_.$verify(t.value===o.value?"active":"")+" "+(t.disabled?"disabled":"")+'" title="'+t.title+'">'+t.title+"</li>",l+='<option value="'+t.value+'"'+(t.disabled?"disabled":"")+" "+_.$verify(t.value===o.value?"selected":"")+">"+t.title+"</option>"});var r=Array.isArray(s.list)?o?o.title:s.placeholder:"获取数据中";return'<div class="bt_select_updown mr10 '+(s.disabled?"bt-disabled":"")+" "+ +_.$verify(s.class)+'" '+_.$verify(e,"style")+' data-name="'+s.name+'"><span class="bt_select_value"><span class="bt_select_content" title="'+(r||s.placeholder)+'">'+(r||s.placeholder)+'</span><div class="icon-down"><svg width="12.000000" height="12.000000" viewBox="0 0 12 5" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n\t<desc>\n\t\t\tCreated with Pixso.\n\t</desc>\n\t<defs/>\n\t<path id="path" d="M0.123291 0.809418L4.71558 5.84385C4.8786 6.02302 5.16846 6.04432 5.33038 5.86389L9.87927 0.783104C10.0412 0.602676 10.04 0.311989 9.87701 0.132816C9.79626 0.0446892 9.68945 0 9.58374 0C9.47693 0 9.36938 0.0459404 9.28827 0.136574L5.02881 4.89284L0.708618 0.15662C0.627869 0.0684967 0.522217 0.0238075 0.415405 0.0238075C0.307434 0.0238075 0.20105 0.0697479 0.119873 0.160381C-0.041626 0.338303 -0.0393677 0.630241 0.123291 0.809418Z" fill-rule="nonzero" fill="#999999"/>\n</svg>\n</div></span><ul class="bt_select_list">'+(i||'<div style="height:80px;display:inline-flex;align-items:center;justify-content:center;color:#999;width:100%">无数据</div>')+"</ul><select"+t+' class="hide" '+(s.disabled?"disabled":"")+' autocomplete="off">'+(l||"")+'</select><div class="bt_select_list_arrow"></div><div class="bt_select_list_arrow_fff"></div></div>'},$reader_multipleSelect:function(a,e,t,s){var n=this,i="",l="",o={},r=[],c="";if("function"==typeof a.list&&(a.list.call(this,this.config.form),a.list=[]),$.isArray(a.value))r=a.value;else{if(!Array.isArray(a.list))return d=a.list,bt_tools.send({url:d.url,data:d.param||d.data||{}},function(e){var t;!1!==e.status?(t=a.list.dataFilter?a.list.dataFilter(e,n):e,a.list.success&&a.list.success(e,n,n.config.form[s],t),a.list=t,a.list.length||(a.disabled=!0,layer.msg(a.placeholder||"数据获取为空",{icon:2})),n.$replace_render_content(s)):bt.msg(e)}),!1;void 0===n.data[a.name]&&(o=a.list[0]),$.each(a.list,function(e,t){if(t.value===a.value||t.value===n.data[a.name])return o=t,!1})}$.each(a.list,function(e,t){if($.isArray(a.value))for(var s=0;s<r.length;s++)-1<r.indexOf(t.value)&&(o.value=t.value);i+='<li class="item item1'+_.$verify(t.value===o.value?"active":"")+" "+(t.disabled?"disabled":"")+'" title="'+t.title+'"> <span>'+t.title+'</span> <span class="icon-item-active"></span> </li>',l+='<option value="'+t.value+'"'+(t.disabled?"disabled":"")+" "+_.$verify(t.value===o.value?"selected":"")+">"+t.title+"</option>"});for(var p=0;p<a.list.length;p++)-1<r.indexOf(a.list[p].value)&&(c+='<span class="bt_select_content"><span>'+a.list[p].title+'</span><span class="icon-trem-close"></span></span>');var d=Array.isArray(a.list)?o?o.title:a.placeholder:"获取数据中";return'<div class="bt_multiple_select_updown bt_select_updown mr10 '+(a.disabled?"bt-disabled":"")+" "+ +_.$verify(a.class)+'" '+_.$verify(e,"style")+' data-name="'+a.name+'"><span class="bt_select_value">'+(0==a.value.length?'<span class="bt_select_content"><span>'+(d||a.placeholder)+'</span><span class="icon-trem-close"></span></span>':c)+'<div class="icon-down"><svg width="12.000000" height="12.000000" viewBox="0 0 12 5" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><desc>Created with Pixso.</desc><defs></defs><path id="path" d="M0.123291 0.809418L4.71558 5.84385C4.8786 6.02302 5.16846 6.04432 5.33038 5.86389L9.87927 0.783104C10.0412 0.602676 10.04 0.311989 9.87701 0.132816C9.79626 0.0446892 9.68945 0 9.58374 0C9.47693 0 9.36938 0.0459404 9.28827 0.136574L5.02881 4.89284L0.708618 0.15662C0.627869 0.0684967 0.522217 0.0238075 0.415405 0.0238075C0.307434 0.0238075 0.20105 0.0697479 0.119873 0.160381C-0.041626 0.338303 -0.0393677 0.630241 0.123291 0.809418Z" fill-rule="nonzero" fill="#999999"></path></svg></div> </span><ul class="bt_select_list">'+(i||"")+"</ul><select"+t+' class="hide" '+(a.disabled?"disabled":"")+' autocomplete="off" multiple>'+(l||"")+'</select><div class="bt_select_list_arrow"></div><div class="bt_select_list_arrow_fff"></div></div>'},$reader_secondaryMenu:function(a,e,t,s){var n=this,i="",l={};return $.each(a.list,function(e,t){var s;i+='<li class="item-parent"><div class="item-menu-title" style="'+(()=>{for(var e=0;e<t.child.length;e++)if(t.child[e].value!=a.value&&t.child[e].value!=n.data[a.name]||(l=t.child[e]),t.child[e].value===l.value)return"color:#20a53a;"})()+'">'+t.title+"</div>"+(0<t.child.length?' <svg style="margin-right: 10px;fill:#999999;" width="5.989136" height="10.000000" viewBox="0 0 5.98914 10" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> \t<desc> \t\t\tCreated with Pixso. \t</desc> \t<defs/> \t<path id="path" d="M0.809448 9.87672L5.84387 5.28442C6.02307 5.12138 6.04431 4.83153 5.86389 4.66962L0.783081 0.120728C0.602661 -0.0411835 0.312012 -0.0400543 0.132812 0.122986C0.0446777 0.203751 0 0.310562 0 0.416229C0 0.523041 0.0458984 0.6306 0.136597 0.711746L4.89282 4.97118L0.156616 9.29137C0.0684814 9.37213 0.0238037 9.4778 0.0238037 9.58461C0.0238037 9.69255 0.0697021 9.79898 0.1604 9.88011C0.338257 10.0416 0.630249 10.0394 0.809448 9.87672Z" fill-rule="nonzero" /> </svg><div class="item-menu-body-list">\t\t\t\t\t\t\t\t<ul class="">'+(s="",$.each(t.child,function(e,t){s+='<li class="item-child'+_.$verify(t.value===l.value?"active":"")+'" title="'+t.title+'" data-value="'+t.value+'"><div class="item-menu-title">'+t.title+"</div></li>"}),s)+"</ul></div>":'<span style="top: 0;color: #ccc;">[空]</span>')+"</li>"}),'<div class="bt_select_updown bt_seconday_menu" '+_.$verify(e,"style")+' data-name="'+a.name+'">\t\t\t\t\t<span class="bt_select_value"><span class="bt_select_content">'+($.isEmptyObject(l)?a.placeholder:l.title)+'</span>\t\t\t\t\t<div class="icon-down"><svg width="12.000000" height="12.000000" viewBox="0 0 12 5" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><desc>Created with Pixso.</desc><defs></defs><path id="path" d="M0.123291 0.809418L4.71558 5.84385C4.8786 6.02302 5.16846 6.04432 5.33038 5.86389L9.87927 0.783104C10.0412 0.602676 10.04 0.311989 9.87701 0.132816C9.79626 0.0446892 9.68945 0 9.58374 0C9.47693 0 9.36938 0.0459404 9.28827 0.136574L5.02881 4.89284L0.708618 0.15662C0.627869 0.0684967 0.522217 0.0238075 0.415405 0.0238075C0.307434 0.0238075 0.20105 0.0697479 0.119873 0.160381C-0.041626 0.338303 -0.0393677 0.630241 0.123291 0.809418Z" fill-rule="nonzero" fill="#999999"></path></svg></div>\t\t\t\t\t</span>\t\t\t\t\t<ul class="bt_select_list">'+i+"</ul>\t\t\t\t\t<input "+t+' class="hide" value="'+(l.value||"")+'"> <div class="bt_select_list_arrow"></div><div class="bt_select_list_arrow_fff"></div>\t\t\t\t\t</div>'},$replace_render_content:function(e){var t=this.config.form[e],t=this.$reader_content_row(e,t);$("[data-form="+this.random+"]").find(".line:eq("+e+")").replaceWith(t),this.$event_bind()},$again_render_form:function(e){var t=$("[data-form="+this.random+"]");e=e||this.config.form,t.empty();for(var s=0;s<e.length;s++){var a=e[s];t.append(this.$reader_content_row(s,a))}this.config.form=e,this.$event_bind(),t.find(".form-checkbox-label").click(),t.find(".form-checkbox-label").click()},$event_bind:function(e,t){var h=this,s={};h.element=$("object"==typeof e?h.element:"[data-form="+h.random+"]"),void 0===(s=e)&&(s=h.event_list),$.each(s,function(a,n){if($.isEmptyObject(n))return!0;$.each(n,function(e,t){if(n.type)return!1;if(t.hasOwnProperty("bind"))return!1;t.bind=!0;var _,u,s="",s="boolean"==typeof t.cust?"["+(t.cust?"data-":"")+"name="+a+"]":"."+a;u=a,!1===(_=t).onEvent?"input_checked"===_.type&&$(s).on("event"!=e?e:"click",function(e){_.event.apply(this,[e,h])}):"select"!==_.type&&h.element.on("event"!==e?e:"click",_.children||s,function(e){var t=h.$get_form_element(!0),s=h.form_config[u];switch(_.type){case"textarea_tips":$(this).hide().prev().focus();break;case"custom_select":return $(this).parent().hasClass("bt-disabled")||((n=$(this).next()).parent(".bt_select_updown").css("border","1px solid rgb(220, 223, 230)"),h.element.find(".item-parent").removeClass("down"),h.element.find(".bt_select_list,.item-menu-body-list").parent(".bt_select_updown").css("border","1px solid rgb(220, 223, 230)"),n.hasClass("show")?(n.parent(".bt_select_updown").css("border","1px solid rgb(220, 223, 230)"),$(".icon_up").remove(),$(".icon-down").show(),n.slideUp("fast"),n.removeClass("show"),$(".bt_select_list_arrow").fadeOut(300),$(".bt_select_list_arrow_fff").fadeOut(300)):($(".bt_select_list").removeClass("show").css("display","none"),$(".bt_select_list_arrow").fadeOut(1),$(".bt_select_list_arrow_fff").fadeOut(1),$(".icon_up").remove(),$(".icon-down").show(),n.slideDown("fast"),n.addClass("show"),n.prev().append('<div class=\'icon_up\'><svg width="12.000000" height="12.000000" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n<desc>Created with Pixso.</desc><defs/><path id="path" d="M1.12328 8.19058L5.71558 3.15616C5.87862 2.97699 6.16847 2.95569 6.33038 3.13611L10.8793 8.21689C11.0412 8.39731 11.04 8.68802 10.877 8.86719C10.7962 8.95532 10.6894 9 10.5838 9C10.477 9 10.3694 8.95407 10.2883 8.86343L6.02883 4.10715L1.70864 8.84338C1.62788 8.93152 1.5222 8.9762 1.41539 8.9762C1.30746 8.9762 1.20103 8.93024 1.11988 8.83963C0.958351 8.66171 0.960617 8.36975 1.12328 8.19058Z" fill-rule="nonzero" fill="#999999"/>\n</svg></div>'),n.prev().find(".icon-down").hide(),n.parent(".bt_select_updown").css("border","1px solid #20A53A"),p=$(this).height(),n.css("top",p+12+"px"),$(n.siblings()[2]).css("top",p-4+"px"),$(n.siblings()[3]).css("top",p-3+"px"),$(n.siblings()[2]).show(),$(n.siblings()[3]).show()),$(document).click(function(){return h.element.find(".bt_select_list,.item-menu-body-list").slideUp("fast"),h.element.find(".bt_select_list,.item-menu-body-list").removeClass("show"),h.element.find(".item-parent").removeClass("down"),h.element.find(".bt_select_list,.item-menu-body-list").parent(".bt_select_updown").css("border","1px solid rgb(220, 223, 230)"),$(".bt_select_list_arrow").fadeOut(300),$(".bt_select_list_arrow_fff").fadeOut(300),$(".icon_up").remove(),$(".icon-down").show(),$(this).unbind("click"),!1})),!1;case"custom_select_item":var a,n=(s=h.form_config[$(this).parents(".bt_select_updown").attr("data-name")]).list[$(this).index()],i=$(this).parent().find(".item"),l=[],o="",r=[];if($(this).hasClass("disabled"))return $(this).parent().removeClass("show"),n.tips&&layer.msg(n.tips,{icon:2}),!0;if($(this).hasClass("active")||$(this).hasClass("disabled")?"multipleSelect"==s.type&&$(this).removeClass("active"):(a=n.value.toString(),$(this).parent().prev().find(".bt_select_content").text($(this).text()),$(this).parent().prev().find(".bt_select_content").prop("title",$(this).text()),"multipleSelect"!=s.type?($(this).addClass("active").siblings().removeClass("active"),$(this).parent().next().val(a),$(this).parent().slideUp("fast"),$(this).parent().removeClass("show"),$(".bt_select_list_arrow").fadeOut(200),$(".bt_select_list_arrow_fff").fadeOut(200)):$(this).addClass("active")),"multipleSelect"==s.type){for(var c=0;c<i.length;c++)i.eq(c).hasClass("active")&&l.push(i.eq(c).text().trim().replace(/\s/g,""));for(c=0;c<s.list.length;c++)-1<l.indexOf(s.list[c].title.trim().replace(/\s/g,""))&&r.push(s.list[c].value);if(0==l.length)o+='<span class="bt_select_content_def">'+s.placeholder+"</span>";else{$(this).parent().prev().find(".bt_select_content_def").remove();for(c=0;c<l.length;c++)o+='<span class="bt_select_content"><span>'+l[c]+'</span><span class="icon-trem-close"></span></span>'}$(this).parent().prev().find(".bt_select_content").remove(),$(this).parent().prev().find(".icon-down").before(o),$(this).parent().next().val(r);var p=$(this).parent().parent().parent().height();$(this).parent().parent().parent().parent().siblings().css({height:p+"px","line-height":p+"px"}),$(this).parent().css("top",p+12+"px"),$(".bt_select_list_arrow_fff").css("top",p-3+"px"),$(".bt_select_list_arrow").css("top",p-4+"px")}$(".icon-trem-close").click(function(){for(var e=$(this).siblings().text().trim().replace(/\s/g,""),t=0;t<i.length;t++)e==i.eq(t).prop("title")&&i.eq(t).click();return!1}),h.data[s.name]="multipleSelect"==s.type?r:a,_.event&&(_.event=null),s.change&&(_.event=s.change),e.stopPropagation();break;case"icon_trem_close":for(var d=$(this).siblings().text().trim().replace(/\s/g,""),i=$(this).parent().parent().siblings(".bt_select_list").find(".item"),c=0;c<i.length;c++)d==i.eq(c).prop("title")&&i.eq(c).click();return!1;case"secondary_menu_parent":$(".item-menu-title").removeAttr("style"),$(this).addClass("down").siblings().removeClass("down").find(".item-menu-body-list").removeClass("show"),$(this).siblings().children("svg").css("fill","#999999"),$(".down").children("svg").css("fill","#666666"),0<$(this).find(".item-menu-body-list").length&&$(this).find(".item-menu-body-list").addClass("show").parent().siblings().find(".item-menu-body-list").removeClass("show"),e.stopPropagation();break;case"secondary_menu_child":n=$(this).attr("data-value");s=h.form_config[$(this).parents(".bt_select_updown").attr("data-name")],h.data[s.name]=n,_.event&&(_.event=null),s.change&&(_.event=s.change),e.stopPropagation();break;case"select_path":bt.select_path("event_"+$(this).prev().attr("name")+"_"+h.random,_.select||"",!_.callback||_.callback.bind(h),_.defaultPath||"");break;case"checkbox":$(this).is(":checked")?$(this).prev().addClass("active"):$(this).prev().removeClass("active")}_.event&&_.event.apply(this,[h.$get_form_value(),t,h,s,e]),_.added&&_.added.apply(this,[e,s,t])})})}),t&&t()},$get_form_value:function(){var a={},n=this.element;return n.find('input,textarea[disabled="disabled"]').each(function(e,t){var s=$(this).val();"checkbox"===$(this).attr("type")&&(s=$(this).prop("checked")),"radio"===$(this).attr("type")&&(s=n.find("input[name="+$(this).attr("name")+"]:radio:checked").val()),a[$(this).attr("name")]=s}),$.extend({},n.serializeObject(),a)},$set_find_value:function(e,t){var s={},a=this;"string"!=typeof e?s=e:s[e]=t,$.each(s,function(e,t){a.form_element[e].val(t)})},$get_form_element:function(e){var t={};return e||$.isEmptyObject(this.form_element)?(this.element.find(":input").each(function(e){t[$(this).attr("name")]=$(this)}),this.form_element=t):this.form_element},$verify_group:function(s,e){var a="";return $.each(e,function(e,t){if(void 0===s[t])return!0;-1<["disabled","readonly"].indexOf(t)?a+=" "+(s[t]?t+'="'+t+'"':""):a+=" "+t+'="'+s[t]+'"'}),a},$verify_bind_event:function(a,n,e){var i={};return $.each(e,function(e,t){var s=n[t];s&&("object"==typeof i[a]?(Array.isArray(i[a])||(i[a]=[i[a]]),i[a].push({event:s,eventType:t})):i[a]={event:s,eventType:t})}),i},$verify:function(e,t,s){return e?!0===s?e?" "+t:"":"style"===s?t?t+":"+e+";":e:t?" "+t+'="'+e+'"':" "+e:""},$verify_form:function(){for(var e=this.config.form,t=this.$get_form_value(),s=this.$get_form_element(!0),a=!0,n=0;n<e.length;n++){var i=e[n];if(Array.isArray(i.group)||(i.group=[i.group]),!i.separate)for(var l=0;l<i.group.length;l++){var o=i.group[l],r=o.name;"help"!==o.type&&"function"==typeof o.verify&&(a="boolean"!=typeof(a=o.verify(t[r],s[r],o,!0)))}}return a&&t},$submit:function(e,t,s){var a=this.$verify_form();return"function"==typeof e&&(s=t,t=e,e={}),!!a&&(a=$.extend(a,e),void 0===this.config.url?(bt_tools.msg("请求提交地址不能为空!",!1),!1):void bt_tools.send({url:this.config.url,data:a},function(e){t?t(e,a):bt_tools.msg(e)},s||"提交中"))}},new t(e)},tab:function(e){var s=this;function t(e){this.config=e,this.theme=this.config.theme||{},this.$load()}return t.prototype={type:1,theme_list:[{content:"tab-body",nav:"tab-nav",body:"tab-con",active:"on"},{content:"bt-w-body",nav:"bt-w-menu",body:"bt-w-con"}],random:bt.get_random(5),$init:function(){this.config.active;var e=this.config.list;this.$event_bind(),e[this.active].success&&e[this.active].success(),e[this.active].init=!0},$load:function(){},$reader_content:function(){var a=this,e=a.config.list,n="",i="",l=a.theme,t=a.config;return void 0===a.active&&(a.active=0),$.isEmptyObject(t.theme)||(l=this.theme_list[a.active],$.each(t.theme,function(e,t){l[e]&&(l[e]+=" "+t)}),a.theme=l),t.type&&$.isEmptyObject(t.theme)&&(this.theme=this.theme_list[a.active]),$.each(e,function(e,t){var e=a.active===e,s=l.active||"active";n+='<span class="'+(e?s:"")+'">'+t.title+"</span>",i+='<div class="tab-block '+(e?s:"")+'">'+(e?t.content:"")+"</div>"}),a.element=$('<div id="tab_'+a.random+'" class="'+l.content+s.$verify(a.config.class)+'"><div class="'+l.nav+'" >'+n+'</div><div class="'+l.body+'">'+i+"</div></div>"),a.element[0].outerHTML},$event_bind:function(){var s=this,a=s.theme,n=a.active||"active";s.el||(s.element=$("#tab_"+s.random)),s.element.on("click","."+a.nav.replace(/\s+/g,".")+" span",function(){var e=$(this).index(),t=s.config.list[e];$(this).addClass(n).siblings().removeClass(n),$("#tab_"+s.random+" ."+a.body+">div:eq("+e+")").addClass(n).siblings().removeClass(n),s.active=e,t.init||($("#tab_"+s.random+" ."+a.body+">div:eq("+e+")").html(t.content),t.success&&t.success(),t.init=!0)})}},new t(e)},load:function(e){var t=bt.get_random(5),s=$('<div class="layui-layer layui-layer-dialog layui-layer-msg layer-anim" id="'+t+'" type="dialog" style="z-index: 99891031;"><div class="layui-layer-content layui-layer-padding"><i class="layui-layer-ico layui-layer-ico16"></i>正在'+e+',请稍候...</div><span class="layui-layer-setwin"></span></div><div class="layui-layer-shade" id="layer-mask-'+t+'" times="17" style="z-index:99891000; background-color:#000; opacity:0.3; filter:alpha(opacity=30);"></div>'),a="",n=($("body").append(s),$(window));$(".layer-loading-mask");return(s=$("#"+t)).css({top:(n.height()-64)/2,left:(n.width()-320)/2}),!0===e&&(a=layer.load()),{close:function(){"number"==typeof a?layer.close(a):$("body").find("#"+t+",#layer-mask-"+t).remove()}}},open:function(a){var e,t,s={},n=null;return"object"==typeof(s=$.extend({type:1,area:"640px",closeBtn:2,btn:["确认","取消"]},a)).content&&(t=s.content,n=bt_tools.form(t),s.success=function(e,t){n.$event_bind(),void 0!==a.success&&a.success(e,t,n)},s.yes=function(e,t){var s=n.$verify_form();if(!s)return!1;if(void 0!==a.yes&&!a.yes.apply(n,[s,e,t]))return!1},s.content=n.$reader_content()),e=layer.open(s),{close:function(){layer.close(e)},form:n}},msg:function(e,t){var s,a="",n={};return"object"==typeof e&&"boolean"==typeof e.status&&(a=e.msg,n={icon:e.status?1:2},e.status||(n=$.extend(n,{time:t?3e3:0,closeBtn:2,shade:.3,shadeClose:!0}))),"string"==typeof e&&(a=e,n={icon:void 0!==t?t:1,shadeClose:!0}),s=layer.msg(a,n),{close:function(){layer.close(s)}}},success:function(e){this.msg({msg:e,status:!0})},error:function(e){this.msg({msg:e,status:!1})},send:function(e,t,s,a,n,i){var l={},o=null,r=null,c=[],p="";function d(e){try{o="function"==c[e][1]?c[e][0]:null,r="function"==c[e+1][1]?c[e+1][0]:null}catch(e){}}switch($.each(arguments,function(e,t){c.push([t,typeof t])}),(p=c[0])[1]){case"string":$.each(c,function(e,t){var s=t[0],t=t[1];if(1<e&&("boolean"==t||"string"==t||"object"==t))return e=p[0].split("/"),l.url="/"+e[0]+"?action="+e[1],"object"==t?(l.load=s.load,l.verify=s.verify,s.plugin&&(l.url="/plugin?action=a&name="+e[0]+"&s="+e[1])):"string"==t&&(l.load=s),!1;l.url=p[0]}),"object"===c[1][1]?(l.data=c[1][0],d(2)):d(1);break;case"object":l.url=p[0].url,l.data=p[0].data||{},$.each(c,function(e,t){var s=t[0],t=t[1];if(1<e&&("boolean"==t||"string"==t||"object"==t)){switch(t){case"object":l.load=s.load,l.verify=s.verify;break;case"string":l.load=s}return!0}}),"object"===c[1][1]?(l.data=c[1][0],d(2)):d(1)}l.load&&(l.load=this.load(l.load)),$.ajax({type:l.type||"POST",url:l.url,data:l.data||{},dataType:l.dataType||"JSON",complete:function(e){l.load&&l.load.close()},success:function(e){return"boolean"!=typeof l.verify||l.verify?"string"==typeof e?(layer.msg(e,{icon:2,time:0,closeBtn:2}),!1):l.batch?(o&&o(e),!1):!1===e.status&&(e.hasOwnProperty("msg")||e.hasOwnProperty("error_msg"))?(r?r(e):bt_tools.msg({status:e.status,msg:e.hasOwnProperty("msg")?e.msg:e.error_msg}),!1):(l.tips&&bt_tools.msg(e),void(o&&o(e))):(o&&o(e),!1)}})},command_line_output:function(e){var i=this,t=bt.get_random(15);function s(e){var t,s=this;for(t in i.commandConnectionPool){var a=i.commandConnectionPool[t],n=$(a.config.el);if(e.shell===a.config.shell&&n.length)return a.el=n,a}return void 0===e&&(e={}),this.config=$.extend({route:"/sock_shell"},e),this.xterm_config=$.extend(this.xterm_config,this.config.xterm),this.el=$(this.config.el),this.open=e.open,this.close=e.close,this.message=e.message,this.config.hasOwnProperty("el")?this.config.hasOwnProperty("shell")?(this.config.hasOwnProperty("time")&&setTimeout(function(){s.close_connect()},this.config.time),void this.init()):(i.msg({msg:"请输入命令,不可为空",status:!1}),!1):(i.msg({msg:"请输入选择器element,不可为空",status:!1}),!1)}return s.prototype={socket:null,socketToken:null,timeout:0,monitor_interval:2e3,element_detection:null,uuid:t,fragment:[],error:0,retry:0,forceExit:!1,init:function(){var e=bt.get_cookie("commandInputViewUUID"),t=this;if(!this.el[0])return 10<this.error||setTimeout(function(){t.init(),this.error++},2e3),!1;this.error=0,"pre"!==this.el[0].localName?(this.el.append('<pre class="command_output_pre"></pre>'),this.el=this.el.find("pre"),this.config.el=this.config.el+" pre"):this.el.addClass("command_output_pre"),Array.isArray(this.config.area)?this.el.css({width:this.config.area[0],height:this.config.area[1]}):this.el.css({width:"100%",height:"100%"}),e&&void 0!==i.commandConnectionPool[e]&&(i.commandConnectionPool[e].close_connect(),delete i.commandConnectionPool[e]),bt.set_cookie("commandInputViewUUID",this.uuid),this.element_detection=setInterval(function(){$(t.config.el).length||(clearInterval(t.element_detection),t.forceExit=!0,t.close_connect())},6e4),this.set_full_screen(),this.create_websocket_connect(this.config.route,this.config.shell),this.monitor_element()},create_websocket_connect:function(e,s){var a=this;return this.socket=new WebSocket(("http:"===location.protocol?"ws://":"wss://")+location.host+e),this.socket.addEventListener("open",function(e){var t;this.socketToken||(t=window.vite_public_request_token,this.socketToken={"x-http-token":t}),this.send(JSON.stringify(this.socketToken)),this.send(s),a.open&&a.open(),a.retry=0}),this.socket.addEventListener("close",function(e){a.forceExit||(1e3!==e.code&&a.retry<=10&&(a.socket=a.create_websocket_connect(a.config.route,a.config.shell),a.retry++),a.close&&a.close(e))}),this.socket.addEventListener("message",function(e){e=e.data;e&&(a.refresh_data(e),a.message)&&a.message(e)}),this.socket},set_full_screen:function(){},htmlEncodeByRegExp:function(e){return 0==e.length?"":e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ").replace(/\'/g,"'").replace(/\"/g,""").replace(/\(/g,"(").replace(/\)/g,")").replace(/`/g,"`").replace(/=/g,"=")},refresh_data:function(e){e=this.htmlEncodeByRegExp(e);if(this.el=$(this.config.el),!this.el)return!1;this.fragment.push(e),300<=this.fragment.length?(this.fragment.splice(0,150),this.el.html(this.fragment.join(""))):this.el.append(e),this.el[0]&&this.el.scrollTop(this.el[0].scrollHeight)},monitor_element:function(){var e=this;this.monitor_interval=setInterval(function(){e.el.length||(e.close_connect(),clearInterval(e.monitor_interval))},e.config.monitorTime||2e3)},close_connect:function(){this.forceExit=!0,this.socket.close(),delete i.commandConnectionPool[this.uuid]}},this.commandConnectionPool[t]=new s(e),this.commandConnectionPool[t]},$clear_verify_tips:function(e){e.removeClass("bt-border-error bt-border-sucess"),layer.close("tips")},$verify_tips:function(e,t,s){void 0===s&&(s=!0),e.removeClass("bt-border-error bt-border-sucess").addClass(s?"bt-border-error":"bt-border-sucess"),e.focus(),layer.tips('<span class="inlineBlock">'+t+"</span>",e,{tips:[1,s?"red":"#20a53a"],time:3e3,area:e.width()})},$verify:function(e,t,s){return e?!0===s?e?" "+t:"":"style"===s?t?t+":"+e+";":e:t?" "+t+'="'+e+'"':" "+e:""},$batch_success_table:function(e){var t=this,s=$(e.html).length;bt.open({type:1,title:e.title,area:e.area||["350px","350px"],shadeClose:!1,closeBtn:2,content:e.content||'<div class="batch_title"><span class><span class="batch_icon"></span><span class="batch_text">'+e.title+'操作完成!</span></span></div><div class="'+(4<s?"fiexd_thead":"")+' batch_tabel divtable" style="margin: 15px 30px 15px 30px;overflow: auto;height: 200px;"><table class="table table-hover"><thead><tr><th>'+e.th+'</th><th style="text-align:right;width:120px;">操作结果</th></tr></thead><tbody>'+e.html+"</tbody></table></div>",success:function(){4<s&&t.$fixed_table_thead(".fiexd_thead")}})},$fixed_table_thead:function(e){$(e).scroll(function(){var e=this.scrollTop;this.querySelector("thead").style.transform="translateY("+(e-1)+"px)"})},$piugin_view_set:function(e,s){var a=$("string"==typeof e?"#layui-layer"+e:e).hide(),n=$(window);setTimeout(function(){var e=s.width||a.width(),t=s.height||a.height();a.css($.extend(s,{left:(n.width()-e)/2,top:(n.height()-t)/2})).addClass("custom_layer")},50),setTimeout(function(){a.show()},500)},nps:function(i){var e=' <div> <div class="nps-star pd20" style="padding-top: 30px"> <div> <div class="time-keeping" style="position: absolute;top: 4px;right: 28px;color: #999999;"><span style="color:red;">15 </span>秒后自动关闭</div> <div style="font-size: var(--el-font-size-base);text-align: left;color: #000;">您对【'+i.name+'】功能的满意程度?</div> <div class="star-container"> <div class="star"> <div class="star-icon"> <svg width="30" height="30" data-attr="1" style="color: #cccccc" viewBox="0 0 152.249 145.588" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <desc> Created with Pixso. </desc> <defs/> <path id="矢量 104" d="M68.5163 5.52759L56.0289 43.9553C54.9577 47.2512 51.8863 49.4829 48.4207 49.4829L8.01495 49.4844C0.265564 49.4844 -2.95648 59.4011 3.31281 63.9564L36.0008 87.7075C38.8045 89.7446 39.9776 93.3553 38.9068 96.6514L26.4222 135.08C24.0278 142.45 32.4632 148.579 38.7328 144.024L71.4227 120.275C74.2265 118.239 78.0229 118.239 80.8267 120.275L113.517 144.024C119.786 148.579 128.222 142.45 125.827 135.08L113.343 96.6514C112.272 93.3553 113.445 89.7446 116.249 87.7075L148.937 63.9563C155.206 59.4011 151.984 49.4844 144.234 49.4844L103.829 49.4829C100.363 49.4829 97.2916 47.2512 96.2205 43.9553L83.7331 5.52759C81.3381 -1.84253 70.9113 -1.84253 68.5163 5.52759Z" fill-rule="evenodd" fill="currentColor" /> </svg> </div> <div class="star-title" style="color: #FFFFFF">很不满意</div> </div> <div class="star"> <div class="star-icon"> <svg width="30" height="30" data-attr="2" style="color: #cccccc" viewBox="0 0 152.249 145.588" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <desc> Created with Pixso. </desc> <defs/> <path id="矢量 104" d="M68.5163 5.52759L56.0289 43.9553C54.9577 47.2512 51.8863 49.4829 48.4207 49.4829L8.01495 49.4844C0.265564 49.4844 -2.95648 59.4011 3.31281 63.9564L36.0008 87.7075C38.8045 89.7446 39.9776 93.3553 38.9068 96.6514L26.4222 135.08C24.0278 142.45 32.4632 148.579 38.7328 144.024L71.4227 120.275C74.2265 118.239 78.0229 118.239 80.8267 120.275L113.517 144.024C119.786 148.579 128.222 142.45 125.827 135.08L113.343 96.6514C112.272 93.3553 113.445 89.7446 116.249 87.7075L148.937 63.9563C155.206 59.4011 151.984 49.4844 144.234 49.4844L103.829 49.4829C100.363 49.4829 97.2916 47.2512 96.2205 43.9553L83.7331 5.52759C81.3381 -1.84253 70.9113 -1.84253 68.5163 5.52759Z" fill-rule="evenodd" fill="currentColor" /> </svg> </div> <div class="star-title" style="color: #FFFFFF">不满意</div> </div> <div class="star"> <div class="star-icon"> <svg width="30" height="30" data-attr="3" style="color: #cccccc" viewBox="0 0 152.249 145.588" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <desc> Created with Pixso. </desc> <defs/> <path id="矢量 104" d="M68.5163 5.52759L56.0289 43.9553C54.9577 47.2512 51.8863 49.4829 48.4207 49.4829L8.01495 49.4844C0.265564 49.4844 -2.95648 59.4011 3.31281 63.9564L36.0008 87.7075C38.8045 89.7446 39.9776 93.3553 38.9068 96.6514L26.4222 135.08C24.0278 142.45 32.4632 148.579 38.7328 144.024L71.4227 120.275C74.2265 118.239 78.0229 118.239 80.8267 120.275L113.517 144.024C119.786 148.579 128.222 142.45 125.827 135.08L113.343 96.6514C112.272 93.3553 113.445 89.7446 116.249 87.7075L148.937 63.9563C155.206 59.4011 151.984 49.4844 144.234 49.4844L103.829 49.4829C100.363 49.4829 97.2916 47.2512 96.2205 43.9553L83.7331 5.52759C81.3381 -1.84253 70.9113 -1.84253 68.5163 5.52759Z" fill-rule="evenodd" fill="currentColor" /> </svg> </div> <div class="star-title" style="color: #FFFFFF">一般</div> </div> <div class="star"> <div class="star-icon"> <svg width="30" height="30" data-attr="4" style="color: #cccccc" viewBox="0 0 152.249 145.588" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <desc> Created with Pixso. </desc> <defs/> <path id="矢量 104" d="M68.5163 5.52759L56.0289 43.9553C54.9577 47.2512 51.8863 49.4829 48.4207 49.4829L8.01495 49.4844C0.265564 49.4844 -2.95648 59.4011 3.31281 63.9564L36.0008 87.7075C38.8045 89.7446 39.9776 93.3553 38.9068 96.6514L26.4222 135.08C24.0278 142.45 32.4632 148.579 38.7328 144.024L71.4227 120.275C74.2265 118.239 78.0229 118.239 80.8267 120.275L113.517 144.024C119.786 148.579 128.222 142.45 125.827 135.08L113.343 96.6514C112.272 93.3553 113.445 89.7446 116.249 87.7075L148.937 63.9563C155.206 59.4011 151.984 49.4844 144.234 49.4844L103.829 49.4829C100.363 49.4829 97.2916 47.2512 96.2205 43.9553L83.7331 5.52759C81.3381 -1.84253 70.9113 -1.84253 68.5163 5.52759Z" fill-rule="evenodd" fill="currentColor" /> </svg> </div> <div class="star-title" style="color: #FFFFFF">满意</div> </div> <div class="star"> <div class="star-icon"> <svg width="30" height="30" data-attr="5" style="color: #cccccc" viewBox="0 0 152.249 145.588" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <desc> Created with Pixso. </desc> <defs/> <path id="矢量 104" d="M68.5163 5.52759L56.0289 43.9553C54.9577 47.2512 51.8863 49.4829 48.4207 49.4829L8.01495 49.4844C0.265564 49.4844 -2.95648 59.4011 3.31281 63.9564L36.0008 87.7075C38.8045 89.7446 39.9776 93.3553 38.9068 96.6514L26.4222 135.08C24.0278 142.45 32.4632 148.579 38.7328 144.024L71.4227 120.275C74.2265 118.239 78.0229 118.239 80.8267 120.275L113.517 144.024C119.786 148.579 128.222 142.45 125.827 135.08L113.343 96.6514C112.272 93.3553 113.445 89.7446 116.249 87.7075L148.937 63.9563C155.206 59.4011 151.984 49.4844 144.234 49.4844L103.829 49.4829C100.363 49.4829 97.2916 47.2512 96.2205 43.9553L83.7331 5.52759C81.3381 -1.84253 70.9113 -1.84253 68.5163 5.52759Z" fill-rule="evenodd" fill="currentColor" /> </svg> </div> <div class="star-title" style="color: #FFFFFF">非常满意</div> </div> </div> <div class="nps-content"> <textarea style="width: 100%;height: 100px;" placeholder="您对'+i.name+'有什么改进的方向和建议?"></textarea> </div>'+("网站"===i.name?'<div class="mtb10 c6">如遇BUG问题请联系QQ群:<a class="btlink" title="宝塔面板交流群-2群" href="https://qm.qq.com/cgi-bin/qm/qr?k=pDI9rilMP7Bcf8NcXlk_9ar3_sTLEuaZ&jump_from=webapi&authKey=jLsyfgvmymKrdZrhWRAr3bTn8DkPA/PsqQ+cWw17PvbaKPcy+SteMP8ZmGVZW3yL" target="_blank">435590797</a></div>':"")+'<div class="nps-submit"> <button class="btn btn-sm btn-success" style="width: 100%;height: 38px;">提交反馈</button> </div> </div> </div> </div>',l=0;function o(){var s=$(this).data("attr");l=s,$(this).parents(".star-container").find(".star-icon svg").each(function(e,t){e<s?(s<=2?$(t).css("color","#EF0808"):s<=3&&$(t).css("color","#F0AD4E"),4<=s&&$(t).css("color","#20A53A")):$(t).css("color","#cccccc")})}function r(e,t,s){e==t-1?t<=2?$(s).parent().next().css({color:"#EF0808","background-color":"rgba(239, 8, 8, 0.05)",border:"1px solid rgb(239 8 8 / 26%)"}):t<=3?$(s).parent().next().css({color:"#f7be56","background-color":"rgb(247 190 86 / 17%)",border:"1px solid rgb(247 190 86 / 26%)"}):$(s).parent().next().css({color:"#69be3d","background-color":"rgb(105 190 61 / 17%)",border:"1px solid rgb(105 190 61 / 26%)"}):$(s).parent().next().removeAttr("style")}var c=!1;function p(e){$(".nps-content textarea").removeClass("textarea-error"),$(".nps-content textarea").next().remove(),e.find(".nps-star .star-icon svg").hover(function(){clearTimeout(null);var s=$(this).data("attr");$(this).parent().next().show(),$(this).parents(".star-container").find(".star-icon svg").each(function(e,t){r(e,s,t),e<s?(s<=2?$(t).css("color","#ed6d68"):s<=3&&$(t).css("color","#f7be56"),4<=s&&$(t).css("color","#69be3d")):$(t).css("color","#cccccc")})},function(){o.call(this)})}layer.open({type:1,content:e,area:["310px"],title:"",id:"nps",shade:0,cancel:function(e,t){c=!0,$(".nps-submit button").click()},success:function(e,s){e.find(".nps-star .star-icon svg").parents(".star-container").find(".star-icon svg").each(function(e,t){0==e&&$(t).parent().next().css({color:"#EF0808","background-color":"rgba(239, 8, 8, 0.05)",border:"1px solid rgb(239 8 8 / 26%)"}),2==e&&$(t).parent().next().css({color:"#f7be56","background-color":"rgb(247 190 86 / 17%)",border:"1px solid rgb(247 190 86 / 26%)"}),4==e&&$(t).parent().next().css({color:"#69be3d","background-color":"rgb(105 190 61 / 17%)",border:"1px solid rgb(105 190 61 / 26%)"})});var t=15,a=setInterval(function(){0==--t&&(c=!0,$(".nps-submit button").click(),clearInterval(a)),$(".time-keeping").html('<span style="color: red">'+t+"</span> 秒后自动关闭")},1e3);function n(e,t){bt_tools.send({url:"config?action=write_nps_new",data:e},function(e){layer.close(s),e.status&&t&&layer.open({title:!1,btn:!1,shadeClose:!0,shade:.1,closeBtn:0,skin:"qa_thank_dialog",area:"230px",content:'<div class="qa_thank_box" style="background-color:#F1F9F3;text-align: center;padding: 20px 0;"><img src="/static/img/feedback/QA_like.png" style="width: 55px;"><p style="margin-top: 15px;">感谢您的参与!</p></div>',success:function(e,t){$(e).find(".layui-layer-content").css({padding:"0","border-radius":"5px"}),$(e).css({"border-radius":"5px","min-width":"230px"}),setTimeout(function(){layer.close(t)},3e3)}})})}$(".time-keeping"),e.hover(function(){clearInterval(a),$(".time-keeping").hide()}),p(e),$(".nps-content textarea").focus(function(){0!=l&&$(".nps-star .star-icon svg").unbind("mouseenter").unbind("mouseleave")}),$(".nps-content textarea").blur(function(){p(e)}),$(".nps-star .star-icon svg").click(function(){!function(){var s=$(this).data("attr");$(this).parents(".star-container").find(".star-icon svg").each(function(e,t){r(e,s,t)})}.call(this),o.call(this);$(this).data("attr");$(".nps-content textarea").focus()}),bt_tools.send({url:"config?action=get_nps_new",data:{version:-1,product_type:i.type}},function(e){var t=e.msg[0],s={};$(".nps-submit button").click(function(){s[t.id]=$(".nps-content textarea").val();var e={rate:l,product_type:i.type,software_name:i.soft,questions:JSON.stringify(s)};if(c)e.rate=0,n(e,!1);else{if(0==l)return layer.msg("打个分数再提交吧,麻烦您了~",{icon:0}),!1;""==$(".nps-content textarea").val()?($(".nps-content textarea").addClass("textarea-error").focus(),0==$(".nps-content textarea").next().length&&$(".nps-content textarea").after('<span style="color: red;position: absolute;top: 222px;left: 22px;">请填写下您的建议再提交吧,麻烦您了~</span>')):($(".nps-content textarea").css("border","1px solid #ccc"),$(".nps-content textarea").next().remove(),n(e,!0))}})})}})}},Term={bws:null,route:"/webssh",term:null,term_box:null,ssh_info:{},last_body:!1,last_cd:null,config:{cols:0,rows:0,fontSize:12},detectZoom:(()=>{var e=0,t=window.screen,s=navigator.userAgent.toLowerCase();return void 0!==window.devicePixelRatio?e=window.devicePixelRatio:~s.indexOf("msie")?t.deviceXDPI&&t.logicalXDPI&&(e=t.deviceXDPI/t.logicalXDPI):void 0!==window.outerWidth&&void 0!==window.innerWidth&&(e=window.outerWidth/window.innerWidth),e=e&&Math.round(100*e)})(),connect:function(){Term.bws&&3!=Term.bws.readyState&&2!=Term.bws.readyState||(ws_url=("http:"===window.location.protocol?"ws://":"wss://")+window.location.host+Term.route,Term.bws=new WebSocket(ws_url),Term.bws.addEventListener("message",Term.on_message),Term.bws.addEventListener("close",Term.on_close),Term.bws.addEventListener("error",Term.on_error),Term.bws.addEventListener("open",Term.on_open))},on_open:function(e){var t=window.vite_public_request_token,t=(Term.send(JSON.stringify({"x-http-token":t})),"{}"!==JSON.stringify(Term.ssh_info)&&Term.send(JSON.stringify(Term.ssh_info)),Term.resize(),$("#fileInputPath").val()||getCookie("Path"));t&&(Term.last_cd="cd "+t,Term.send(Term.last_cd+"\n"))},on_message:function(e){-1==(result=e.data).indexOf("@127.0.0.1:")&&-1==result.indexOf("@localhost:")||-1==result.indexOf("Authentication failed")?Term.last_cd&&-1!=result.indexOf(Term.last_cd)&&result.length-Term.last_cd.length<3?Term.last_cd=null:"\r服务器连接失败!\r"===result||"\r用户名或密码错误!\r"==result?Term.close():(1<result.length&&!1===Term.last_body&&(Term.last_body=!0),Term.term.write(result),"\r\n登出\r\n"!=result&&"\r\n注销\r\n"!=result&&"注销\r\n"!=result&&"登出\r\n"!=result&&"\r\nlogout\r\n"!=result&&"logout\r\n"!=result||(setTimeout(function(){layer.close(Term.term_box),Term.term.dispose()},500),Term.close(),Term.bws=null)):(Term.term.write(result),Term.localhost_login_form(),Term.close())},on_close:function(e){Term.bws=null},on_error:function(e){3===e.target.readyState&&3!==Term.state&&(Term.term.write(msg),Term.state=3)},close:function(){Term.bws&&Term.bws.close()},resize:function(){$("#term").height($(".term_box_all .layui-layer-content").height()-30),setTimeout(function(){Term.term.FitAddon.fit(),Term.send(JSON.stringify({resize:1,rows:Term.term.rows,cols:Term.term.cols})),Term.term.focus()},400)},send:function(e,t){Term.bws&&3!=Term.bws.readyState&&2!=Term.bws.readyState||Term.connect(),1===Term.bws.readyState?Term.bws.send(e):3!==Term.state&&(t=t||0)<5&&(t++,setTimeout(function(){Term.send(e,t++)},100))},run:function(e){var t=layer.msg("正在加载终端所需文件,请稍候...",{icon:16,time:0,shade:.3});layer.close(t),Term.term=new Terminal({rendererType:"canvas",cols:100,rows:34,fontSize:15,screenKeys:!0,useStyle:!0}),Term.term.setOption("cursorBlink",!0),Term.last_body=!1,Term.term_box=layer.open({type:1,title:"宝塔终端",area:["930px","640px"],closeBtn:2,shadeClose:!1,skin:"term_box_all",content:'<link rel="stylesheet" href="/static/css/xterm.css?v=1777008528" /> <div class="term-box" style="background-color:#000" id="term"></div>',cancel:function(t,e){return bt.confirm({msg:"关闭SSH会话后,当前命令行会话正在执行的命令可能被中止,确定关闭吗?",title:"确定要关闭SSH会话吗?"},function(e){Term.term.dispose(),layer.close(t),layer.close(e),Term.close()}),!1},success:function(){$(".term_box_all").css("background-color","#000"),Term.term.open(document.getElementById("term")),Term.term.FitAddon=new FitAddon.FitAddon,Term.term.loadAddon(Term.term.FitAddon),Term.term.WebLinksAddon=new WebLinksAddon.WebLinksAddon,Term.term.loadAddon(Term.term.WebLinksAddon),Term.term.focus()}}),Term.term.onData(function(e){try{Term.bws.send(e)}catch(e){Term.term.write("\r\n连接丢失,正在尝试重新连接!\r\n"),Term.connect()}}),e&&(Term.ssh_info=e),Term.connect()},reset_login:function(){var e={data:JSON.stringify({host:$("input[name='host']").val(),port:$("input[name='port']").val(),username:$("input[name='username']").val(),password:$("input[name='password']").val()})};bt_tools.send({url:"/term_open",data:e},function(e){!1===e.status?layer.msg(e.msg):(layer.closeAll(),Term.connect(),Term.term.scrollToBottom(),Term.term.focus())},{verify:!1})},localhost_login_form:function(){$(".term-box").after('<div class="localhost-form-shade"><div class="localhost-form-view bt-form-2x"><div class="localhost-form-title"><i class="localhost-form_tip"></i><span style="vertical-align: middle;">无法自动认证,请填写本地服务器的登录信息!</span></div> <div class="line input_group"> <span class="tname">服务器IP</span> <div class="info-r"> <input type="text" name="host" class="bt-input-text mr5" style="width:240px" placeholder="输入服务器IP" value="127.0.0.1" autocomplete="off" /> <input type="text" name="port" class="bt-input-text mr5" style="width:60px" placeholder="端口" value="22" autocomplete="off"/> </div> </div> <div class="line"> <span class="tname">SSH账号</span> <div class="info-r"> <input type="text" name="username" class="bt-input-text mr5" style="width:305px" placeholder="输入SSH账号" value="root" autocomplete="off"/> </div> </div> <div class="line"> <span class="tname">验证方式</span> <div class="info-r "> <div class="btn-group"> <button type="button" tabindex="-1" class="btn btn-sm auth_type_checkbox btn-success" data-ctype="0">密码验证</button> <button type="button" tabindex="-1" class="btn btn-sm auth_type_checkbox btn-default data-ctype="1">私钥验证</button> </div> </div> </div> <div class="line c_password_view show"> <span class="tname">密码</span> <div class="info-r"> <input type="text" name="password" class="bt-input-text mr5" placeholder="请输入SSH密码" style="width:305px;" value="" autocomplete="off"/> </div> </div> <div class="line c_pkey_view hidden"> <span class="tname">私钥</span> <div class="info-r"> <textarea rows="4" name="pkey" class="bt-input-text mr5" placeholder="请输入SSH私钥" style="width:305px;height: 80px;line-height: 18px;padding-top:10px;"></textarea> </div> </div><button type="submit" class="btn btn-sm btn-success">登录</button></div></div>'),$(".auth_type_checkbox").click(function(){var e=$(this).index();switch($(this).addClass("btn-success").removeClass("btn-default").siblings().removeClass("btn-success").addClass("btn-default"),e){case 0:$(".c_password_view").addClass("show").removeClass("hidden"),$(".c_pkey_view").addClass("hidden").removeClass("show").find("input").val("");break;case 1:$(".c_password_view").addClass("hidden").removeClass("show").find("input").val(""),$(".c_pkey_view").addClass("show").removeClass("hidden")}}),$(".localhost-form-view > button").click(function(){var n={},t=($(".localhost-form-view input,.localhost-form-view textarea").each(function(e,t){var s=$(this).attr("name"),a=$(this).val();switch(n[s]=a,s){case"port":if(bt.check_port(a))break;return bt.msg({status:!1,msg:"服务器端口格式错误!"}),!1;case"username":if(""==a)return bt.msg({status:!1,msg:"服务器用户名不能为空!"}),!1;break;case"password":if(""==a&&$(".c_password_view").hasClass("show"))return bt.msg({status:!1,msg:"服务器密码不能为空!"}),!1;break;case"pkey":if(""==a&&$(".c_pkey_view").hasClass("show"))return bt.msg({status:!1,msg:"服务器秘钥不能为空!"}),!1}}),n.ps="本地服务器",bt.load("正在添加服务器信息,请稍候..."));bt.send("create_host","xterm/create_host",n,function(e){t.close(),bt.msg(e),e.status&&(bt.msg({status:!0,msg:"登录成功!"}),$(".layui-layer-shade").remove(),$(".term_box_all").remove(),Term.term.dispose(),Term.close(),web_shell())})}),$('.localhost-form-view [name="password"]').keyup(function(e){13==e.keyCode&&$(".localhost-form-view > button").click()}).focus()}},win_mount={ajaxSetup:function(){var e={},t=window.vite_public_request_token,t=(t&&(e["x-http-token"]=t),0==window.location.protocol.indexOf("https:")?"https_request_token":"request_token");(request_token_cookie=bt.get_cookie(t))&&(e["x-cookie-token"]=request_token_cookie),e&&($.ajaxSetup({headers:e,error:function(e,t,s){var a=parseInt(bt.get_cookie("pro_end")||-1),n=parseInt(bt.get_cookie("ltd_end")||-1);if(isBuy=0==a||0<n?!0:!1,!(-1<e.responseText.indexOf("404 Not Found"))&&e.responseText)if("string"==typeof e.responseText&&(-1!=e.responseText.indexOf("/static/favicon.ico")&&-1!=e.responseText.indexOf("/static/img/qrCode.png")||0===e.responseText.indexOf("<!DOCTYPE html>")))window.location.href="/login";else{if(void 0===String.prototype.trim&&(String.prototype.trim=function(){return String(this).replace(/^\s+|\s+$/g,"")}),error_key="We need to make sure this has a favicon so that the debugger does",error_find=e.responseText.indexOf(error_key),gl_error_body=e.responseText,500!=e.status||-1==e.responseText.indexOf("运行时发生错误"))return"Internal Server Error"!=e.responseText&&showErrorMessage(),!1;-1!=e.responseText.indexOf("建议按顺序逐一尝试以下解决方案")?error_msg=e.responseText.split("Error: ")[1].split("</pre>")[0].replace("面板运行时发生错误:","").replace("public.PanelError:","").trim():(error_msg="<h3>"+e.responseText.split("<h3>")[1].split("</h3>")[0]+"</h3>",error_msg+='<a style="color:dimgrey;font-size:none">'+e.responseText.split('<h4 style="font-size: none;">')[1].split("</h4>")[0].replace("面板运行时发生错误:","").replace("public.PanelError:","").trim()+"</a>"),error_msg+="<br><a class='btlink' onclick='showErrorMessage()'> >>点击查看详情</a>"+(isBuy?"<span class='ml33'><span class='wechatEnterpriseService' style='vertical-align: middle;'></span><span class='btlink error_kefu_consult'>微信客服</span>":"")+"</span>",$(".layui-layer-padding").parents(".layer-anim").remove(),$(".layui-layer-shade").remove(),setTimeout(function(){layer.open({title:!1,content:error_msg,closeBtn:2,btn:!1,shadeClose:!1,shade:.3,icon:2,area:"600px",success:function(){$("pre").scrollTop(1e11),$(".error_kefu_consult").click(function(){bt.onlineService()})}})},100)}}}),$.ajaxPrefilter(function(e){window.plugin_view.isDev()&&(e.url=("/api/"+e.url).replace("//","/"),"POST"===e.type.toUpperCase())&&(e.data=$.param($.extend(e.data,window.plugin_view.getToken())))}))},showErrorMessage:function(e,t,s){e&&(error_find=t,gl_error_body=e,isBuy=s),-1!=error_find?(t=(e=(t=gl_error_body.split("\x3c!--")[2].replace("--\x3e","")).split("During handling of the above exception, another exception occurred:"))[e.length-1],error_msg='<div class="pd20"> <h3 style="margin-bottom: 10px;">出错了,面板运行时发生错误!</h3> <pre style="height:435px;word-wrap: break-word;white-space: pre-wrap;margin: 0 0 0px">'+t.trim()+'</pre> <ul class="help-info-text err_project_ul" style="display:inline-block"> <li style="list-style: none;"><b>很抱歉,面板运行时意外发生错误,请尝试按以下顺序尝试解除此错误:</b></li> <li style="list-style: none;">修复方案一:在[首页]右上角点击修复面板,并退出面板重新登录。</li> <li style="list-style: none;">修复方案二:如上述尝试未能解除此错误,请截图此窗口到宝塔论坛发贴寻求帮助, 论坛地址:<a class="btlink" href="https://www.bt.cn/bbs" target="_blank">https://www.bt.cn/bbs</a><a href="javascript:;" class="btlink mlr15 copy_error">点击复制错误信息</a></li> <li style="list-style: none;display:'+(isBuy?"block":"none")+'">修复方案三(<span style="color:#ff7300">推荐</span>):使用微信扫描右侧二维码,联系技术客服。</li> </ul> <div style="position: relative;margin-top: 20px;margin-right: 40px;text-align: center;font-size: var(--el-font-size-small);display:'+(isBuy?"block":"none")+'" class="pull-right"> <span id="err_kefu_img" style="padding: 5px;border: 1px solid #20a53a;display: inline-block;height: 113px;"><img src="/static/images/customer-qrcode.png" alt="qrcode" style="width:100px;width:100px;" /></span> <div>【微信客服】</div> </div> </div>',$(".layui-layer-padding").parents(".layer-anim").remove(),$(".layui-layer-shade").remove()):error_msg=gl_error_body,setTimeout(function(){layer.open({type:1,title:!1,content:error_msg,closeBtn:2,area:["1200px",-1!=error_find?isBuy?"670px":"625px":isBuy?"750px":"720px"],btn:!1,shadeClose:!1,shade:.3,success:function(t){$("pre").scrollTop(1e11),$(t).find(".layui-layer-content").find(".err_project_ul li").css("line-height","32px"),isBuy&&$(".consult_project").show(),$(t).find(".repairPanel").unbind("click").click(function(){layer.confirm(lan.index.rep_panel_msg,{title:lan.index.rep_panel_title,closeBtn:2,icon:3},function(){bt.system.rep_panel(function(e){e.status?bt.msg({msg:lan.index.rep_panel_ok,icon:1}):bt.msg(e)})})}),$(t).find(".copy_error").click(function(){var e="",e=-1!=error_find?$(t).find("pre").eq(0).text():$(t).find("pre").eq(0).text()+"\n"+$(t).find("pre").eq(1).text();bt.pub.copy_pass(e)})}})},100)},RandomStrPwd:function(e){e=e||32;for(var t="AaBbCcDdEeFfGHhiJjKkLMmNnPpRSrTsWtXwYxZyz2345678",s=t.length;;){var a="";for(i=0;i<e;i++)a+=t.charAt(Math.floor(Math.random()*s));if(/^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]))/.test(a))return a}},ToSize:function(e){for(var t=[" B"," KB"," MB"," GB"," TB"," PB"],s=0;s<t.length;s++){if(e<1024)return(0==s?e:e.toFixed(2))+t[s];e/=1024}},getLocalTime:function(e){return 10<(e=e.toString()).length&&(e=e.substring(0,10)),new Date(1e3*parseInt(e)).format("yyyy/MM/dd hh:mm:ss")},isChineseChar:function(e){return/[\u4E00-\u9FA5\uF900-\uFA2D]/.test(e)},ChangePath:function(n){setCookie("SetId",n),setCookie("SetName","");layer.open({type:1,area:"750px",title:lan.bt.dir,closeBtn:2,shift:5,shadeClose:!1,content:"<div class='changepath'><div class='path-top flex justify-between align-center'><div><button type='button' class='btn btn-default btn-sm' onclick='BackFile()'><span class='glyphicon glyphicon-share-alt'></span> "+lan.public.return+"</button><div class='place' id='PathPlace'>"+lan.bt.path+":<span></span></div></div><button type='button' id='btn_refresh' class='btn btn-default btn-sm'><span class='glyphicon glyphicon-repeat'></span> 刷新</button></div><div class='path-con'><div class='path-con-left'><dl><dt id='changecomlist' onclick='BackMyComputer()'>"+lan.bt.comp+"</dt></dl></div><div class='path-con-right'><ul class='default' id='computerDefautl'></ul><div class='file-list divtable'><table class='table table-hover' style='border:0 none'><thead><tr class='file-list-head'><th width='40%'>"+lan.bt.filename+"</th><th width='20%'>"+lan.bt.etime+"</th><th width='10%'>"+lan.bt.access+"</th><th width='10%'>"+lan.bt.own+"</th><th width='10%'></th></tr></thead><tbody id='tbody' class='list-list'></tbody></table></div></div></div></div><div class='getfile-btn' style='margin-top:0'><button type='button' class='btn btn-default btn-sm pull-left' onclick='CreateFolder()'>"+lan.bt.adddir+"</button><button type='button' class='btn btn-danger btn-sm mr5' onclick=\"layer.close(getCookie('ChangePath'))\">"+lan.public.close+"</button> <button type='button' class='btn btn-success btn-sm' onclick='GetfilePath()'>"+lan.bt.path_ok+"</button></div>",success:function(e,t){setCookie("ChangePath",t);var s=$("#"+n).val();tmp=s.split("."),tmp=s.split("/");for(var s="",a=0;a<tmp.length-1;a++)s+="/"+tmp[a];setCookie("SetName",tmp[tmp.length-1]),s=s.replace(/\/\//g,"/"),GetDiskList(s),ActiveDisk(),$("#btn_refresh").click(function(){var e=$("#PathPlace").find("span").text(),e=bt.rtrim(bt.format_path(e),"/");GetDiskList(e)})}})},GetDiskList:function(e){var n="",i="";bt.send("GetDir","files/GetDir",{path:e,disk:"True",showRow:500},function(e){if(null!=e.DISK){for(var t=0;t<e.DISK.length;t++)i+="<dd onclick=\"GetDiskList('"+e.DISK[t].path+"')\"><span class='glyphicon glyphicon-hdd'></span> <span>"+e.DISK[t].path+"</span></div></dd>";$("#changecomlist").html(i)}for(t=0;t<e.DIR.length;t++)20<(a=(s=e.DIR[t].split(";"))[0]).length&&(a=a.substring(0,20)+"..."),isChineseChar(a)&&10<a.length&&(a=a.substring(0,10)+"..."),n+="<tr><td onclick=\"GetDiskList('"+e.PATH+"/"+s[0]+"')\" title='"+s[0]+"'><span class='glyphicon glyphicon-folder-open'></span>"+a+"</td><td>"+getLocalTime(s[2])+"</td><td>"+s[3]+"</td><td>"+s[4]+"</td><td><span class='delfile-btn' onclick=\"NewDelFile('"+e.PATH+"/"+s[0]+"')\">X</span></td></tr>";if(null!=e.FILES&&""!=e.FILES)for(var s,a,t=0;t<e.FILES.length;t++)20<(a=(s=e.FILES[t].split(";"))[0]).length&&(a=a.substring(0,20)+"..."),isChineseChar(a)&&10<a.length&&(a=a.substring(0,10)+"..."),n+="<tr><td title='"+s[0]+"'><span class='glyphicon glyphicon-file'></span><span>"+a+"</span></td><td>"+getLocalTime(s[2])+"</td><td>"+s[3]+"</td><td>"+s[4]+"</td><td></td></tr>";$(".default").hide(),$(".file-list").show(),$("#tbody").html(n),"/"!=e.PATH.substr(e.PATH.length-1,1)&&(e.PATH+="/"),$("#PathPlace").find("span").html(e.PATH),ActiveDisk()})},CreateFolder:function(){var e="<tr><td colspan='2'><span class='glyphicon glyphicon-folder-open'></span> <input id='newFolderName' class='newFolderName' type='text' value=''></td><td colspan='3'><button id='nameOk' type='button' class='btn btn-success btn-sm'>"+lan.public.ok+"</button> <button id='nameNOk' type='button' class='btn btn-default btn-sm'>"+lan.public.cancel+"</button></td></tr>";0==$("#tbody tr").length?$("#tbody").append(e):$("#tbody tr:first-child").before(e),$(".newFolderName").focus(),$("#nameOk").click(function(){var e=$("#newFolderName").val(),t=$("#PathPlace").find("span").text();newTxt=t.replace(new RegExp(/(\/\/)/g),"/")+e;bt.send("CreateDir","files/CreateDir",{path:newTxt},function(e){1==e.status?layer.msg(e.msg,{icon:1}):layer.msg(e.msg,{icon:2}),$("#btn_refresh").click()})}),$("#nameNOk").click(function(){$(this).parents("tr").remove()})},NewDelFile:function(e){var t=$("#PathPlace").find("span").text();newTxt=e.replace(new RegExp(/(\/\/)/g),"/");bt.send("DeleteDir","files/DeleteDir",{path:newTxt,empty:"True"},function(e){1==e.status?layer.msg(e.msg,{icon:1}):layer.msg(e.msg,{icon:2}),this.get_file_list(t)})},ActiveDisk:function(){switch($("#PathPlace").find("span").text().substring(0,1)){case"C":$(".path-con-left dd:nth-of-type(1)").css("background","#eee").siblings().removeAttr("style");break;case"D":$(".path-con-left dd:nth-of-type(2)").css("background","#eee").siblings().removeAttr("style");break;case"E":$(".path-con-left dd:nth-of-type(3)").css("background","#eee").siblings().removeAttr("style");break;case"F":$(".path-con-left dd:nth-of-type(4)").css("background","#eee").siblings().removeAttr("style");break;case"G":$(".path-con-left dd:nth-of-type(5)").css("background","#eee").siblings().removeAttr("style");break;case"H":$(".path-con-left dd:nth-of-type(6)").css("background","#eee").siblings().removeAttr("style");break;default:$(".path-con-left dd").removeAttr("style")}},BackMyComputer:function(){$(".default").show(),$(".file-list").hide(),$("#PathPlace").find("span").html(""),ActiveDisk()},BackFile:function(){var e=$("#PathPlace").find("span").text(),t=(e="/"==e.substr(e.length-1,1)?e.substr(0,e.length-1):e).split("/"),s="";if(1<t.length){for(var a=t.length-1,n=0;n<a;n++)s+=t[n]+"/";GetDiskList(s.replace("//","/"))}else t[0]},GetfilePath:function(){var e=(e=$("#PathPlace").find("span").text()).replace(new RegExp(/(\\)/g),"/");setCookie("path_dir_change",e),$("#"+getCookie("SetId")).val(e+getCookie("SetName")),layer.close(getCookie("ChangePath"))},setCookie:function(e,t){bt.set_cookie(e,t)},getCookie:function(e){return bt.get_cookie(e)},openPath:function(e){setCookie("Path",e),bt.refreshMain(window.location.origin+"/files")},fileSuffixType:function(e){var t,e=e.split("."),s=e[e.length-1],a={Apache_Conf:["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],BatchFile:["bat|cmd"],C_Cpp:["cpp|c|cc|cxx|h|hh|hpp|ino"],CSharp:["cs"],CSS:["css"],Dockerfile:["^Dockerfile"],golang:["go"],HTML:["html|htm|xhtml|vue|we|wpy"],Java:["java"],JavaScript:["js|jsm|jsx"],JSON:["json"],JSP:["jsp"],LESS:["less"],Lua:["lua"],Makefile:["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],Markdown:["md|markdown"],MySQL:["mysql"],Nginx:["nginx|conf"],INI:["ini|conf|cfg|prefs"],ObjectiveC:["m|mm"],Perl:["pl|pm"],Perl6:["p6|pl6|pm6"],pgSQL:["pgsql"],PHP_Laravel_blade:["blade.php"],PHP:["php|inc|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"],Powershell:["ps1"],Python:["py"],R:["r"],Ruby:["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],Rust:["rs"],SASS:["sass"],SCSS:["scss"],SH:["sh|bash|^.bashrc"],SQL:["sql"],SQLServer:["sqlserver"],Swift:["swift"],Text:["txt"],Typescript:["ts|typescript|str"],VBScript:["vbs|vb"],Verilog:["v|vh|sv|svh"],XML:["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl|xaml"],YAML:["yaml|yml"],Compress:["tar|zip|7z|rar|gz|arj|z"],images:["icon|jpg|jpeg|png|bmp|gif|tif|emf"]},n="";for(t in a){var i=new RegExp(a[t].join("|"),"i");i.test(s)&&(n=t),console.log(i)}return n},OnlineEditFile:function(e,t){bt.pub.on_edit_file(e,t,fileSuffixType(t))},SafeMessage:function(e,t,a,s){null==s&&(s="");var n=Math.round(9*Math.random()+1),i=Math.round(9*Math.random()+1),l=[],o=(sumtext=n+" + "+i,setCookie("vcodesum",n+i),layer.open({type:1,title:e,area:"350px",closeBtn:2,shadeClose:!0,content:"<div class='bt-form webDelete pd20 pb70'><p>"+t+"</p>"+s+"<div class='vcode'>"+lan.bt.cal_msg+"<span class='text'>"+sumtext+"</span>=<input type='number' id='vcodeResult' value=''></div><div class='bt-form-submit-btn'><button type='button' class='btn btn-danger btn-sm bt-cancel'>"+lan.public.cancel+"</button> <button type='button' id='toSubmit' class='btn btn-success btn-sm' >"+lan.public.ok+"</button></div></div>",success:function(e){$("#change_all").prop("checked",!0),$("#file_check").click(function(){$("input[name=skip_checked]").prop("checked",$(this).prop("checked"))}),$("#file_check").click(),$("input[name=skip_checked]").change(function(){var e=$(".webDelete tbody").find("input:checked").length,e=$(".webDelete tbody").find("input").length==e;$("#file_check").prop("checked",e)})}}));$("#vcodeResult").focus().keyup(function(e){13==e.keyCode&&$("#toSubmit").click()}),$(".bt-cancel").click(function(){layer.close(o)}),$("#toSubmit").click(function(){var e=$("#vcodeResult").val().replace(/ /g,"");if(console.log(e),null==e||""==e)layer.msg("请正确输入计算结果!");else if(e!=getCookie("vcodesum"))layer.msg("请正确输入计算结果!");else{layer.close(o);for(var t=$(".webDelete tbody").find("input:checked").length,s=0;s<t;s++)l.push(String($(".webDelete tbody").find("input:checked").eq(s).data("name")));a(l)}})},loadScript:function(t,e,s){var a=0;"function"==typeof e&&(s=e);for(var n,i=0;i<t.length;i++)Array.isArray(bt.loadScript)||(bt.loadScript=[]),is_file_existence(t[i],!0)?(n=document.createElement("script"),t[i].split("/"),n.type="text/javascript",void 0!==s&&(n.readyState?e=>{n.onreadystatechange=function(){"loaded"!=n.readyState&&"complete"!=n.readyState||(n.onreadystatechange=null,bt.loadScript.push(t[e]),a++)}}:e=>{n.onload=function(){bt.loadScript.push(t[e]),a++}})(i),n.src=t[i],document.body.appendChild(n)):t.length-1===i&&s&&s();var l=setInterval(function(){a===t.length&&(clearTimeout(l),s())},10)},ServiceAdmin:function(a,n){a=(a=isNaN(a)?a:"php-fpm-"+a).replace("_soft","");var i="";switch(n){case"stop":i=lan.bt.stop;break;case"start":i=lan.bt.start;break;case"restart":i=lan.bt.restart;break;case"reload":i=lan.bt.reload}layer.confirm(lan.get("service_confirm",[i,a]),{icon:3,closeBtn:2},function(){var s=layer.msg(lan.get("service_the",[i,a]),{icon:16,time:0});bt.send("ServiceAdmin","system/ServiceAdmin",{name:a,type:n},function(e){layer.close(s);var t=e.status?lan.get("service_ok",[a,i]):lan.get("service_err",[a,i]);layer.msg(t,{icon:e.status?1:2}),"reload"!=n&&1==e.status&&setTimeout(function(){window.location.reload()},1e3),e.status||layer.msg(e.msg,{icon:2,time:0,shade:.3,shadeClose:!0})}).error(function(){layer.close(s),layer.msg(lan.public.success,{icon:1})})})},onekeyCodeSite:function(i,l,o,r){$.post("/site?action=GetPHPVersion",function(e){for(var t,s="",a=0,n=e.length-1;0<=n;n--)-1!=l.indexOf(e[n].version)&&(s+="<option value='"+e[n].version+"'>"+e[n].name+"</option>",a++);0==a?layer.msg("缺少被支持的PHP版本,请安装!",{icon:5}):(t=(t=bt.get_cookie("sites_path"))||"/www/wwwroot",add=layer.open({type:1,title:"宝塔一键部署【"+o+"】",area:"560px",closeBtn:2,shadeClose:!1,content:'<form class="bt-form pd20 pb70" id="addweb"> <div class="line"><span class="tname">域名</span> <div class="info-r c4"><textarea id="mainDomain" class="bt-input-text" name="webname_1" style="width:398px;height:100px;line-height:22px"></textarea> <div class="placeholder c9" style="top:10px;left:10px">每行填写一个域名,默认为80端口<br>泛解析添加方法 *.domain.com<br>如另加端口格式为 www.domain.com:88</div> </div> </div> <div class="line"><span class="tname">备注</span> <div class="info-r c4"><input id="Wbeizhu" class="bt-input-text" name="ps" placeholder="网站备注" style="width:398px" type="text"> </div> </div> <div class="line"><span class="tname">根目录</span> <div class="info-r c4"><input id="inputPath" class="bt-input-text mr5" name="path" value="'+t+'" placeholder="网站根目录" style="width:398px" type="text"><span class="glyphicon glyphicon-folder-open cursor" onclick="bt.select_path(\'inputPath\',\'dir\')"></span> </div> </div> <div class="line"><span class="tname">数据库</span> <div class="info-r c4"> <input id="datauser" class="bt-input-text" name="datauser" placeholder="用户名/数据库名" style="width:190px;margin-right:13px" type="text"> <input id="datapassword" class="bt-input-text" name="datapassword" placeholder="密码" style="width:190px" type="text"> </div> </div> <div class="line"><span class="tname">源码</span> <input class="bt-input-text mr5 disable" name="code" style="width:190px" value="'+o+'" disabled> <span class="c9">准备为你部署的源码程序</span> </div> <div class="line"><span class="tname">PHP版本</span> <select class="bt-input-text mr5" name="version" id="c_k3" style="width:100px"> '+s+' </select> <span class="c9">请选择源码程序支持的php版本</span> </div> <div class="bt-form-submit-btn"> <button type="button" class="btn btn-danger btn-sm onekeycodeclose">取消</button> <button type="button" class="btn btn-success btn-sm" onclick="AddSite(\''+i+"','"+o+"')\">提交</button> </div> </from>"}),2<r.length&&layer.msg("<span style='color:red'>注意:部署此项目,以下函数将被解禁:<br> "+r+"</span>",{icon:7,time:1e4}),$(".onekeycodeclose").click(function(){layer.close(add)}),$("#mainDomain").after("<div class='placeholder c9' style='top:10px;left:10px'>每行填写一个域名,默认为80端口<br>泛解析添加方法 *.domain.com<br>如另加端口格式为 www.domain.com:88</div>"),$(".placeholder").click(function(){$(this).hide(),$("#mainDomain").focus()}),$("#mainDomain").focus(function(){$(".placeholder").hide()}),$("#mainDomain").blur(function(){0==$(this).val().length&&$(".placeholder").show()}),$("#mainDomain").on("input",function(){var e=(e=bt.get_cookie("sites_path"))||"/www/wwwroot",t=$(this).val(),t=(t.replace(/[^\x00-\xff]/g,"**").length,t.split("\n")),s=t[0].split(":")[0],a=s.replace(new RegExp(/([-.])/g),"_");15<a.length&&(a=a.substr(0,15)),$("#inputPath").val().substr(0,e.length)==e&&$("#inputPath").val(e+"/"+t[0].replace(new RegExp(/([-.])/g),"_").replace(/:/g,"_")),15<(a=isNaN(a.substr(0,1))?a:"sql"+a).length&&(a=a.substr(0,15)),$("#Wbeizhu").val(s),$("#datauser").val(a)}),$("#Wbeizhu").on("input",function(){var e=$(this).val();20<e.replace(/[^\x00-\xff]/g,"**").length&&(e=e.substring(0,20),$(this).val(e),layer.msg("不要超出20个字符",{icon:0}))}),t=(new Date).getTime().toString().substring(7),$("#datauser").val("sql"+t),$("#datapassword").val(bt.get_random(10)))})},escapeHTML:function(e){return(e=""+e).replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"‘").replace(/\(/g,"(").replace(/\</g,"<").replace(/\>/g,">").replace(/`/g,"`").replace(/=/g,"=")},web_shell:function(){Term.run()},openAlertModuleInstallView:function(t,s,a){bt_tools.send({url:"/config?action=get_msg_configs",data:{}},function(e){switch(t){case"mail":renderMailConfigView(e[t],s,a);break;case"dingding":case"feishu":case"weixin":renderAlertUrlTypeChannelView(e[t],s,a);break;case"wx_account":case"sms":alertOtherTypeInstall(e[t],s,a)}})},renderMailConfigView:function(l,o,r){layer.open({type:1,closeBtn:2,title:"发送者配置",area:["470px","400px"],btn:["保存","取消"],skin:"alert-send-view",content:'<div class="bt-form pd15"> <div class="line"> <span class="tname">发送人邮箱</span> <div class="info-r"> <input name="sender_mail_value" class="bt-input-text mr5" type="text" style="width: 300px"> </div> </div> <div class="line"> <span class="tname">SMTP密码</span> <div class="info-r"> <input name="sender_mail_password" class="bt-input-text mr5" type="password" style="width: 300px"> </div> </div> <div class="line"> <span class="tname">SMTP服务器</span> <div class="info-r"> <input name="sender_mail_server" class="bt-input-text mr5" type="text" style="width: 300px"> </div> </div> <div class="line"> <span class="tname">端口</span> <div class="info-r"> <input name="sender_mail_port" class="bt-input-text mr5" type="text" style="width: 300px"> </div> </div> <ul class="help-info-text c7"> <li>推荐使用465端口,协议为SSL/TLS</li> <li>25端口为SMTP协议,587端口为STARTTLS协议</li> <li><a href="'+l.help+'" target="_blank" class="btlink">配置教程</a></li> </ul> </div>',success:function(){var e,t,s,a;$.isEmptyObject(l)||$.isEmptyObject(l.data.send)?$("input[name=sender_mail_port]").val("465"):(e=(a=l.data.send).qq_mail||"",t=a.qq_stmp_pwd||"",s=a.hosts||"",a=a.port||"",$("input[name=sender_mail_value]").val(e),$("input[name=sender_mail_password]").val(t),$("input[name=sender_mail_server]").val(s),$("input[name=sender_mail_port]").val(a))},yes:function(t){var s=$("input[name=sender_mail_value]").val(),a=$("input[name=sender_mail_password]").val(),n=$("input[name=sender_mail_server]").val(),i=$("input[name=sender_mail_port]").val();return""==s?layer.msg("邮箱地址不能为空!",{icon:2}):""==a?layer.msg("STMP密码不能为空!",{icon:2}):""==n?layer.msg("STMP服务器地址不能为空!",{icon:2}):""==i?layer.msg("请输入有效的端口号",{icon:2}):void(l.setup?bt_tools.send({url:"/config?action=set_msg_config&name=mail",data:{send:1,qq_mail:s,qq_stmp_pwd:a,hosts:n,port:i}},function(e){e.status&&(layer.close(t),layer.msg(e.msg,{icon:e.status?1:2})),0<$(".content_box.news-channel").length&&$(".bt-w-menu p").eq(0).click(),o&&$(o).click(),r&&r()},"设置邮箱配置"):bt_tools.send({url:"/config?action=install_msg_module&name="+l.name,data:{}},function(e){e.status?bt_tools.send({url:"/config?action=set_msg_config&name=mail",data:{send:1,qq_mail:s,qq_stmp_pwd:a,hosts:n,port:i}},function(e){e.status&&(layer.close(t),layer.msg(e.msg,{icon:e.status?1:2}),0<=$(".alert-view-box").length&&$(".alert-view-box .tab-nav-border span:eq(1)").click(),0<$(".content_box.news-channel").length&&$(".bt-w-menu p").eq(0).click(),o&&$(o).click(),r)&&r()},"设置邮箱配置"):layer.msg(e.msg,{icon:2})},"创建"+l.title+"模块"))}})},renderAlertUrlTypeChannelView:function(i,l,o){var e=$.isEmptyObject(i.data);layer.open({type:1,closeBtn:2,title:i.title+"机器人配置",area:["520px","345px"],btn:["保存","取消"],skin:"alert-send-view",content:'<div class="pd15 bt-form"> <div class="line"><span class="tname">名称</span><div class="info-r"><input type="text" name="chatName" value="'+(e?"":i.data.list.default.title)+'" class="bt-input-text mr10 " style="width:350px;" placeholder="机器人名称或备注"></div></div> <div class="line"> <span class="tname">URL</span><div class="info-r"> <textarea name="channel_url_value" class="bt-input-text mr5" type="text" placeholder="请输入'+i.title+'机器人url" style="width: 350px; height:120px; line-height:20px"></textarea> </div> <ul class="help-info-text c7"> <li><a class="btlink" href="'+i.help+'" target="_blank">如何创建'+i.title+"机器人</a></li> </ul> </div></div>",success:function(){var e;$.isEmptyObject(i.data)||(e=i.data[i.name+"_url"]||"",$("textarea[name=channel_url_value]").val(e))},yes:function(t){var s=$(".alert-view-box span.on").index(),a=$("textarea[name=channel_url_value]").val(),n=$("input[name=chatName]").val();return""==n?layer.msg("请输入机器人名称或备注",{icon:2}):""==a?layer.msg("请输入"+i.title+"机器人url",{icon:2}):void(i.setup?bt_tools.send({url:"/config?action=set_msg_config&name="+i.name,data:{url:a,title:n,atall:"True"}},function(e){layer.close(t),layer.msg(e.msg,{icon:e.status?1:2}),0<=$(".alert-view-box").length&&$(".alert-view-box .tab-nav-border span:eq("+s+")").click(),0<$(".content_box.news-channel").length&&$(".bt-w-menu p").eq(0).click(),l&&$(l).click(),o&&o()},"设置"+i.title+"配置"):bt_tools.send({url:"/config?action=install_msg_module&name="+i.name,data:{}},function(e){e.status?setTimeout(function(){bt_tools.send({url:"/config?action=set_msg_config&name="+i.name,data:{url:a,title:n,atall:"True"}},function(e){layer.close(t),layer.msg(e.msg,{icon:e.status?1:2}),0<=$(".alert-view-box").length&&$(".alert-view-box .tab-nav-border span:eq("+s+")").click(),0<$(".content_box.news-channel").length&&$(".bt-w-menu p").eq(0).click(),l&&$(l).click(),o&&o()},"设置"+i.title+"配置")},100):layer.msg(e.msg,{icon:2})},"创建"+i.title+"模块"))}})},alertOtherTypeInstall:function(t,s,a){t.setup?"wx_account"===t.name&&renderAccountAlertView(s):bt_tools.send({url:"/config?action=install_msg_module&name="+t.name,data:{}},function(e){if(layer.msg(e.msg,{icon:e.status?1:2}),!e.status)return!1;"wx_account"!==t.name||(e=t.data).is_subscribe&&e.is_bound||renderAccountAlertView(),0<=$(".alert-view-box").length&&(e=$(".alert-view-box span.on").index(),$(".alert-view-box .tab-nav-border span:eq("+e+")").click()),0<$(".content_box.news-channel").length&&$(".bt-w-menu p").eq(0).click(),s&&$(s).click(),a&&a()},"创建"+t.title+"模块")},renderAccountAlertView:function(t,s){layer.open({type:1,closeBtn:2,title:"微信公众号",area:["420px","280px"],skin:"BTwxAccountView",content:'<div class="wx_account_box pd15"><div class="bt-form"> <div class="form-item"> <div class="form-label">绑定微信公众号</div> <div class="form-content"> <div class="bind_account hide"> <span style="color: #20a53a;">已绑定</span> <span style="color: red;cursor: pointer;margin-left:10px" class="unbind-wx">[解绑]</span> </div> <div class="nobind_account"> <span class="red">未绑定</span> <button class="btn btn-xs btn-success btn-bind-account">立即绑定</button> </div> </div> </div> <div class="form-item"> <div class="form-label">绑定微信账号</div> <div class="form-content"> <div class="bind_wechat hide"> <div class="userinfo"></div> </div> <div class="nobind_wechat"> <span class="red">未绑定</span> </div> <button class="btn btn-xs btn-success btn-bind-wechat">立即绑定</button> </div> </div> <div class="form-item hide"> <div class="form-label">今日剩余发送次数</div> <div class="form-content"> <span class="account_remaining">0</span> <button class="btn btn-xs btn-success btn-send-test">发送测试消息</button> </div> </div> </div> <ul class="help-info-text c7"> <li>没有绑定微信公众号无法接收面板告警消息</li> <li>当前为体验版,限制每个宝塔账号发送频率100条/天</li> </ul> </div>',success:function(){getWxAccountConfig(t,s),$(".btn-send-test").click(function(){bt_tools.send({url:"/config?action=get_msg_fun",data:{module_name:"wx_account",fun_name:"push_data",msg:"发送测试信息"}},function(e){e.status&&(e=Number($(".account_remaining").html()),isNaN(e)||(--e,$(".account_remaining").text(e)))},"测试信息")}),wxAccountBind(t,s),$(".unbind-wx").click(function(){bt.compute_confirm({title:"解绑微信公众号",msg:"风险操作,解绑微信公众号后,所有使用绑定该微信公众号账号的机器,将会全部解绑,继续操作?"},function(e){bt_tools.send({url:"panel/push/unbind_wx_account"},function(e){bt.msg({msg:e.msg.res,status:e.msg.success}),getWxAccountConfig(t,s)})})})}})},getWxAccountConfig:function(t,s){bt_tools.send({url:"/config?action=get_msg_fun",data:{module_name:"wx_account",fun_name:"get_web_info"}},function(e){!1===e.status&&bt.msg(e);e=e&&e.msg&&e.msg.res?e.msg.res:{};1===e.is_bound?($(".userinfo").html('<img src="'+e.head_img+'" /><div>'+e.nickname+"</div>"),$(".btn-bind-wechat").text("更换微信账号"),$(".bind_wechat").removeClass("hide"),$(".nobind_wechat").addClass("hide")):($(".btn-bind-wechat").text("立即绑定"),$(".bind_wechat").addClass("hide"),$(".nobind_wechat").removeClass("hide")),1===e.is_subscribe?($(".bind_account").removeClass("hide"),$(".nobind_account").addClass("hide"),0<$(".content_box.news-channel").length&&$(".bt-w-menu p").eq(0).click(),t&&$(t).click(),s&&s()):($(".bind_account").addClass("hide"),$(".nobind_account").removeClass("hide")),void 0===e.remaining?$(".account_remaining").parents(".form-item").addClass("hide"):($(".account_remaining").parents(".form-item").removeClass("hide"),$(".account_remaining").text(e.remaining))},"获取绑定信息")},wxAccountBind:function(t,s){$(".btn-bind-account").click(function(){var e=this;layer.open({type:1,area:"280px",title:"绑定微信公众号",content:'<div class="bind_wechat_box pd20"> <div class="text-center">微信扫码</div> <div class="mt10"> <div class="qrcode" style="text-align: center;"> <img src="https://www.bt.cn/Public/img/bt_wx.jpg" style="width: 180px;"/> </div> </div> </div>',cancel:function(){$(e).hasClass("bterror")?$(".alert-view-box span.on").click():getWxAccountConfig(t,s)}})}),$(".btn-bind-wechat").click(function(){var e=this;layer.open({type:1,area:"280px",title:"绑定微信账号",content:'<div class="bind_wechat_box pd20"> <div class="text-center">微信扫码</div> <div class="mt10"> <div class="qrcode" id="wechat-qrcode" style="text-align: center;"></div> </div> </div>',success:function(){bt_tools.send({url:"/config?action=get_msg_fun",data:{module_name:"wx_account",fun_name:"get_auth_url"}},function(e){jQuery.ajax({url:"/static/js/jquery.qrcode.min.js?v=1777008528",dataType:"script",cache:!0}).done(function(){$("#wechat-qrcode").qrcode({render:"canvas",width:180,height:180,text:e.msg.res,correctLevel:1})})},"生成二维码信息")},cancel:function(){$(e).hasClass("bterror")?$(".alert-view-box span.on").click():getWxAccountConfig(t,s)}})})}},rsa={publicKey:null,encrypt_public:function(e){var t;return this.publicKey=document.querySelector(".public_key").attributes.data.value,this.publicKey.length<10?e:((t=new JSEncrypt).setPublicKey(this.publicKey),t.encrypt(e))},decrypt_public:function(e){var t;return this.publicKey=document.querySelector(".public_key").attributes.data.value,this.publicKey.length<10?null:((t=new JSEncrypt).setPublicKey(this.publicKey),t.decryptp(e))}},soft={is_install:!1,is_setup:!1,is_setup_name:"",refresh_data:[],alert_modules:[],ignore_list:[],get_config_menu:function(e){var t="";if("Linux"==bt.os){var s={public:[{type:"config",title:lan.soft.config_edit},{type:"change_version",title:lan.soft.nginx_version}],mysqld:[{type:"change_data_path",title:lan.soft.save_path},{type:"change_mysql_port",title:lan.site.port},{type:"get_mysql_run_status",title:lan.soft.status},{type:"get_mysql_status",title:lan.soft.php_main7},{type:"mysql_error_log",title:lan.soft.error_log},{type:"mysql_slow_log",title:lan.public.slow_log},{type:"mysql_log_bin",title:lan.public.bin_log}],phpmyadmin:[{type:"phpmyadmin_php",title:lan.soft.php_version},{type:"phpmyadmin_safe",title:lan.soft.safe}],memcached:[{type:"memcached_status",title:"负载状态"},{type:"memcached_set",title:"性能调整"}],redis:[{type:"get_redis_status",title:"负载状态"}],tomcat:[{type:"log",title:"运行日志"}],apache:[{type:"apache_set",title:"性能调整"},{type:"apache_status",title:lan.soft.nginx_status},{type:"log",title:"运行日志"}],openlitespeed:[{type:"openliMa_set",title:"参数设置"}],nginx:[{type:"nginx_set",title:"性能调整"},{type:"nginx_status",title:lan.soft.nginx_status},{type:"log",title:"错误日志"}]},a="phpmyadmin"===e?[]:s.public;if("openlitespeed"===e&&(a.length=1),"pureftpd"===e&&a.push({type:"pureftpd_log",title:"日志管理"}),"mysqld"===e&&(a.length=1),a=a.concat(s[e]))for(var n=0;n<a.length;n++){var i=a[n];i&&(t+="<p onclick=\"soft.get_tab_contents('"+i.type+"',this)\">"+i.title+"</p>")}}return t},set_soft_config:function(c){var e=bt.load();bt.soft.get_soft_find(c,function(o){e.close(),"mysql"==c&&(c="mysqld");bt.open({type:1,area:"mysqld"===c?["800px","634px"]:-1<c.indexOf("php-")?["796px","644px"]:"660px",title:c+lan.soft.admin,closeBtn:2,shift:0,content:'<div class="bt-w-main" style="width:100%;'+("mysqld"===c?"height: 590px;":-1<c.indexOf("php-")?"height: 600px;":"")+'"><div class="bt-w-menu bt-soft-menu"></div><div id="webEdit-con" class="bt-w-con pd15" style="height:'+("mysqld"===c?"100%":-1<c.indexOf("php-")?"600px":"560px")+';overflow:auto"><div class="soft-man-con bt-form"></div></div></div>'});var r=$(".bt-soft-menu").data("data",o);setTimeout(function(){if(r.append($('<p class="bgw bt_server" onclick="soft.get_tab_contents(\'service\',this)">'+lan.soft.service+"</p>")),o.version_coexist){for(var e=c.split("-")[1].replace(".",""),t=[{type:"set_php_config",val:e,title:lan.soft.php_main5},{type:"config_edit",val:e,title:lan.soft.config_edit},{type:"set_upload_limit",val:e,title:lan.soft.php_main2},{type:"set_timeout_limit",val:e,title:lan.soft.php_main3,php53:!0},{type:"config",val:e,title:lan.soft.php_main4},{type:"fpm_config",val:e,title:"FPM配置文件"},{type:"set_dis_fun",val:e,title:lan.soft.php_main6},{type:"set_fpm_config",val:e,title:lan.soft.php_main7,apache24:!0,php53:!0},{type:"get_php_status",val:e,title:lan.soft.php_main8,apache24:!0,php53:!0},{type:"get_php_session",val:e,title:lan.soft.php_main9,apache24:!0,php53:!0},{type:"get_fpm_logs",val:e,title:lan.soft.log,apache24:!0,php53:!0},{type:"get_slow_logs",val:e,title:lan.public.slow_log,apache24:!0,php53:!0},{type:"get_phpinfo",val:e,title:"phpinfo"}],s=("52"!==e&&"82"!==e&&t.unshift({type:"set_php_site",val:e,title:'<span class="glyphicon icon-vipLtd" style="margin-left: -23px;"></span> 站点防护'}),[0,1,2,3,4,5,6,7,8,9,10,11,12,13]),a="openlitespeed"==bt.get_cookie("serverType"),n=0;n<s.length;n++){var i,l=t[n];!l||null!=l.os&&l.os!=bt.os||0<=c.indexOf("5.2")&&l.php53||a&&("set_fpm_config"==l.type||"fpm_config"==l.type||"get_php_status"==l.type)||(i=l.apache24?'class="apache24"':"",r.append($('<p data-id="'+n+'" '+i+" onclick=\"soft.get_tab_contents('"+l.type+"',this)\" >"+l.title+"</p>").data("item",l)))}-1<c.indexOf("php-")&&($(".bt-w-menu p").css({"padding-left":"38px"}),$(".bt-w-menu").css({width:"126px"}))}else r.append(soft.get_config_menu(c));$(".bt-w-menu p").click(function(){$(this).addClass("bgw").siblings().removeClass("bgw")}),$(".bt-w-menu p:eq(0)").trigger("click"),-1==c.indexOf("php-")&&-1==c.indexOf("apache")||bt.soft.get_soft_find("apache",function(e){e.setup&&0<=e.version.indexOf("2.2")&&(-1!=c.indexOf("php-")&&($(".apache24").hide(),$(".bt_server").remove(),$(".bt-w-menu p:eq(0)").trigger("click")),-1!=c.indexOf("apache"))&&($(".bt-soft-menu p:eq(3)").remove(),$(".bt-soft-menu p:eq(3)").remove())})},100)})},switchPushType:function(i){$.ajaxSettings.async=!1;var e=[],l=[],o=!1,r=[];return bt_tools.send({url:"config?action=get_msg_configs"},function(s){var a=[],n=[];Object.getOwnPropertyNames(s).forEach(function(e){var t=s[e];("wx_account"==e?n:a).push(t)}),e=n.concat(a),(soft.alert_modules=e).forEach(function(e,t){i&&(l=i.module.split(",")),"wx_account"===e.name&&!$.isEmptyObject(e.data)&&e.data.res.is_subscribe&&e.data.res.is_bound&&(o=!0),"sms"!==e.name&&r.push({type:"checkbox",name:e.name,class:"module-check "+(e.setup&&!$.isEmptyObject(e.data)&&("wx_account"!=e.name||o)?"":"check_disabled"),style:{"margin-right":"10px"},disabled:!(e.setup&&!$.isEmptyObject(e.data))||"wx_account"==e.name&&!o,value:0<=$.inArray(e.name,l)?1:0,title:("wx_account"==e.name?'<b style="color: #fc6d26;">[推荐]</b>':"")+e.title+(!e.setup||$.isEmptyObject(e.data)?'<span style="color:red;cursor: pointer;" class="alertInstall">[点击安装]</span>':"wx_account"!=e.name||o?"":'[<a target="_blank" class="bterror alertInstall">未配置</a>]')})})}),$.ajaxSettings.async=!0,r},set_push_config:function(e,t){bt_tools.send({url:"/push?action=set_push_config",data:{name:"site_push",data:JSON.stringify(e),id:Date.now()}},function(e){layer.msg(e.msg,{icon:e.status?"1":"2"}),t&&t(e)},{verify:!1,msg:"设置告警状态"})}},product_recommend={data:null,init:function(t){var s=this;-1<location.pathname.indexOf("bind")||this.get_product_type(function(e){s.data=e,t&&t(e)})},get_pay_status:function(e){void 0===e&&(e={isBuy:!1});var t=parseInt(bt.get_cookie("pro_end")||-1),s=parseInt(bt.get_cookie("ltd_end")||-1),a=-2===s||-1<s?"ltd":-2===t||-1<t?"pro":"ltd";return{advanced:a,is_pay:-1<t||-1<s||e.isBuy,end_time:"ltd"===a?s:t}},get_recommend_type:function(e){for(var t=null,s=(location.pathname.replace("/",""),0);s<this.data.length;s++){var a=this.data[s];a.type==e&&a.show&&(t=a)}return t}};function GetfilePath(){var e=(e=$("#PathPlace").find("span").text()).replace(new RegExp(/(\\)/g),"/");setCookie("path_dir_change",e),$("#"+getCookie("SetId")).val(e+getCookie("SetName")),layer.close(getCookie("ChangePath"))}function openPath(e){setCookie("Path",e),bt.refreshMain(window.location.origin+"/files")}$(function(){for(var e in $.fn&&!$.fn.serializeObject&&($.fn.serializeObject=function(){var s=Object.prototype.hasOwnProperty;return this.serializeArray().reduce(function(e,t){return s.call(e,t.name)||(e[t.name]=t.value),e},{})}),$.fn.extend({fixedThead:function(e){var l=$(this);if(e=$.extend({height:400,shadow:!0,resize:!0},e),0===$(this).find("table").length)return!1;var t=$(this)[0].style.height.match(/([0-9]+)([%\w]+)/),s=(null===t?t=[null,e.height,"px"]:$(this).css({boxSizing:"content-box",paddingBottom:$(this).find("thead").height()}),$(this).css({position:"relative"}),$(this).find("thead")[0].outerHTML),a=$(this).find("tbody")[0].outerHTML,n=$('<div class="thead_div"><table class="table table-hover mb0"></table></div>'),i=$('<div class="tbody_shadow_top"></div>'),o=$('<div class="tbody_div" style="height:'+t[1]+t[2]+';"><table class="table table-hover mb0" style="margin-top:-'+$(this).find("thead").height()+'px"></table></div>'),r=$('<div class="tbody_shadow_bottom"></div>'),c=(n.find("table").append(s),o.find("table").append(s),o.find("table").append(a),$(this).html(""),$(this).append(n),$(this).append(i),$(this).append(o),$(this).append(r),l.find(".thead_div table")[0].offsetWidth),p=l.find(".tbody_div table")[0].offsetWidth,d=l.find("tbody tr:eq(0)>td").length;$(this).find("tbody tr:eq(0)>td").each(function(e,t){var s=l.find("thead tr:eq(0)>th").eq(e);e===d-1?s.attr("width",$(t)[0].clientWidth+(c-p)):s.attr("width",$(t)[0].offsetWidth)}),e.resize&&$(window).resize(function(){var a=l.find(".thead_div table")[0].offsetWidth,n=l.find(".tbody_div table")[0].offsetWidth,i=l.find("tbody tr:eq(0)>td").length;l.find("tbody tr:eq(0)>td").each(function(e,t){var s=l.find("thead tr:eq(0)>th").eq(e);e===i-1?s.attr("width",$(t)[0].clientWidth+(a-n)):s.attr("width",$(t)[0].offsetWidth)})}),e.shadow&&(s=$(this).find(".tbody_div")[0],t[1]>=s.scrollHeight?($(this).find(".tbody_shadow_top").hide(),$(this).find(".tbody_shadow_bottom").hide()):($(this).find(".tbody_shadow_top").hide(),$(this).find(".tbody_shadow_bottom").show()),$(this).find(".tbody_div").scroll(function(e){var t=$(this)[0].scrollTop,s=$(this)[0].scrollHeight,a=$(this)[0].clientHeight,n=l.find(".tbody_shadow_top"),i=l.find(".tbody_shadow_bottom");0==t?(n.hide(),i.show()):0<t&&t<s-a?(n.show(),i.show()):t==s-a&&(n.show(),i.hide())}))}}),Object.values||(Object.values=function(e){var t,s=[];for(t in e)e.hasOwnProperty(t)&&s.push(e[t]);return s}),Date.prototype.format=function(e){var t,s={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};for(t in/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),s)new RegExp("("+t+")").test(e)&&(e=e.replace(RegExp.$1,1==RegExp.$1.length?s[t]:("00"+s[t]).substr((""+s[t]).length)));return e},win_mount)win_mount.hasOwnProperty(e)&&(window[e]=win_mount[e]);ajaxSetup()});var bt_upload_file={f:null,f_total:0,f_path:null,split_size:2097152,_files:[],_error:0,_start_time:0,_t_start_time:0,collback_to:null,upload_url:"/files?action=upload",_loadT:null,open:function(e,t,s,a){bt_upload_file.f_path=e.replace("//","/"),user_agent=navigator.userAgent.toLowerCase();var e="",n="",t=(t?n='accept="'+t+'"':-1===user_agent.indexOf("chrome")&&-1===user_agent.indexOf("firefox")||(e='<input type="file" id="dir_input" onchange="bt_upload_file.list(this.files)" style="display:none;" multiple="true" autocomplete="off" multiple webkitdirectory /><button type="button" style="margin-left: 10px;" id="opt" onclick="$(\'#dir_input\').click()" autocomplete="off" title="支持的浏览器: Chrome、Firefox、Edge、有极速模式的国产浏览器">选择目录</button>'),""),t=s?' --- <span style="color:red;">'+s+"</span>":" --- 支持断点续传";a&&(bt_upload_file.collback_to=a),bt_upload_file._loadT=layer.open({type:1,title:"上传文件到["+bt_upload_file.f_path+"]"+t,area:["550px","500px"],shadeClose:!1,closeBtn:2,content:'<div class="fileUploadDiv"><input type="file" id="file_input" onchange="bt_upload_file.list(this.files)" multiple="true" autocomplete="off" '+n+' /><button type="button" id="opt" onclick="$(\'#file_input\').click()" autocomplete="off">选择文件</button>'+e+'<span id="totalProgress" style="position: absolute;top: 7px;right: 10px;"></span><span><button type="button" id="up" autocomplete="off" onclick="bt_upload_file.start(0)">开始上传</button><button type="button" id="filesClose" autocomplete="off" onClick="layer.close(bt_upload_file._loadT)" >关闭</button></span><ul id="up_box"><li id="tipsUpdataText" style="height: 97%;line-height: 280px;text-align: center;color: #ccc;font-size: 32px;"><span>请将需要上传的文件拖到此处</span></li></ul></div>'}),bt_upload_file._files=[],document.addEventListener("drop",function(e){e.preventDefault()}),document.addEventListener("dragleave",function(e){e.preventDefault()}),document.addEventListener("dragenter",function(e){e.preventDefault()}),document.addEventListener("dragover",function(e){e.preventDefault()}),document.getElementById("up_box").addEventListener("drop",function(e){e.preventDefault();e=e.dataTransfer.files;if(0==e.length)return!1;bt_upload_file.list(e)})},list:function(e){if($("#totalProgress").html(""),$("#tipsUpdataText").remove(),0==e.length)return!1;for(var t=$.extend(!0,{},e),s=0;s<t.length;s++)bt_upload_file._files.push(t[s]);for(var a=bt_upload_file._files,e=($("#up_box").html(""),layer.msg("正在加载文件列表...",{time:0,icon:16,shade:.3})),s=0;s<a.length;s++){var n=a[s].name;a[s].webkitRelativePath&&(n=a[s].webkitRelativePath),$("#up_box").append('<li class="offset-'+s+'"><span class="filename" title="上传到: '+bt_upload_file.f_path+"/"+n+'">'+n+'</span><span class="filesize">'+bt_upload_file.to_size(a[s].size)+"</span><em>等待上传</em></li>")}layer.close(e)},to_size:function(e){for(var t=[" B"," KB"," MB"," GB"," TB"," PB"],s=0;s<t.length;s+=1){if(e<1024)return(0===s?e:e.toFixed(2))+t[s];e/=1024}},start:function(e){var t=bt_upload_file._files.length;if(0===t)return layer.msg("请选择文件!",{icon:2}),!1;0===e&&(bt_upload_file._t_start_time=new Date),$("#filesClose,#up,#opt").attr("disabled","disabled");var s=bt_upload_file.diff_time(bt_upload_file._t_start_time,new Date);if($("#totalProgress").html("<p>已上传("+e+"/"+t+"),"+s+'</p> <progress value="'+e+'" max="'+t+'"></progress>'),t<=e)return $("#totalProgress").html("<p>上传完成("+e+"/"+t+"), "+s+'</p> <progress value="'+e+'" max="'+t+'"></progress>'),bt_upload_file._files=[],$("#filesClose,#up,#opt").removeAttr("disabled"),bt_upload_file.collback_to&&bt_upload_file.collback_to(bt_upload_file.f_path),!1;10<e&&$("#up_box").scrollTop(35*(e-10)+50),bt_upload_file._start_time=new Date,bt_upload_file._error=0,bt_upload_file.f=bt_upload_file._files[e],bt_upload_file.f_total=Math.ceil(bt_upload_file.f.size/bt_upload_file.split_size),bt_upload_file.upload(0,e)},upload:function(t,a){var e=Math.min(bt_upload_file.f.size,t+bt_upload_file.split_size),n=bt_upload_file._files.length,s=bt_upload_file.f_path,i=(bt_upload_file.f.webkitRelativePath&&(s=bt_upload_file.f_path+"/"+bt_upload_file.f.webkitRelativePath.replace("/"+bt_upload_file.f.name,"")),new FormData);i.append("f_path",s.replace("//","/")),i.append("f_name",bt_upload_file.f.name),i.append("f_size",bt_upload_file.f.size),i.append("f_start",t),i.append("blob",bt_upload_file.f.slice(t,e)),$.ajax({url:bt_upload_file.upload_url,type:"POST",data:i,async:!0,processData:!1,contentType:!1,success:function(e){var t,s;"number"==typeof e?(t=parseInt(e/bt_upload_file.f.size*100),s=bt_upload_file.diff_time(bt_upload_file._t_start_time,new Date),$("#totalProgress").html("<p>已上传("+a+"/"+n+"),"+s+'</p> <progress value="'+a+'" max="'+n+'"></progress>'),$("#up_box li em")[a].outerHTML='<em style="color:green;">上传进度:'+t+"%</em>",$("#up_box li .filesize")[a].outerHTML='<span class="filesize">'+bt_upload_file.to_size(e)+"/"+bt_upload_file.to_size(bt_upload_file.f.size)+"</span>",$("#up_box li em")[a].focus(),bt_upload_file.upload(e,a)):(e.status?(s=bt_upload_file.diff_time(bt_upload_file._start_time,new Date),$("#up_box li em")[a].outerHTML='<em style="color:green;">已完成('+s+")</em>",$("#up_box li .filesize")[a].outerHTML='<span class="filesize">'+bt_upload_file.to_size(bt_upload_file.f.size)+"/"+bt_upload_file.to_size(bt_upload_file.f.size)+"</span>"):$("#up_box li em")[a].outerHTML='<em style="color:red;">'+e.msg+"</em>",bt_upload_file.start(a+1))},error:function(e){5<bt_upload_file._error?($("#up_box li em")[a].outerHTML='<em style="color:red;">上传失败</em>',bt_upload_file.start(a+1)):(bt_upload_file._error+=1,bt_upload_file.upload(t,a))}})},diff_time:function(e,t){t=t.getTime()-e.getTime(),e=Math.floor(t/6e4),t=(t%6e4/1e3).toFixed(2)+"秒";return t=0<e?e+"分"+t:t}};