vue2安装常见插件、配置、使用

一、网络请求【axios】

1、安装:

npm install axios@1.5.0  -save

2、全局注册main.js中

//导入axios
import axios from "axios";
// 配置请求后端路径=IP:端口号/api
axios.defaults.url='http://127.0.0.1:8888/';
// 将 axios 设置为 Vue 的原型属性,这样在组件中就可以通过 this.$http 访问 axios
Vue.prototype.$http = axios;

或者

创建baseAxios.js

import axios from "axios";

// 设置新的axios标准
const baseAxios=axios.create({
  baseURL:"http://localhost:8080",
  timeout:50000,
  timeoutErrorMessage:"请求已超时"
});

//让请求携带上浏览器的cookie
//baseAxios.defaults.withCredentials=true;

// 默认出口axios
export default baseAxios

main.js中

//导入axios
import axios from "./util/baseAxios";
// 将 axios 设置为 Vue 的原型属性,这样在组件中就可以通过 this.$http 访问 axios
Vue.prototype.$http = axios;

3、组件中使用

this.$http.post("/resource/search",{
      "searchInput":"唐",
      "type":1,
      "page":1,
      "pageSize":2
    }
    )
      .then(res=>{
        //响应的数据
        alert(res.data)
        console.log("后端返回的数据======")
        console.log(res.data)
      })
      .catch()

4、vueX中使用

  // 修改数据,异步操作
  actions: {
    // 模拟向springboot后端发送请求
    async fetchPage({ state, commit }) {
      try {
        const response = await axios.post('/resource/search', {
            "searchInput":state.searchInput.text,
            "type":state.searchInput.type,
          }
        )
// 设置返回的数据
        commit('setResItems', response.data.data);
      } catch (error) {
        console.error('分页请求失败:', error);
      }
    },

  // 模拟定时执行某个方法 asyncIncrement(context) { setTimeout(()
=> { context.commit('increment'); }, 1000); }, }, // 插件,监听哪些方法被调用了,就向后端发送请求 plugins: [ store => { store.subscribe((mutation, state) => { // 输入内容 if (mutation.type === 'updateSearchInput') { store.dispatch('fetchPage'); } }); } ],

参考教程:https://www.javasoho.com/axios/index.html

参考教程:http://www.axios-js.com/zh-cn/docs/vue-axios.html

参考教程:https://blog.csdn.net/weixin_43529465/article/details/129806423#

二、饿了么美化页面【element-ui】

1、安装

npm i element-ui -S

2、全局注册main.js中

// 引入element-ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

3、组件中使用

 

三、状态集中管理【VueX】

1、安装

npm install --save vuex@3.6.2

2、注册、使用

 

四、视频【Dplayer】

官网地址:https://dplayer.diygod.dev/zh/

1、安装

npm install dplayer --save
npm i hls.js -s

 

 

2、使用

<template>
    <div class="box">
            <div id="dplayer" style="width:600px;height: 400px"></div>
    </div>
</template>
 
<script>
import DPlayer from 'dplayer';
import Hls from 'hls.js';
export default {
    data() {
        return {
            dp: {}
        };
    },
    
    mounted() {
        // 在 mounted 钩子中初始化 DPlayer 实例
        this.initDPlayer();
    },
    
    methods: {
        // 初始化 DPlayer 实例
        initDPlayer() {
          const player = new DPlayer({
            container: document.getElementById("dplayer"),   //播放器容器
            mutex: false, //  防止同时播放多个用户,在该用户开始播放时暂停其他用户
            theme: "#b7daff", // 风格颜色,例如播放条,音量条的颜色
            loop: false, // 是否自动循环
            lang: "zh-cn", // 语言,'en', 'zh-cn', 'zh-tw'
            screenshot: true, // 是否允许截图(按钮),点击可以自动将截图下载到本地
            hotkey: true, // 是否支持热键,调节音量,播放,暂停等
            preload: "auto", // 自动预加载
            volume: 0.5, // 初始化音量
            playbackSpeed: [0.5, 0.75, 1, 1.25, 1.5, 2], //可选的播放速度,可自定义
            video: {
              url: 'https://api.dogecloud.com/player/get.m3u8?vcode=5ac682e6f8231991&userId=17&ext=.m3u8', // 视频地址,初始为空字符串
              type: 'customHls',
              customType: {
                 customHls: function (video, player) {
                    const hls = new Hls(); //实例化Hls  用于解析m3u8
                    hls.loadSource(video.src);
                    hls.attachMedia(video);
                 }
              },
              //视频封面图片
              pic: 'http://xxxx',
            },
          });

          this.dp = player;
        },
        
        handleItemClick(item,index) {
              // 切换到其他视频
              this.dp.switchVideo(
                {
                  url: item.url,
                  pic: this.randomLogo(),
                },
              );


              // 播放视频
              //this.dp.play();
        },
        
        
        
    },

};
</script>
 
<style lang="less" scoped>
</style>

 

五、图片预览【v-viewer】

官网地址:https://v-viewer.mirari.cc/

1、安装

npm install v-viewer@1.6.4

2、全局注册main.js中

//导入 图片预览
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
Vue.use(Viewer)
Viewer.setDefaults({
  Options: {
    'zIndex': 9999,
    'inline': true, //启用lnline模式
    'button': true, //显示右上角关闭按钮
    'navbar': true, //显示缩略图导航
    'title': true, //显示当前图片的标题
    'toolbar': true, //显示工具栏
    'tooltip': true, //显示缩放百分比
    'movable': true, //显示可移动
    'zoomable': true, //图片是否可缩放
    'rotatable': true, //图片是否可旋转
    'scalable': true, //图片是否可翻转
    'transition': true, //使用css3过度
    'fullscreen': true, //播放时是否全屏
    'keyboard': true, //是否支持键盘
    'url': 'data-source' //设置大图片的url
  }
})

3、组件中使用

<div>
    <viewer :images="photo">
    <img
      v-for="(src, index) in photo"
      :src="src"
      :key="index"
      :onerror="errorImg"
    />
  </viewer>
</div>

 六、浏览器存储

1、localStorage、sessionStorage

2、cookie

安装

npm install vue-cookie --save

 

注册

import cookie from 'vue-cookie'
// Vue.use(cookie)  // Vue.prototype给Vue自定义个属性全局里有Vue就能用自定义属性    Vue.use()挂在到全局
// vue2中的设置方式
Vue.prototype.$cookie = cookie;

 

使用

<template>
    <div>
      <button @click="setCookie">设置Cookie</button>
      <button @click="getCookie">获取Cookie</button>
      <div v-if="cookieValue">Cookie值:{{ cookieValue }}</div>
    </div>
  </div>
</template>

export default {
  name: "index",
  data() {
    return {
      cookieValue: ''
    }
  },
  methods: {
    setCookie() {
      this.$cookie.set('token', 'xiaogao', '1d'); // 设置cookie,有效期为1天
    },
    getCookie() {
      this.cookieValue = this.$cookie.get('token'); // 获取cookie值
    },
  }
}     

 

参考教程vue-cookie:https://blog.csdn.net/zsx1314lovezyf/article/details/96755304

参考教程vue-cookies:https://blog.csdn.net/m0_69257679/article/details/131780702

七、动态背景

参考教程:https://blog.csdn.net/AwesomeP/article/details/128241716

参考教程:https://blog.csdn.net/weixin_48337566/article/details/128818881

 

 

vue大纲:https://www.51cto.com/article/741440.html

posted @ 2024-03-24 10:05  向大海  阅读(528)  评论(0编辑  收藏  举报