开发博客系统文章数:菜单文章未更新构建eureka注册中心(请先阅读本文)https://segmentfault.com/a/11...构建Beans写入Token解析注解https://段错误。com/a/11...搭建权限管理系统https://segmentfault.com/a/11...搭建后台管理系统https://segmentfault.com/a/11...前端Fetch请求打包https://segmentfault.com/a/11...搭建Vue项目,话不多说网上搜索目录结构:HTTP.js这里没有考虑浏览器不支持Fetch导出的情况默认(类型='',url='',数据={},参数={},headers={},api='fetch')=>{constdefault_headers={'Access-Control-Allow-Origin':'*','Access-Control-Allow-Credentials':'true','Accept-Charset':'utf-8'};if(!headers){headers=default_headers;}if(parameter){letparameter_str='';//数据拼接字符串for(varkeyofparameter.keys()){parameter_str+=key+'='+parameter.get(key)+'&';}if(parameter_str!==''){parameter_str=parameter_str.substr(0,parameter_str.lastIndexOf('&'));网址=网址+'?'+参数字符串;}}让requestConfig={方法:类型,标头:headers,mode:'cors',cache:'default',credentials:'include'}if(data){Object.defineProperty(requestConfig,'body',{value:data});}returnfetch(url,requestConfig);}verify.js权限过滤部分importrouterfrom'../router'importhttpfrom'../tools/HTTP'import{Message}from'element-ui';exportdefault(type,url,data,parameter={},headers={})=>{//写这里获取访问url的权限,进行下一步操作(是否请求数据)returnhttp(type,url,data,parameter,headers,'fetch');}api.js封装了前端要使用的请求importverifyfrom'../api/verify'//importrouterfrom'../router'importConstantfrom'../tools/Constant'//mytoolclassimportVueCookiesfrom'vue-cookies'vartoken=VueCookies.get(Constant.CookiesNames.ACCESS_TOKEN);//token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MzY3MTk0MTMsInVzZXJJZCI6ImFkbWluIiwiaWF0IjoxNTM2MzczODEzfQ.eXns9N5fZBFiOfEeqSF5tU31QqrC20YSsNfeAtKRifU";constdefault_headers={'Accept':'application/json','Access-Control-Allow-Origin':'*','Access-Control-Allow-Credentials':'true','Accept-Charset':'utf-8','Content-Type':'application/json','at':token};varaddress="http://127.0.0.1:8762";varapi={};api.uploadFile=(data)=>verify('POST',address+'/api/matter',data,null,default_headers);api.createProject=(data)=>verify('POST',address+'/api/set/project',data,null,default_headers);api.getProject=(data)=>verify('GET',address+'/api/get/project',null,data,default_headers);api.getProjects=(data)=>verify('GET',address+'/api/get/projects',data,null,default_headers);api.login=(data)=>验证('POST',address+'/auth/login',data,null,default_headers);api.verify=(data)=>('GET',address+'/auth/verify',data,null,default_headers);//检查是否有权限exportdefaultapi;使用apiget请求:varget_project_form=newFormData();get_project_form.append(Constant.ParameterNames.PKID,1);api.getProject(get_project_form).then((response)=>response.json()).then((data)=>{this.itemProject=data.data;});发布请求:varadd_project_form=newFormData();add_project_form.append("projectName",this.projectForm.projectName);add_project_form.append("projectTag",this.projectForm.projectTag);//listadd_project_form.append("projectTechnology",this.projectForm.projectTechnology);//list//注意:add_project_form工具自己获取要提交的数据//convert_FormData_to_json工具类api.createProject(tool.convert_FormData_to_json(add_project_form)).then((response)=>response.json()).then((data)=>{console.log(data.data);Message({dangerouslyUseHTMLString:true,message:"创建项目
创建成功",iconClass:'el-icon-document'});});
