Namespace.register("U.MD.D.B"); //背景设置 U.MD.D.B.url = "/img/background/ZMYT.jpg"; //默认背景设计图 U.MD.D.B.backUrl = ""; //存放默认壁纸的全局变量 /* * 作用: 弹出桌面背景框 * */ U.MD.D.B.init = function () { if ($("#U_MD_D_A_A")[0]) {//判断是否有系统图片 return U.selectEl("#U_MD_D_A_A").css("display", "block")//显示系统图片 } var _systemimg = U.selectEl("#U_MD_D_Set_BG").css("display", "block")[0]//显示系统图片 //创建系统设置的弹窗 var _system = new U.UF.UI.form("
系统设置
", _systemimg, { "id": "U_MD_D_A_A", "style": { "width": "746px", "height": "500px" } }, { isnarrow: false, isenlarge: false }).form; U.MD.D.B.look(); //添加图片到_el return _system; //返回父级元素 } /* * 作用: 打印默认可选择的背景图片 * */ U.MD.D.B.look = function () { var i, _img, _imgparent, //i循环所有图片 _img获取显示图片的div _imgparent获取创建包含图片的div层 _frag = $$("frag"), //创建图片的最高级元素 _url = "/img/background/", //图片地址 _pchild = U.selectEl($("#U_MD_D_Set_BG").childs()[0]).Child(), //获取父级元素的第一个子元素,并且获取默认壁纸div _imgname = ["3DBox", "cloud", "fruit", "green", "userbackgound", "Dream_train", "ZMYT"], //建立包含图片名称的对象 _img = U.selectEl(_pchild[0]).Child()[1]; //获取显示图片的div _img.innerText = ""; //清空显示图片的div if (_imgname.hasOwnProperty) {//忽略从原型链继承的属性 for (i = 0; i < _imgname.length; i++) { _imgparent = $$("div", { "className": "U_MD_D_Set_BG_OCO", "title": "设为背景", "onclick": U.UF.C.closure(function (i) {//U.UF.C.closure 解决闭包问题 U.MD.D.B.setBackgroundImage(_url + _imgname[i] + ".jpg"); //给每一个默认壁纸图片添加点击事件 }, [i]) }, _frag); //创建包含图片的div _imgparent = $$("div", {}, _imgparent); ////创建包含图片的div的下层div_url + _imgname[i][j] + "(1)." + i var _addimg = U.UF.IMG.imgReady(_url + _imgname[i] + "(1).jpg", null, function () { /**U.MD.D.H.DYWPTP(_imgparent);*/ }, function () { U.MD.C.imgError(this); }); //获取图片 添加图片 _imgparent.appendChild(_addimg); //添加图片到父级元素中,并显示出来 } } _img.appendChild(_frag); //图片添加到默认图片 } /* * 作用: 切割图片的路径包括图片文件夹和图片的名称的字符串数组 * @param {array} imageurl 图片路径 * return {array} 返回切割好的数组 */ U.MD.D.B.split = function (imageurl) { if (imageurl) {//参数有值 var _i = imageurl.lastIndexOf("/"); //获取/最后出现的位置 return [imageurl.substr(0, _i), imageurl.substr(_i + 1)]; //图片文件夹 和 图片的名称 的字符串数组 } return ["", ""]; //返回切割好的数组 } /* * 作用:同作用于服务器,通过数据库修改,完成壁纸的更改 * @param {array} url 图片的路径 * @param {string} str 图片的标识 */ U.MD.D.B.asyn = function (url, str) { if (!U.MD.U.L.isLogin()) {//判断用户是否登录,如果未登录,则弹出登录窗体 url = url || U.MD.D.B.backUrl[0]; //获取图片的地址 str = str || U.MD.D.B.backUrl[1]; //获取图片的标识 US.userInfo.UserBackGroundImage = url; //讲图片的地址传入服务器中 U.alert("修改中.."); //弹出提示框 //插入数据库,并且通过数据返回数据出来。 U.A.Request(US.CD, [US.DB, "UseStudio_Users", "UpdateUserDesktopInfo", US.userInfo.userid, url + "/" + str, "", ""], function () { U.alert("设置成功"); }); //对调函数,弹出提示框 // U.A.Request('UseStudioManage.SetUserBackgroudnImage', [US.userInfo.userid, url, str], function(){U.alert("设置成功");}, []); } } /* * 作用:点击网盘上传图片 * @param {element} el 图片的元素 * @param {array} url 图片的路径 * @param {string} str 图片的标识 */ U.MD.D.B.disk = function (el, url, str) { U.MD.D.B.setBackgroundImage(url, "S"); //调用设置用户点击的背景图片的功能函数 } /* * 作用:设置用户点击的背景图片 * @param {array} imageurl 图片的地址 * @param {string} typename 图片的标识 */ U.MD.D.B.setBackgroundImage = function (imageurl, typename) { var _el = U.selectEl("#U_MD_D_BG")[0]; //需要设置背景图片的地方 typename = typename || "S"; //设置背景时 undefined 所以值是 "S" //如果没有传递需要设置的背景图片,那么就设置默认的背景图片 if (imageurl == null) {//判断图片的路径是否正确 imageurl = U.MD.D.B.url; //如果图片的路径传值为空的话,则图片路径为默认图片路径 //判断是否有用户设置的图片路径,如果有,则改变全局变量的图片路径为用户设置的图片路径,如果没有,则用默认图片路径。 U.MD.D.B.backUrl = US.userInfo.UserBackGroundImage ? U.MD.D.B.split(US.userInfo.UserBackGroundImage) : [U.MD.D.B.url, typename]; } else {//如果图片的路径不为空 U.MD.D.B.backUrl = [imageurl, typename]; //则全局变量为图片的路径的传值,以及图片的标识传值 } //各种背景设置 switch (typename) { case "T": //标识为T时 //重叠出现 U.selectEl(el).addAttrArray({//改变图片路径 style: { background: "#F0F0F0 url(" + imageurl + ")" } }); break; //跳出循环 case "M": //标识为M时 //原图大小 U.selectEl(el).addAttrArray({//改变图片为原图大小 style: { background: "#F0F0F0 url(" + imageurl + ") 0 0 no-repeat" } }); break; //跳出循环 case "S": //标识为S时 //全屏展示 if (imageurl) { U.selectEl(_el).addAttrArray({ style: { filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + imageurl + ",sizingMethod=scale)", background: "#F0F0F0 url(" + imageurl + ") 0 0 no-repeat", backgroundSize: "100% 100%", MozBackgroundSize: "100% 100%" } }); } break; //全屏 default: break; } } /* * 作用:上传本地图片的设置 * @param {element} el 图片元素 */ U.MD.D.B.upload = function (el) { //上传图片设置 if (U.UF.UP.isImg(el.value)) {//判断是否是图片 //上传图片 调用上传函数,传入图片元素,上传地址,上传成功的回调函数,回调函数的传参 U.UF.UP.inputUpload([el], "http://disk.1473.cn/USUpfile.ashx?typename=UploadWallpaper", U.MD.D.B.asynUp, [el]); } } /* * 作用:上传背景的设置 * @param {element} url 图片的元素 */ U.MD.D.B.asynUp = function (url) { //上传背景设置 var i, _userchild, _imginfo, //i 循环图片文件信息的长度;_userchild 获取用户id的子元素;_imginfo获取图片的信息 _userinfo = US.userInfo; //用户信息 _userid = _userinfo.BHID, //用户的BHID? _userchange = U.MD.DK.M.diskOperatingSwitch(_userinfo.UserId); //用户操作切换,可以查看多个用户的硬盘,所以需要切换。登录用户和非登录用户有不同权限。 r = url.value; //图片文件信息? if (_userid && _userchange[_userid] && (_userchild = _userchange[_userid].Child)) {//false 不进去??? for (i = 0; i < r.length; i++) {//循环图片文件信息的长度 _imginfo = r[i]; //获取图片的信息 //上传文件成功后,由前端的数据结构生成一个数据实体,实际传参请参考函数里面的数据结构 _imginfo = new U.MD.DK.M.entity(_imginfo.UserFilesID, _imginfo.UserFilesSize, _imginfo.UserDirectoryID, _imginfo.UserFilesName, _imginfo.UserFilesName, _imginfo.UserFilesExtendName, US.FILESYSTEMURL + _imginfo.UserFilesServerName, _imginfo.UserFilesAddTime, _imginfo.UseFilesServerThumbnailName, 9999, null, "", 1, _imginfo.UserFilesDescript, "", null) _userchange[_userid].Child.push(_imginfo); //把上传文件成功的数据结构插入数组中 } } U.MD.D.B.setBackgroundImage(U.MD.C.getHeadImage(r[0].UserFilesServerName)); //设置背景 } /* * 作用:从网盘上传图片 * @param {element} url 图片的元素 */ U.MD.D.B.uploadByPan = function () { U.MD.DK.VW.choseFile(function (obj) { U.MD.D.B.setBackgroundImage('http://fs.1473.cn/' + obj.UserDirectoryUrl, 'S'); //给每一个默认壁纸图片添加点击事件 }); }