mirror of https://github.com/qwqdanchun/ant.git
1 line
23 KiB
JavaScript
1 line
23 KiB
JavaScript
(function(ant){(function($,undefined){var ADDON={ui:{grid_soldier_depot:{name:"grid_soldier_depot",show:{lineNumbers:true,selectColumn:true,footer:true,toolbar:true,expandColumn:true},multiSearch:false,columns:[{field:"_id",hidden:true,caption:"ID"},{field:"_ctime",hidden:true,caption:"CTIME"},{field:"aid",caption:"兵蚁编号",size:"15%",sortable:true},{field:"name",caption:"兵蚁大名",size:"25%",sortable:true},{field:"env",caption:"运行环境",size:"10%",sortable:true},{field:"sell",caption:"是否出售",size:"10%",sortable:true},{field:"verify",caption:"是否审核",size:"10%",sortable:true},{field:"ctime",caption:"创建时间",size:"15%",sortable:true},{field:"utime",caption:"更新时间",size:"15%",sortable:true}],records:[],searches:[{field:"name",caption:"兵蚁大名",type:"text"},{field:"aid",caption:"兵蚁编号",type:"text"},{field:"env",caption:"运行环境",type:"text"},{field:"sell",caption:"是否出售",type:"text"},{field:"verify",caption:"是否审核",type:"text"},{field:"ctime",caption:"创建时间",type:"text"},{field:"utime",caption:"更新时间",type:"text"}],toolbar:{items:[{type:"break"},{id:"add",type:"button",caption:"添加兵蚁",icon:"fa fa-plus-circle"},{type:"break"},{id:"del",type:"button",disabled:true,caption:"删除兵蚁",icon:"fa fa-trash-o"},{type:"break"},{id:"run",type:"button",disabled:true,caption:"加载兵蚁",icon:"fa fa-spinner"},{type:"break"},{id:"bg",type:"button",disabled:true,caption:"后台执行",icon:"fa fa-circle-o-notch"},{type:"break"},{id:"edit",type:"button",disabled:true,caption:"强化兵蚁",icon:"fa fa-edit"}],onClick:function(e){var t=[],i=w2ui["grid_soldier_depot"];i.getSelection().forEach(function(e){t.push(i.get(e)._id)});switch(e.target){case"add":ADDON.depot.add();break;case"run":ADDON.depot.load(t[0]);break;case"bg":ADDON.task.init(t);break;case"edit":ADDON.depot.edit(t[0]);break;case"del":ADDON.depot.del(t);break}}},onSelect:function(e){var t=this;e.onComplete=function(){var e=[];t.getSelection().forEach(function(i){e.push(t.get(i)._id)});t.toolbar.disable("run","bg","edit","del");e.length===1?t.toolbar.enable("run","bg","edit","del"):e.length>1?t.toolbar.enable("del","bg"):null}},onUnselect:function(e){this.onSelect(e)},onContextMenu:function(e){var t=[],i=this;i.getSelection().forEach(function(e){t.push(i.get(e)._id)});var o=i.get(i.getSelection()[0]);$().bmenu([{text:"加载兵蚁",icon:"fa fa-spinner",disabled:t.length!==1,action:function(){ADDON.depot.load(t[0])}},{text:"后台执行",count:t.length,icon:"fa fa-circle-o-notch",disabled:t.length===0,action:function(){ADDON.task.init(t)}},{divider:true},{text:"强化兵蚁",icon:"fa fa-edit",disabled:t.length!==1,action:function(){ADDON.depot.edit(t[0])}},{text:"更改设置",icon:"fa fa-pencil",disabled:t.length!==1,action:function(){ADDON.depot.reset(t[0])}},{divider:true},{text:"出售兵蚁",icon:"fa fa-money",disabled:t.length!==1||o.sell==="是",action:function(){ADDON.depot.sell(t[0])}},{text:"取消出售",icon:"fa fa-remove",disabled:t.length!==1||o.sell==="否",action:function(){ADDON.depot.cancelSell(t[0])}},{divider:true},{text:"删除兵蚁",count:t.length,icon:"fa fa-trash-o",disabled:t.length===0,action:function(){ADDON.depot.del(t)}}],e.originalEvent)},onExpand:function(e){var t=ADDON.depot.cache[this.get(e.recid)._id];$("#"+e.box_id).html('<div style="padding: 10px;height: auto;">'+w2utils.encodeTags(t.desc||"<暂无简介>").replace(/\n/g,"<br>")+"</div>").animate({height:100},100)},onDblClick:function(e){var t=this;e.onComplete=function(){t.toggle(t.getSelection())}}},grid_soldier_market:{name:"grid_soldier_market",show:{lineNumbers:true,footer:true,toolbar:true,expandColumn:true},multiSearch:false,multiSelect:false,columns:[{field:"_id",hidden:true,caption:"ID"},{field:"_utime",hidden:true,caption:"UTIME"},{field:"aid",caption:"兵蚁编号",size:"15%",sortable:true},{field:"name",caption:"兵蚁大名",size:"25%",sortable:true},{field:"env",caption:"运行环境",size:"10%",sortable:true},{field:"user",caption:"兵蚁作者",size:"15%",sortable:true},{field:"coin",caption:"出售蚁币",size:"10%",sortable:true},{field:"buys",caption:"购买次数",size:"10%",sortable:true},{field:"utime",caption:"更新时间",size:"15%",sortable:true}],records:[],searches:[{field:"name",caption:"兵蚁大名",type:"text"},{field:"aid",caption:"兵蚁编号",type:"text"},{field:"env",caption:"运行环境",type:"text"},{field:"user",caption:"兵蚁作者",type:"text"},{field:"coin",caption:"出售蚁币",type:"text"},{field:"buys",caption:"购买次数",type:"text"},{field:"utime",caption:"更新时间",type:"text"}],toolbar:{items:[{type:"break"},{id:"buy",type:"button",caption:"购买",disabled:true,icon:"fa fa-cart-plus"},{type:"break"},{id:"desc",type:"button",caption:"简介",disabled:true,icon:"fa fa-info-circle"},{type:"break"},{id:"comment",type:"button",caption:"讨论",disabled:true,icon:"fa fa-comments"}],onClick:function(e){var t=[],i=w2ui["grid_soldier_market"];var o=i.getSelection();o.forEach(function(e){t.push(i.get(e)._id)});switch(e.target){case"buy":ADDON.market.buy(t[0]);break;case"desc":ADDON.market.desc(o[0]);break;case"comment":ADDON.market.comment(t[0]);break;default:break}}},onContextMenu:function(e){var t=this;$().bmenu([{text:"购买兵蚁",icon:"fa fa-cart-plus",action:function(){t.toolbar.click("buy")}},{divider:true},{text:"简介说明",icon:"fa fa-info-circle",action:function(){t.toolbar.click("desc")}},{text:"讨论交流",icon:"fa fa-comments",action:function(){t.toolbar.click("comment")}},{divider:true},{text:"举报兵蚁",icon:"fa fa-warning",disabled:true}],e.originalEvent)},onSelect:function(e){var t=this;e.onComplete=function(){var e=[];t.getSelection().forEach(function(i){e.push(t.get(i)._id)});e.length===1?t.toolbar.enable("buy","desc","comment"):t.toolbar.disable("buy","desc","comment")}},onUnselect:function(e){this.onSelect(e)},onExpand:function(e){var t=ADDON.market.cache[this.get(e.recid)._id];$("#"+e.box_id).html('<div style="padding: 10px;height: auto;">'+w2utils.encodeTags(t.desc||"<暂无简介>").replace(/\n/g,"<br>")+"</div>").animate({height:100},100)},onDblClick:function(e){var t=this;e.onComplete=function(){t.toggle(t.getSelection())}}},layout_soldier_edit:{name:"layout_soldier_edit",panels:[{size:"100%",type:"left",style:"border: 1px solid #dfdfdf;",content:""+'<div id="layout_soldier_edit_client" class="soldier_editor" style="width: 100%;height:100%;font-size: 14px;"></div>'+'<div id="layout_soldier_edit_server" class="soldier_editor" style="width: 100%;height:100%;font-size: 14px;"></div>',resizable:true,toolbar:{items:[{id:"save",icon:"fa fa-save",hint:"[Ctrl || Command] + S",type:"button",caption:"保存"},{type:"break"},{id:"call",icon:"fa fa-folder-open-o",type:"menu",caption:"调用兵蚁",items:[]},{type:"spacer"},{id:"bug",type:"check",icon:"fa fa-bug",hint:"[Ctrl || Command] + E",caption:"预览"}]},tabs:{tabs:[{id:"client",caption:'<i class="fa fa-code"></i> 客户端'},{id:"server",caption:'<i class="fa fa-skyatlas"></i> 服务端'}],onClick:function(e){$(".soldier_editor").hide();$("#layout_soldier_edit_"+e.target).show();ADDON.depot.editor[e.target].resize()}}},{size:"100%",type:"main",style:"border: 1px solid #dfdfdf;",content:'<div id="layout_soldier_edit_preview" style="width: 100%;height: 100%;"></div>',resizable:true}]},form_soldier:{name:"form_soldier",style:"height: 100%;border: 0px;background-color: transparent;",fields:[{field:"env",type:"list",required:true,html:{caption:"运行环境",attr:'style="width: 200px;"'},options:{items:[]}},{field:"cms",type:"combo",required:true,html:{caption:"兵蚁归类",attr:'style="width: 200px"'},options:{items:[]}},{field:"name",type:"text",required:true,html:{caption:"兵蚁大名",attr:'style="width: 200px"'}},{field:"desc",type:"textarea",html:{caption:"简单说明",attr:'rows="4" style="width: 200px;"'}}]},form_soldier_sell:{name:"form_soldier_sell",style:"height: 100%;border: 0px;background-color: transparent;",fields:[{field:"coin",type:"int",required:true,html:{caption:"出售蚁币",attr:'style="width: 180px;"'}}],actions:{Submit:function(){}}}},init:function(){var e=this;$().w2grid(e.ui.grid_soldier_depot);$().w2grid(e.ui.grid_soldier_market);$().w2layout(e.ui.layout_soldier_edit);$().w2form(e.ui.form_soldier_sell)},task:{init:function(e){var t=this;if(!w2ui["sidebar"].get("soldier_task")){w2ui["sidebar"].add("ant_soldier",{id:"soldier_task",icon:"fa fa-tasks",text:"后台列表"})}e.forEach(function(e){t.add(e)})},add:function(e){var t=this;var i=ADDON.depot.cache[e];if(!w2ui["layout_preview_tabs"].get("tab_"+e)){w2ui["layout_preview_tabs"].add({id:"tab_"+e,closable:true,caption:'<i class="soldier_task_icon fa fa-circle-o-notch" id="task_'+e+'_icon"></i> '+i.name,onClose:function(i){i.preventDefault();w2ui["layout_preview_tabs"].remove("tab_"+e);$("#task_"+e).remove();if(i.target===w2ui["layout_preview_tabs"].active){var o=w2ui["layout_preview_tabs"].tabs;var n=o[o.length-1];n?w2ui["layout_preview_tabs"].click(n.id):null}t.refresh();t.delTask(e)},onClick:function(t){var i="#task_"+e;$(".soldier_task").hide();$(i).show();w2ui.layout.resize("preview");setTimeout(function(){$(".soldier_task_icon").attr("class","soldier_task_icon fa fa-circle-o-notch");$(i+"_icon").attr("class","soldier_task_icon fa fa-circle-o-notch fa-spin");w2ui["task_"+e]?w2ui["task_"+e].resize("main")&&w2ui["task_"+e].resize("main"):null},100)}});var o=$('<div id="task_'+e+'" class="soldier_task">');$("#soldier_task_div").append(o);ADDON.depot.run({client_code:i.code.client,server_code:i.code.server,div_id:"task_"+e,id:e,status:"background"})}w2ui["layout_preview_tabs"].click("tab_"+e);t.refresh()},refresh:function(){var e=w2ui["layout_preview_tabs"].tabs.length;if(e<1){w2ui["sidebar"].remove("soldier_task");w2ui["sidebar"].click("soldier_depot")}else{w2ui["sidebar"].set("soldier_task",{count:e})}w2ui["sidebar"].click("soldier_task")},getTask:function(){var e=localStorage.getItem("task");var t=e?e.split(","):[],i=[];t.forEach(function(e){if(e&&ADDON.depot.cache[e]){i.push(e)}});return i},setTask:function(e){var t=this.getTask();t.push(e);localStorage.setItem("task",t)},delTask:function(e){var t=this;t.clearTask();t.getTask().forEach(function(e){t.setTask(e)})},clearTask:function(){localStorage.removeItem("task")}},depot:{editor:{},cache:null,temp:{},reload:function(){var e=this;var t=[];for(var i in e.cache){var o=e.cache[i];if(o){t.push({recid:t.length+1,_id:o._id,aid:"ant-"+w2utils.encodeTags(o.cms)+"-"+(o.aid<10?"0"+o.aid:o.aid),env:w2utils.encodeTags(o.env||"-"),name:w2utils.encodeTags(o.name),sell:o.sell?"是":"否",verify:o.sell?o.verify?"是":"否":"-",ctime:ANT.ftime(o.ctime),_ctime:o.ctime,utime:ANT.ftime(o.utime),style:"color: "+(o.style.color||(o.sell?o.verify?"rgb(22, 144, 61)":"rgb(195, 45, 9)":""))+";background-color: "+(o.style.bgcolor||"")})}}w2ui["grid_soldier_depot"].records=t;w2ui["grid_soldier_depot"].sort("_ctime","desc");w2ui["grid_soldier_depot"].refresh();setTimeout(function(){w2ui.sidebar.set("soldier_depot",{count:t.length});ADDON.unlock()},100)},refresh:function(){var e=this;ADDON.content(w2ui["grid_soldier_depot"]);if(!e.cache){e.cache={};ADDON.lock("加载仓库数据中..");$.get("/addons/ant.soldier/depot/data",function(t){var i={},o={};e.temp.env=[];e.temp.cms=[];t.forEach(function(t){e.cache[t._id]=t;o[t.cms]=0});for(var n in ANT.CONNECT_API.cache){i[n]=0}for(var n in i){e.temp.env.push(n)}for(var n in o){e.temp.cms.push(n)}e.reload()})}},add:function(){var e=this;w2popup.open({title:'<i class="fa fa-plus-circle"></i> 添加兵蚁',body:'<div id="ant_soldier_add_div"></div>',style:"padding: 15px 0 0 0",modal:true,width:450,height:300,onOpen:function(t){t.onComplete=function(){ADDON.ui.form_soldier.fields[0].options.items=e.temp.env;ADDON.ui.form_soldier.fields[1].options.items=e.temp.cms;var t=$.extend({},ADDON.ui.form_soldier,{actions:{"添加":function(){var e=this;if(e.validate().length===0){w2popup.lock("添加兵蚁中..",true);$.post("/addons/ant.soldier/depot/add",e.record,function(e){w2popup.unlock();if(e.ret){w2popup.close();ADDON.success("添加兵蚁成功!");ADDON.depot.cache[e.ret._id]=e.ret;ADDON.depot.reload();ADDON.depot.edit(e.ret._id)}else{ADDON.error("添加兵蚁失败!<br>"+e.err)}})}}}});$("#ant_soldier_add_div").w2form(t)}},onClose:function(e){w2ui["form_soldier"].destroy()}})},del:function(e){var t=this;w2confirm("确定删除所选的("+e.length+")条数据吗?",'<i class="fa fa-trash-o"></i> 删除兵蚁',function(i){if(i==="Yes"){ADDON.lock("删除数据中..");$.post("/addons/ant.soldier/depot/del",{ids:e},function(i){ADDON.unlock();if(!i.err){ADDON.success("删除数据成功!");e.forEach(function(e){delete t.cache[e]});t.reload()}else{ADDON.error("删除数据失败!")}})}})},edit:function(id){var self=this;var soldier=self.cache[id];w2popup.open({title:'<i class="fa fa-edit"></i> 强化兵蚁:<strong class="text-danger">'+w2utils.encodeTags(soldier.name)+"</strong>",body:'<div id="layout_soldier_edit_div" style="width: 100%;height: 100%;"></div>',style:"padding: 0;",showMax:true,modal:true,width:900,height:600,onOpen:function(event){event.onComplete=function(){var _menu=[];for(var c in ADDON.depot.cache){if(c!==id){_menu.push({id:c,text:ADDON.depot.cache[c].name,icon:"fa fa-puzzle-piece"})}}w2ui["layout_soldier_edit_left_toolbar"].set("call",{items:_menu,count:_menu.length,disabled:_menu.length===0});$("#layout_soldier_edit_div").w2render(w2ui["layout_soldier_edit"]);var jsMode=require("ace/mode/javascript").Mode;self.editor.client=ace.edit("layout_soldier_edit_client");self.editor.client.setTheme("ace/theme/tomorrow");self.editor.client.session.setMode(new jsMode);self.editor.client.session.setUseWrapMode(true);self.editor.client.session.setValue(soldier.code.client);self.editor.server=ace.edit("layout_soldier_edit_server");self.editor.server.setTheme("ace/theme/tomorrow");self.editor.server.session.setUseWrapMode(true);self.editor.server.session.setValue(soldier.code.server);[{name:"saveCmd",bindKey:{win:"Ctrl-S",mac:"Command-S"},exec:function(e){w2ui["layout_soldier_edit_left_toolbar"].click("save")}},{name:"bugCmd",bindKey:{win:"Ctrl-E",mac:"Command-E"},exec:function(e){w2ui["layout_soldier_edit_left_toolbar"].click("bug")}},{name:"toggleCmd",bindKey:{win:"Ctrl-M",mac:"Command-M"},exec:function(){w2popup.toggle()}}].forEach(function(e){self.editor.client.commands.addCommand(e);self.editor.server.commands.addCommand(e)});self.editor.client.session.on("change",function(e){w2ui["layout_soldier_edit_left_toolbar"].get("bug").checked?w2ui["layout_soldier_edit_left_toolbar"].click("bug"):null});w2ui.layout_soldier_edit_left_toolbar.onClick=function(event){var c_c=self.editor.client.getValue();var s_c=self.editor.server.getValue();switch(event.target){case"save":w2popup.lock("保存代码中..",true);$.post("/addons/ant.soldier/depot/saveCode",{id:soldier._id,client:c_c,server:s_c},function(e){w2popup.unlock();if(e){ADDON.error("代码保存失败!<br>"+e)}else{soldier.code={client:c_c,server:s_c};ADDON.success("代码保存成功!")}});break;case"bug":var ck=!w2ui["layout_soldier_edit_left_toolbar"].get("bug").checked;w2ui["layout_soldier_edit"].set("left",{size:ck?"60%":"100%"});w2ui["layout_soldier_edit_left_toolbar"].set("bug",{icon:ck?"fa fa-bug fa-spin":"fa fa-bug"});ck?self.run({client_code:c_c,server_code:s_c,div_id:"layout_soldier_edit_preview",id:id,status:"debug"}):$("#layout_soldier_edit_preview").html("");break;default:if(event.target.substr(0,5)==="call:"){var _id=event.target.substr(5),_call=ADDON.depot.cache[_id];if(_call){w2ui["layout_soldier_edit"].lock("left","解析兵蚁中..",true);var UI=function(){return{init:function(e){var t='\nAPI.loadSoldier("'+_id+'", {\n';for(var i in e.argv){t+=" // 所需参数:"+(e.argv[i].caption||i)+"\n";t+=" "+i+': "'+(e.argv[i].default||"")+'",\n'}t+="}, function(data) {\n \n})\n";self.editor.client.insert(t)}}},plugin=eval(_call.code.client);plugin(new UI,{});w2ui["layout_soldier_edit"].unlock("left")}else{ADDON.error("调用的兵蚁不存在!")}}}};w2ui["layout_soldier_edit_left_tabs"].click("client");w2popup.toggle()}},onToggle:function(e){e.onComplete=function(){w2ui["layout_soldier_edit"].set("left",{size:w2ui["layout_soldier_edit_left_toolbar"].get("bug").checked?"60%":"100%"});w2ui["layout_soldier_edit"].resize();self.editor.client.resize();self.editor.server.resize()}},onClose:function(e){this.onMin(e)},onMin:function(e){e.onComplete=function(){w2ui["layout_soldier_edit_left_toolbar"].get("bug").checked?w2ui["layout_soldier_edit_left_toolbar"].click("bug"):null}}})},reset:function(e){var t=this;var i=t.cache[e];w2popup.open({title:'<i class="fa fa-pencil"></i> 更改设置',body:'<div id="ant_soldier_set_form"></div>',style:"padding: 15px 0 0 0",modal:true,width:450,height:300,onOpen:function(o){o.onComplete=function(){ADDON.ui.form_soldier.fields[0].options.items=t.temp.env;ADDON.ui.form_soldier.fields[1].options.items=t.temp.cms;var o=$.extend({},ADDON.ui.form_soldier,{record:{env:{id:i.env,text:i.env},cms:i.cms,name:i.name,desc:i.desc},actions:{"保存":function(){var t=this;if(t.validate().length===0){w2popup.lock("保存兵蚁中..",true);$.post("/addons/ant.soldier/depot/save",$.extend(t.record,{id:e}),function(e){console.log(e);w2popup.unlock();if(e.ret){w2popup.close();ADDON.success("保存兵蚁成功!");ADDON.depot.cache[e.ret._id]=e.ret;ADDON.depot.reload()}else{ADDON.error("保存兵蚁失败!<br>"+e.err)}})}}}});$("#ant_soldier_set_form").w2form(o)}},onClose:function(e){w2ui["form_soldier"].destroy()}})},load:function(e){var t=this;var i=t.cache[e];w2popup.open({title:'<strong class="text-info"><i id="layout_soldier_load_div_icon" class="fa fa-spinner fa-spin"></i> '+w2utils.encodeTags(i.name)+"</strong>",body:'<div id="layout_soldier_load_div" style="width: 100%;height: 100%;"></div>',style:"padding: 0;",showMax:true,modal:true,width:600,height:450,onOpen:function(o){o.onComplete=function(){t.run({client_code:i.code.client,server_code:i.code.server,div_id:"layout_soldier_load_div",id:e,status:"running"})}},onToggle:function(e){e.onComplete=function(){w2ui["layout_soldier_load_div"]?w2ui["layout_soldier_load_div"].resize():null}},onMin:function(e){this.onToggle(e)},onMax:function(e){this.onToggle(e)}})},run:function(opt){function msg(e){$("#"+opt.div_id).html('<div align="center" id="soldier_error">'+' <i class="'+e.icon+'"></i>'+" <hr/>"+" <strong>"+(e.title||"加载兵蚁失败!")+"</strong>"+" <p>"+(e.msg||"")+"</p>"+"</div>")}try{msg({icon:"fa fa-spinner fa-pulse",title:"加载兵蚁中"});var soldier=this.cache[opt.id];var client=eval(opt.client_code);if(!ANT.CONNECT_API.cache[soldier.env]){throw"无法加载运行环境:"+soldier.env}else{var API=new function(){return ANT.CONNECT_API.cache[soldier.env]};API.connect(function(){client(new ANT.SOLDIER_UI(opt.id,opt.div_id,opt.status),API,opt.server_code)},function(){msg({icon:"fa fa-frown-o",msg:"无法连接运行环境:"+soldier.env})},function(){msg($.extend({},{icon:"fa fa-coffee",msg:"请先配置好运行环境"}))})}}catch(e){var m=typeof e==="string"?e:e.message;msg({icon:"fa fa-frown-o text-danger",msg:m});return false}},sell:function(e){var t=this;var i=t.cache[e];w2popup.open({title:'<i class="fa fa-money"></i> 出售兵蚁',width:400,height:250,modal:true,body:'<div id="form_soldier_sell" style="width:100%;height:100%;"></div>',style:"padding:50px 0 0 0;",onOpen:function(t){t.onComplete=function(){w2ui["form_soldier_sell"].actions["Submit"]=function(){if(this.validate().length===0){w2popup.lock("提交出售中..",true);$.post("/addons/ant.soldier/depot/sell",{id:e,coin:this.record.coin},function(e){w2popup.close();if(e.ret){ADDON.success("发布出售成功!请耐心等待审核!");i.sell=true;i.verify=false;ADDON.depot.reload()}else{ADDON.error("发布出售失败!<br>"+e.err)}})}};$("#form_soldier_sell").w2render(w2ui["form_soldier_sell"])}}})},cancelSell:function(e){var t=this.cache[e];w2confirm("确定取消出售所选兵蚁?",function(i){if(i==="Yes"){ADDON.lock("取消出售中..");$.post("/addons/ant.soldier/depot/cancelsell",{id:e},function(e){ADDON.unlock();if(e.ret){ADDON.success("取消出售成功!");t.sell=false;t.verify=false;ADDON.depot.reload()}else{ADDON.error("取消出售失败!<br>"+e.err)}})}})}},market:{cache:null,reload:function(){var e=this;var t=[];for(var i in e.cache){var o=e.cache[i];if(o){t.push({recid:t.length+1,_id:o._id,aid:"ant-"+o.cms+"-"+(o.aid<10?"0"+o.aid:o.aid),env:w2utils.encodeTags(o.env||"-"),name:w2utils.encodeTags(o.name),user:o.user?w2utils.encodeTags(o.user.nickname):"<已删除>",coin:o.coin,buys:(o.members||[]).length,utime:ANT.ftime(o.utime),_utime:o.utime,style:"color: "+(o.style.color||"")+";background-color: "+(o.style.bgcolor||"")})}}w2ui["grid_soldier_market"].records=t;w2ui["grid_soldier_market"].sort("_utime","desc");w2ui["grid_soldier_market"].refresh();setTimeout(function(){w2ui.sidebar.set("soldier_market",{count:t.length});ADDON.unlock()},100)},refresh:function(){var e=this;ADDON.content(w2ui["grid_soldier_market"]);if(!e.cache){e.cache={};ADDON.lock("加载市场数据中..");$.get("/addons/ant.soldier/market/data",function(t){t.forEach(function(t){e.cache[t._id]=t});e.reload()})}},desc:function(e){w2ui["grid_soldier_market"].toggle(e)},buy:function(e){var t=this;var i=t.cache[e];w2confirm('确定使用(<strong class="text-danger">'+i.coin+"</strong>)蚁币购买此兵蚁?",'<i class="fa fa-cart-plus"></i> 购买兵蚁',function(t){if(t==="Yes"){ADDON.lock("购买兵蚁中..");$.post("/addons/ant.soldier/market/buy",{id:e},function(e){ADDON.unlock();if(e.ret){ADDON.success("购买成功!");w2ui["sidebar"].dblClick("soldier_market");setTimeout(function(){w2ui["sidebar"].dblClick("soldier_depot");w2ui["sidebar"].select("soldier_depot")},200)}else{ADDON.error("购买失败!<br>"+e.err)}})}})},comment:function(e){var t=this,i=t.cache[e];w2popup.open({title:'<i class="fa fa-comments"></i> 讨论交流:<strong class="text-danger">'+w2utils.encodeTags(i.name)+"</strong>",style:"padding: 0",width:800,height:600,modal:true,showMax:true,body:'<div class="comment" id="comment_'+e+'">'+"<blockquote>"+w2utils.encodeTags(i.desc||"<暂无简介>").replace(/\n/g,"<br>")+"<small>"+w2utils.encodeTags(i.user.nickname||"<用户已删除>")+"</small></blockquote>"+"</div>",onOpen:function(t){t.onComplete=function(){$("#comment_"+e).comment({key:e,url:"#!/market/comment/"+e,title:"交易市场 - "+i.name})}}})}}};ANT.initAddon({id:"ant_soldier",libs:{js:["/addons/ant.soldier/api.ui.js","/addons/ant.soldier/api.connect.js","/addons/ant.soldier/md5.js"],css:["/addons/ant.soldier/client.css"]},text:"兵蚁工厂",group:true,expanded:true,nodes:[{id:"soldier_market",text:"交易市场",icon:"fa fa-folder-o",onClick:function(){ADDON.market.refresh()},onDblClick:function(){delete ADDON.market.cache;ADDON.market.refresh()}},{id:"soldier_depot",text:"个人仓库",icon:"fa fa-folder-o",onClick:function(){ADDON.depot.refresh()},onDblClick:function(){delete ADDON.depot.cache;ADDON.depot.refresh()}}]},ADDON)})(jQuery)})(); |