vue.js实现h5机器人聊天(测试版)

本文实例为大家分享了vue.js实现h5机器人聊天的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 <title>登录</title>
 <link rel="stylesheet" href="css/mui.css" rel="external nofollow" />
 </head>
 <style>
 page {
 background-color: #ececec;
 }

 .reply .pic,
 .send .pic {
 border-radius: 50%;
 padding: 10px;
 }

 .reply,
 .send {
 display: flex;
 }

 .reply .pic image,
 .send .pic image {
 border-radius: 50%;
 width: 80rpx;
 height: 80rpx;
 }

 .send {
 justify-content: flex-end;
 }

 .reply .content {
 padding: 10px 10px 10px 0;
 max-width: 480rpx;
 }

 .send .content {
 padding: 10px 0 10px 10px;
 max-width: 480rpx;
 }

 .reply .content .text,
 .send .content .text {
 background-color: #fff;
 border-radius: 5px;
 padding: 10px;
 font-size: 16px;
 }

 .send .content .text {
 background-color: #78fd75;
 }

 .sendMessage {
 display: flex;
 position: fixed;
 bottom: 0;
 left: 0;
 right: 0;
 padding: 10px;
 background-color: #fff;
 }

 .inputMsg {
 flex: 2;
 background-color: #fff;
 height: 30px;
 font-size: 16px;
 padding: 5px 10px;
 border-bottom: 1px solid #ddd;
 }

 .sendMessage {
 position: fixed;
 bottom: 0px;
 width: 100%;
 height: 60px;
 line-height: 60px;
 background-color: #4CD964;
 }

 #inputs {
 position: absolute;
 display: inline-block;
 width: 65%;
 height: 40px;
 background-color: #fff;
 border-radius: 3px;
 }

 #btn_submit {
 position: absolute;
 width: 100px;
 display: inline-block;
 right: 10px;
 height: 40px;
 background-color: #DD524D;
 border: 0px;
 text-align: center;
 color: #fff;
 }

 .image {

 width: 60px;
 border-radius: 50%;
 height: 60px;
 }
 </style>

 <body>
 <header class="mui-bar mui-bar-nav">
 <h1 class="mui-title">老五</h1>
 </header>
 <div class="mui-content">

 <!--chat.wxml-->
 <div id="cont">

 <div >

  <!--<div v-if="{{item.type == 1}}">-->
  <div class="reply">
  <div class="pic">
  <image class="image" src="img/list_img.png"></image>
  </div>
  <div class="content">
  <div class="text">
  {{hh}}
  </div>
  </div>
  </div>
  <!--</div>-->
  <!--<div v-if="{{item.type == null}}">-->
  <div class="send">
  <div class="content">
  <div class="text">
  {{names}}
  </div>
  </div>
  <div class="pic">
  <image class="image" src="img/list_img.png"></image>
  </div>
  </div>
  <!--</div>-->
 </div>

 <div class="sendMessage">
  <input id="inputs" type="text" placeholder="请输入您要说的话" />
  <button id="btn_submit" @click="mit()">发送</button>

 </div>

 </div>

 <!--<scroll-view scroll-y="true" style='margin-bottom:120rpx;' scroll-top="{{scrollTop}}">-->
 <!--<div is="temp" data="{{message}}"></div>-->
 <!--</scroll-view>-->

 </div>

 <script type="text/javascript" src="js/jquery-1.8.3.js"></script>

 <script src="https://cdn.jsdelivr.net/npm/vue"></script>
 <script type="text/javascript" src="js/vue.min.js"></script>

 <script>
var str="";

 var vue = new Vue({
 el: "#cont",
 data: {
  message: [

  ],
  names: "what",
  hh:"你说啥",
  inputMsg: "",
  scrollTop: 0
 },
 methods: {
  mit: function() {
  var name = document.getElementById("inputs").value;
  console.log(name);
  if(name != "") {
  var msg = {
  type: 0,
  src: "http://tu.maomaogougou.cn/picture/2015/05/fa44ab7e634cbc7a8011939273b70375.jpg",
  texts: name
  };
  //  //发送信息
  //  this.Message(msg);
  // 1111111  console.log("124313535",this.names)
  this.names = name;
document.getElementById("inputs").value="";
  //回复
  $.ajax({
  type: "get",
  url: "http://www.tuling123.com/openapi/api",
  data: {
   key: "fa7f4d06b0a24b479d29ea0a01672350",
   info: msg.content
  },
  success: function(data) {
   console.log(data, "111111111111");
//   var reply = {
//   type: 1,
//   src: "http://tu.maomaogougou.cn/picture/2015/05/c53b650c3a5fd847688118e566d6673f.png",
//   content: data.text
//   };

str=data.text;

  }
  });

  }

  console.log(str,"str");
  this.hh=str;
  //  this.Messages(reply);
  },
//  Message: function(msg) {
//  var list = this.message;
//  list.push(msg);
//  this.message = list;
//  console.log("Message", list);
//
//  },
//  Messages: function(msg) {
//  var list = this.message;
//  list.push(msg);
//  this.message = list;
//  console.log("2222222222", list);
//
//  },
 },

 });
 </script>
 <script>
 </script>
 </body>

</html>

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )

    概述 使用Vue2进行的仿手机QQ的webapp的制作,在ui上,参考了设计师kaokao的作品,作品由个人独立开发,源码中进行了详细的注释. 由于自己也是初学Vue2,所以注释写的不够精简,请见谅. 项目地址 https://github.com/jiangqizheng/vue-MiniQQ 项目已实现功能 对话功能--想着既然是QQ总要能进行对话交流,所以在项目中接入了图灵聊天机器人,可以与列表中的每个人物进行对话. 左滑删除--左滑删除相关消息. 搜索页面--点击右上角搜索按钮,能够进入

  • vue实现的微信机器人聊天功能案例【附源码下载】

    本文实例讲述了vue实现的微信机器人聊天功能.分享给大家供大家参考,具体如下: 先看效果: 实现过程: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>HTML5模拟微信聊天界面</title> <style> /**重置标签默认样式*/ * { margin: 0; padding: 0; list-style: none; fo

  • vue.js实现h5机器人聊天(测试版)

    本文实例为大家分享了vue.js实现h5机器人聊天的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-sca

  • 使用vue.js 为基础的仿QQ聊天室

    目录 简介 下面是效果演示图: MChat组件效果图: IChat组件效果图: 如何安装 使用 npm 安装 使用 在main.js中引入 如何进行二次开发 方案一: 方案二: 总结 简介 这是一款基于 vue.js 开发的聊天室组件库,在提供基础封装的同时,最大程度的增加扩展性. 下面是效果演示图: MChat组件效果图: IChat组件效果图: 如何安装 使用 npm 安装 npm install vue-mchat 使用 在main.js中引入 # npm 下载方式 // 进入css im

  • vue.js学习之UI组件开发教程

    本文主要给大家介绍了关于vue.js之UI组件开发的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 1. 新建组件: <script src="/public/javascripts/vue.js"></script> <style> #app1{background-color: red} #app2{background-color: blue} </style> <body> <div id=&quo

  • 详解vue.js组件化开发实践

    前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然成为了第一个问题.鉴于目前web前端mvvm框架以及组件化开发方式的流行,决定技术栈采用:vue + es6 + 组件化. 这里首先简单说下web前端组件化开发方式的历程: 最早的组件化结构,代码结构可能如下: - lib/components/calendar |- calendar.css |-

  • Vue.js框架路由使用方法实例详解

    Vue.js框架路由使用方法实例详解 html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name='viewport' content='width=device-width,initial-

  • Vue.js 2.0 移动端拍照压缩图片上传预览功能

    在学习和使用Vue.js 2.0 的过程中遇到不少不一样的地方,本来移动端开发H5应用,准备将mui框架和Vue.js+vue-router+vuex 全家桶结合起来使用,但是在拍照上传的实现过程中遇到了无法调用plus的H5+接口的问题,所以最后拍照上传功能还是使用input file方式里解决的.但是内心还是不甘心的,由于项目进度推进,迭代版本,所以不得不放弃,后续可能我将此功能使用调用H5+接口实现. 首先我来讲我实现这个拍照预览压缩上传的思路,准确的说应该是拍照或选择图片压缩之后预览及上

  • vue.js实现用户评论、登录、注册、及修改信息功能

    vue.js实现用户评论.登录.注册.及修改用户部分信息功能代码.效果图如下: 登入后: 登入前: 登录框: 注册框: html代码部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>index</title> <link rel="stylesheet" href=&quo

  • 前端 Vue.js 和 MVVM 详细介绍

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定. Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 JavaScript 库,专注于View 层.它的核心是 MVVM 中的 VM,也就是 ViewModel. ViewModel负责连接 View 和 Model,保证视图和数据的一致性,这种轻量

  • Vue.js 和 MVVM 的注意事项

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 View Model 的双向数据绑定,这使得View Model的状态改变可以自动传递给 View,这就是所谓的数据双向绑定. Vue.js 是一个提供 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层.它的核心是 MVVM 中的 VM,也就是 ViewModel.ViewModel负责连接 View 和 Model,保证视图和数据的一致性,这种轻

随机推荐