Background.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. Namespace.register("U.MD.D.B"); //背景设置
  2. U.MD.D.B.url = "/img/background/ZMYT.jpg"; //默认背景设计图
  3. U.MD.D.B.backUrl = ""; //存放默认壁纸的全局变量
  4. /*
  5. * 作用: 弹出桌面背景框
  6. *
  7. */
  8. U.MD.D.B.init = function () {
  9. if ($("#U_MD_D_A_A")[0]) {//判断是否有系统图片
  10. return U.selectEl("#U_MD_D_A_A").css("display", "block")//显示系统图片
  11. }
  12. var _systemimg = U.selectEl("#U_MD_D_Set_BG").css("display", "block")[0]//显示系统图片
  13. //创建系统设置的弹窗
  14. var _system = new U.UF.UI.form("<div class='U_MD_F_S_TI'>系统设置</div>",
  15. _systemimg,
  16. {
  17. "id": "U_MD_D_A_A",
  18. "style": {
  19. "width": "746px",
  20. "height": "500px"
  21. }
  22. },
  23. {
  24. isnarrow: false,
  25. isenlarge: false
  26. }).form;
  27. U.MD.D.B.look(); //添加图片到_el
  28. return _system; //返回父级元素
  29. }
  30. /*
  31. * 作用: 打印默认可选择的背景图片
  32. *
  33. */
  34. U.MD.D.B.look = function () {
  35. var i, _img, _imgparent, //i循环所有图片 _img获取显示图片的div _imgparent获取创建包含图片的div层
  36. _frag = $$("frag"), //创建图片的最高级元素
  37. _url = "/img/background/", //图片地址
  38. _pchild = U.selectEl($("#U_MD_D_Set_BG").childs()[0]).Child(), //获取父级元素的第一个子元素,并且获取默认壁纸div
  39. _imgname = ["3DBox", "cloud", "fruit", "green", "userbackgound", "Dream_train", "ZMYT"], //建立包含图片名称的对象
  40. _img = U.selectEl(_pchild[0]).Child()[1]; //获取显示图片的div
  41. _img.innerText = ""; //清空显示图片的div
  42. if (_imgname.hasOwnProperty) {//忽略从原型链继承的属性
  43. for (i = 0; i < _imgname.length; i++) {
  44. _imgparent = $$("div", { "className": "U_MD_D_Set_BG_OCO", "title": "设为背景",
  45. "onclick": U.UF.C.closure(function (i) {//U.UF.C.closure 解决闭包问题
  46. U.MD.D.B.setBackgroundImage(_url + _imgname[i] + ".jpg"); //给每一个默认壁纸图片添加点击事件
  47. }, [i])
  48. }, _frag); //创建包含图片的div
  49. _imgparent = $$("div", {}, _imgparent); ////创建包含图片的div的下层div_url + _imgname[i][j] + "(1)." + i
  50. 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); }); //获取图片 添加图片
  51. _imgparent.appendChild(_addimg); //添加图片到父级元素中,并显示出来
  52. }
  53. }
  54. _img.appendChild(_frag); //图片添加到默认图片
  55. }
  56. /*
  57. * 作用: 切割图片的路径包括图片文件夹和图片的名称的字符串数组
  58. * @param {array} imageurl 图片路径
  59. * return {array} 返回切割好的数组
  60. */
  61. U.MD.D.B.split = function (imageurl) {
  62. if (imageurl) {//参数有值
  63. var _i = imageurl.lastIndexOf("/"); //获取/最后出现的位置
  64. return [imageurl.substr(0, _i), imageurl.substr(_i + 1)]; //图片文件夹 和 图片的名称 的字符串数组
  65. }
  66. return ["", ""]; //返回切割好的数组
  67. }
  68. /*
  69. * 作用:同作用于服务器,通过数据库修改,完成壁纸的更改
  70. * @param {array} url 图片的路径
  71. * @param {string} str 图片的标识
  72. */
  73. U.MD.D.B.asyn = function (url, str) {
  74. if (!U.MD.U.L.isLogin()) {//判断用户是否登录,如果未登录,则弹出登录窗体
  75. url = url || U.MD.D.B.backUrl[0]; //获取图片的地址
  76. str = str || U.MD.D.B.backUrl[1]; //获取图片的标识
  77. US.userInfo.UserBackGroundImage = url; //讲图片的地址传入服务器中
  78. U.alert("修改中.."); //弹出提示框
  79. //插入数据库,并且通过数据返回数据出来。
  80. U.A.Request(US.CD, [US.DB, "UseStudio_Users", "UpdateUserDesktopInfo", US.userInfo.userid, url + "/" + str, "", ""],
  81. function () { U.alert("设置成功"); }); //对调函数,弹出提示框
  82. // U.A.Request('UseStudioManage.SetUserBackgroudnImage', [US.userInfo.userid, url, str], function(){U.alert("设置成功");}, []);
  83. }
  84. }
  85. /*
  86. * 作用:点击网盘上传图片
  87. * @param {element} el 图片的元素
  88. * @param {array} url 图片的路径
  89. * @param {string} str 图片的标识
  90. */
  91. U.MD.D.B.disk = function (el, url, str) {
  92. U.MD.D.B.setBackgroundImage(url, "S"); //调用设置用户点击的背景图片的功能函数
  93. }
  94. /*
  95. * 作用:设置用户点击的背景图片
  96. * @param {array} imageurl 图片的地址
  97. * @param {string} typename 图片的标识
  98. */
  99. U.MD.D.B.setBackgroundImage = function (imageurl, typename) {
  100. var _el = U.selectEl("#U_MD_D_BG")[0]; //需要设置背景图片的地方
  101. typename = typename || "S"; //设置背景时 undefined 所以值是 "S"
  102. //如果没有传递需要设置的背景图片,那么就设置默认的背景图片
  103. if (imageurl == null) {//判断图片的路径是否正确
  104. imageurl = U.MD.D.B.url; //如果图片的路径传值为空的话,则图片路径为默认图片路径
  105. //判断是否有用户设置的图片路径,如果有,则改变全局变量的图片路径为用户设置的图片路径,如果没有,则用默认图片路径。
  106. U.MD.D.B.backUrl = US.userInfo.UserBackGroundImage ? U.MD.D.B.split(US.userInfo.UserBackGroundImage) : [U.MD.D.B.url, typename];
  107. } else {//如果图片的路径不为空
  108. U.MD.D.B.backUrl = [imageurl, typename]; //则全局变量为图片的路径的传值,以及图片的标识传值
  109. }
  110. //各种背景设置
  111. switch (typename) {
  112. case "T": //标识为T时
  113. //重叠出现
  114. U.selectEl(el).addAttrArray({//改变图片路径
  115. style: {
  116. background: "#F0F0F0 url(" + imageurl + ")"
  117. }
  118. });
  119. break; //跳出循环
  120. case "M": //标识为M时
  121. //原图大小
  122. U.selectEl(el).addAttrArray({//改变图片为原图大小
  123. style: {
  124. background: "#F0F0F0 url(" + imageurl + ") 0 0 no-repeat"
  125. }
  126. });
  127. break; //跳出循环
  128. case "S": //标识为S时
  129. //全屏展示
  130. if (imageurl) {
  131. U.selectEl(_el).addAttrArray({
  132. style: {
  133. filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + imageurl + ",sizingMethod=scale)",
  134. background: "#F0F0F0 url(" + imageurl + ") 0 0 no-repeat",
  135. backgroundSize: "100% 100%",
  136. MozBackgroundSize: "100% 100%"
  137. }
  138. });
  139. }
  140. break; //全屏
  141. default: break;
  142. }
  143. }
  144. /*
  145. * 作用:上传本地图片的设置
  146. * @param {element} el 图片元素
  147. */
  148. U.MD.D.B.upload = function (el) { //上传图片设置
  149. if (U.UF.UP.isImg(el.value)) {//判断是否是图片
  150. //上传图片 调用上传函数,传入图片元素,上传地址,上传成功的回调函数,回调函数的传参
  151. U.UF.UP.inputUpload([el], "http://disk.1473.cn/USUpfile.ashx?typename=UploadWallpaper", U.MD.D.B.asynUp, [el]);
  152. }
  153. }
  154. /*
  155. * 作用:上传背景的设置
  156. * @param {element} url 图片的元素
  157. */
  158. U.MD.D.B.asynUp = function (url) { //上传背景设置
  159. var i, _userchild, _imginfo, //i 循环图片文件信息的长度;_userchild 获取用户id的子元素;_imginfo获取图片的信息
  160. _userinfo = US.userInfo; //用户信息
  161. _userid = _userinfo.BHID, //用户的BHID?
  162. _userchange = U.MD.DK.M.diskOperatingSwitch(_userinfo.UserId); //用户操作切换,可以查看多个用户的硬盘,所以需要切换。登录用户和非登录用户有不同权限。
  163. r = url.value; //图片文件信息?
  164. if (_userid && _userchange[_userid] && (_userchild = _userchange[_userid].Child)) {//false 不进去???
  165. for (i = 0; i < r.length; i++) {//循环图片文件信息的长度
  166. _imginfo = r[i]; //获取图片的信息
  167. //上传文件成功后,由前端的数据结构生成一个数据实体,实际传参请参考函数里面的数据结构
  168. _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)
  169. _userchange[_userid].Child.push(_imginfo); //把上传文件成功的数据结构插入数组中
  170. }
  171. }
  172. U.MD.D.B.setBackgroundImage(U.MD.C.getHeadImage(r[0].UserFilesServerName)); //设置背景
  173. }
  174. /*
  175. * 作用:从网盘上传图片
  176. * @param {element} url 图片的元素
  177. */
  178. U.MD.D.B.uploadByPan = function () {
  179. U.MD.DK.VW.choseFile(function (obj) {
  180. U.MD.D.B.setBackgroundImage('http://fs.1473.cn/' + obj.UserDirectoryUrl, 'S'); //给每一个默认壁纸图片添加点击事件
  181. });
  182. }