当前位置: 首页 > news >正文

廊坊哪里做网站好app软件定制开发一般多少钱

廊坊哪里做网站好,app软件定制开发一般多少钱,自己可以自己做公司的网站吗,深圳市网站建设外包公司排名基础项目构建 创建VUE初始工程 确保自己下载了node.js和npm node -v //查看node.js的版本 npm -v //查看npm的版本 npm i vue/cli -g //安装VUE CLI 创建 以管理员身份运行 输入#xff1a;vue ui 就会进入 点击创建 自定义项目名字#xff0c;选择npm管理 结…基础项目构建 创建VUE初始工程 确保自己下载了node.js和npm node -v //查看node.js的版本 npm -v //查看npm的版本 npm i vue/cli -g //安装VUE CLI 创建 以管理员身份运行 输入vue ui 就会进入 点击创建 自定义项目名字选择npm管理 结构 用vscode打开这个项目 运行 打开终端 快捷键ctrlj 输入npm run serve回车 然后进入给的网址 修改端口 vue.config.js const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 8181} })现在我们就是在这个界面开始编写我们的代码 2024.7.4 学生登录界面 参考这篇文章 Vue 实现登录注册功能前后端分离完整案例 | 软件研会 参考文章中遇到的一些问题 问题解决error: Component name “xxx” should always be multi-word. 解决 解决error: Component name “xxx” should always be multi-word._error component name about should always be mult-CSDN博客 问题import VueAxios from vue-axios中vue-axios找不到报错 解决 npm i vue-axios 问题点击登录之后一直网页报错 解决措施麻了我各种翻阅资料居然是这里出错了气死了花费了我2小时 src\views\login\Login.vue 问题基本搞定还有一些小细节 我们不需要注册这个版本所以我没有搞。 基本就ok了 所有的代码 src\App.vue templatediv idapprouter-view//div /templatescriptexport default {name: App,components: {} } /scriptstyle #app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50; } /stylesrc\main.js import Vue from vue import App from ./App.vue import store from ./storeimport router from ./router //路由 2 import VueRouter from vue-router // 路由 1import ElementUI from element-ui; // Element 1 import element-ui/lib/theme-chalk/index.css; // Element 2import axios from axios import VueAxios from vue-axios// 关闭 Vue 的生产提示 Vue.config.productionTip false// 使用插件 Vue.use(ElementUI); // Element 3 Vue.use(VueRouter) // 路由 3 Vue.use(VueAxios, axios) // 使用 axios 插件// 创建 Vue 实例对象 new Vue({router,store,render: h h(App) }).$mount(#app)vue.config.js const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,lintOnSave: false,devServer: {port: 8181,// 代理服务器可以将路由中的指定前缀转发到指定的后端服务器中proxy: {/api: {target: http://localhost:8080,ws: true, // 是否启用websocketschangeOrigin: true, // 代理时是否更改hostpathRewrite: {^/api: //这里理解成用/api代替target里面的地址}}}} })src\views\login\Login.vue templatedivel-card classbox-cardh2登录/h2el-form:modelruleFormstatus-icon:rulesrulesrefruleFormlabel-positionleftlabel-width70pxclasslogin-fromel-form-item label用户名 propusernameel-input v-modelruleForm.username/el-input/el-form-itemel-form-item label密码 proppasswordel-inputtypepasswordv-modelruleForm.passwordautocompleteoff/el-input/el-form-item/el-formdiv classbtnGroupel-buttontypeprimaryclicksubmitForm(ruleForm)v-loadingloading登录/el-buttonel-button clickresetForm(ruleForm)重置/el-buttonrouter-link to/registerel-button stylemargin-left: 10px注册/el-button/router-link/div/el-card/div /templatescriptexport default {data() {return {ruleForm: {username: ,password: ,},rules: {username: [{ required: true, message: 用户名不能为空, trigger: blur },],password: [{ required: true, message: 密码不能为空, trigger: blur },],},loading: false, // 是否显示加载动画};},methods: {submitForm(formName) {// 验证表单中的账号密码是否有效因为在上面rules中定义为了必填 required: truethis.$refs[formName].validate((valid) {// 点击登录后让登录按钮开始转圈圈展示加载动画this.loading true;// 如果经过校验账号密码都不为空则发送请求到后端登录接口if (valid) {let _this this;// 使用 axios 将登录信息发送到后端this.axios({url: /api/admin/student/login, // 请求地址method: post, // 请求方法headers: { // 请求头Content-Type: application/json,},data: { // 请求参数username: _this.ruleForm.username,password: _this.ruleForm.password,},}).then((res) { // 当收到后端的响应时执行该括号内的代码res 为响应信息也就是后端返回的信息if (res.data.code 1) { // 当响应的编码为 1 时说明登录成功// 将用户信息存储到sessionStorage中sessionStorage.setItem(userInfo, JSON.stringify(res.data.data));// 跳转页面到首页this.$router.push(/home);// 显示后端响应的成功信息this.$message({message: res.data.data,type: success,});} else { // 当响应的编码不为 1 时说明登录失败// 显示后端响应的失败信息this.$message({message: res.data.msg,type: warning,});}// 不管响应成功还是失败收到后端响应的消息后就不再让登录按钮显示加载动画了_this.loading false;console.log(res);});} else { // 如果账号或密码有一个没填就直接提示必填不向后端请求console.log(error submit!!);this.loading false;return false;}});},resetForm(formName) {this.$refs[formName].resetFields();},}, }; /scriptstyle scoped /* 设置登录面板居中宽度为400px */ .box-card {margin: auto auto;width: 400px; } /* 设置登录面板中的表单居中 */ .login-from {margin: auto auto; } /style src\views\home\Home.vue templatedivh2欢迎{{ user.username }}您的 uid 为{{ user.id }}/h2el-button clicklogout 登出 /el-button/div /templatescript export default {data() {return {user: {username: ,id: null,},};},methods: {logout(){// 移除本地用户登录信息sessionStorage.removeItem(userInfo);// 跳转页面到登录页this.$router.push(/login);}},mounted() {if (sessionStorage.getItem(userInfo)) {// 将用户信息存储到sessionStorage中this.user JSON.parse(sessionStorage.getItem(userInfo));}}, }; /scriptstyle scoped /style src\router\index.js // 此文件专门负责项目的路由import VueRouter from vue-router// 引入组件 import Login from ../views/login/Login import Register from /views/register/Register.vue import Home from /views/home/Home.vue// 创建并暴露一个路由器 export default new VueRouter({mode: history, // 路由模式该模式不会在地址中显示井号#routes: [{path: /, // 路径redirect: /login // 重定向},{path: /login, // 路径component: Login // 跳转到的组件},{path: /register, // 路径component: Register // 跳转到的组件},{path: /home, // 路径component: Home // 跳转到的组件}] }) 修改一下登录界面 去掉注册功能 src\views\login\Login.vue 删除红色框部分 src\views\register src\router\index.js 添加背景图片 src\views\login\Login.vue 测试 完整代码 src\views\login\Login.vue templatediv classlogin-backgroundel-card classbox-cardh2体育器材管理后台/h2el-form:modelruleFormstatus-icon:rulesrulesrefruleFormlabel-positionleftlabel-width70pxclasslogin-fromel-form-item label用户名 propusernameel-input v-modelruleForm.username/el-input/el-form-itemel-form-item label密码 proppasswordel-inputtypepasswordv-modelruleForm.passwordautocompleteoff/el-input/el-form-item/el-formdiv classbtnGroupel-buttontypeprimaryclicksubmitForm(ruleForm)v-loadingloading登录/el-buttonel-button clickresetForm(ruleForm)重置/el-button/div/el-card/div /templatescriptexport default {data() {return {ruleForm: {username: ,password: ,},rules: {username: [{ required: true, message: 用户名不能为空, trigger: blur },],password: [{ required: true, message: 密码不能为空, trigger: blur },],},loading: false, // 是否显示加载动画};},methods: {submitForm(formName) {// 验证表单中的账号密码是否有效因为在上面rules中定义为了必填 required: truethis.$refs[formName].validate((valid) {// 点击登录后让登录按钮开始转圈圈展示加载动画this.loading true;// 如果经过校验账号密码都不为空则发送请求到后端登录接口if (valid) {let _this this;// 使用 axios 将登录信息发送到后端this.axios({url: /api/admin/student/login, // 请求地址method: post, // 请求方法headers: { // 请求头Content-Type: application/json,},data: { // 请求参数username: _this.ruleForm.username,password: _this.ruleForm.password,},}).then((res) { // 当收到后端的响应时执行该括号内的代码res 为响应信息也就是后端返回的信息if (res.data.code 1) { // 当响应的编码为 1 时说明登录成功// 将用户信息存储到sessionStorage中sessionStorage.setItem(userInfo, JSON.stringify(res.data.data));// 跳转页面到首页this.$router.push(/home);// 显示后端响应的成功信息this.$message({message: res.data.data,type: success,});} else { // 当响应的编码不为 1 时说明登录失败// 显示后端响应的失败信息this.$message({message: res.data.msg,type: warning,});}// 不管响应成功还是失败收到后端响应的消息后就不再让登录按钮显示加载动画了_this.loading false;console.log(res);});} else { // 如果账号或密码有一个没填就直接提示必填不向后端请求console.log(error submit!!);this.loading false;return false;}});},resetForm(formName) {this.$refs[formName].resetFields();},}, }; /scriptstyle scoped /* 设置登录面板居中宽度为400px */ .box-card {margin: auto auto;width: 400px; } /* 设置登录面板中的表单居中 */ .login-from {margin: auto auto; }/* 背景图片 */ .login-background { background-image: url(/src/assets/bg.jpeg); background-size: cover; background-position: center; height: 100vh; display: flex; /* 如果你想要使用Flexbox来居中el-card */ justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ } /style
http://www.hkea.cn/news/14276478/

