基于vue2框架的机器人自动回复mini-project
来源:互联网 发布:js禁止复制文字 编辑:程序博客网 时间:2024/05/24 05:41
这是一个mini-project,主要是基于vue2.0的一个移动端的机器自动回复小项目,下面是我的一个回顾总结
https://github.com/xuweikang/rebotChat
1. 项目搭建
在开始该项目之前,使用vue-cli脚手架搭建整个projec
//安装vue-clinpm install vue-cli//初始化项目 rebotChat是我的项目名称vue init webpack-simple rebotChat
这样我的项目结构就出来了,如下:
2. 模拟数据,命名为mockdata.json,该数据包括用户基本信息数据和聊天记录,以后所有的对话都是模拟在该mock基础上的。 3. 在build/dev.server.js中加入对模拟数据的所有mock
//对所有的内容数据进行mocklet appData=require('../mockdata.json');let dialogue=appData.dialogue;//获得聊天内容 (如果聊天id参数不存在的话就获取所有)router.get('/dialogue', (req, res) => { if(req.query.id){ for(var i=0;i<dialogue.length;i++){ if(req.query.id==dialogue[i].id){ res.json({ data:dialogue[i] }) } } }else{ res.json({ data:appData.dialogue }) }})//获得用户信息router.get('/user', (req, res) => { res.json({ data:appData.user })}) //接入图灵机器人接口router.get('/tulingapi', (req, res) => { let response=res let info = req.query.message let userid = req.query.id let key = '9857cf36b0bc4a48b8ba3f976e43a4cf' superagent.post('http://www.tuling123.com/openapi/api') .send({info, userid, key}) .end((err,res) => { if(err){ console.log(err) } response.json({ data: res.text }) })})
4. 创建api文件夹,将所有用到的api接口全部在api的js里面定义
import axios from 'axios';var qs = require('qs');var instance = axios.create({ headers: {'content-type': 'application/x-www-form-urlencoded'}});let base = 'http://localhost:8080/api/';//export const requestLogin = params => { return axios.post(`${base}/login`, params).then(res => res.data); };export const getDialog = params => { return instance.get(base+'/dialogue',{ params: params }); };export const getUser= params => { return instance.get(base+'/user',{ params: params }); };export const getRebotContent = params => { return instance.get('http://www.tuling123.com/openapi/api',{ params: params }); }
5.到目前为止,整个项目的api接口都已经封装完毕,接下来是对各个组件的封装和数据接口的调用,我使用的是vuex的组件通信管理,将mock的数据作为全局供每个组件使用和修改。
6.路由的配置,在路由中将所有组件进行拼装组合,正确的显示在想要的页面,至此,项目基本完成。npm run dev后,浏览器显示效果:
总结:
该开始vue组件通信一块,使用的是bus通信,发现到了后来代码越来越臃肿,而且有很多莫名其妙的小bug,就停住了继续的项目,在项目中加入了vuex,删除已有的bus,对组件进行了一次重新的规范,虽然重新规划通信花掉了一点时间,但是确是大大降低了代码的冗余,而且思路非常清晰,就觉得自己停止现有的方式去尝试另一种方式来完成一个任务的选择是正确的。
阅读全文
0 0
- 基于vue2框架的机器人自动回复mini-project
- 自动回复聊天机器人
- Python写一个微信自动回复的机器人
- 小黄鸡QQ空间自动回复机器人
- 图灵第三方机器人自动回复
- MyBatis 实战小项目 自动回复机器人
- 使用ServerSocket实现自动回复机器人
- Python实现微信自动回复机器人
- python实现微信机器人自动回复
- python之微信自动回复机器人
- 基于Django框架的用户信息管理系统mini项目
- 微信机器人WordPress插件:让你的微信公众账号自动回复用户
- 微信接入机器人实现对别人消息和群at消息的自动回复
- 可自定义回复内容的机器人平台
- JAVASCRIPT实现基于文本的自动智能聊天机器人
- 基于STM32图像处理的机器人自动充电解决方案
- 【MyBatis学习】:通过自动回复机器人学习MyBatis(一)
- Python实现微信自动回复(机器人版本)
- ImageEditor库详解—————StickerView详解
- 深入理解事务--事务ACID特性及隔离级别
- Gitlab不更新Activity的解决方案
- Valgrind用户手册
- 【bzoj4390】[Usaco2015 dec]Max Flow
- 基于vue2框架的机器人自动回复mini-project
- C语言实现个人所得税计算
- android之数据库的增删改查
- 矩阵连乘的动态规划解法
- 学习笔记——JAVA设计模式<4>原型模式
- Valgrind概述
- Spring MVC 思想
- JDBC(2):事务,批次处理文件,处理大文件
- 【Python】第一次使用Python(python基础教程)