Giter Site home page Giter Site logo

Comments (11)

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【controller\admin.php】
67行附近

    //跳转到首页
    header('location:/');
改为
    header('location:'.dirname($_SERVER['PHP_SELF']));

107行附近

        exit("<h3>认证失败,请<a href = 'index.php?c=login'>重新登录</a>!</h3>");
改为
        exit("<h3>认证失败,请<a href = './index.php?c=login'>重新登录</a>!</h3>");

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【controller\login.php】
15行附近

    header('location:index.php?c=admin');
改为
    $phpSelf = dirname($_SERVER['PHP_SELF']);
    $phpSelf = ($phpSelf == "/" || $phpSelf == "\\") ? "" : $phpSelf;
    header('location:'.$phpSelf.'/index.php?c=admin');

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【admin\header.php】

    <div class="layui-logo"><a href="/index.php?c=admin" style="color:#009688;"><h2>OneNav后台管理</h1></a></div>
改为
    <div class="layui-logo"><a href="./index.php?c=admin" style="color:#009688;"><h2>OneNav后台管理</h1></a></div>
    <!-- 头部区域(可配合layui已有的水平导航) -->
    <ul class="layui-nav layui-layout-left">
      <li class="layui-nav-item"><a href="/"><i class="layui-icon layui-icon-home"></i> 前台首页</a></li>
      <li class="layui-nav-item"><a href="/index.php?c=admin&page=category_list"><i class="layui-icon layui-icon-list"></i> 分类列表</a></li>
      <li class="layui-nav-item"><a href="/index.php?c=admin&page=add_category"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加分类</a></li>
      <li class="layui-nav-item"><a href="/index.php?c=admin&page=link_list"><i class="layui-icon layui-icon-link"></i> 我的链接</a></li>
      <li class="layui-nav-item"><a href="/index.php?c=admin&page=add_link"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加链接</a></li>
改为
      <li class="layui-nav-item"><a href="./"><i class="layui-icon layui-icon-home"></i> 前台首页</a></li>
      <li class="layui-nav-item"><a href="./index.php?c=admin&page=category_list"><i class="layui-icon layui-icon-list"></i> 分类列表</a></li>
      <li class="layui-nav-item"><a href="./index.php?c=admin&page=add_category"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加分类</a></li>
      <li class="layui-nav-item"><a href="./index.php?c=admin&page=link_list"><i class="layui-icon layui-icon-link"></i> 我的链接</a></li>
      <li class="layui-nav-item"><a href="./index.php?c=admin&page=add_link"><i class="layui-icon layui-icon-add-circle-fine"></i> 添加链接</a></li>
          <dd><a href="/index.php?c=admin&page=logout">退出</a></dd>
改为
          <dd><a href="./index.php?c=admin&page=logout">退出</a></dd>

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【admin\left.php】

            <dd><a href="/index.php?c=admin&page=category_list">分类列表</a></dd>
            <dd><a href="/index.php?c=admin&page=add_category">添加分类</a></dd>
改为
            <dd><a href="./index.php?c=admin&page=category_list">分类列表</a></dd>
            <dd><a href="./index.php?c=admin&page=add_category">添加分类</a></dd>
            <dd><a href="/index.php?c=admin&page=link_list">我的链接</a></dd>
            <dd><a href="/index.php?c=admin&page=add_link">添加链接</a></dd>
改为
            <dd><a href="./index.php?c=admin&page=link_list">我的链接</a></dd>
            <dd><a href="./index.php?c=admin&page=add_link">添加链接</a></dd>

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【templates\admin\static\embed.js】
所有的url index.php?。。。。的index前面都加上./

embed.js文件内的改动比较分散,我就贴出修改后的代码了

