0.1.82 • Published 1 year ago

bot-answer v0.1.82

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

bot-answer

bot-answer是一个通用组件库,基于kgbot机器人问答实现双向式交流,可探索图谱,可提问等。

#install 基于公司源进行安装使用:

npm i @plantdata/bot-answer   
或
yarn add @plantdata/bot-answer 

botAnswer参数:

1、showType
2、addData([], true)
3、setParams(params, requestor)
4、botLinkClick()
5、addDataPage(page)
6、empty插槽

####1、showType:

示例:
    <bot-answer ref="botAnswer" show-type="carousel"></bot-answer>

####2、addData([]):

  • 调用该函数手动塞入数据,可用于定制接口等
  • addData([], true),第二个参数适用于内部某条数据更新-必传(可用于分页,不传则无法判断数据是单条更新还是整体更新)
  • 具体示例请参考下面示例二和示例三的用法

####3、setParams(params, requestor):

  • 组件内入参函数
  • params:此处传参为对象,具体可参考kgbot的swagge调用接口传参 (内含此对象,这里传入为覆盖合并,默认page为1,size为10)

    params.sysNum这里为机器人参数传入

  • requestor:此处传参为对象,可用于url变动,method请求方式变动,header等(非必传)

  • 具体示例请参考下面示例一 ##【注:以上addData、setParams函数调用,不支持同时存在】

####4、botLinkClick():

  • 组件内抛出链接点击事件

####5、addDataPage(page):

  • 该函数仅用于手动塞入数据点击分页情况
  • page为组件内抛出页码

####6、组件内含无数据插槽empty(非必)

示例:
    <bot-answer>      
        <div slot="empty">暂无数据</div>
    </bot-answer> 

##使用步骤: 在main.js中注册并在如下示例中使用

import botAnswer from '@plantdata/bot-answer'

Vue.use(botAnswer)
示例一(参数传入):
<template>
    <bot-answer ref="botAnswer" @botLinkClick="botLinkClick">
        <div slot="empty">暂无数据</div>
    </bot-answer>	
</template>

export default {
  name: 'test-conponent',
  mounted () {
    this.$nextTick(() => {
        this.init()
    })
  },
  methods: {
    init () {
        const params = {
             sysNum: '16722099167167534',
             inputMessage: { inQues: '腾讯的产品有哪些' }
             // baseReq: {
             //   page: 1,
             //   size: 8
             // }
        }
        // 非必传参数
        const requestParams = {
             url: '',
             method: 'POST',
             header: {}
        }                
        // this.$refs.botAnswer.setParams(params)
        this.$refs.botAnswer.setParams(params, requestParams) // this.params.sysNum 和 this.params.inputMessage.inQues必传,不传会弹提示
    },
    botLinkClick (kw, nodeValue) {
        console.log(kw, nodeValue) // kw为链接文案,nodeValue待发掘
    }
  }
}
示例二(数据塞入):
<template>
    <bot-answer ref="botAnswer" 
    	        show-type="carousel"
                @addDataPage="addDataPage">
        <div slot="empty">暂无数据</div>
    </bot-answer>		
</template>

export default {
  name: 'test-conponent',
  mounted () {
    this.$nextTick(() => {
        this.getData()
    })
  },
  methods: {
   getData () {
       const params = { ... }
       axios.post(url, params).then((res) => { 
           this.$refs.botAnswer.addData(res.data || ['1', '2', '3'] || [ {content: 'aa'}, {content: 'bb'}])
       })
   },
    addDataPage (page) {
       const params = { 
         baseReq: {
            page,
            ...
         },
         ... 
       }
       axios.post(url, params).then((res) => {
            const data = res.data  || ['1', '2', 3] || [ {content: 'aa'}, {content: 'bb'}]|| '一条数据'  
           this.$refs.botAnswer.addData(data, true) // 此处第二个参数必传true,
       })
    }
  }
}
示例三(搜索示例):
<template>
  <div class="index-box">
    <div style="display: flex">
      <el-input v-model="kw"></el-input>
      <el-button @click="searchClick">搜索</el-button>
    </div>
    <bot-answer ref="botAnswer" @botLinkClick="botLinkClick" @addDataPage="addDataPage"></bot-answer>
  </div>
</template>

