mirror of
https://gitee.com/WuKongDev/WuKongIM.git
synced 2025-12-06 14:59:08 +08:00
update chat demo
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{d as g,q as m,r as d,b as f,c as b,j as e,t as x,u as I,W as k,w as u,x as _,A as p,H as w,I as y,_ as S}from"./index-6bd21cb0.js";const U="/chatdemo/logo.png",c=a=>(w("data-v-6e16c5bf"),a=a(),y(),a),V={class:"hello"},A=c(()=>e("div",null,[e("a",{href:"https://githubim.com",target:"_blank"},[e("img",{src:U,class:"logo",alt:"Vite logo"})])],-1)),P={class:"form"},D={class:"item"},L=c(()=>e("div",{class:"label"},[e("label",null,"API基地址")],-1)),B={class:"field"},C={class:"item"},K=c(()=>e("div",{class:"label"},[e("label",null,"登录账号")],-1)),R={class:"field"},W={class:"item"},q=c(()=>e("div",{class:"label"},[e("label",null,"登录密码")],-1)),E={class:"field"},M=g({__name:"Login",setup(a){const v=m();var s=(o=>{var t=new RegExp("(^|&)"+o+"=([^&]*)(&|$)"),l=window.location.search.substr(1).match(t);return l!=null?unescape(l[2]):null})("apiurl");!s||(s==null?void 0:s.trim())==""?s="http://127.0.0.1:5001":s&&s.endsWith("/")&&(s=s.substring(0,s.length-1)),console.log("apiurl--->",s),d(0);const r=d(s||""),n=d(""),i=d(""),h=()=>{p.shared.config.apiURL=r.value,p.shared.post("/user/token",{uid:n.value,token:i.value||"default111111",device_flag:1,device_level:0}).then(o=>{console.log(o),v.push({path:"/chat",query:{uid:n.value,token:i.value}})}).catch(o=>{alert(o.msg)})};return(o,t)=>(f(),b("div",V,[A,e("p",null," 悟空IM演示程序,当前SDK版本:[v"+x(I(k).shared().config.sdkVersion)+"] ",1),e("div",P,[e("div",D,[L,e("div",B,[u(e("input",{type:"text",placeholder:"请输入API基地址","onUpdate:modelValue":t[0]||(t[0]=l=>r.value=l)},null,512),[[_,r.value]])])]),e("div",C,[K,e("div",R,[u(e("input",{type:"text",placeholder:"演示下,随便输,唯一即可","onUpdate:modelValue":t[1]||(t[1]=l=>n.value=l)},null,512),[[_,n.value]])])]),e("div",W,[q,e("div",E,[u(e("input",{type:"text",placeholder:"演示下,随便输","onUpdate:modelValue":t[2]||(t[2]=l=>i.value=l)},null,512),[[_,i.value]])])]),e("button",{class:"submit",onClick:h},"登录")])]))}});const H=S(M,[["__scopeId","data-v-6e16c5bf"]]);export{H as default};
|
||||
import{d as g,q as m,r as d,b as f,c as b,j as e,t as x,u as I,W as k,w as u,x as _,A as p,H as w,I as y,_ as S}from"./index-5271d4ae.js";const U="/chatdemo/logo.png",c=a=>(w("data-v-6e16c5bf"),a=a(),y(),a),V={class:"hello"},A=c(()=>e("div",null,[e("a",{href:"https://githubim.com",target:"_blank"},[e("img",{src:U,class:"logo",alt:"Vite logo"})])],-1)),P={class:"form"},D={class:"item"},L=c(()=>e("div",{class:"label"},[e("label",null,"API基地址")],-1)),B={class:"field"},C={class:"item"},K=c(()=>e("div",{class:"label"},[e("label",null,"登录账号")],-1)),R={class:"field"},W={class:"item"},q=c(()=>e("div",{class:"label"},[e("label",null,"登录密码")],-1)),E={class:"field"},M=g({__name:"Login",setup(a){const v=m();var s=(o=>{var t=new RegExp("(^|&)"+o+"=([^&]*)(&|$)"),l=window.location.search.substr(1).match(t);return l!=null?unescape(l[2]):null})("apiurl");!s||(s==null?void 0:s.trim())==""?s="http://127.0.0.1:5001":s&&s.endsWith("/")&&(s=s.substring(0,s.length-1)),console.log("apiurl--->",s),d(0);const r=d(s||""),n=d(""),i=d(""),h=()=>{p.shared.config.apiURL=r.value,p.shared.post("/user/token",{uid:n.value,token:i.value||"default111111",device_flag:1,device_level:0}).then(o=>{console.log(o),v.push({path:"/chat",query:{uid:n.value,token:i.value}})}).catch(o=>{alert(o.msg)})};return(o,t)=>(f(),b("div",V,[A,e("p",null," 悟空IM演示程序,当前SDK版本:[v"+x(I(k).shared().config.sdkVersion)+"] ",1),e("div",P,[e("div",D,[L,e("div",B,[u(e("input",{type:"text",placeholder:"请输入API基地址","onUpdate:modelValue":t[0]||(t[0]=l=>r.value=l)},null,512),[[_,r.value]])])]),e("div",C,[K,e("div",R,[u(e("input",{type:"text",placeholder:"演示下,随便输,唯一即可","onUpdate:modelValue":t[1]||(t[1]=l=>n.value=l)},null,512),[[_,n.value]])])]),e("div",W,[q,e("div",E,[u(e("input",{type:"text",placeholder:"演示下,随便输","onUpdate:modelValue":t[2]||(t[2]=l=>i.value=l)},null,512),[[_,i.value]])])]),e("button",{class:"submit",onClick:h},"登录")])]))}});const H=S(M,[["__scopeId","data-v-6e16c5bf"]]);export{H as default};
|
||||
31
demo/chatdemo/dist/assets/index-5271d4ae.js
vendored
Normal file
31
demo/chatdemo/dist/assets/index-5271d4ae.js
vendored
Normal file
File diff suppressed because one or more lines are too long
31
demo/chatdemo/dist/assets/index-6bd21cb0.js
vendored
31
demo/chatdemo/dist/assets/index-6bd21cb0.js
vendored
File diff suppressed because one or more lines are too long
2
demo/chatdemo/dist/index.html
vendored
2
demo/chatdemo/dist/index.html
vendored
@@ -7,7 +7,7 @@
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover,shrink-to-fit=no">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
|
||||
<title>悟空IM演示程序</title>
|
||||
<script type="module" crossorigin src="/chatdemo/assets/index-6bd21cb0.js"></script>
|
||||
<script type="module" crossorigin src="/chatdemo/assets/index-5271d4ae.js"></script>
|
||||
<link rel="stylesheet" href="/chatdemo/assets/index-4eaedd69.css">
|
||||
</head>
|
||||
|
||||
|
||||
@@ -2,10 +2,9 @@
|
||||
import { nextTick, onMounted, onUnmounted, ref, toRaw, toRefs, unref } from 'vue';
|
||||
import APIClient from '../services/APIClient'
|
||||
import { useRouter } from "vue-router";
|
||||
import { WKSDK, Message, MessageText, Channel, ChannelTypePerson, ChannelTypeGroup, MessageStatus, PullMode, MessageContent, MessageContentType, ConnectionInfo, AgentChangeListener } from "wukongimjssdk";
|
||||
import { WKSDK, Message, MessageText, Channel, ChannelTypePerson, ChannelTypeGroup, MessageStatus, PullMode, MessageContent, ConnectionInfo, WKEventManager, WKEvent, MessageContentType, WKEventListener } from "wukongimjssdk";
|
||||
import { ConnectStatus, ConnectStatusListener } from 'wukongimjssdk';
|
||||
import { SendackPacket, Setting } from 'wukongimjssdk';
|
||||
import { Buffer } from 'buffer';
|
||||
import { MessageListener, MessageStatusListener } from 'wukongimjssdk';
|
||||
import Conversation from '../components/Conversation/index.vue'
|
||||
import { CustomMessage, orderMessage } from '../customessage';
|
||||
@@ -13,7 +12,6 @@ import MessageUI from '../messages/Message.vue';
|
||||
import { Marked } from 'marked';
|
||||
import { markedHighlight } from "marked-highlight";
|
||||
import hljs from 'highlight.js';
|
||||
import { Agent } from 'wukongimjssdk/lib/agent';
|
||||
|
||||
const marked = new Marked(markedHighlight({
|
||||
emptyLangClass: 'hljs',
|
||||
@@ -61,11 +59,10 @@ title.value = `${uid || ""}(未连接)`
|
||||
let connectStatusListener!: ConnectStatusListener
|
||||
let messageListener!: MessageListener
|
||||
let messageStatusListener!: MessageStatusListener
|
||||
let agentListener!: AgentChangeListener // 流监听
|
||||
let eventListener!: WKEventListener // 事件监听
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
console.log("WKSDK.shared().config.apiURL--->", APIClient.shared.config.apiURL)
|
||||
|
||||
if (!APIClient.shared.config.apiURL || APIClient.shared.config.apiURL === '') {
|
||||
WKSDK.shared().connectManager.disconnect()
|
||||
@@ -129,16 +126,13 @@ const connectIM = (addr: string) => {
|
||||
WKSDK.shared().chatManager.addMessageListener(messageListener)
|
||||
|
||||
// 流监听
|
||||
agentListener = (agent: Agent) => {
|
||||
if (agent.channel && !to.value.isEqual(agent.channel)) {
|
||||
return
|
||||
}
|
||||
eventListener = (event: WKEvent) => {
|
||||
for (const message of messages.value) {
|
||||
if (message.messageID === agent.messageID) {
|
||||
if (agent.events && agent.events.length > 0) {
|
||||
message.content = new MessageText(agent.text)
|
||||
} else {
|
||||
message.content = agent.initMessage?.content
|
||||
if (message.clientMsgNo === event.id) {
|
||||
if (message.contentType === MessageContentType.text) {
|
||||
message.streamText = (message.streamText || "") + (event.dataText||"")
|
||||
const textContent = new MessageText(message.streamText || "")
|
||||
message.content = textContent
|
||||
}
|
||||
break
|
||||
}
|
||||
@@ -147,7 +141,7 @@ const connectIM = (addr: string) => {
|
||||
scrollBottom()
|
||||
}
|
||||
}
|
||||
WKSDK.shared().agentManager.addAgentChangeListener(agentListener)
|
||||
WKSDK.shared().eventManager.addEventListener(eventListener)
|
||||
|
||||
messageStatusListener = (ack: SendackPacket) => {
|
||||
console.log(ack)
|
||||
@@ -167,7 +161,7 @@ onUnmounted(() => {
|
||||
WKSDK.shared().connectManager.removeConnectStatusListener(connectStatusListener)
|
||||
WKSDK.shared().chatManager.removeMessageListener(messageListener)
|
||||
WKSDK.shared().chatManager.removeMessageStatusListener(messageStatusListener)
|
||||
WKSDK.shared().agentManager.removeAgentChangeListener(agentListener)
|
||||
WKSDK.shared().eventManager.removeEventListener(eventListener)
|
||||
WKSDK.shared().disconnect()
|
||||
})
|
||||
|
||||
|
||||
1725
docs/openapi.json
1725
docs/openapi.json
File diff suppressed because it is too large
Load Diff
@@ -17,8 +17,8 @@ demo:
|
||||
on: true
|
||||
conversation:
|
||||
on: true
|
||||
# webhook: # webhook配置 用于接收消息通知事件,详情请查看文档
|
||||
# httpAddr: "http://127.0.0.1:8080/webhooks/wukongim"
|
||||
webhook: # webhook配置 用于接收消息通知事件,详情请查看文档
|
||||
httpAddr: "http://127.0.0.1:8080/webhooks/wukongim"
|
||||
cluster:
|
||||
nodeId: 1 # 节点ID
|
||||
addr: "tcp://127.0.0.1:10001"
|
||||
|
||||
@@ -909,6 +909,7 @@ func (m *message) syncMessages(c *wkhttp.Context) {
|
||||
}
|
||||
for _, streamV2 := range streamV2s {
|
||||
if message.MessageId == streamV2.MessageId {
|
||||
|
||||
message.End = streamV2.End
|
||||
message.EndReason = streamV2.EndReason
|
||||
message.StreamData = streamV2.Payload
|
||||
|
||||
Reference in New Issue
Block a user