layui.use(['element','table','layer','form'], function(){
    var element = layui.element;
    var table = layui.table;
    var form = layui.form;
    layer = layui.layer;

    //第一个实例
  table.render({
    elem: '#category_list'
    ,height: 500
    ,url: './index.php?c=api&method=category_list' //数据接口
    ,page: true //开启分页
    ,cols: [[ //表头
      {field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
      ,{field: 'name', title: '分类名称', width:160}
      ,{field: 'add_time', title: '添加时间', width:160, sort: true,templet:function(d){
        var add_time = timestampToTime(d.add_time);
        return add_time;
      }}
      ,{field: 'up_time', title: '修改时间', width:160,templet:function(d){
          if(d.up_time != ''){
            var up_time = timestampToTime(d.up_time);
            return up_time;
          }
          else{
              return '';
          }
          
      }} 
      ,{field: 'weight', title: '权重', width: 100}
      ,{field: 'property', title: '是否私有', width: 120, sort: true,templet: function(d){
            if(d.property == 1) {
                return '<button type="button" class="layui-btn layui-btn-xs">是</button>';
            }
            else {
                return '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger">否</button>';
            }
      }}
      ,{field: 'description', title: '描述'}
      ,{fixed: 'right', title:'操作', toolbar: '#nav_operate', width:150}
    ]]
  });

  //监听行工具事件
  table.on('tool(mycategory)', function(obj){
    var data = obj.data;
    //console.log(obj);
    //console.log(obj)
    if(obj.event === 'del'){
      layer.confirm('确认删除?',{icon: 3, title:'温馨提示!'}, function(index){
        $.post('./index.php?c=api&method=del_category',{'id':obj.data.id},function(data,status){
            
            if(data.code == 0){
                obj.del();
            }
            else{
                layer.msg(data.err_msg);
            }
        });
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      window.location.href = './index.php?c=admin&page=edit_category&id=' + obj.data.id;
    }
  });
  //渲染链接列表
  table.render({
    elem: '#link_list'
    ,height: 520
    ,url: './index.php?c=api&method=link_list' //数据接口
    ,page: true //开启分页
    ,toolbar: '#linktool'
    ,cols: [[ //表头
      {type:'checkbox'} //开启复选框
      ,{field: 'id', title: 'ID', width:80, sort: true}
      // ,{field: 'fid', title: '分类ID',sort:true, width:90}
      ,{field: 'category_name', title: '所属分类',sort:true,width:120}
      ,{field: 'url', title: 'URL',width:140,templet:function(d){
        var url = '<a target = "_blank" href = "' + d.url + '" title = "' + d.url + '">' + d.url + '</a>';
        return url;
      }}
      ,{field: 'title', title: '链接标题', width:140}
      ,{field: 'add_time', title: '添加时间', width:148, sort: true,templet:function(d){
        var add_time = timestampToTime(d.add_time);
        return add_time;
      }}
      ,{field: 'up_time', title: '修改时间', width:148,sort:true,templet:function(d){
          if(d.up_time == null){
            return '';
          }
          else{
              var up_time = timestampToTime(d.up_time);
              return up_time;
          }
          
      }} 
      ,{field: 'weight', title: '权重', width: 75,sort:true}
      ,{field: 'property', title: '私有', width: 80, sort: true,templet: function(d){
            if(d.property == 1) {
                return '<button type="button" class="layui-btn layui-btn-xs">是</button>';
            }
            else {
                return '<button type="button" class="layui-btn layui-btn-xs layui-btn-danger">否</button>';
            }
      }}
      ,{field: 'click', title: '点击数',width:90,sort:true}
      ,{fixed: 'right', title:'操作', toolbar: '#link_operate'}
    ]]
  });

  //头链接工具栏事件
  table.on('toolbar(mylink)', function(obj){
    var checkStatus = table.checkStatus(obj.config.id);
    switch(obj.event){
      case 'getCheckData':
        var data = checkStatus.data;
        
        if( data.length == 0 ) {
          layer.msg('未选中任何数据!');
        }
        //遍历删除数据
        else{
          layer.confirm('确认删除?',{icon: 3, title:'温馨提示!'}, function(index){
            for (let i = 0; i < data.length; i++) {

              $.post('./index.php?c=api&method=del_link',{'id':data[i].id},function(data,status){
                if(data.code == 0){
                  console.log(obj);
                    obj.del();
                }
                else{
                    layer.msg(data.err_msg);
                }
            });
              
            }
            layer.close(index);
          });
        }
        //console.log(data[0].id);
      break;
      case 'getCheckLength':
        var data = checkStatus.data;
        layer.msg('选中了:'+ data.length + ' 个');
      break;
      case 'isAll':
        layer.msg(checkStatus.isAll ? '全选': '未全选');
      break;
      
      //自定义头工具栏右侧图标 - 提示
      case 'LAYTABLE_TIPS':
        layer.alert('这是工具栏右侧自定义的一个图标按钮');
      break;
    };
  });
  //监听链接工具
  table.on('tool(mylink)', function(obj){
    var data = obj.data;
    //console.log(obj);
    //console.log(obj)
    if(obj.event === 'del'){
      layer.confirm('确认删除?',{icon: 3, title:'温馨提示!'}, function(index){
        $.post('./index.php?c=api&method=del_link',{'id':obj.data.id},function(data,status){
            if(data.code == 0){
                obj.del();
            }
            else{
                layer.msg(data.err_msg);
            }
        });
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      window.location.href = './index.php?c=admin&page=edit_link&id=' + obj.data.id;
    }
  });

  //登录
  //添加链接
  form.on('submit(login)', function(data){
    $.post('./index.php?c=login&check=login',data.field,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        window.location.href = './index.php?c=admin';
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });

  //添加分类目录
  form.on('submit(add_category)', function(data){
    $.post('./index.php?c=api&method=add_category',data.field,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        layer.msg('已添加!', {icon: 1});
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });
  //修改分类目录
  form.on('submit(edit_category)', function(data){
    $.post('./index.php?c=api&method=edit_category',data.field,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        layer.msg('已修改!', {icon: 1});
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });

  //添加链接
  form.on('submit(add_link)', function(data){
    $.post('./index.php?c=api&method=add_link',data.field,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        layer.msg('已添加!', {icon: 1});
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });
  //识别链接信息
  form.on('submit(get_link_info)', function(data){
    $.post('./index.php?c=api&method=get_link_info',data.field.url,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        console.log(data);
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });
  //更新链接
  form.on('submit(edit_link)', function(data){
    $.post('./index.php?c=api&method=edit_link',data.field,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        layer.msg('已更新!', {icon: 1});
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });
  //识别链接信息
  form.on('submit(get_link_info)', function(data){
    //是用ajax异步加载
    $.post('./index.php?c=api&method=get_link_info',data.field.url,function(data,status){
      //如果添加成功
      if(data.code == 0) {
        console.log(data);
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
      }
    });
    console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
    return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
  });
  

});

function get_link_info() {
    var url = $("#url").val();
    var index = layer.load(1);
    $.post('./index.php?c=api&method=get_link_info',{url:url},function(data,status){
      //如果添加成功
      if(data.code == 0) {
        if(data.data.title != null) {
          $("#title").val(data.data.title);
        }
        if(data.data.description != null) {
          $("#description").val(data.data.description);
        }
        
        layer.close(index);
      }
      else{
        layer.msg(data.err_msg, {icon: 5});
        layer.close(index);
      }
    });
}

function  timestampToTime(timestamp) {
    var  date =  new  Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
    Y = date.getFullYear() +  '-' ;
    M = (date.getMonth()+1 < 10 ?  '0' +(date.getMonth()+1) : date.getMonth()+1) +  '-' ;
    D = date.getDate() +  ' ' ;
    h = date.getHours() +  ':' ;
    m = date.getMinutes();
    s = date.getSeconds();
    return  Y+M+D+h+m;
}

function del_category(id){
	layer.confirm('确认删除这张图片?', {icon: 3, title:'温馨提示!'}, function(index){
        $.post("/set/del_img",{imgid:imgid,path:path,thumbnail_path:thumbnail_path},function(data,status){
			var re = JSON.parse(data);
            if(re.code == 200) {
                $("#img"+id).remove();
                console.log("#img"+id);
            }
            else{
                layer.msg(data);
            }
        });
    
    layer.close(index);
    });
}

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【templates\default\index.php】
第45行附近

      <a href="/index.php?c=login" title = "登录OneNav" target="_blank" class="mdui-btn mdui-btn-icon"><i class="mdui-icon material-icons">account_circle</i></a>
改为
      <a href="./index.php?c=login" title = "登录OneNav" target="_blank" class="mdui-btn mdui-btn-icon"><i class="mdui-icon material-icons">account_circle</i></a>

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

【templates\default\static\embed.js】
改动和templates\admin\static\embed.js类似,也比较分散,下面附上改动后的代码

function gotop(){
	$("html,body").animate({scrollTop: '0px'}, 600);
}
$(".search").blur(function(data,status){
	var keywords = $(".search").val();
	
	if( keywords == ''){
		$(".cat-title").removeClass("mdui-hidden");
	}
	
});
var h = holmes({
    input: '.search',
    find: '.link-space',
    placeholder: '<h3>未搜索到匹配结果!</h3>',
    mark: false,
	hiddenAttr: true,
	// 找到了就添加visible类,没找到添加mdui-hidden
    class: {
      visible: 'visible',
      hidden: 'mdui-hidden'
    },
    onHidden(el) {
	//   console.log('hidden', el);
	  
    },
    onFound(el) {
	//   console.log('found', el);
	  $(".cat-title").addClass("mdui-hidden");
    },
    onInput(el) {
		$(".cat-title").addClass("mdui-hidden");
    },
    onVisible(el) {
		$(".cat-title").removeClass("mdui-hidden");
    },
    onEmpty(el) {
		$(".cat-title").removeClass("mdui-hidden");
    }
  });
//鼠标移动到链接修改为原始URL

//js获取协议和域名部分
function get_domain(){
  //获取协议
  var protocol = window.location.protocol;
  protocol = protocol + '//';
  //获取端口号
  var port = window.location.port;
  if( (port == 80) || (port == 443) ){
    port = '';
  }
  var hostname = window.location.hostname;
  domain = protocol + port + hostname;
  return domain;
}
//弹窗
function msg(text){
  // alert('dfd');
  $html = '<div class = "msg">' + text + '</div>';
  $("body").append($html);
  $(".msg").fadeIn();
  $(".msg").fadeOut(3000);
  // $(".msg").remove();
}

function admin_menu() {
  // 加载管理员右键菜单
    //初始化菜单
    $.contextMenu({
      selector: '.link-space',
      callback: function(key, options) {
       link_id = $(this).attr('id');
      link_id = link_id.replace('id_','');
          
   },
      items: {
        "open":{name: "打开",icon:"fa-external-link",callback:function(key,opt){
            var link_id = $(this).attr('id');
            link_id = link_id.replace('id_','');
            var tempwindow=window.open('_blank');
            tempwindow.location='./index.php?c=click&id='+link_id;
          }},
          "edit": {name: "编辑", icon: "edit",callback:function(key,opt){
            var link_id = $(this).attr('id');
            link_id = link_id.replace('id_','');
            var tempwindow=window.open('_blank');
            tempwindow.location='./index.php?c=admin&page=edit_link&id='+link_id;
          }},
          "delete": {name: "删除", icon: "delete",callback:function(){
              var link_id = $(this).attr('id');
              link_id = link_id.replace('id_','');
              mdui.confirm('确认删除?',
              function(){
                  $.post("./index.php?c=api&method=del_link",{id:link_id},function(data,status){
                    //如果删除成功,则移除元素
                    if(data.code == 0) {
                      $("#id_" + link_id).remove();
                    }
                    else{
                      //删除失败
                      mdui.alert(data.err_msg);
                    }
                  });
              },
              function(){
                //点击取消按钮,不做操作
                return true;
              }
            );
          }},
          "sep1": "---------",
          "qrcode": {name: "二维码", icon:"fa-qrcode",callback:function(data,status){
              var link_title = $(this).attr('link-title');
              
              //link_title = link_title.substr(0,8);
              // link_title = link_title + '...';
              var link_id = $(this).attr('id');
              link_id = link_id.replace('id_','');
              var domain = get_domain();
              var url = domain + '/click/' + link_id;
              mdui.dialog({
                'title':link_title,
                'cssClass':'show_qrcode',
                'content':'<img src = "https://qr.png.pub/v1/?text=' + url + '" />'
              });
          }},
          "copy":{name:"复制链接",icon:"copy",callback:function(){
            link_url = $(this).attr('link-url');
            // 复制按钮
            var copy = new clipBoard($(".context-menu-icon-copy"), {
              beforeCopy: function() {
                
              },
              copy: function() {
                return link_url;
                
              },
              afterCopy: function() {
                //msg('链接已复制!');
                mdui.alert('链接已复制!');
              }
          });
            // 复制按钮END
    
          }}

      }
  });
      // 加载右键菜单END
}


function user_menu() {
  // 加载游客右键菜单
//初始化菜单
$.contextMenu({
  selector: '.link-space',
  callback: function(key, options) {
   link_id = $(this).attr('id');
  link_id = link_id.replace('id_','');
      
},
  items: {
    "open":{name: "打开",icon:"fa-external-link",callback:function(key,opt){
        var link_id = $(this).attr('id');
        link_id = link_id.replace('id_','');
        var tempwindow=window.open('_blank');
        tempwindow.location='./index.php?c=click&id='+link_id;
      }},
      "sep1": "---------",
      "qrcode": {name: "二维码", icon:"fa-qrcode",callback:function(data,status){
          var link_title = $(this).attr('link-title');
          
          // link_title = link_title.substr(0,8);
          // link_title = link_title + '...';
          var link_id = $(this).attr('id');
          link_id = link_id.replace('id_','');
          var domain = get_domain();
          var url = domain + '/click/' + link_id;
          mdui.dialog({
            'title':link_title,
            'cssClass':'show_qrcode',
            'content':'<img src = "https://qr.png.pub/v1/?text=' + url + '" />'
          });
      }},
      "copy":{name:"复制链接",icon:"copy",callback:function(){
        link_url = $(this).attr('link-url');
        // 复制按钮
        var copy = new clipBoard($(".context-menu-icon-copy"), {
          beforeCopy: function() {
            
          },
          copy: function() {
            return link_url;
            
          },
          afterCopy: function() {
            //msg('链接已复制!');
            mdui.alert('链接已复制!');
          }
      });
        // 复制按钮END

      }}

  }
});
    // 加载游客右键菜单END
};

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

onenav 修改以使其可以在网站非根目录下运行.zip

from onenav.

coder-xiaomo avatar coder-xiaomo commented on May 21, 2024

附上修改后的整个项目

from onenav.

webPorter avatar webPorter commented on May 21, 2024

已经解决,谢谢大佬

from onenav.

webPorter avatar webPorter commented on May 21, 2024

添加的书签点击后还是会跳到根目录,比如http://index/index.php?c=click&id=1,实际上应该为http://index/子目录/index.php?c=click&id=1
望大佬再帮忙看看

from onenav.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.