vue+"web-highlighter"实现高亮笔记/web荧光笔

web页面高亮效果是一个很有趣,并且外行人第一印象特别厉害的特效,应用的场景比较少,网上没查到几个案例,以下为 web-highlighter插件实现过程

web-highlighter 的github地址

高亮笔记到底展示了个啥效果?
点击下方的蓝色按钮选择“政治术语”,使用鼠标选中左侧文章中的某一段话,文本将以闪亮的背景颜色突出显示,下次访问时,突出显示的区域将被保存并恢复。
you
一、安装,引用,初始化

npm i web-highlighter
import Highlighter from 'web-highlighter';

1、全局使用的话放在 main.js 里初始化

window.highlighter = new Highlighter()

2、单独使用的话在页面里初始化

const highlighter = new Highlighter() 

二、使用方法 (参数设置参照 API)
1、初始化荧光笔实例
先创建一个div

 <div ref="headLine"> // 或 <div id="headLine">
      会上,国家发展改革委汇报了西部开发进展等情况。西部各省区市政府负责同志发了言。
      <strong>
        我是 strong 标签
      </strong>
<div>

(1)最简单的初始化

const highlighter = new Highlighter() //初始化

(2)带参数限制的初始化

const highlighter = new Highlighter({
        $root: this.$refs.headLine, // 或document.getElementById('headLine')
        exceptSelectors: ['strong'],
        style: {
            className: 'highlight-wrap'
        }
});

2、.on() 侦听器处理交互效果

highlighter
    .on('selection:hover', ({id}) => {
        // hover 时增加 Class
        highlighter.addClass('highlight-wrap-hover', id);
    })
    .on('selection:hover-out', ({id}) => {
        // hover 失去焦点时移除 Class,
        highlighter.removeClass('highlight-wrap-hover', id);
    })
    .on('selection:create', ({sources}) => {
        sources = sources.map(hs => ({hs}));
        // save to backend
        store.save(sources);
    });
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
本文将介绍如何使用Spring Boot、Vue和MyBatis-Plus实现用户登录和注册功能。 1. 创建Spring Boot项目 首先,我们需要创建一个Spring Boot项目。可以使用Spring Initializr来创建基础项目。在创建项目时,需要添加Web、MyBatis、MySQL等依赖项。 2. 配置数据库连接 在src/main/resources/application.properties文件中,添加以下代码来配置数据库连接: ``` spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 其中,url、username和password分别是数据库的连接地址、用户名和密码。 3. 创建数据库表 在MySQL数据库中创建一个名为user的表,包含以下字段: ``` id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, PRIMARY KEY (id) ``` 4. 创建实体类和Mapper接口 创建一个名为User的实体类,并添加以下属性和方法: ``` public class User { private Integer id; private String username; private String password; // getter和setter方法 } ``` 同时,创建一个名为UserMapper的Mapper接口,并添加以下方法: ``` public interface UserMapper extends BaseMapper<User> { User selectByUsername(String username); } ``` 其中,selectByUsername方法用于根据用户名查询用户信息。 5. 创建Service和Controller类 创建一个名为UserService的Service类,并添加以下方法: ``` public interface UserService { User login(String username, String password); boolean register(User user); } ``` 创建一个名为UserController的Controller类,并添加以下方法: ``` @RestController @RequestMapping("/api/user") public class UserController { @Autowired private UserService userService; @PostMapping("/login") public Result<User> login(@RequestBody User user) { User loginUser = userService.login(user.getUsername(), user.getPassword()); if (loginUser != null) { return Result.success(loginUser); } else { return Result.error("用户名或密码错误"); } } @PostMapping("/register") public Result<Boolean> register(@RequestBody User user) { boolean success = userService.register(user); if (success) { return Result.success(true); } else { return Result.error("用户名已存在"); } } } ``` 其中,login方法用于处理用户登录请求,register方法用于处理用户注册请求。 6. 创建Vue项目 使用Vue CLI创建一个名为user-management的Vue项目: ``` vue create user-management ``` 7. 配置请求代理 在vue.config.js文件中,添加以下代码来配置请求代理: ``` module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true } } } } ``` 其中,target指定了后端的地址和端口号。 8. 创建登录和注册页面 在src/views目录下,创建Login.vue和Register.vue两个组件,分别用于显示登录和注册页面。在这两个组件中,可以使用axios库来发送请求。 9. 测试 启动后端服务和Vue应用,访问http://localhost:8080和http://localhost:8080/api/user/login可以测试登录功能,访问http://localhost:8080/api/user/register可以测试注册功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值