From b546760a6f8a6db3f0981a66ad7a203cb0453720 Mon Sep 17 00:00:00 2001
From: WangHao <43278047@qq.com>
Date: Sun, 11 Apr 2021 02:13:20 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4mongodb=20=E6=96=B0=E5=A2=9E?=
 =?UTF-8?q?=E5=89=8D=E7=AB=AF=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=E7=AE=A1?=
 =?UTF-8?q?=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/MongdbApplicationTests.java    | 112 +++++++--------
 .../src/main/resources/application-druid.yml  |   6 +-
 ruoyi-common/pom.xml                          |  12 +-
 .../ruoyi/note/domain/NoteContentMgDb.java    |   4 +-
 .../note/service/INoteRepositoryService.java  |  26 ++--
 .../note/service/impl/NmNoteServiceImpl.java  |  60 ++++----
 .../impl/NoteRepositoryServiceImpl.java       | 134 +++++++++---------
 ruoyi-ui/src/assets/styles/base.css           |  11 ++
 ruoyi-ui/src/router/index.js                  |  47 +++++-
 ruoyi-ui/src/views/bookmark/bkuser/index.vue  | 102 ++++++++++---
 .../{common => bkuser/tool}/ImportHtml.vue    |  19 ++-
 .../views/bookmark/bkuser/tool/aboutUs.vue    |  59 ++++++++
 .../bkuser/tool}/bkindex.vue                  |  30 ++--
 .../views/bookmark/bkuser/tool/exportHtml.vue |  33 +++++
 .../views/bookmark/bkuser/tool/issueLog.vue   |  67 +++++++++
 .../bookmark/bkuser/tool/userSettings.vue     |  33 +++++
 .../src/views/bookmark/bookmark/index.vue     |  15 ++
 ruoyi-ui/src/views/bookmark/common/tool.vue   |  17 +--
 ruoyi-ui/src/views/bookmark/index/index.vue   |   8 ++
 19 files changed, 564 insertions(+), 231 deletions(-)
 rename ruoyi-ui/src/views/bookmark/{common => bkuser/tool}/ImportHtml.vue (94%)
 create mode 100644 ruoyi-ui/src/views/bookmark/bkuser/tool/aboutUs.vue
 rename ruoyi-ui/src/views/{system/user/profile => bookmark/bkuser/tool}/bkindex.vue (68%)
 create mode 100644 ruoyi-ui/src/views/bookmark/bkuser/tool/exportHtml.vue
 create mode 100644 ruoyi-ui/src/views/bookmark/bkuser/tool/issueLog.vue
 create mode 100644 ruoyi-ui/src/views/bookmark/bkuser/tool/userSettings.vue

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/MongdbApplicationTests.java b/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/MongdbApplicationTests.java
index 2250bb13a..7ae5007ca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/MongdbApplicationTests.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/test/controller/MongdbApplicationTests.java
@@ -5,7 +5,7 @@ import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.note.domain.NoteContentMgDb;
 import com.ruoyi.note.service.INoteRepositoryService;
-import org.bson.types.ObjectId;
+//import org.bson.types.ObjectId;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -36,43 +36,43 @@ public class MongdbApplicationTests  extends BaseSpringBootTest{
     /**
      * 查询所有信息
      */
-    @Test
-    public void findAll() {
-        List<NoteContentMgDb> all = noteRepositoryService.findAll();
-        System.out.println(all.size());
-    }
+//    @Test
+//    public void findAll() {
+//        List<NoteContentMgDb> all = noteRepositoryService.findAll();
+//        System.out.println(all.size());
+//    }
 
     /**
      * 新增信息
      */
-    @Test
-    public void save() {
-        NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
-        noteContentMgDb.setId(15108230363503104L);
-        noteContentMgDb.setNoteContent("宋人头");
-        noteRepositoryService.save(noteContentMgDb);
-    }
+//    @Test
+//    public void save() {
+//        NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
+//        noteContentMgDb.setId(15108230363503104L);
+//        noteContentMgDb.setNoteContent("宋人头");
+//        noteRepositoryService.save(noteContentMgDb);
+//    }
 
 
     /**
      * 修改信息
      */
-    @Test
-    public void update() {
-        NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
-//        noteContentMgDb.setId(2L);
-        noteContentMgDb.setNoteContent("吴很帅");
-        noteRepositoryService.update(noteContentMgDb);
-    }
+//    @Test
+//    public void update() {
+//        NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
+////        noteContentMgDb.setId(2L);
+//        noteContentMgDb.setNoteContent("吴很帅");
+//        noteRepositoryService.update(noteContentMgDb);
+//    }
 
     /**
      * 删除信息
      */
-    @Test
-    public void delete() {
-        noteRepositoryService.delete(3);
-    }
-
+//    @Test
+//    public void delete() {
+//        noteRepositoryService.delete(3);
+//    }
+//
 
 
 
