vue-cli从零开始实现一个仿豆瓣app(一)
先放上github地址:https://github.com/jaminejiang/douban.git
首先是搭建框架。
$ npm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project
# 安装依赖,走你
$ cd my-project
$ npm install
$ npm run dev
接下来搭建后台服务器部分,以实现操作数据库等。
项目最终的映射如下:
登陆注册实现
import Vue from 'vue'
import App from './App'
import vueRouter from 'vue-router'
import routers from './routers'Vue.config.productionTip = falseVue.use(vueRouter);
const router = new vueRouter({mode:'history',routes:routers
});/* eslint-disable no-new */
new Vue({el: '#app',router,render: h => h(App)
})
import axios from 'axios'
import vue from 'vue'
vue.prototype.$axios = axios
goToLogin:function(){ //登陆请求if(!this.loginUserName||!this.loginPwd){ //请求框没有输入完整this.operateModal(1);return false;}else{var _this = this;var loginData = {'username':this.loginUserName,'password':this.loginPwd};this.$axios.post('/api/user/queryUser',loginData).then(function(res){if(res.data==-1){ //用户名不存在_this.loginUserName = '';_this.loginPwd = '';_this.operateModal(2);}else if(res.data==0){ //密码错误_this.loginPwd = '';_this.operateModal(3);}else if(res.data==1){ //登陆成功_this.operateModal(4);}}).catch(function(err){console.log(err);});}},
var models = require('../db');
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var $sql = require('../sqlMap');
var session = require('express-session');
var cookieParser = require('cookie-parser');router.use(cookieParser());
router.use(session({secret:'123456',resave: true,saveUninitialized:false})
);//连接数据库
var conn = mysql.createConnection(models.mysql);
conn.connect();//查询用户接口
router.post('/queryUser',(request,response) => {var body = request.body;var queryUser = $sql.user.query_user;conn.query(queryUser,body.username, function( err , result ){if(err){console.log(err); //数据库操作失败}if(result[0]===undefined){response.send('-1'); //查询不到该用户名}else{if(result[0].password!==body.password){response.send('0'); //密码错误}else{request.session.sessionUserName = body.username;request.session.sessionUserId = result[0].userid;response.send('1'); //查询到该用户,登陆成功}}});
});
router.post('/addUser',( request , response ) => {var body = request.body;var addUser = $sql.user.add;var query_user = $sql.user.query_user;conn.query(query_user, body.username,function( err , result){if(err){console.log(err);}if(result[0]===undefined){conn.query(addUser,[body.username,body.password],function( erradd , res){if(erradd){console.log(erradd);}if(res){request.session.sessionUserId = res.insertId;request.session.sessionUserName = body.username;response.send('1'); //插入成功}});}else{response.send('0'); //用户已存在,插入失败}});
});
到这里就可以初步跑起来了。
vue-cli从零开始实现一个仿豆瓣app(一)相关推荐
- 1-vuejs2.0实战:仿豆瓣app项目,创建自定义组件tabbar
大家好,我给大家分享一下仿豆瓣app的教程.当然了,我们不是用原生去实现,而是用前端框架vuejs来实现豆瓣app.----第一次写文章,写得不好请见谅. 为什么我们选择豆瓣app 来做这样一个教程? ...
- vuejs2.0实战:仿豆瓣app项目,创建自定义组件tabbar
大家好,我给大家分享一下仿豆瓣app的教程.当然了,我们不是用原生去实现,而是用前端框架vuejs来实现豆瓣app.----第一次写文章,写得不好请见谅. 为什么我们选择豆瓣app 来做这样一个教程? ...
- Vue.js 学习笔记十二:Vue CLI 之创建一个项目
目录 创建一个项目 创建一个项目 运行以下命令来创建一个新项目: vue create vuecli-demo 你会被提示选取一个 preset.你可以选默认的包含了基本的 Babel + ESLin ...
- 从零开始写一个抖音App——Apt代码生成技术、gradle插件开发与protocol协议
1.讨论--总结前两周评论中有意义的讨论并给予我的解答 2.mvps代码生成原理--将上周的 mvps 架构的代码生成原理进行解析 3.开发一款gradle插件--从 mvps 的代码引出 gradl ...
- 猿创征文|【Vue五分钟】 Vue Cli脚手架创建一个项目
目录 前言 一.创建项目的操作步骤 选择路由模式 选择CSS预编译器 选择如何存放配置 自动下载项目所需的包文件 二.启动vue项目 1.项目目录 2.启动项目 3.浏览器打开项目首页界面 三.项目的 ...
- vue-catEye - 基于Vue 2.6.7 轻仿猫眼App的单页应用
=>点我去github 前端代码传送门 =>点我去github 后端代码传送门 关于 本人2020届大三学生,之前学了Vue之后,萌生了一个想要做一个基于Vue的全栈SPA的想法.前端用的 ...
- Vue Cli 3 搭建一个可按需引入组件的组件库架子
Ant-design.Element 这些框架都有按需引入组件的功能.需要使用哪个组件,就引入哪个组件,这样那些没必要的组件就不会打包到我们的项目里了.跟着我下边的步骤,相信大家也能搭建出一个按需引入 ...
- 手把手教你从零开始做一个好看的 APP
前言 从零开始,手把手带你实现一个「专注睡前的 APP」.睡觉之前如果能有一个 APP,能让我们写一写这一天的见闻或者心得,同时又能看一会段子.瞄一会好看的妹子,放松一下疲惫的身心那该多好,这也是我完 ...
- Vue(小案例_vue+axios仿手机app)_实现用户评论
一.前言 1.渲染评论列表 2.点击加载按钮,加载更多 3.提交评论 二.主要内容 1.评论列表一般是注册到一个全局的公共组件中 2.请求后台数据,渲染评论列表 (1)数据格式如下 地址 /ap ...
最新文章
- 【响应式Web前端设计】:link、:hover、:active和:visited的区别
- 洛谷P2219 [HAOI2007]修筑绿化带(单调队列)
- linux nvme分区,这些 loop 分区是什么鬼东西?
- Plitch for the final Feb 16
- 哈希表处理冲突的方法?
- python语言程序设计试卷西京学院_Python语言程序设计A-中国大学mooc-试题题目及答案...
- zoj1095 Humble Numbers(DP)
- CVE-2015-1642 POC
- 马斯克调侃苹果145元“抹布” !网友补刀:779元的空酒瓶比天价“抹布”更迷惑...
- java asm methodvisitor 定义局部变量_Java ASM3学习(3)
- Spring IOC基础概念总结:何为控制?何为反转?控制了什么?反转了哪里?
- rust投递箱连接箱子_海门市围板箱定制围板箱内衬
- 乌班图apt添加阿里source
- springcloud微服务视频教程
- Linux串口编程select方式
- Windows10无法完成更新 正在撤销更改怎么解决转载
- vue中获取/操作组件中的dom元素
- 单项选择器radio-group
- Vert.x(vertx) 连接MySQL、Oracle数据库
- vue-element-admin 适合前端开发的后台管理系统模板
热门文章
- Android C/C++开发指南
- 1.1JAVA概述以及JDK的安装
- 推箱子游戏 —— 代码我来写
- Token流通量的变化能直接影响价格吗? | TokenInsight
- 谷粒商城-个人笔记(高级篇五)
- 维沃手机有没有智能机器人_vivo人工智能实战:智慧引擎竟如此给力
- 2022年 HSC-1th中MISC的DORAEMON
- siri中文语音助理_懒是第一生产力!萌新小白DIY智能语音(Siriamp;小爱)远程控制家庭影院方案...
- 程序员通病腰肌劳损,快速有效疗法--凳子小燕飞
- android 撒花动画,Android仿QQ聊天撒花特效 很真实