当前位置:网站首页 > 数据科学与大数据 > 正文

Baas接口标准(四)-留言板案例——实现服务端之数据查询、数据变更 & vue-apollovue实现客户端之整合apollo调用接口基本步骤、查询数据并模板填充、添加留言信息、格式化时间

Baas接口标准(四)-留言板案例——实现服务端之数据查询、数据变更 & vue-apollovue实现客户端之整合apollo调用接口基本步骤、查询数据并模板填充、添加留言信息、格式化时间

第5章 留言板案例实战

项目业务分析与展示

  • 留言列表展示效果
  • 项目业务分析

服务端实现

  • 初始化项目
  • 类型定义
  • 数据解析
    • 留言板信息
    • 友情链接信息
    • 天气预报信息
    • 添加留言功能
# 核心类型定义 type Data { weather: Weather link: [FriendlyLink] list: [Comment] } type Query { info: Data } type Mutation { createComment(input: CommentInput): Comment } 

对接数据源

  • 对接评论信息数据源
  • 对接友情链接数据源
  • 对接天气数据源
  • 实现数据源整合,完成响应数据的resolver函数功能
info: async (parent, args, context) => { // 调用数据源对象获取数据 return { list: list, link: link, weather: weather } } 

客户端实现

  • 初始化项目
  • 实现布局效果
  • 对接后台GraphQL接口(基于apollo-server客户端)

apollo-server对接后台接口基本流程

  1. 安装相关依赖包:npm install --save vue-apollo graphql apollo-boost
  2. 配置Vue的apollo插件
import Vue from 'vue' import VueApollo from 'vue-apollo' Vue.use(VueApollo) 
  1. 实例化apollo客户端对象
import ApolloClient from 'apollo-boost' const apolloClient = new ApolloClient({ uri: 'http://localhost:4000/graphql' }) const apolloProvider = new VueApollo({ defaultClient: apolloClient, }) 
  1. 将apollo客户端实例对象挂载到Vue实例中
new Vue({ apolloProvider, render: h => h(App), }).$mount('#app') 
  1. 导入GraphQL相关api:import gql from ‘graphql-tag’;
  2. 调用GraphQL后台接口
// vue参数中配置查询逻辑 apollo: { info: { query: gql` query list { info { list { username content date } } } ` } }, data () { return { info: [] } } 

完成页面数据展示

  • 留言板信息
  • 友情链接信息
  • 天气信息

完成发送留言功能

  • 表单数据绑定
  • 发送按钮事件绑定
  • 调用后台接口发送数据
this.$apollo.mutate({ mutation: gql` mutation createComment($commentInput: CommentInput) { createComment(commentInput: $commentInput) { username content } } `, variables: { commentInput: { username: username, content: content } }, refetchQueries:[{query: QueryListTag}] }) 
到此这篇Baas接口标准(四)-留言板案例——实现服务端之数据查询、数据变更 & vue-apollovue实现客户端之整合apollo调用接口基本步骤、查询数据并模板填充、添加留言信息、格式化时间的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 网络爬虫开发(一)-爬虫基础——基本介绍-爬虫是请求网站并提取数据的自动化程序、爬虫的基本工作流程 & 实例之发送http请求-爬取网址的网页信息2024-12-02 22:27:10
  • vue3中,引入data数据方式 & 引入组件的2种方式2024-12-02 22:27:10
  • vue中组合式 API-依赖注入之provide和inject的用法(一)——功能-把一个祖先组件指定的数据和方法,传递给其所有子孙后代 & provide-提供或发送数据, inject-接收数据2024-12-02 22:27:10
  • vue中组合式 API-依赖注入之provide和inject的用法(二)——添加响应性 & 污染全局数据、破坏了单向数据流,vuex可追踪数据 & 三种通信方式之父子通信、兄弟通信、跨级通信2024-12-02 22:27:10
  • vue中组合式 API-依赖注入之provide和inject的用法(三)——实例之引用全局静态数据2024-12-02 22:27:10
  • vue3封装表单组件(二)02之el-tree-select组件的使用——懒加载、数据回显 & el-tree和el-select的结合体2024-12-02 22:27:10
  • axios配置多个接口请求(二)——vue项目axios配置多个IP地址,并进行请求数据2024-12-02 22:27:10
  • vue3进阶(四)——export function导出定义数据和接口数据 &封装el-select组件 & 获取sessionStorage中的基准地址apiUrl & watch和toRefs写法2024-12-02 22:27:10
  • vue3中,方法之对象深拷贝、判断对象的数据类型2024-12-02 22:27:10
  • js之对象分类、数据类型分类和存储位置、函数 function介绍、变量的作用域2024-12-02 22:27:10
  • 全屏图片