123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287 |
- require('../css/information.less')
- const {
- post,
- throttle,
- imageUrlPrefix,
- config,
- getUrlArgObject,
- isIe8
- } = require('./promise.js');
- const $ = require("jquery");
- let TxtICon = require('./../images/txtIcon.png')
- let VedioIcon = require('./../images/vedioIcon.png')
- let currentIcon = require('./../images/icon_current.png')
- if(isIe8()) {
- let reg = /undefined/g
- TxtICon = TxtICon.replace(reg, '')
- VedioIcon = VedioIcon.replace(reg, '')
- currentIcon = currentIcon.replace(reg, '')
- }
- const isLocal = window.location.hostname.indexOf('localhost') !=-1;
- function getInfomation() {
- var param = {
- "type": getUrlArgObject('type'),
- "name": getUrlArgObject('name'),
- "position": getUrlArgObject('position')
- };
- const uname = getUrlArgObject('uname')
- const showName = param.name
- if (param.type == 5 || param.type == 51) {
- param.type = 12;
- param.name = uname;
- }
- if (param.type == 82) {
- param.position = "8";
- }
- if (param.type == 83) {
- param.position = "9";
- }
- post(config.information, param).then((res) => {
- const data = res.data.data
- document.title = showName
- var str = '';
- var anchors = '';
- var item = '';
- if (!data) {
- $("h1").html("暂时没有数据");
- $(".anchors").css("display", "none");
- return;
- }
- var list = data.details;
-
- // $("h1").css({
- // "color": "#267FD7",
- // "borderBottom": "4px solid #E9E9E9",
- // "padding": "0px 60px 50px 0px"
- // });
- if(param.type == 82 || param.type == 83){
- for (var i = 0; i < list.length; i++) {
- item = list[i];
- let contentObj = JSON.parse(item.content)
- // anchors = '<li><i></i><a href="#' + item.title +
- // '">' + item.title + '</a></li><li class="anchor-line"></li>';
- // str = '<div class="infoBox"><div class="title"> <div class= "circleBox"><span class="circle"> <span></div> <h2 class="titleH2" id="' + item.title +
- // '">'
- // if (getUrlArgObject('type') == 8) {
- // str += '【' + item.title + '】'
- // } else {
- // str += item.title
- // }
- // str += '</h2></div>' +
- // '<div><pre>' + item.content + '</pre><div></div>';
- // str = `<div class="infoWrapper">${str}</div>`
- // $(".infos").append(str);
- $(".anchors").css("display","none");
- // $(".anchors ul").append(anchors);
- str = `<div class="downBox">
- <p class="txtBox"><img style="top:${param.type == '82' ? '11px':'7px'}" class="downImg" src="${param.type == '82' ? TxtICon:VedioIcon}">${item.title}</p>
- <p class="sizeBox">文件大小${contentObj.size}</p>
- <div class="BtnBox"><span class="download" data-url="${contentObj.url}" data-title="${contentObj.name}">下载</span></div>
- </div>`
- }
- $(".infos").append(str);
- downLoadFile()
- }else{
- $("h1").html(showName);
- for (var i = 0; i < list.length; i++) {
- item = list[i];
- item.content = item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
- anchors = '<li><i></i><a href="#'+item.title+'">' + item.title + '</a></li><li class="anchor-line"></li>';
- str = '<div class="infoBox"><div class="title"> <div class= "circleBox"><span class="circle"> </span></div> <h2 class="titleH2" id="' + item.title +
- '">'
- if (getUrlArgObject('type') == 8) {
- str += '【' + item.title + '】'
- } else {
- str += item.title
- }
- str += '</h2></div>' +
- '<div class="contentWrapper"><pre>' + item.content + '</pre><div></div>';
- str = `<div class="infoWrapper">${str}</div>`
- $(".infos").append(str);
- $(".anchors ul").append(anchors);
-
- }
- }
-
- addLinkClickEvent();
- adjustHeight();
- adjustWidth()
- $('.content img').bind('contextmenu', function(){
- return false
- })
- function addScrollEvent() {
- var scrollTop = $('.infos').scrollTop()
- var divHeight = 0;
- for (var i = 0; i < list.length; i++) {
- divHeight = divHeight + parseInt($('#' + list[i].title).css('height')) + parseInt($('#' + list[i].title).parent().next().css('height')) + 30
- if (divHeight > scrollTop) {
- var anchor = 2 * (i);
- $('.anchors ul').children().eq(anchor).addClass('active').siblings().removeClass('active');
- setBackground()
- return;
- }
- }
- }
- $(".infos").scroll(throttle(addScrollEvent, 200));
- })
- }
- getInfomation();
- function addLinkClickEvent() {
- $(".anchors ul li:first").addClass("active");
- setBackground()
- $(".anchors ul li>a").on("click", function () {
- $(".active").removeClass('active');
- $(this).parent().addClass("active");
- setBackground()
- });
- }
- function setBackground(){
- $(".anchors i").css({
- background:"#E0E2E3"
- })
- $(".anchors .active i").css({
- background:`url(${currentIcon}) center center no-repeat`
- })
- }
- function downLoadFile() {
- $(".download").on("click", function(){
- const downUrl = $(this).attr('data-url')
- const url = isLocal ?'http://192.168.2.236:82'+downUrl + '?download=1' : 'http://'+window.location.hostname+':82'+downUrl + '?download=1'
- alert(url)
- const downTitle = $(this).attr('data-title')
- // download(url, downTitle)
- downLoadFileIe(url, downTitle)
- })
- // var $form = $('<form method="GET"></form>');
- // $form.attr('action', url);
- // $form.appendTo($('body'));
- // $form.submit();
- // const ele = document.createElement('a');
- // ele.setAttribute('download' , 'download');//用于设置下载文件的文件名
- // ele.setAttribute('href',url); //设置下载文件的url地址
- // ele.click();
- }
- // function getBlob(url,cb) {
- // var xhr = new XMLHttpRequest();
- // xhr.open('GET', url, true);
- // xhr.responseType = 'blob';
- // xhr.onload = function() {
- // if (xhr.status === 200) {
- // cb(xhr.response);
- // }
- // };
- // xhr.send();
- // }
- // function saveAs(blob, filename) {
- // if (window.navigator.msSaveOrOpenBlob) {
- // navigator.msSaveBlob(blob, filename);
- // } else {
- // var link = document.createElement('a');
- // var body = document.querySelector('body');
- // link.href = window.URL.createObjectURL(blob);
- // link.download = filename;
- // // fix Firefox
- // link.style.display = 'none';
- // body.appendChild(link);
-
- // link.click();
- // body.removeChild(link);
- // window.URL.revokeObjectURL(link.href);
- // };
- // }
- // function download(url, filename){
- // getBlob(url, function(blob) {
- // saveAs(blob, filename);
- // });
- // }
- function adjustWidth() {
- var wt = window.innerWidth || document.documentElement.clientWidth;
- $(".titleH2").width(wt- 0.2*wt -33 - 200 - 17 - 40 -15 + 'px')
- $(".contentWrapper").width(wt- 0.2*wt -33 - 200 - 17 - 40 -15 + 'px')
- }
- function adjustHeight() {
- var ht = window.innerHeight || document.documentElement.clientHeight;
- $(".content").height(ht - 145 + "px");
- }
- $(window).on('resize', function(){
- adjustHeight()
- adjustWidth()
- })
- function downLoadFileIe (url, name) {
- if (!!window.ActiveXObject || "ActiveXObject" in window) {
- //ie
- var oPow = window.open(url, "", "width = 1, height = 1, top = 5000, left = 5000 ");
- var isOpen = true; //判断window.open是否被禁用
- try {
- if (oPow == null) {
- isOpen = false
- }
- } catch (err) {
- isOpen = false
- }
- alert(isOpen)
- if (isOpen) {
- //没禁用window.open采用window.open下载
- // while (oPow.document.readyState !== "complete") {
- // if (oPow.document.readyState === "complete") break;
- // }
- oPow.document.execCommand("SaveAs", true, name);
- oPow.close();
- } else {
- //禁用了window.open采用iframe下载
- var oIrame = document.createElement('iframe');
- oIrame.style.width = "0px";
- oIrame.style.height = "0px";
- oIrame.style.opacity = 1;
- document.body.appendChild(oIrame)
- oIrame.src = url;
- var IfDoc = oIrame.contentDocument || oIrame.document;
- oIrame.onreadystatechange = function () { // IE下的节点都有onreadystatechange这个事件
- if (oIrame.readyState == "complete") {
- // oIrame.execCommand("SaveAs", true, name)
- document.body.removeChild(oIrame)
- }
- };
- }
- } else {
- if (typeof url == 'object' && url instanceof Blob) {
- url = URL.createObjectURL(url); // 创建blob地址
- }
- var aLink = document.createElement('a');
- aLink.href = url;
- aLink.download = name || ''; // HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效
- var event;
- if (window.MouseEvent) {
- event = new MouseEvent('click');
- } else {
- if (document.createEvent) {
- event = document.createEvent('MouseEvents');
- event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
- }
- }
- aLink.dispatchEvent(event);
- }
- }
|