Namespace.register("U.CD.SL");
//注册示例项目区域
U.CD.SL.MySQL = "mysql";
//后台据此判断是到mongodb还是mysql。type是命令类型
U.CD.SL.Data = [];
//保存示例中的数据,避免数据库频繁刷新。
U.CD.SL.PrePD = null;
//保存了示例项目中评论和大图2个按钮,在onmouseover中切换状态。
U.CD.SL.W = null
//示例项目
U.CD.SL.header_close = function () {
$('#cgal_box')[0].remove();
}
U.CD.SL.Init = function () {
$('.UCD_SL_N').length != 0 ? $('.UCD_SL_N').parentg().parentg().parentg().remove() : ''
U.UI.Form({
title: '成功案例',
style: {
'overflow-y': 'none',
'overflow-x': 'nonw',
width: 1010,
height: 700
},
content: '
'
})
if (U.CD.SL.W)
U.CD.SL.W.PSO.remove()
// if (!$("#UCD_SL_N_F_R")[0].childNodes.length) U.D.AD.BDGG($("#UCD_SL_N_F_R")[0], '897767'); //百度广告,外部js加载不成功,导致本网站js不能运行,奇怪了
//暂时做几个功能,以后扩充。
//$('#cgal_box').remove();
//var cgal_box = $$('div', { 'class': 'cgal_box', 'id': 'cgal_box' }, document.body); //成功案例 box
//var cgal_header = $$('div', { 'class': 'cgal_header', 'onmousedown': "U.M.StopBubble();U.D.DragMouseDown(this.parentNode);" }, cgal_box); //成功案例 头部
//$$('p', { 'class': 'header_title', 'innerHTML': '成功案例' }, cgal_header) //标题
//$$('div', { 'class': 'header_close', 'innerHTML': 'X', onclick: [U.CD.SL.header_close, ([])] }, cgal_header) //关闭图标
//$$('div', { 'class': 'box_content', 'id': 'box_content' }, cgal_box) //中部
//var conetent_top_b = $$('div', { 'class': 'conetent_top_b' }, $('#box_content')); //上面那个背景
//$$('img', { 'src': 'http://www.1473.cn/img/cloudlogo.png' }, conetent_top_b) //logo
//var option_div = $$('div', { 'class': 'option_div' }, conetent_top_b) //选项卡
//$$('div', { 'class': 'header_li', 'innerHTML': '精品区域', onclick: [U.CD.SL.Type, (['JH'])] }, option_div); //选项
//$$('div', { 'class': 'header_li', 'innerHTML': '提问区域', onclick: [U.CD.SL.Type, (['TW'])] }, option_div); //选项
//$$('div', { 'class': 'header_li', 'innerHTML': '作业区域', onclick: [U.CD.SL.Type, (['ZY'])] }, option_div); //选项
//$$('div', { 'class': 'header_li', 'innerHTML': '控件区域', onclick: [U.CD.SL.Type, (['KJ'])] }, option_div); //选项
//$$('div', { 'class': 'header_li', 'innerHTML': '发布项目', onclick: [U.CD.SL.Type, (['FB'])] }, option_div); //选项
//var search_div = $$('div', { 'class': 'search_div' }, option_div); //输入框div
//$$('input', { 'class': 'search_' }, search_div) //输入框
//var s_img = $$('img', { 'src': 'img/search.png', 'class': 'search_img' }, search_div) //搜索图标
//s_img.onclick = function () {
// U.CD.SL.Sou(this);
//}
//var talk_div = $$('div', { 'class': 'talk_div' }, conetent_top_b)
//$$('img', { 'src': 'http://www.1473.cn/img/qqew.jpg', onclick: "window.open('http://www.1473.cn')" }, talk_div)
//$$('img', { 'src': 'img/in_wb.png', onclick: "window.open('http://widget.weibo.com/dialog/follow.php?fuid=3934163141&refer=c.1473.cn&language=zh_cn&type=widget_page&vsrc=app_followbutton&backurl=http%3A%2F%2Fc.1473.cn%2F&rnd=1479695872003')", 'id': 'followBtn' }, talk_div)
//$$('img', { 'src': 'img/in_qq.png', onclick: "window.open('http://shang.qq.com/wpa/qunwpa?idkey=bd0da8199b3ba73a4812241efaba9b444b8cb7646016a13a7d31730c9c09e0a8')" }, talk_div)
//var _lans = $("#UCD_SL_N_F")[0].getElementsByTagName("div"), i;
//for (i = 0; i < _lans.length; i++) { if (_lans[i].innerHTML != "HTML5语言") _lans[i].onclick = U.M.apply(this, [[alert, (["有空看看http://www.1473.cn,有惊喜!"])]]) }
//var _s = $("#UCD_SL")[0];
////_s.style.width = document.body.clientWidth * 0.67 + "px"; //设置展示区域宽度
//_s.style.width = "1000px";
//_s.style.left = (document.body.clientWidth - parseInt(_s.style.width)) / 2 + "px"; //宽度居中
//_s.style.height = document.body.clientHeight - 20 - 20 - 80 + "px"; //减去头部和尾部高度
//_s.style.display = "block"; //显示或隐藏
//$("#UCD_SL_N_N")[0].style.height = _s.clientHeight - 100 + "px";
//选取数据库所有数据,参数1表示滚动加载的页数,以后再修正为滚动加载,数据库默认1次加载500条。
//为了避免频繁加载,结果需要保存到全局变量中。
if (!U.CD.SL.Data[U.CD.USLang]) {
//try catch不成功?以后再搞
try {
U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Select_All", 1, U.CD.USLang]), U.CD.SL.Display, ([""]));
} catch (e) {
alert("数据库连接暂时不成功,但不影响客户端操作");
}
} else {
//显示响应数据
$("#UCD_SL_N_N")[0].innerHTML = "";
U.CD.SL.DisFlow_cg(U.CD.SL.Data[U.CD.USLang]);
}
}
//弹出切换语言窗口
U.CD.SL.L = function () {
$('#UCD_L').length != 0 ? $('.UCD_SL_N').parentg().parentg().parentg().remove() : ''
U.UI.Form({
title: '编程语言切换面板',
style: {
'overflow': 'none',
width: 537,
height: 300
},
content: ' 无需安装linux环境!无需复杂的配置!瞬间切换语言环境!
C语言
PHP
Python
Nodejs
Ruby
Perl
Lisp
Net
前端
'
})
//var _b = $("#UCD_L_C")[0];
//_b.style.width = "537px";
//_b.style.left = (document.body.clientWidth - parseInt(_b.style.width)) / 2 + "px"; //宽度居中
// _b.style.height = document.body.clientHeight - 20 - 20 - 430 + "px"; //减去头部和尾部高度
//_b.style.display = "block"; //显示或隐藏
}
//展示数据库中发布的项目
U.CD.SL.Display = function (r) {
if (r.value == "" || r.value[0] == undefined) {
return;
}
U.CD.SL.Data[U.CD.USLang] = r.value[0];
//获取mysql数据库返回的数据。
U.CD.SL.DisFlow_cg(r.value[0]);
//U.CD.SL.cgal(r.value[0]);
}
//展示数据
U.CD.SL.DisFlow_cg = function (r) {
var _nr = $("#UCD_SL_N_N")[0], i, _l;
//_l流式布局个数定义
var userId = U.M.Cookies.get("usestudiosso") && U.M.Cookies.get("usestudiosso").split("&")[0].split("userid=").pop();
//当前登录用户的id
_nr.innerHTML = "";
//首先清空上一次数据
if (!r.length)
_nr.innerHTML = "暂时无人添加示例,您可以来添加哦,分享是一种美德,点此分享!
";
_l = U.CD.SL.Flowlayout(_nr, 140, 7);
//返回列数,如果已经做了流式布局,下一次进来不再调用此函数。
var a = r, len = a.length, tp;
for (i = 0; i < len; i++) {
for (j = i; j < len; j++) {
if (Date.parse(a[i].CreateDate) < Date.parse(a[j].CreateDate)) {
//按时间排序 降序
tp = a[i];
a[i] = a[j];
a[j] = tp;
}
}
}
r = a;
for (i = 0; i < r.length; i++) {
var _p = $("#UCD_SL_N_N").Child()[i % _l];
//找到流式布局点,追加相应元素,这是技巧
//var _src = "http://www.1473.cn/img/usestudiobackgroudnimage/beta1/bg1(1).jpg";
var _a = $$("div", {
"className": "UCD_SL_N_N_C",
"onmouseover": [[U.CD.SL.DisReply, (["retElement", r[i]])]],
"onclick": [[U.CD.SL.DisOther, ([r[i]])]]
}, _p);
//单个样式
$$("img", {
"className": "UCD_SL_N_N_C_I",
"src": r[i].DImg,
"onerror": [U.M.ImgError, (["this", 1])]
}, _a);
//图像样式
var _b = $$("div", {
"className": "UCD_SL_N_N_C_RD"
}, _a);
//评论,大图样式
$$("div", {
"className": "UCD_SL_N_N_C_R",
"onclick": [[U.M.StopBubble], [U.CD.OU.Reply, ([r[i].DID])]]
}, _b);
//评论样式
//如果是管理员账号,则添加一个发布审核按钮。
if (U.CD.U.IsUSelf().userid == "baa5e5ae-0fc2-4eab-ba44-cd993d6ce5a1")
$$("div", {
"className": "UCD_SL_N_N_C_S",
"innerHTML": "审核",
"onclick": [[U.M.StopBubble], [U.CD.SL.VerConfirm, ([r[i]])]]
}, _b);
//评论样式
$$("div", {
"className": "UCD_SL_N_N_C_D",
"onclick": [[U.M.StopBubble], [U.Img.Create, ([{
'Img': r[i].DImg,
'Thm': r[i].DSmallImg
}])]]
}, _b);
//大图样式
r[i].DBrief = r[i].DBrief.replace(/\r\n/g, '
');
//换行符号处理
$$("div", {
"className": "UCD_SL_N_N_C_T",
"title": r[i].DName,
"innerHTML": r[i].DName
}, _a);
//标题样式
$$("div", {
"className": "UCD_SL_N_N_C_N",
"innerHTML": r[i].DBrief
}, _a);
//内容样式
// if (userId && (userId == r[i].UserID)) {
//只有用户自己的案例才可以修改
$$("div", {
"className": "UCD_SL_N_N_C_XG",
"onclick": [[U.M.StopBubble], [U.CD.SL.Publish, [null, US.userinfo.UserId, r[i]]]]
}, _b);
//修改
$$("div", {
"className": "UCD_SL_N_N_C_SC",
"onclick": [[U.M.StopBubble], [function (id, div) {
//删除的函数
U.UI.Confirm("确定要删除吗?", [function (id, div) {
//confirm
var rt = U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Develop_delete_example", id]), 0, ([""]));
//删除数据库案例
if (rt.value.affectedRows == 1) {
//影响行数
$(div).remove();
//把div删除了
U.Alert("删除成功!");
//弹个框
}
}
, ([id, div])], [function () { }
, ([])]);
}
, [r[i].DID, _a]]]//id和div传进去
}, _b);
//删除
// }
}
}
//精华,提问,等切换区域
U.CD.SL.Type = function (t) {
//如果前台有数据,切换时筛选数据
var d = U.CD.SL.Data[U.CD.USLang], n = d.length, i, _r = [];
if (d) {
for (i = 0; i < n; i++) {
if (d[i].DType == t)
_r.push(d[i]);
}
}
// U.CD.SL.cgal(_r);
U.CD.SL.DisFlow_cg(_r);
}
//搜索函数
U.CD.SL.Sou = function (o) {
var s = o.parentNode.getElementsByTagName("input")[0].value;
var d = U.CD.SL.Data[U.CD.USLang], n = d.length, i, _r = [];
if (d) {
for (i = 0; i < n; i++) {
if (d[i].DName.indexOf(s) > -1)
_r.push(d[i]);
}
}
//U.CD.SL.cgal(_r);
U.CD.SL.DisFlow_cg(_r);
}
//鼠标移动到相关条目时弹出查看该项目评论信息。
U.CD.SL.DisReply = function (SO, r) {
//给SO添加2个div,用来查看评论和大图
var _s, i;
if (U.CD.SL.PrePD) {
if (U.CD.SL.PrePD.childNodes[1]) {
_s = U.CD.SL.PrePD.childNodes[1].childNodes;
for (i = 0; i < _s.length; i++) {
_s[i].style.display = "none";
}
}
}
_s = SO.childNodes[1].childNodes;
for (i = 0; i < _s.length; i++) {
_s[i].style.display = "block";
}
U.CD.SL.PrePD = SO;
}
//弹出审核确认取消框。
U.CD.SL.VerConfirm = function (r) {
U.UI.Confirm("你确定取消" + r.DName + "在首页中的显示吗?", [U.CD.SL.Verify, ([r])], "");
}
//去数据库通过审核,展示在前台供其他用户查看项目。
U.CD.SL.Verify = function (r) {
U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Add_Develop", r.DID, r.UserID, r.UserName, r.DName, r.DBrief, r.DSmallImg, r.DImg, r.DPrice, "0"]), U.CD.SL.VerifyAsyn, ([""]));
}
//数据库是否成功
U.CD.SL.VerifyAsyn = function (r) {
r.value[0].length ? alert("审核成功") : alert("审核失败");
}
//展示其他人的项目。
U.CD.SL.DisOther = function (u) {
//window.open("http://c.1473.cn/" + "#!/" + encodeURI(u.DID + "|" + u.UserID));//采用新窗口模式
//U.CD.Url.Param(["#!", u.DID + "|" + u.UserID]);
$("#UCD_SL")[0].style.display = "none";
U.CD.Url.Param([u.DID + "|" + u.UserID]);
//采用本窗口加载模式
}
//流式布局函数,封装起来,以后给UC。参数1为大的元素,参数2为小元素的宽度,各个小元素的margin,此函数返回值为列数
U.CD.SL.Flowlayout = function (NR, W, M) {
// var _a = NR.clientWidth, i; //大容器宽度
//var _num = Math.floor(_a / (W + 2 * M)); //小元素宽度
//添加列数到大元素
// for (i = 0; i < _num; i++) {
// $$("div", { "style": { "width": W + "px", "margin": M + "px" }, "className": "UCD_SL_N_N_L" }, NR); //追加流式布局的包容器
// }
// return _num;
var _a = NR.clientWidth, i;
//大容器宽度
var _num = Math.floor(_a / (W + 2 * M));
//小元素宽度
//添加列数到大元素
for (i = 0; i < 5; i++) {
$$("div", {
"style": {
"width": "185px",
"margin-right": "10px"
},
"className": "UCD_SL_N_N_L"
}, NR);
//追加流式布局的包容器
}
return _num;
}
//-------------------------------------------------------------------发布项目到首页区域-----------------------------------------------------
//发布一个项目,会添加到示例项目区域。
U.CD.SL.Publish = function (SO, userid, node) {
//到数据库查询是否已经发不过。
U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Select_One", node.DID]), U.CD.SL.ISPub, (["", SO, userid, node]));
}
//--------------------------------------UJ框架RadioList控件-------------------------------------------------
//S是一个json,表示多个Checkbox的内容,D表示需要生成checkbox的父亲元素,比如一个div
//调用方法。//var ra = U.UI.RadioList($("#UCD_FB_N_CK_CK")[0], { "TW": "提问", "ZY": "作业", "JH": "精华", "CT": "控件" });
//取值方法 ra.value();可以获取用户选择的值。
U.UI.RadioList = function (D, S) {
var T = new U.UI.RadioListT(D, S);
T.init();
//初始化单选按钮组。
return T;
}
U.UI.RadioListT = function (D, S) {
if (U.M.GetType(S) != "Object")
return;
//如果不是数组,返回
D.innerHTML = "";
//清空以前的
this.D = D;
this.S = S;
this.A = [];
//所有checkbox元素,用于选择, //返回选中的Checkbox。
}
U.UI.RadioListT.prototype = {
init: function () {
var S = this.S, p, c;
//得到Checkbox长度,p为span,c为checkbox
for (var s in S) {
if (S.hasOwnProperty(s)) {
p = $$("div", {
"innerHTML": S[s],
"style": {
"cssText": "margin-left:5px;"
}
}, this.D);
c = $$("input", {
"type": "radio",
"value": s,
"onclick": [this.radiochecked, ([this, "retElement"])]
}, p);
this.A.push(c);
}
}
this.A[0].checked = true;
},
//选中函数,其他全部不选中,单击的元素选中。r为保证作用域,"retElement"表示radio元素本身。
radiochecked: function (r, o) {
var i;
for (i = 0; i < r.A.length; i++)
r.A[i].checked = false;
o.checked = true;
},
//返回被选中的值
value: function () {
var i;
for (i = 0; i < this.A.length; i++)
if (this.A[i].checked == true)
return this.A[i].value;
return this.A[0].value;
//默认返回第一个元素
}
}
//检测以前是否发布过的异步函数
U.CD.SL.ISPub = function (r) {
//清空以前数据
var SO = r.context[1]
, userid = r.context[2]
, node = r.context[3];
//得到传递的参数
var _r = r.value[0];
//得到数据库的值。
//如果没获取到数据,表示没发不过,所有选项清空,否则,表示修改,把数据库的值赋予各个选项。
if (_r.length == 0) {
$("#UCD_FB_N_N_Name")[0].value = "",
$("#UCD_FB_N_N_T")[0].value = "",
$("#UCD_FB_NR_IMG")[0].value = "",
$("#UCD_FB_N_N_P")[0].value = "";
} else {
_r = _r[0];
$("#UCD_FB_N_N_Name")[0].value = _r.DName,
$("#UCD_FB_N_N_T")[0].value = _r.DBrief,
$("#UCD_FB_NR_IMG")[0].src = _r.DSmallImg,
$("#UCD_FB_N_N_P")[0].value = _r.DPrice;
}
var _UDUP = $("#UCD_FB")[0];
//获取命令窗口
//var _NR = $("#UCD_FB_N_N")[0]; _NR.innerHTML = ""; //获取内容窗口
if (_r.DName)
$("#UCD_FB_N_T")[0].innerHTML = "您已经发不过" + node.Name + "了?但还可以修改相应信息";
else
$("#UCD_FB_N_T")[0].innerHTML = "您将要发布" + node.Name + "吗?此项目将对所有人可见!";
$("#UCD_FB_N_N_Name")[0].value = node.Name;
//给标题赋值
//生成CheckBoxList
var ra = U.UI.RadioList($("#UCD_FB_N_CK_CK")[0], U.CD.DType);
$("#UCD_FB_NR_IMG")[0].onclick = U.M.apply(this, [[U.M.StopBubble], [U.Img.Create, [([{
'Thm': _r.DSmallImg,
'Img': _r.DImg
}])]]]);
$("#UCD_FB_N_N_N_S")[0].onclick = U.M.apply(this, [[U.CD.SL.PSubmit, ([SO, userid, node, ra])]]);
//给提交按钮赋值
_UDUP.style.display = "block";
U.UI.Form({
id: "UCD_FB_Pop",
title: '发布项目窗口',
style: {
'overflow-y': 'none',
'overflow-x': 'nonw',
width: 500,
height: 500
},
//bst: _UDUP
content: _UDUP
})
//onclick直接响应
}
//单击发布按钮,发布到mysql
U.CD.SL.PSubmit = function (SO, userid, node, ra) {
var _c = U.CD.U.IsUSelf();
//获取用户登录Cookie. _c.userid _c.username _c.Loginid
if (!_c) {
U.CD.U.LoginApply();
return;
}
//如果未登录,弹出登录窗口。
//_n名字 _b简介 -i图片 _p价格。
var _n = $("#UCD_FB_N_N_Name")[0].value
, _b = $("#UCD_FB_N_N_T")[0].value;
var _s = $("#UCD_FB_NR_IMG")[0].title;
_i = $("#UCD_FB_NR_IMG")[0].src,
_p = $("#UCD_FB_N_N_P")[0].value;
var username = _c.username;
//cookie中的用户名
//id为项目id,存储在mongodb中,
//提交到数据库,ra.value()表示提交到精华区域、学习区域的类型, U.CD.USLang表示提交到哪一个语言。"1"表示发布到首页。
U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Add_Develop", node.ID, userid, username, _n, _b, _s, _i, _p, "1", U.CD.USLang, ra.value()]), U.CD.SL.PSubAsyn, ([""]));
}
//发布成功后异步函数。
U.CD.SL.PSubAsyn = function (r) {
r.value[0].length ? alert("发布项目成功") : alert("发布项目失败");
}
//新用户发布自己的项目
U.CD.SL.PubPro = function () {
var _c = U.CD.U.IsUSelf();
//获取用户登录Cookie. _c.userid _c.username _c.Loginid
if (!_c) {
U.CD.U.LoginApply();
return;
}
//如果未登录,弹出登录窗口。
alert("请在右边项目区域单击操作图标,发布自己的项目,谢谢!!!!");
//U.CD.RT.CProject(_c.userid, U.CD.U.CUser.TNode[0]);
//U.CD.RT.Panel();
}
//切换各种语言示例程序
U.CD.SL.LangSL = function (l) {
U.CD.USLang = l;
//更改当前语言
U.CD.CL.Init(U.CD.USLang);
//重新初始化左边语言栏目。
//U.CD.SL.Init();
//调用示例首页程序。
$("#UCD_TT_T_N")[0].innerHTML = U.CD.USLang + "语言";
}