<script>
export default {
  name: 'searchPage',
  data () {
    return {
      kw: '腾讯的产品有哪些'
    }
  },
  mounted () {
    this.$nextTick(() => {
        this.addInit()
    })
  },
  methods: {
    searchClick () {
      this.addInit()
    },
    botLinkClick (kw, nodeValue) {
      console.log(kw, nodeValue)
    },
    setInit () {
      const data = {
        sysNum: '16722099167167534',
        inputMessage: { inQues: this.kw }
      }
      this.$refs.botAnswer.setParams(data)
    },
    addInit () {
      const result = [
         {
           msgType: 'richText',
           score: 100,
           content: '<!DOCTYPE html>\n' +
             '<html lang="en" >\n' +
             '<body>\n' +
             '<p></p>\n' +
             '\n' +
             '<div>\n' +
             '    为您找到共25条数据,共3页:<!DOCTYPE html>\n' +
             '<html lang="en">\n' +
             '<body>\n' +
             '<ul>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="腾讯$_$8">腾讯</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="梨视频$_$13">梨视频</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="VIPKID大米科技$_$19">VIPKID大米科技</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="常山北明$_$20">常山北明</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="小红书$_$21">小红书</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="东华诚信$_$22">东华诚信</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="东华软件$_$23">东华软件</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="Newsdog$_$24">Newsdog</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="新东方在线$_$25">新东方在线</a>\n' +
             '            </li>\n' +
             '            <li>\n' +
             '                <a href="javascript:void(0);" class="welcomeWords" title="点击查看"\n' +
             '                   question="SoundHound$_$26">SoundHound</a>\n' +
             '            </li>\n' +
             '</ul>\n' +
             '    <div class="btns-page">\n' +
             '            <div>[<span class="page-num">1</span>]</div>\n' +
             '            <div class="next" question="腾讯的产品有哪些" size="10" next-page="2">下一页</div>\n' +
             '    </div>\n' +
             '</body>\n' +
             '</html>\n' +
             '</div>\n' +
             '\n' +
             '</body>\n' +
             '</html>',
           showUrl: ''
         },
         {
           msgType: 'richText',
           score: 100,
           content: '<!DOCTYPE html>\n<html lang=\'en\' >\n<body>\n<p></p>\n\n<div>\n    为您找到共20条数据,共2页:<!DOCTYPE html>\n<html lang=\'en\'>\n<body>\n<ul>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'腾讯$_$8\'>腾讯</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'人人车$_$28\'>人人车</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'Marble$_$29\'>Marble</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'满帮集团$_$30\'>满帮集团</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'长亮科技$_$31\'>长亮科技</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'快手$_$32\'>快手</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'新乐视智家$_$33\'>新乐视智家</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'小象互娱$_$34\'>小象互娱</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'拼多多$_$35\'>拼多多</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'销售易CRM$_$36\'>销售易CRM</a>\n            </li>\n</ul>\n    <div class=\'btns-page\'>\n            <div class=\'prev\' question=\'腾讯的产品有哪些\' size=\'10\' prev-page=\'1\'>上一页</div>\n            <div>[<span class=\'page-num\'>2</span>]</div>\n            <div class=\'next\' question=\'腾讯的产品有哪些\' size=\'10\' next-page=\'3\'>下一页</div>\n    </div>\n</body>\n</html>\n</div>\n\n</body>\n</html>',
           showUrl: ''
         }
      ]
      this.$refs.botAnswer.addData(result)
    },
    addDataPage (page) {
      const result = [
        {
          msgType: 'richText',
          score: 100,
          content: '<!DOCTYPE html>\n<html lang=\'en\' >\n<body>\n<p></p>\n\n<div>\n    为您找到共25条数据,共3页:<!DOCTYPE html>\n<html lang=\'en\'>\n<body>\n<ul>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'腾讯$_$8\'>腾讯</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'人人车$_$28\'>人人车</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'Marble$_$29\'>Marble</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'满帮集团$_$30\'>满帮集团</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'长亮科技$_$31\'>长亮科技</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'快手$_$32\'>快手</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'新乐视智家$_$33\'>新乐视智家</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'小象互娱$_$34\'>小象互娱</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'拼多多$_$35\'>拼多多</a>\n            </li>\n            <li>\n                <a href=\'javascript:void(0);\' class=\'welcomeWords\' title=\'点击查看\'\n                   question=\'销售易CRM$_$36\'>销售易CRM</a>\n            </li>\n</ul>\n    <div class=\'btns-page\'>\n            <div class=\'prev\' question=\'腾讯的产品有哪些\' size=\'10\' prev-page=\'1\'>上一页</div>\n            <div>[<span class=\'page-num\'>2</span>]</div>\n            <div class=\'next\' question=\'腾讯的产品有哪些\' size=\'10\' next-page=\'3\'>下一页</div>\n    </div>\n</body>\n</html>\n</div>\n\n</body>\n</html>',
          showUrl: ''
        }
      ]
      this.$refs.botAnswer.addData(result, true)
    }
  }
}
</script>
0.1.82

1 year ago

0.1.81

1 year ago

0.1.80

1 year ago

0.1.79

1 year ago

0.1.78

1 year ago

0.1.77

1 year ago

0.1.76

1 year ago

0.1.75

1 year ago

0.1.74

1 year ago

0.1.73

1 year ago

0.1.72

1 year ago

0.1.71

1 year ago

0.1.70

1 year ago

0.1.69

1 year ago

0.1.68

1 year ago

0.1.67

1 year ago

0.1.66

1 year ago

0.1.65

1 year ago

0.1.64

1 year ago

0.1.63

1 year ago

0.1.62

1 year ago

0.1.61

1 year ago

0.1.60

1 year ago

0.1.59

1 year ago

0.1.58

1 year ago

0.1.57

1 year ago

0.1.56

1 year ago

0.1.55

1 year ago

0.1.54

1 year ago

0.1.53

1 year ago

0.1.52

1 year ago

0.1.51

1 year ago

0.1.50

1 year ago

0.1.49

1 year ago

0.1.48

1 year ago

0.1.47

1 year ago

0.1.46

1 year ago

0.1.45

1 year ago

0.1.44

1 year ago

0.1.43

1 year ago

0.1.42

1 year ago

0.1.41

1 year ago

0.1.40

1 year ago

0.1.39

1 year ago

0.1.38

1 year ago

0.1.37

1 year ago

0.1.36

1 year ago

0.1.35

1 year ago

0.1.34

1 year ago

0.1.33

1 year ago

0.1.32

1 year ago

0.1.31

1 year ago

0.1.30

1 year ago

0.1.29

1 year ago

0.1.28

1 year ago

0.1.27

1 year ago

0.1.26

1 year ago

0.1.25

1 year ago

0.1.24

1 year ago

0.1.23

1 year ago

0.1.22

1 year ago

0.1.21

1 year ago

0.1.20

1 year ago

0.1.19

1 year ago

0.1.18

1 year ago

0.1.17

1 year ago

0.1.16

1 year ago

0.1.15

1 year ago

0.1.14

1 year ago

0.1.13

1 year ago

0.1.12

1 year ago

0.1.11

1 year ago

0.1.10

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago