Vue相关使用

在这里插入图片描述
一、使用全局请求过滤器为请求头添加令牌

如果token存在,将token添加到request请求头中,字段为Authorization

import store from './store'

//请求拦截:设置一个全局的拦截器,判断是否存在token,如果存在的话,给每个请求的请求头header都加上token
axios.interceptors.request.use(
  config => { 
    //
    let token = store.state.token
    if (token) {
      config.headers.Authorization = token;
    }
    return config;
    //
  },
  error => {
    return Promise.reject(error);
  });

2.全局响应过滤器

// 响应拦截:当redis中的token过期时,清除store中的信息,用户需要重新登录
axios.interceptors.response.use(
  function (response) {
    return response
  },
  function (error) {
    // 对响应错误的处理
    if (error.response && error.response.status === 401) {
      store.state.login = false
      store.state.account = {}
      store.state.token = ''
      store.commit('savelogin')
      elementUI.Message({
        message: '认证失效,请重新登录',
        type: 'warning'
      })
      router.push('/login')
      return Promise.resolve({
        status: 401
      })
    } else {
      elementUI.Message({
        message: '请求超时,请稍后再试',
        type: 'warning'
      })
    }
    return Promise.resolve(error)
  }
)

3.全局时间过滤器

// 在main.js中定义全局的时间过滤器,进行时间的格式化
Vue.filter('dateFormat', function (dateStr, pattern = "") {
  var dt = new Date(dateStr)
  var y = dt.getFullYear()
  var m = (dt.getMonth() + 1).toString().padStart(2, '0') //月份从0开始,需要加1
  var d = dt.getDate().toString().padStart(2, '0')

  if (pattern.toLowerCase() === 'yyyy-mm-dd')
    return `${y}-${m}-${d}`   //模板字符串
  else {
    var hh = dt.getHours().toString().padStart(2, '0')
    var mm = dt.getMinutes().toString().padStart(2, '0')
    var ss = dt.getSeconds().toString().padStart(2, '0')
    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
  }
})

4.全局请求超时时间

axios.defaults.timeout = 6000 //axios默认请求超时时间:如果6s内没有响应

5.设置全局请求基地址

开发模式下使用,生产模式注销

import axios from 'axios'
// axios.defaults.baseURL = 'http://127.0.0.1:18888/'
Vue.prototype.$http = axios

6.全局设置

localStorage或者SessionStorage

清除本地储存的指定字段window.localStorage.removeItem(" ");
vue跳转路由this.$router.push(" ");
刷新浏览器页面location.reload();

  logout() {
      window.localStorage.removeItem("WelcomeName"); 
      this.$router.push("/login");
      location.reload();
    },

7.输入框回车事件

        <el-input
            @keyup.enter.native=" "
          ></el-input>

8.Element UI全部导入需要手动引入样式文件
import 'element-ui/lib/theme-chalk/index.css'

import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(Element)

9.在一个组件中引入另一个组件

(1)新建三个组件,div中:

*UserForm.Vue
*Permission .Vue
*PermissionDialog .vue

    <!-- 添加编辑用户对话框 -->
    <UserForm ref="UserForm"></UserForm>
    <!-- 分配权限 -->
    <Permission ref="Permission"></Permission>
    <!-- 权限 -->
    <PermissionDialog ref="PermissionDialog"></PermissionDialog>

(2)script中引入

还需要在components中注册

<script>

import UserForm from "./UserForm";
import Permission from "./Permission";
import PermissionDialog from "./PermissionDialog";

export default {
  name: "UserList",
  components: {
    UserForm,
    Permission,
    PermissionDialog,
  },

(3)接下来就可以通过ref引用调用子组件中的属性和方法
属性: this.$refs["UserForm"].UserFormVisible = true; 方法: this.$refs["UserForm"].addInitData();

   // 创建新用户
    addUser() {
      this.$refs["UserForm"].UserFormVisible = true;
      this.$refs["UserForm"].addInitData();
    },
    //分配权限
    permission(row) {
      this.$refs["Permission"].account_id = row.user_id;
      this.$refs["Permission"].getPermissions();
      this.$refs["Permission"].visible = true;
    },
    //查看用户权限详情
    openPermission(row) {
      this.$refs["PermissionDialog"].visible = true;
      this.$refs["PermissionDialog"].account_id = row.user_id;
      this.$refs["PermissionDialog"].getFunction();
    },

10.自定义验证密码和邮箱
data(){
定义位置
return {
}
}
在这里插入图片描述
在这里插入图片描述
和普通表单校验一样,在输入框通过prop引用校验规则
在这里插入图片描述
但是增加了一条通过validator验证的规则,后面就是自定义的校验规则变量。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
旅游社交小程序功能有管理员和用户。管理员有个人中心,用户管理,每日签到管理,景点推荐管理,景点分类管理,防疫查询管理,美食推荐管理,酒店推荐管理,周边推荐管理,分享圈管理,我的收藏管理,系统管理。用户可以在微信小程序上注册登录,进行每日签到,防疫查询,可以在分享圈里面进行分享自己想要分享的内容,查看和收藏景点以及美食的推荐等操作。因而具有一定的实用性。 本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得旅游社交小程序管理工作系统化、规范化。 管理员可以管理用户信息,可以对用户信息添加修改删除。管理员可以对景点推荐信息进行添加修改删除操作。管理员可以对分享圈信息进行添加,修改,删除操作。管理员可以对美食推荐信息进行添加,修改,删除操作。管理员可以对酒店推荐信息进行添加,修改,删除操作。管理员可以对周边推荐信息进行添加,修改,删除操作。 小程序用户是需要注册才可以进行登录的,登录后在首页可以查看相关信息,并且下面导航可以点击到其他功能模块。在小程序里点击我的,会出现关于我的界面,在这里可以修改个人信息,以及可以点击其他功能模块。用户想要把一些信息分享到分享圈的时候,可以点击新增,然后输入自己想要分享的信息就可以进行分享圈的操作。用户可以在景点推荐里面进行收藏和评论等操作。用户可以在美食推荐模块搜索和查看美食推荐的相关信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值