Commit dd301453 by 杨铁龙

add create add chat api

parent 6547881d
VUE_APP_TEST_ACCOUNT="15132146321" VUE_APP_EID="10"
VUE_APP_TEST_PASSWORD="erhao521" \ No newline at end of file
\ No newline at end of file
VUE_APP_TEST_ACCOUNT="18040417207" VUE_APP_EID="11"
VUE_APP_TEST_PASSWORD="y1234567" \ No newline at end of file
\ No newline at end of file
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
"@vue/eslint-config-standard": "^6.1.0", "@vue/eslint-config-standard": "^6.1.0",
"@vue/eslint-config-typescript": "^9.1.0", "@vue/eslint-config-typescript": "^9.1.0",
"compression-webpack-plugin": "^9.2.0", "compression-webpack-plugin": "^9.2.0",
"cross-env": "^7.0.3",
"eslint": "^7.32.0", "eslint": "^7.32.0",
"eslint-plugin-import": "^2.25.3", "eslint-plugin-import": "^2.25.3",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
...@@ -4825,6 +4826,25 @@ ...@@ -4825,6 +4826,25 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/cross-env": {
"version": "7.0.3",
"resolved": "http://npm.job.qinqinxiaobao.com/cross-env/-/cross-env-7.0.3.tgz",
"integrity": "sha1-hlJkspZ33AFbqEGJGJZd0jL8VM8=",
"dev": true,
"license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.1"
},
"bin": {
"cross-env": "src/bin/cross-env.js",
"cross-env-shell": "src/bin/cross-env-shell.js"
},
"engines": {
"node": ">=10.14",
"npm": ">=6",
"yarn": ">=1"
}
},
"node_modules/cross-spawn": { "node_modules/cross-spawn": {
"version": "7.0.3", "version": "7.0.3",
"resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
...@@ -16637,6 +16657,15 @@ ...@@ -16637,6 +16657,15 @@
"yaml": "^1.7.2" "yaml": "^1.7.2"
} }
}, },
"cross-env": {
"version": "7.0.3",
"resolved": "http://npm.job.qinqinxiaobao.com/cross-env/-/cross-env-7.0.3.tgz",
"integrity": "sha1-hlJkspZ33AFbqEGJGJZd0jL8VM8=",
"dev": true,
"requires": {
"cross-spawn": "^7.0.1"
}
},
"cross-spawn": { "cross-spawn": {
"version": "7.0.3", "version": "7.0.3",
"resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
......
export const config = { export const config = {
chatApi: 'http://xchat-ds.jinsehuaqin.com:8020/chat/api', appId: 'tecsun',
password: 'ds123456',
eid: process.env.VUE_APP_EID,
chatApi: 'http://xchat-ds.jinsehuaqin.com:8020/',
SocketUrl: 'ws://xchat-ds.jinsehuaqin.com:8010/ws', SocketUrl: 'ws://xchat-ds.jinsehuaqin.com:8010/ws',
testAccount: process.env.VUE_APP_TEST_ACCOUNT, testAccount: process.env.VUE_APP_TEST_ACCOUNT,
testPassword: process.env.VUE_APP_TEST_PASSWORD, testPassword: process.env.VUE_APP_TEST_PASSWORD,
......
...@@ -6,7 +6,6 @@ import Chat from '@/customer-service/xim' ...@@ -6,7 +6,6 @@ import Chat from '@/customer-service/xim'
import store from '@/store' import store from '@/store'
import { throttle } from 'lodash' import { throttle } from 'lodash'
import { cache } from './user' import { cache } from './user'
// import { sdk } from './sdk'
export function initChat() { export function initChat() {
console.log('初始化chat') console.log('初始化chat')
......
import { config } from '@/config' import { config } from '@/config'
import { randomString } from '@/utils' import { randomString } from '@/utils'
import axios from 'axios' import axios from 'axios'
export const cache = { export const cache = {
chatApiOrgId: 'chatApiOrgId', chatApiOrgId: 'chatApiOrgId',
chatApiToken: 'chatApiToken', chatApiToken: 'chatApiToken',
...@@ -9,7 +10,6 @@ export const cache = { ...@@ -9,7 +10,6 @@ export const cache = {
export function buildHeaders() { export function buildHeaders() {
return { return {
headers: { headers: {
'content-type': 'application/x-www-form-urlencoded',
Authorization: 'Bearer ' + localStorage.getItem(cache.chatApiToken), Authorization: 'Bearer ' + localStorage.getItem(cache.chatApiToken),
}, },
} }
...@@ -18,11 +18,15 @@ export function buildHeaders() { ...@@ -18,11 +18,15 @@ export function buildHeaders() {
export interface CreateChat { export interface CreateChat {
// 成员uid // 成员uid
members: string[] members: string[]
// 会话标题
title: string title: string
} }
function createChat(data: CreateChat) {
/** 创建会话 biz_id暂时随机生成,唯一字段 */
export function createChat(data: CreateChat) {
const d = { const d = {
members: data.members.map((i) => { members: data.members.map((i) => {
// 都传成员uid
return { return {
uid: i, uid: i,
eid: i, eid: i,
...@@ -35,6 +39,45 @@ function createChat(data: CreateChat) { ...@@ -35,6 +39,45 @@ function createChat(data: CreateChat) {
biz_id: randomString(32), biz_id: randomString(32),
} }
return axios return axios
.post(`${config.chatApi}/add_xchat`, d, buildHeaders()) .post(`${config.chatApi}/chat/api/add_xchat`, d, buildHeaders())
.then((r) => r.data.access_token) .then((r) => r.data.access_token)
} }
/**
* 添加成员到会话中
* @param members 用户id
* @param chatId 会话id
* @returns
*/
export function addToChat(members: string[], chatId: number) {
const d = {
members: members.map((i) => {
// 都传成员uid
return {
uid: i,
eid: i,
oid: i,
}
}),
chat_id: chatId,
}
return axios
.post(`${config.chatApi}/chat/api/join_xchat`, d, buildHeaders())
.then((r) => r.data.access_token)
}
/** 生成token */
export function generateToken() {
return axios
.post(`${config.chatApi}/inside/api/get_auth_token`, {
app_id: config.appId,
password: config.password,
eid: config.eid,
})
.then((r) => {
const token = r.data.data.token
const orgId = r.data.data.org_id
localStorage.setItem(cache.chatApiToken, token)
localStorage.setItem(cache.chatApiOrgId, orgId)
})
}
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
import { ChatStore, chatStore } from "@/customer-service/store/model" import { ChatStore, chatStore } from "@/customer-service/store/model"
import ChatRoom from "@/customer-service/components/chat-room.vue" import ChatRoom from "@/customer-service/components/chat-room.vue"
import { getUid } from "@/utils" import { getUid } from "@/utils"
import { generateToken } from "@/service/user"
@Component({ @Component({
components: { ChatRoom }, components: { ChatRoom },
}) })
...@@ -51,7 +52,9 @@ ...@@ -51,7 +52,9 @@
} }
private init() { private init() {
return generateToken().then(() => {
return initChat() return initChat()
})
} }
} }
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment