4细节补充

本文介绍了如何在Vue项目中设置AJAX拦截器以检查用户登录状态,并处理401错误。同时,讨论了处理后端提示信息的问题,修复了导航动态绑定路由的bug,以及详细步骤完善了密码修改功能,包括输入验证和HTTP POST请求处理。
摘要由CSDN通过智能技术生成

ajax拦截器设置


//判断有没有登录

//拦截器
Vue.http.interceptors.push((request, next) => {
	//设置token请求头
	if(localStorage.token) {
		//设置token请求头
		Vue.http.headers.common['Authorization'] = localStorage.token
	} else {
		location.href = './login.html'
	}
	next((response)=>{
		if(response.status == 401){
			location.href = './login.html'
		}
		return response
	})
})

attention

出现错误 接收来自后端的提示数据信息

后端 成功 err.data.msg
错误 message

修改2

添加导航动态绑定路由

<!--导航-->
				<el-menu :default-active="$route.path" class="el-menu-vertical-demo" text-color="#fff" :collapse="isCollapse" v-if="$store.state.menu.menu && $store.state.user.info" router>

bug

修改用户页面到首页,
页数标号没有跳转
mgr.vue

对当前page做个记录,不会跳转不对应了

//页码发生改变时触发
        pagetype(page) {
            this.page = page
            this.getuserlist(page)
        },

完善修改密码

setpass() {
				//修改密码
				if(this.pass.oldPassword == '') {
					this.$message.error('请输入旧密码');
				} else if(this.pass.password == '') {
					this.$message.error('请输入新密码');
				} else if(this.pass.rePassword == '') {
					this.$message.error('请再次输入新密码');
				} else if(this.pass.password != this.pass.rePassword) {
					this.$message.error('两次新密码不一致');
				} else {
					this.$http.post(http + updatePwd, this.pass, {
						emulateJSON: true
					}).then((data) => {
						if(data.data.msg == '成功') {
							this.$message({
								message: '恭喜你,修改成功了',
								type: 'success'
							});
							this.dialogFormVisible = false
						} else {
							this.$message.error(data.data.msg);
						}
						console.log(data)
					}, (err) => {
						this.$message.error(err.data.message);
					})
				}
			}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是对上述代码的一些细节补充: ```matlab % OFDM系统参数 N = 64; % FFT大小 num_clusters = 4; % 簇的数量 num_nodes_per_cluster = 4; % 每个簇中的子节点数 % 生成随机信道增益 channel_gains = rand(num_clusters, num_nodes_per_cluster); % 计算信号干扰强度 interference = zeros(num_clusters, num_nodes_per_cluster); for i = 1:num_clusters for j = 1:num_nodes_per_cluster for k = 1:num_clusters if k ~= i interference(i,j) = interference(i,j) + (channel_gains(k,:) - channel_gains(i,j)).^2; end end end end % 信噪比(假设为常数) SNR = 10; % 功率分配算法(基于信噪比的梯度下降) power_allocation = ones(num_clusters, num_nodes_per_cluster); % 初始功率分配 learning_rate = 0.1; % 学习率 threshold = 0.5; % 干扰阈值 % 功率控制前的误码率曲线 % ... % 动态功率分配 while true % 更新功率分配 for i = 1:num_clusters for j = 1:num_nodes_per_cluster % 使用梯度下降更新功率分配 power_allocation(i,j) = power_allocation(i,j) - learning_rate * (interference(i,j) - threshold); % 限制功率分配在0到1之间 power_allocation(i,j) = max(0, min(1, power_allocation(i,j))); end end % 计算误码率 % ... % 判断是否达到停止条件 if converged break; end end % 功率控制后的误码率曲线 % ... % 绘制功率控制前后的对比图 % ... ``` 需要注意的是,上述代码中的一些细节仍然需要根据您具体的需求进行调整和实现,例如: - 生成随机信道增益:可以使用随机数生成函数,例如`rand`函数,根据您对信道增益的要求进行调整。 - 计算干扰强度:根据您提供的干扰定义,实现计算干扰强度的代码。 - 信噪比(SNR):根据您的需求,设置适当的信噪比值。 - 功率控制前的误码率曲线:根据您所使用的调制解调方案,实现相应的误码率计算方法。 - 功率控制后的误码率曲线:根据您进行动态功率分配后的功率分配结果,重新计算并绘制误码率曲线。 另外,对于绘制功率控制前后的对比图,您可以使用MATLAB中的绘图函数,例如`plot`函数,来绘制两个曲线进行对比。 希望以上补充能够帮助到您!如有进一步问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值