@@ -102,37 +102,37 @@ public class MongdbApplicationTests  extends BaseSpringBootTest{
      * @param
      * @return
      */
-    @Test
-    public void redisToMgDB(){
-        //模糊查询 获取所有的key
-        Collection<String> listNote= redisCache.keys(Constants.NM_NOTE_CONTENT+"*");
-        for(String str:listNote){
-            //文章UUID
-            String mgDbContentUUID=str.replace(Constants.NM_NOTE_CONTENT,"");
-            System.out.println("str:"+str);
-            //文章
-            String redisContent= redisCache.getCacheObject(str).toString();
-            //查询mongoDb  存在就修改 不存在就新增
-            List<NoteContentMgDb> listMgDbContent =  noteRepositoryService.findById(mgDbContentUUID);
-            if (listMgDbContent!=null&&!listMgDbContent.isEmpty()){
-                //修改
-                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
-                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
-                noteContentMgDb.setNoteContent(redisContent);
-                noteRepositoryService.update(noteContentMgDb);
-            }else {
-                //新增
-                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
-                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
-                noteContentMgDb.setNoteContent(redisContent);
-                noteRepositoryService.save(noteContentMgDb);
-            }
-            //删除对应缓存
-            //redisCache.deleteObject(str);
-        }
-
-
-    }
+//    @Test
+//    public void redisToMgDB(){
+//        //模糊查询 获取所有的key
+//        Collection<String> listNote= redisCache.keys(Constants.NM_NOTE_CONTENT+"*");
+//        for(String str:listNote){
+//            //文章UUID
+//            String mgDbContentUUID=str.replace(Constants.NM_NOTE_CONTENT,"");
+//            System.out.println("str:"+str);
+//            //文章
+//            String redisContent= redisCache.getCacheObject(str).toString();
+//            //查询mongoDb  存在就修改 不存在就新增
+//            List<NoteContentMgDb> listMgDbContent =  noteRepositoryService.findById(mgDbContentUUID);
+//            if (listMgDbContent!=null&&!listMgDbContent.isEmpty()){
+//                //修改
+//                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
+//                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
+//                noteContentMgDb.setNoteContent(redisContent);
+//                noteRepositoryService.update(noteContentMgDb);
+//            }else {
+//                //新增
+//                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
+//                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
+//                noteContentMgDb.setNoteContent(redisContent);
+//                noteRepositoryService.save(noteContentMgDb);
+//            }
+//            //删除对应缓存
+//            //redisCache.deleteObject(str);
+//        }
+//
+//
+//    }
 
 
 
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 4a444ea15..869692ebe 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -58,9 +58,9 @@ spring:
 
 
     #mongodb
-    data:
-       mongodb:
-            uri: mongodb://localhost:27017/ChangQuYun
+#    data:
+#       mongodb:
+#            uri: mongodb://localhost:27017/ChangQuYun
 #设置了密码
 #  spring.data.mongodb.uri=mongodb://admin:123456@192.168.56.128:27017/admin
 #格式: mongodb://账号:密码@ip:端口/数据库?认证数据库
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 4547b25ee..38cbddc5b 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -161,12 +161,12 @@
             <artifactId>lombok</artifactId>
             <version>1.18.12</version>
         </dependency>
-        <!-- lombok 实体类工具-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-mongodb</artifactId>
-            <version>2.3.4.RELEASE</version>
-        </dependency>
+        <!-- mongodb工具-->
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-data-mongodb</artifactId>-->
+<!--            <version>2.3.4.RELEASE</version>-->
+<!--        </dependency>-->
 
 
 
diff --git a/ruoyi-note/src/main/java/com/ruoyi/note/domain/NoteContentMgDb.java b/ruoyi-note/src/main/java/com/ruoyi/note/domain/NoteContentMgDb.java
index d99beaf34..c8c01c152 100644
--- a/ruoyi-note/src/main/java/com/ruoyi/note/domain/NoteContentMgDb.java
+++ b/ruoyi-note/src/main/java/com/ruoyi/note/domain/NoteContentMgDb.java
@@ -1,6 +1,6 @@
 package com.ruoyi.note.domain;
 
-import org.springframework.data.mongodb.core.mapping.Document;
+//import org.springframework.data.mongodb.core.mapping.Document;
 
 import javax.persistence.Id;
 import java.io.Serializable;
@@ -10,7 +10,7 @@ import java.io.Serializable;
  * @Date: 2020/10/08 19:07
  * 功能描述:
  */
-@Document(collection = "NoteContent")
+//@Document(collection = "NoteContent")
 public class NoteContentMgDb implements Serializable {
 
     @Id
diff --git a/ruoyi-note/src/main/java/com/ruoyi/note/service/INoteRepositoryService.java b/ruoyi-note/src/main/java/com/ruoyi/note/service/INoteRepositoryService.java
index 43d444c68..4f754061a 100644
--- a/ruoyi-note/src/main/java/com/ruoyi/note/service/INoteRepositoryService.java
+++ b/ruoyi-note/src/main/java/com/ruoyi/note/service/INoteRepositoryService.java
@@ -1,10 +1,10 @@
 package com.ruoyi.note.service;
 
-import com.mongodb.client.MongoCollection;
-import com.mongodb.client.model.Filters;
+//import com.mongodb.client.MongoCollection;
+//import com.mongodb.client.model.Filters;
 import com.ruoyi.note.domain.NoteContentMgDb;
 import com.sun.corba.se.spi.ior.ObjectId;
-import org.springframework.data.mongodb.core.mapping.Document;
+//import org.springframework.data.mongodb.core.mapping.Document;
 
 import java.util.List;
 
@@ -15,14 +15,14 @@ import java.util.List;
  */
 public interface INoteRepositoryService {
 
-    void save(NoteContentMgDb noteContentMgDb);
-
-    void update(NoteContentMgDb noteContentMgDb);
-
-    List<NoteContentMgDb> findAll();
-
-    void delete(Integer id);
-
-    //根据id查询
-    List<NoteContentMgDb> findById(String id);
+//    void save(NoteContentMgDb noteContentMgDb);
+//
+//    void update(NoteContentMgDb noteContentMgDb);
+//
+//    List<NoteContentMgDb> findAll();
+//
+//    void delete(Integer id);
+//
+//    //根据id查询
+//    List<NoteContentMgDb> findById(String id);
 }
diff --git a/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NmNoteServiceImpl.java b/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NmNoteServiceImpl.java
index 542e76b1e..c6e3cfc7a 100644
--- a/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NmNoteServiceImpl.java
+++ b/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NmNoteServiceImpl.java
@@ -6,10 +6,10 @@ import java.util.Map;
 
 import cn.hutool.core.date.DateUtil;
 import com.github.wujun234.uid.UidGenerator;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DBObject;
-import com.mongodb.client.MongoCollection;
-import com.mongodb.client.MongoCursor;
+//import com.mongodb.BasicDBObject;
+//import com.mongodb.DBObject;
+//import com.mongodb.client.MongoCollection;
+//import com.mongodb.client.MongoCursor;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
@@ -18,7 +18,7 @@ import com.ruoyi.note.domain.NoteContentMgDb;
 import com.ruoyi.note.service.INmNoteContentService;
 import com.ruoyi.note.service.INoteRepositoryService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.mongodb.core.mapping.Document;
+//import org.springframework.data.mongodb.core.mapping.Document;
 import org.springframework.stereotype.Service;
 import com.ruoyi.note.mapper.NmNoteMapper;
 import com.ruoyi.note.domain.NmNote;
@@ -167,31 +167,31 @@ public class NmNoteServiceImpl implements INmNoteService {
      */
     @Override
     public void redisToMongonDB() {
-        //模糊查询 获取所有的key
-        Collection<String> listNote= redisCache.keys(Constants.NM_NOTE_CONTENT+"*");
-        for(String str:listNote){
-            //文章UUID
-            String mgDbContentUUID=str.replace(Constants.NM_NOTE_CONTENT,"");
-            //文章
-            String redisContent= redisCache.getCacheObject(str).toString();
-            //查询mongoDb  存在就修改 不存在就新增
-            List<NoteContentMgDb> listMgDbContent =  noteRepositoryService.findById(mgDbContentUUID);
-            if (listMgDbContent!=null&&!listMgDbContent.isEmpty()){
-                //修改
-                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
-                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
-                noteContentMgDb.setNoteContent(redisContent);
-                noteRepositoryService.update(noteContentMgDb);
-            }else {
-                //新增
-                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
-                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
-                noteContentMgDb.setNoteContent(redisContent);
-                noteRepositoryService.save(noteContentMgDb);
-            }
-            //删除对应缓存
-            redisCache.deleteObject(str);
-        }
+//        //模糊查询 获取所有的key
+//        Collection<String> listNote= redisCache.keys(Constants.NM_NOTE_CONTENT+"*");
+//        for(String str:listNote){
+//            //文章UUID
+//            String mgDbContentUUID=str.replace(Constants.NM_NOTE_CONTENT,"");
+//            //文章
+//            String redisContent= redisCache.getCacheObject(str).toString();
+//            //查询mongoDb  存在就修改 不存在就新增
+//            List<NoteContentMgDb> listMgDbContent =  noteRepositoryService.findById(mgDbContentUUID);
+//            if (listMgDbContent!=null&&!listMgDbContent.isEmpty()){
+//                //修改
+//                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
+//                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
+//                noteContentMgDb.setNoteContent(redisContent);
+//                noteRepositoryService.update(noteContentMgDb);
+//            }else {
+//                //新增
+//                NoteContentMgDb noteContentMgDb = new NoteContentMgDb();
+//                noteContentMgDb.setId(Long.valueOf(mgDbContentUUID));
+//                noteContentMgDb.setNoteContent(redisContent);
+//                noteRepositoryService.save(noteContentMgDb);
+//            }
+//            //删除对应缓存
+//            redisCache.deleteObject(str);
+//        }
 
     }
 
diff --git a/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NoteRepositoryServiceImpl.java b/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NoteRepositoryServiceImpl.java
index a8c8b2b3b..5f9c18793 100644
--- a/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NoteRepositoryServiceImpl.java
+++ b/ruoyi-note/src/main/java/com/ruoyi/note/service/impl/NoteRepositoryServiceImpl.java
@@ -1,18 +1,18 @@
 package com.ruoyi.note.service.impl;
 
 
-import com.mongodb.client.MongoCollection;
-import com.mongodb.client.model.Filters;
+//import com.mongodb.client.MongoCollection;
+//import com.mongodb.client.model.Filters;
 import com.ruoyi.note.domain.NoteContentMgDb;
 import com.ruoyi.note.service.INoteRepositoryService;
 
-import org.bson.types.ObjectId;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.mongodb.core.MongoTemplate;
-import org.springframework.data.mongodb.core.mapping.Document;
-import org.springframework.data.mongodb.core.query.Criteria;
-import org.springframework.data.mongodb.core.query.Query;
-import org.springframework.data.mongodb.core.query.Update;
+//import org.bson.types.ObjectId;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.data.mongodb.core.MongoTemplate;
+//import org.springframework.data.mongodb.core.mapping.Document;
+//import org.springframework.data.mongodb.core.query.Criteria;
+//import org.springframework.data.mongodb.core.query.Query;
+//import org.springframework.data.mongodb.core.query.Update;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -25,64 +25,64 @@ import java.util.List;
 @Service
 public class NoteRepositoryServiceImpl implements INoteRepositoryService {
 
-    @Autowired
-    private MongoTemplate mongoTemplate;
-
-
-
-    /**
-     * 新增信息
-     * @param student
-     */
-    @Override
-    public void save(NoteContentMgDb student) {
-        mongoTemplate.save(student);
-    }
-
-    /**
-     * 修改信息
-     * @param noteContentMgDb
-     */
-    @Override
-    public void update(NoteContentMgDb noteContentMgDb) {
-        //修改的条件
-        Query query = new Query(Criteria.where("id").is(noteContentMgDb.getId()));
-
-        //修改的内容
-        Update update = new Update();
-        update.set("name", noteContentMgDb.getNoteContent());
-
-        mongoTemplate.updateFirst(query,update, NoteContentMgDb.class);
-    }
-
-    /**
-     * 查询所有信息
-     * @return
-     */
-    @Override
-    public List<NoteContentMgDb> findAll() {
-        return mongoTemplate.findAll(NoteContentMgDb.class);
-    }
-
-    /**
-     * 根据id查询所有信息
-     * @param id
-     */
-    @Override
-    public void delete(Integer id) {
-        NoteContentMgDb byId = mongoTemplate.findById(1, NoteContentMgDb.class);
-        mongoTemplate.remove(byId);
-    }
-
-
-
-    @Override
-    public List<NoteContentMgDb> findById(String id) {
-        //修改的条件
-        Query query = new Query(Criteria.where("_id").is(Long.valueOf(id)));
-        //修改的内容
-        return mongoTemplate.find(query, NoteContentMgDb.class);
-    }
+//    @Autowired
+//    private MongoTemplate mongoTemplate;
+//
+//
+//
+//    /**
+//     * 新增信息
+//     * @param student
+//     */
+//    @Override
+//    public void save(NoteContentMgDb student) {
+//        mongoTemplate.save(student);
+//    }
+//
+//    /**
+//     * 修改信息
+//     * @param noteContentMgDb
+//     */
+//    @Override
+//    public void update(NoteContentMgDb noteContentMgDb) {
+//        //修改的条件
+//        Query query = new Query(Criteria.where("id").is(noteContentMgDb.getId()));
+//
+//        //修改的内容
+//        Update update = new Update();
+//        update.set("name", noteContentMgDb.getNoteContent());
+//
+//        mongoTemplate.updateFirst(query,update, NoteContentMgDb.class);
+//    }
+//
+//    /**
+//     * 查询所有信息
+//     * @return
+//     */
+//    @Override
+//    public List<NoteContentMgDb> findAll() {
+//        return mongoTemplate.findAll(NoteContentMgDb.class);
+//    }
+//
+//    /**
+//     * 根据id查询所有信息
+//     * @param id
+//     */
+//    @Override
+//    public void delete(Integer id) {
+//        NoteContentMgDb byId = mongoTemplate.findById(1, NoteContentMgDb.class);
+//        mongoTemplate.remove(byId);
+//    }
+//
+//
+//
+//    @Override
+//    public List<NoteContentMgDb> findById(String id) {
+//        //修改的条件
+//        Query query = new Query(Criteria.where("_id").is(Long.valueOf(id)));
+//        //修改的内容
+//        return mongoTemplate.find(query, NoteContentMgDb.class);
+//    }
 
 
 }
diff --git a/ruoyi-ui/src/assets/styles/base.css b/ruoyi-ui/src/assets/styles/base.css
index 98e43bedb..1e08a2e9c 100644
--- a/ruoyi-ui/src/assets/styles/base.css
+++ b/ruoyi-ui/src/assets/styles/base.css
@@ -8,6 +8,7 @@
     font-size: 22px!important;
   }
 
+
 }
 
 
@@ -20,6 +21,11 @@
   .sousouright-icon{
     margin-right: 18px;
   }
+
+  /*个人中心的导航点击*/
+  .head-tag-button{
+    width: 60%!important;
+  }
 }
 
 /* >>> md*/
