首页 > 其他分享 >vue admin template登录的问题

vue admin template登录的问题

时间:2022-08-25 21:45:08浏览次数:59  
标签:vue return admin token template commit data public

版本:3.8.0,将其改为本地登录

问题

后台登录接口尚未开发,为了不影响系统其他接口的开发和测试工作,将vue admin template改为本地登录。

解决方案:手动配置token,将登录相关的接口改为静态数据不请求后台接口
  1. 将\src\store\modules\user.js中的Login、getInfo、logout方法改为如下内容
Login({ commit }) {
const data = {
'token': 'admin'
}
setToken(data.token)// 将token存储在cookie中
commit('SET_TOKEN', data.token)
},

GetInfo({ commit }) {
const data = {
'roles': [
'admin'
],
'name': 'admin',
'avatar': 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif'
}
if (data.roles &&data.roles.length >0) { // 验证返回的roles是否是一个非空数组
    commit('SET_ROLES', data.roles)
  }
    commit('SET_NAME', data.name)
    commit('SET_AVATAR', data.avatar)
},

// 登出
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
    commit('SET_TOKEN', '')
    commit('SET_ROLES', [])
    removeToken()
    resolve()
  })
}

  1. 修改\src\util\request.js
config.headers['token'] = getToken()

版本:4.4.0:实现登录功能,访问后台登录接口

解决方案
  1. 后端登录接口相关如下:
    1. 登录接口
    @RestController
    // 解决跨域
    @CrossOrigin
    @RequestMapping("/admin/hosp")
    public class LoginController {
        //login
        @PostMapping("/login")
        public R login(){
            return R.ok()
                    .data("token","admin");
        }
    
    
        //info
        @GetMapping("/info")
        public R getInfo(){
            return    R.ok()
                    .data("roles","[admin]")
                    .data("name","admin")
                    .data("avatar","https://img03.sogoucdn.com/app/a/100520093/d71a6360ba8601ff-19264876bfd6a308-dfbd047d3bb4f2621f01d7ae18979b6e.jpg");
        }
    }
    
    1. 工具类如下
    @Data
    public class R {
        private Boolean success;
    
    
        private Integer code;
    
    
        private String message;
    
    
        private Map<String, Object> data = new HashMap<String, Object>();
    
        //把构造方法私有
        private R() {}
    
        //成功静态方法
        public static R ok() {
            R r = new R();
            r.setSuccess(true);
            r.setCode(ResultCode.SUCCESS);
            r.setMessage("成功");
            return r;
        }
    
        //失败静态方法
        public static R error() {
            R r = new R();
            r.setSuccess(false);
            r.setCode(ResultCode.ERROR);
            r.setMessage("失败");
            return r;
        }
    
        public R success(Boolean success){
            this.setSuccess(success);
            return this;
        }
    
        public R message(String message){
            this.setMessage(message);
            return this;
        }
    
        public R code(Integer code){
            this.setCode(code);
            return this;
        }
    
        public R data(String key, Object value){
            this.data.put(key, value);
            return this;
        }
    
        public R data(Map<String, Object> map){
            this.setData(map);
            return this;
        }
    }
    
    public class ResultCode {
        public  static  Integer SUCCESS = 20000;
        public  static  Integer ERROR = 20001;
    }
    
  2. 前端模板更改如下:

错误码的修改需要和后台一致

标签:vue,return,admin,token,template,commit,data,public
From: https://www.cnblogs.com/xiaocer/p/16625852.html

相关文章

  • 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序
    问题解决方案删除node_modules文件夹执行npminstall下载依赖包npmrunserve运行......
  • vuex 的模块中如何调用 actions 中的方法
     模块vuexTest.js/***模块vuexTest.js*/exportdefault{namespaced:true,actions:{actionsHello(context,val){console.log(context,"context");//与s......
  • vue2 项目也想使用vite打包的便捷?
    首先很多项目正在更新迭代,vue2项目同学也知道vite打包速度开发模式飞快,而且生产模式我给大家贴个图这是vite构建的vue2的初始化项目性能这是未使用webpack构建的初始......
  • vue 百度地图定位
    具体引入上篇文章有提到div:<divclass="BaiDuMap"><baidu-mapclass="map-wrap":center="mapData.center":zoom="mapData.zoom"@ready="mapHandler"@cli......
  • Vue快速完成前后端开发的相关问题
    创建vue项目1.使用GUI界面创建Vue工程在DOS窗口下在指定目录下执行vueui,然后在http://localhost:8000页面下进行相关的配置即可。2.在DOS窗口下使用vuecreate项......
  • vue接入百度地图
    1.需要在百度地图API获取密钥(AK)2.安装 npminstallvue-baidu-map--save3.全局引入 importVuefrom'vue'importBaiduMapfrom'vue-baidu-map'Vue.use(Bai......
  • vue3 学习笔记
    watchletsum=ref('0');letperson=reactive({sex:‘女’,age:18,}) watch(sum,(oldVal,newVal)=>{console.log(oldVal,newVal);})/**监视reactive所定义的一......
  • 【Vue基础】provide和inject 依赖与注入
    Vue组件通信provide和inject,注入使用场景,祖先组件向下层所有组件注入,无论层级多深,子组件均能接收来自祖先组件。某个模块由根组件内统一管理子组件内的状态。类型prov......
  • vue 3.0 国密sm2算法加密解密文件流
     针对文件流加密需要考虑性能问题,所以选择部分文件字节加密,破坏文件内容,达到用户不能随意下载打开文件 ts文件:import{sm2}from'sm-crypto';import{Buffer}......
  • antdesign vue中写了样式不加载的解决方法
    在vue组件里,lang设置为less,在style设置为scoped的时候,在写样式有时候对子组件不生效。如果想让某些样式对子组件生效,可以使用/deep/深度选择器。代码:/deep/.ant-men......