相关文章:

  • 优秀网站h5案例分享文山知名网站建设报价
  • 无备案网站 阿里联盟惠州网站开发公司电话
  • 菏泽网站建设培训学校wordpress使用自己主页
  • 网站设计技术那个公司可以做网站
  • 专门做车评的网站百度快照手机入口
  • 大连服务公司 网站个人主页网页设计教程
  • 做的网站怎么卖出去坂田建设网站
  • 什么网站的新闻做参考文献网站开发中存在的问题
  • 江西网站建设公司电话资源下载wordpress
  • 公司网站怎么写北斗手表官方网站
  • 打开网页时网站顶部显示广告随后消失的广告怎么做石家庄小程序开发公司
  • 网页培训多少钱网站建设制作设计seo优化湖北
  • 网站开发课程改革wordpress 输出array
  • 如何做关于网站推广的培训建设类似衣联网的网站
  • 人才市场招聘网站定陶区城乡建设局网站
  • 广西玉林网站建设正规公司英语做美食网站
  • 江宁滨江网站建设首页设计的公司官网
  • 58同城网站建设推广免费制作头像的网站
  • 专业做苗木的网站制作网页视频教程
  • 做网站后端需要什么语言电商网站如何生成app
  • 下载源码就能建网站吗wordpress主题在手机不展示
  • 八度 网站建设广州抖音seo公司
  • 快速将网站seo手机网站技巧
  • 网站制作好以后怎么管理wordpress文章图片怎么居中
  • 高端品牌网站建设兴田德润在那里设计网站大全下载
  • 网站备案 手印随便小影wordpress主题
  • 权威的南通网站建设wordpress发布失败
  • 商业网站建设的方法龙岩市兼职网
  • dw怎么做百度网站邯郸网站
  • 这几年做那个网站致富国外对网站开发的研究