@@ -43,6 +49,11 @@
 /* ipad >>> xs*/
 @media screen and (max-width: 768px) {
 
+  /*个人中心的导航点击*/
+  .head-tag-button{
+    width: 95%!important;
+  }
+
     .transition-box{
       display: none;
     }
diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js
index 160d40bd1..81d0aeaf2 100644
--- a/ruoyi-ui/src/router/index.js
+++ b/ruoyi-ui/src/router/index.js
@@ -63,23 +63,62 @@ export const constantRoutes = [
     children:[
       {
         path: '/bkindex',
-        component: resolve => require(['../views/system/user/profile/bkindex.vue'], resolve),
+        component: resolve => require(['../views/bookmark/bkuser/tool/bkindex.vue'], resolve),
         hidden: true,
         meta:{
           title: '个人中心',icon:'user',
           requireAuth: true,//加该字段,表示进入这个路由是需要登录的true
         },
-      }
-      ,
+      },
       {
         path: '/importHtml',
         name: 'importHtml',
-        component: resolve => require(['../views/bookmark/common/ImportHtml.vue'], resolve),
+        component: resolve => require(['../views/bookmark/bkuser/tool/ImportHtml.vue'], resolve),
         hidden: true,
         meta:{
           title: '导入书签',icon:'user',
           requireAuth: true,//加该字段,表示进入这个路由是需要登录的true
         },
+      },
+      {
+        path: '/issueLog',
+        name: 'issueLog',
+        component: resolve => require(['../views/bookmark/bkuser/tool/issueLog.vue'], resolve),
+        hidden: true,
+        meta:{
+          title: '更新日志',icon:'user',
+          requireAuth: true,//加该字段,表示进入这个路由是需要登录的true
+        },
+      },
+      {
+        path: '/aboutUs',
+        name: 'aboutUs',
+        component: resolve => require(['../views/bookmark/bkuser/tool/aboutUs.vue'], resolve),
+        hidden: true,
+        meta:{
+          title: '导入书签',icon:'user',
+          requireAuth: true,//加该字段,表示进入这个路由是需要登录的true
+        },
+      },
+      {
+        path: '/exportHtml',
+        name: 'exportHtml',
+        component: resolve => require(['../views/bookmark/bkuser/tool/exportHtml.vue'], resolve),
+        hidden: true,
+        meta:{
+          title: '备份导出',icon:'user',
+          requireAuth: true,//加该字段,表示进入这个路由是需要登录的true
+        },
+      },
+      {
+        path: '/userSettings',
+        name: 'userSettings',
+        component: resolve => require(['../views/bookmark/bkuser/tool/userSettings.vue'], resolve),
+        hidden: true,
+        meta:{
+          title: '用户系统设置',icon:'user',
+          requireAuth: true,//加该字段,表示进入这个路由是需要登录的true
+        },
       }
 
     ]
diff --git a/ruoyi-ui/src/views/bookmark/bkuser/index.vue b/ruoyi-ui/src/views/bookmark/bkuser/index.vue
index 49e884784..1cce69caf 100644
--- a/ruoyi-ui/src/views/bookmark/bkuser/index.vue
+++ b/ruoyi-ui/src/views/bookmark/bkuser/index.vue
@@ -4,7 +4,7 @@
 
     <div class="head-top">
       <div class="goIndex">
-        <el-page-header @back="goBack" content="">
+        <el-page-header @back="goRouter(9)" content="">
         </el-page-header>
       </div>
       <div style="position: absolute;left: 47.5%;margin-top:-20px">
@@ -17,15 +17,14 @@
 
     <div class="head-tag">
       <div class="mdui-btn-group head-tag-button">
-        <button type="button"
-                class="mdui-btn mdui-color-theme-accent mdui-ripple mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600">
-          个人中心
-        </button>
-        <button type="button" class="mdui-btn mdui-color-theme-accent mdui-ripple">系统设置</button>
-        <button class="mdui-btn mdui-color-theme-accent mdui-ripple">导入书签</button>
-        <button class="mdui-btn mdui-color-theme-accent mdui-ripple">备份导出</button>
-        <button class="mdui-btn mdui-color-theme-accent mdui-ripple">更新日志</button>
-        <button class="mdui-btn mdui-color-theme-accent mdui-ripple">关于我们</button>
+<!--        <div  :class="['classification',property=='0'?' classification-click':'']" @click="showopen(0)"><span>网页</span></div>-->
+        <button @click="goRouter(1)" :class="['mdui-btn mdui-color-theme-accent mdui-ripple ',property=='1'?' mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600':'']">个人中心</button>
+        <button @click="goRouter(2)" :class="['mdui-btn mdui-color-theme-accent mdui-ripple ',property=='2'?' mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600':'']">系统设置</button>
+        <button @click="goRouter(3)" :class="['mdui-btn mdui-color-theme-accent mdui-ripple ',property=='3'?' mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600':'']">导入书签</button>
+        <button @click="goRouter(4)" :class="['mdui-btn mdui-color-theme-accent mdui-ripple ',property=='4'?' mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600':'']">备份导出</button>
+        <button @click="goRouter(5)" :class="['mdui-btn mdui-color-theme-accent mdui-ripple ',property=='5'?' mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600':'']">更新日志</button>
+        <button @click="goRouter(6)" :class="['mdui-btn mdui-color-theme-accent mdui-ripple ',property=='6'?' mdui-btn-active mdui-color-blue-50 mdui-text-color-blue-600':'']">关于我们</button>
+
       </div>
     </div>
 
@@ -43,25 +42,79 @@
 </template>
 <script>
 
-  import bkindex from "../../system/user/profile/bkindex.vue";
+  import bkindex from "./tool/bkindex.vue";
   import userAvatar from "../../system/user/profile/userAvatar.vue";
   export default {
     name: 'areaTree',
     components: {bkindex,userAvatar},
 
     data: function () {
-      return {}
+      return {
+        property:1,
+      }
     },
     methods: {
+
+      goRouter(e){
+        var that = this;
+        //样式选中
+        if (0<e&&e<7) {
+          this.property=e;
+        }
+
+        switch (e) {
+          case 9:
+            //全部书签 返回
+            that.$router.push({
+              path: "/content",
+              query: {
+                menuId: 'BOOKMARK'
+              }
+            })
+            break;
+          case 1:
+            //个人信息
+            that.$router.push({
+              path: "/bkindex",
+            })
+            break;
+          case 2:
+            that.$router.push({
+              path: "/userSettings",
+            })
+            break;
+          case 3:
+            that.$router.push({
+              path: "/importHtml",
+            })
+            break;
+          case 4:
+            that.$router.push({
+              path: "/exportHtml",
+            })
+            break;
+          case 5:
+            that.$router.push({
+              path: "/issueLog",
+            })
+            break;
+          case 6:
+            that.$router.push({
+              path: "/aboutUs",
+            })
+            break;
+          default:
+            that.$router.push({
+              path: "/ceshi",
+            })
+        }
+
+      },
+
+
       goBack() {
         var that = this;
-        //全部书签
-        that.$router.push({
-          path: "/content",
-          query: {
-            menuId: 'BOOKMARK'
-          }
-        })
+
       }
     },
     mounted() {
@@ -78,6 +131,7 @@
 </style>
 <style scoped>
 
+
   .goIndex{
     padding-left: 18px;padding-top: 18px;
   }
@@ -91,9 +145,17 @@
   .head-tag-button {
     display: flex;
     justify-content: space-between;
-    width: 50%;
+    width: 40%;
+    align-items: center;
     margin: 0 auto;
   }
+  .head-tag-button button{
+    border-radius: 3px;
+    font-weight: 600;
+    height: 30px;
+    line-height: 30px;
+  }
+
 
   .head-top {
     width: 100%;
diff --git a/ruoyi-ui/src/views/bookmark/common/ImportHtml.vue b/ruoyi-ui/src/views/bookmark/bkuser/tool/ImportHtml.vue
similarity index 94%
rename from ruoyi-ui/src/views/bookmark/common/ImportHtml.vue
rename to ruoyi-ui/src/views/bookmark/bkuser/tool/ImportHtml.vue
index bfe85d586..6419594f0 100644
--- a/ruoyi-ui/src/views/bookmark/common/ImportHtml.vue
+++ b/ruoyi-ui/src/views/bookmark/bkuser/tool/ImportHtml.vue
@@ -42,7 +42,8 @@
 
 
 
-
+    <el-row  >
+      <el-col :xs="{span: 22, push: 1}" :sm="{span: 16, push: 4}" :md="{span: 16, push: 4}"  :xl="{span: 12, push: 6}"  >
     <div class="text">
       <ul>
         <li>注意事项</li>
@@ -56,6 +57,8 @@
         <li>4、支持浏览器的目录结构,本站目录支持无限级别分类</li>
       </ul>
     </div>
+      </el-col>
+    </el-row>
 
 
   </div>
@@ -63,7 +66,7 @@
 </template>
 
 <script >
- import Bkhead from "../../../components/Bkhead";
+ import Bkhead from "../../../../components/Bkhead/index";
  import { getToken } from "@/utils/auth";
   export default {
     name: "",
@@ -123,9 +126,8 @@
   .text{
     border: #cecece 1px solid;
     border-radius: 10px;
-    margin: 20px;
     background-color: #fafcff;
-    margin-top:  30px;
+    margin-top:  40px;
   }
 
   .structure {
@@ -139,17 +141,12 @@
   .Import el-button {
     width: 200px;
   }
-  ul{
-    margin-left: 5px;
-  }
+
    li{
     list-style:none;
   }
-  .main{
 
-  }
-  .upload-demo{
-  }
+
   .title {
     color: red;
     width: 360px;
diff --git a/ruoyi-ui/src/views/bookmark/bkuser/tool/aboutUs.vue b/ruoyi-ui/src/views/bookmark/bkuser/tool/aboutUs.vue
new file mode 100644
index 000000000..c210e79a0
--- /dev/null
+++ b/ruoyi-ui/src/views/bookmark/bkuser/tool/aboutUs.vue
@@ -0,0 +1,59 @@
+<template>
+  <div class="app-container ">
+    <el-row  >
+      <el-col :xs="24" :sm="{span: 18, push: 3}" :md="{span: 18, push: 3}"  :xl="{span: 18, push: 3}"  >
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>关于我们</span>
+          </div>
+          <p class="text item" v-html = 'hello'>
+
+             </p>
+        </el-card>
+
+      </el-col>
+
+    </el-row>
+  </div>
+
+
+
+</template>
+<script>
+  export default {
+    name: 'areaTree',
+    components: {},
+
+    data: function () {
+      return {
+        hello:'     京东致力于为用户打造极致购物体验。京东是中国消费者信赖的家电购买平台,为大中城市和乡镇市场的消费者提供丰富多元、满足各种个性化需求的高品质家电和一站式优质服务。京东手机与品牌商、运营商保持了长期紧密的合作,共同推动了5G生态发展,为消费者打造一站式购机服务体验。\n' +
+          '\n' +
+          '    京东超市目前已经成为众多知名国际快消品牌的全渠道零售商。京东超市打造的“全城购”项目拓展全渠道业务,已经成功在全国多个城市、区域建立起了完善的全品类即时消费的零售生态。\n' +
+          '\n' +
+          '    全品类发展的京东生鲜通过七鲜超市、七鲜生活等业态,线上线下相结合,为消费者创造最佳体验。\n' +
+          '\n'
+      }
+    },
+    methods: {}
+  }
+</script>
+<style scoped>
+  .text {
+    font-size: 14px;
+  }
+
+  .item {
+    margin-bottom: 18px;
+  }
+
+  .clearfix:before,
+  .clearfix:after {
+    display: table;
+    content: "";
+  }
+  .clearfix:after {
+    clear: both
+  }
+
+
+</style>
diff --git a/ruoyi-ui/src/views/system/user/profile/bkindex.vue b/ruoyi-ui/src/views/bookmark/bkuser/tool/bkindex.vue
similarity index 68%
rename from ruoyi-ui/src/views/system/user/profile/bkindex.vue
rename to ruoyi-ui/src/views/bookmark/bkuser/tool/bkindex.vue
index b1042de29..149d8a0be 100644
--- a/ruoyi-ui/src/views/system/user/profile/bkindex.vue
+++ b/ruoyi-ui/src/views/bookmark/bkuser/tool/bkindex.vue
@@ -16,25 +16,33 @@
                 <div class="pull-right">{{ user.userName }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="phone" />手机号码
+                <svg-icon icon-class="phone" />绑定手机
                 <div class="pull-right">{{ user.phonenumber }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="email" />用户邮箱
+                <svg-icon icon-class="email" />绑定邮箱
                 <div class="pull-right">{{ user.email }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="tree" />所属部门
-                <div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
-              </li>
-              <li class="list-group-item">
-                <svg-icon icon-class="peoples" />所属角色
+                <svg-icon icon-class="peoples" />身份角色
                 <div class="pull-right">{{ roleGroup }}</div>
               </li>
               <li class="list-group-item">
-                <svg-icon icon-class="date" />创建日期
+                <svg-icon icon-class="date" />注册日期
                 <div class="pull-right">{{ user.createTime }}</div>
               </li>
+<!--              <li class="list-group-item">-->
+<!--                <svg-icon icon-class="date" />上次登陆时间-->
+<!--                <div class="pull-right">{{ user.login_date }}</div>-->
+<!--              </li>-->
+<!--              <li class="list-group-item">-->
+<!--                <svg-icon icon-class="date" />上次登陆IP-->
+<!--                <div class="pull-right">{{ user.login_ip }}</div>-->
+<!--              </li>-->
+<!--              <li class="list-group-item">-->
+<!--                <svg-icon icon-class="date" />登陆账号-->
+<!--                <div class="pull-right">{{ user.user_name }}</div>-->
+<!--              </li>-->
             </ul>
           </div>
         </el-card>
@@ -59,9 +67,9 @@
 </template>
 
 <script>
-  import userAvatar from "./userAvatar";
-  import userInfo from "./userInfo";
-  import resetPwd from "./resetPwd";
+  import userAvatar from "../../../system/user/profile/userAvatar";
+  import userInfo from "../../../system/user/profile/userInfo";
+  import resetPwd from "../../../system/user/profile/resetPwd";
   import { getUserProfile } from "@/api/system/user";
 
   export default {
diff --git a/ruoyi-ui/src/views/bookmark/bkuser/tool/exportHtml.vue b/ruoyi-ui/src/views/bookmark/bkuser/tool/exportHtml.vue
new file mode 100644
index 000000000..82bc4591a
--- /dev/null
+++ b/ruoyi-ui/src/views/bookmark/bkuser/tool/exportHtml.vue
@@ -0,0 +1,33 @@
+<template>
+  <div class="app-container ">
+    <el-row :gutter="20" >
+      <el-col :xs="24" :sm="{span: 16, push: 4}" :md="{span: 14, push: 5}"  :xl="{span: 10, push: 7}"  >
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>备份导出</span>
+          </div>
+          <div>
+            <ul class="list-group list-group-striped">
+
+            </ul>
+          </div>
+        </el-card>
+      </el-col>
+
+    </el-row>
+  </div>
+</template>
+<script>
+    export default {
+        name: 'areaTree',
+        components: {},
+
+        data: function () {
+            return {}
+        },
+        methods: {}
+    }
+</script>
+<style>
+
+</style>
diff --git a/ruoyi-ui/src/views/bookmark/bkuser/tool/issueLog.vue b/ruoyi-ui/src/views/bookmark/bkuser/tool/issueLog.vue
new file mode 100644
index 000000000..ab3d3b5c9
--- /dev/null
+++ b/ruoyi-ui/src/views/bookmark/bkuser/tool/issueLog.vue
@@ -0,0 +1,67 @@
+<template>
+  <div class="app-container ">
+    <el-row :gutter="20" >
+      <el-col :xs="24" :sm="{span: 16, push: 4}" :md="{span: 14, push: 5}"  :xl="{span: 10, push: 7}"  >
+        <div class="block">
+          <el-timeline>
+            <el-timeline-item timestamp="2018/4/12" placement="top">
+              <el-card>
+                <h4>V1.5 更新日志</h4>
+                <ul>
+                  <li>新增IE浏览器版本过低提示页面</li>
+                  <li>新增详细信息tab页签方式</li>
+                  <li>新增解锁屏幕打开上次页签</li>
+                  <li>数据监控默认账户密码防止越权访问</li>
+                  <li>新增表格示例(导出选择列)</li>
+                  <li>个人信息添加手机&邮箱重复验证</li>
+                </ul>
+              </el-card>
+            </el-timeline-item>
+            <el-timeline-item timestamp="2018/4/3" placement="top">
+              <el-card>
+                <h4>V1.4 更新日志</h4>
+                <ul>
+                <li>个人中心刷新后样式问题</li>
+                <li>操作日志返回参数添加非空验证</li>
+                <li>velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞</li>
+                <li>子表模板默认日期格式化</li>
+                <li>代码生成预览语言根据后缀名高亮显示</li>
+                </ul>
+              </el-card>
+            </el-timeline-item>
+            <el-timeline-item timestamp="2018/4/2" placement="top">
+              <el-card>
+                <h4>V1.3 更新日志</h4>
+                <ul>
+                  <li>代码生成主子表相同字段导致数据问题</li>
+                  <li>升级SpringBoot到最新版本2.2.13</li>
+                  <li>升级shiro到最新版1.7.1 阻止身份认证绕过漏洞</li>
+                  <li>升级bootstrapTable到最新版本v1.18.2</li>
+                  <li>升级bootstrapTable相关组件到最新版本v1.18.2</li>
+                </ul>
+              </el-card>
+            </el-timeline-item>
+          </el-timeline>
+        </div>
+      </el-col>
+
+    </el-row>
+  </div>
+
+
+
+</template>
+<script>
+    export default {
+        name: 'areaTree',
+        components: {},
+
+        data: function () {
+            return {}
+        },
+        methods: {}
+    }
+</script>
+<style>
+
+</style>
diff --git a/ruoyi-ui/src/views/bookmark/bkuser/tool/userSettings.vue b/ruoyi-ui/src/views/bookmark/bkuser/tool/userSettings.vue
new file mode 100644
index 000000000..7ba2a34a7
--- /dev/null
+++ b/ruoyi-ui/src/views/bookmark/bkuser/tool/userSettings.vue
@@ -0,0 +1,33 @@
+<template>
+  <div class="app-container ">
+    <el-row :gutter="20" >
+      <el-col :xs="24" :sm="{span: 16, push: 4}" :md="{span: 14, push: 5}"  :xl="{span: 10, push: 7}"  >
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>系统设置</span>
+          </div>
+          <div>
+            <ul class="list-group list-group-striped">
+
+            </ul>
+          </div>
+        </el-card>
+      </el-col>
+
+    </el-row>
+  </div>
+</template>
+<script>
+  export default {
+    name: 'areaTree',
+    components: {},
+
+    data: function () {
+      return {}
+    },
+    methods: {}
+  }
+</script>
+<style>
+
+</style>
diff --git a/ruoyi-ui/src/views/bookmark/bookmark/index.vue b/ruoyi-ui/src/views/bookmark/bookmark/index.vue
index 70daf563f..128433e88 100644
--- a/ruoyi-ui/src/views/bookmark/bookmark/index.vue
+++ b/ruoyi-ui/src/views/bookmark/bookmark/index.vue
@@ -37,6 +37,7 @@
         <div class="header-list">
           <el-dropdown trigger="click" size="small" :hide-on-click="false">
               <span class="el-dropdown-link">
+
            <el-avatar :size="28"
                       src="https://up.raindrop.io/collection/templates/social-media-logos-6/97social.png"></el-avatar>
               </span>
@@ -225,6 +226,7 @@
 <script>
 
   import {listMenuByUserId} from "@/api/bookmark/menu";
+  import { getUserProfile } from "@/api/system/user";
   import Treeselect from "@riophae/vue-treeselect";
   import BookmarkOne from "../../../components/BookmarkList";
   import TinyMceEdit from "../common/nqEdit";
@@ -354,6 +356,7 @@
 
         Ueditor:undefined,//点击的编辑器文章id
         noteId:undefined, //点击的noteId
+        user:'',//登陆的用户信息
 
 
 
@@ -422,6 +425,8 @@
       window.addEventListener('resize', this.getHeight);
       this.getHeight()
 
+      //获取当前的用户信息
+      this.getUser();
 
     },
     mounted() {
@@ -429,6 +434,14 @@
 
     },
     methods: {
+
+      getUser() {
+        getUserProfile().then(response => {
+          this.user = response.data;
+          this.roleGroup = response.roleGroup;
+          this.postGroup = response.postGroup;
+        });
+      },
       closeIsMain(){
         this.asideHeight.width="100%!important"
         this.isMain=false;
@@ -855,6 +868,8 @@
             that.noteId=noteId; //点击的noteId
             break;
           default:
+            /**网页新窗口打开*/
+            window.open(url);
         }
 
 
diff --git a/ruoyi-ui/src/views/bookmark/common/tool.vue b/ruoyi-ui/src/views/bookmark/common/tool.vue
index 443bdb323..81fa8ef87 100644
--- a/ruoyi-ui/src/views/bookmark/common/tool.vue
+++ b/ruoyi-ui/src/views/bookmark/common/tool.vue
@@ -71,13 +71,6 @@
         </div>
 
 
-
-
-
-
-
-
-
       </div>
 
 
@@ -94,7 +87,15 @@
         data: function () {
             return {}
         },
-        methods: {}
+        methods: {
+
+        },
+      mounted() {
+        document.querySelector('body').setAttribute('style', 'background-color:#f6f5f4')
+      },
+      beforeDestroy() {
+        document.querySelector('body').removeAttribute('style')
+      }
     }
 </script>
 <style scoped>
diff --git a/ruoyi-ui/src/views/bookmark/index/index.vue b/ruoyi-ui/src/views/bookmark/index/index.vue
index b8a450bf1..81d90efbb 100644
--- a/ruoyi-ui/src/views/bookmark/index/index.vue
+++ b/ruoyi-ui/src/views/bookmark/index/index.vue
@@ -42,6 +42,14 @@
 
           </div>
 
+          <div class="block">
+            <span class="demonstration">默认 Hover 指示器触发</span>
+            <el-carousel height="150px">
+              <el-carousel-item v-for="item in 4" :key="item">
+                <h3 class="small">{{ item }}</h3>
+              </el-carousel-item>
+            </el-carousel>
+          </div>
         </el-aside>
       </transition>