// UserSig is a password used to log in to IM. It is the ciphertext obtained after data such as UserID is encrypted.
// this method is only suitable for locally running a demo project and feature debugging. https://cloud.tencent.com/document/product/269/32688
userSig:genTestUserSig({
SDKAppID,
secretKey,
userID,
}).userSig,
useUploadPlugin:true,
useProfanityFilterPlugin:false,
framework:"vue2",
});
Vue.config.productionTip =false;
newVue({
render:(h)=>h(App),
}).$mount("#app");
export{ SDKAppID, secretKey };
단계 4: SDKAppID, secretKey와 userID 획득
main.ts / main.js 파일 예시 코드 중의 관련 매개변수 SDKAppID, secretKey 및 userID 설정:
SDKAppID 및 secretKey 등 정보는 Chat 콘솔을 통해 획득할 수 있습니다.
userID 정보의 경우, Chat 콘솔 > 계정 관리를 클릭하여 타겟 애플리케이션이 위치한 계정으로 전환하면 계정을 생성하고 userID를 획득할 수 있습니다.
단계 5: userID / groupID를 입력하고 대화를 열어 채팅하십시오.
설명:
conversationID: 대화 ID. 대화 ID 구성 방식:
C2C${userID}(1대1 채팅)
GROUP${groupID}(그룹 채팅)
그룹 채팅에 관하여:
API [createGroup](https://web.sdk.qcloud.com/im/doc/chat-engine/ITUIGroupService.html#createGroup !7a98f97b561db02dacd13003fe30cc3d)을 호출함으로써 groupID를 획득할 수 있습니다.
라이브 방송 그룹인 경우, API joinGroup을 호출하여 그룹에 가입해야만 채팅할 수 있습니다.
UserSig은 사용자 Chat에 로그인하기 위한 비밀번호로 본질적으로는 UserID 등 정보에 대한 암호화를 통해 얻은 암호문입니다.
UserSig 발급 방식은 UserSig의 컴퓨팅 코드를 당신의 서버 측에 통합하고 프로젝트 지향의 인터페이스를 제공하며, UserSig이 필요할 때 프로젝트에서 업무 서버로 요청을 개시하여 동적 UserSig을 획득하는 것입니다. 자세한 내용은 서버 측 UserSig 생성을 참고하시기 바랍니다.
주의:
여기서 예시된 코드는 클라이언트 코드에 SECRETKEY를 구성하여 UserSig을 획득하는 솔루션을 채택하였으며, 이 솔루션에서 SECRETKEY는 역컴파일에 의해 쉽게 해독되며, 암호키가 유출되면 공격자가 당신의 Tencent Cloud 트래픽을 도용할 수 있으므로, 이 방법은 로컬 실행 및 기능 디버깅에만 적용됩니다. 정확한 UserSig 발급 방식은 위의 내용을 참고하십시오.
액세스 오류 관련 문제
1. 실행 시 오류: "TypeError: Cannot read properties of undefined (reading "getFriendList")"
상기 단계에 따라 액세스한 후 실행 시 아래와 같은 오류가 발생하면, TUIKit의 종속성 유일성을 보장하여 TUIKit 다중 종속성으로 인한 문제를 피하기 위해 부디 TUIKit 디렉터리의 node_modules 디렉터리를 삭제하시기 바랍니다.
2. js 프로젝트는 TUIKit 컴포넌트에 어떻게 액세스합니까?
TUIKit는 ts 환경에서만 실행 가능하며, 당신의 프로젝트 중에 있는 js 코드와 TUIKit 중의 ts 코드가 공존할 수 있도록 프로그레시브를 통해 typescript를 구성할 수 있습니다.
vue-cli
vite
vue-cli 비계를 통해 생성한 프로젝트 루트 디렉터리에서 다음을 실행합니다.
vue add typescript
그 다음 아래 구성에 따라 선택합니다(기존 js 코드와 TUIKit 중의 ts 코드를 동시에 지원할 수 있도록 부디 엄격히 아래 5개 옵션에 따라 구성하시기 바랍니다).
위의 단계를 완료한 후 프로젝트를 다시 실행하십시오!
vite를 통해 생성한 프로젝트 루트 다이렉트에서 다음을 실행합니다.
npminstall -D typescript
3. 실행 시 오류: /chat-example/src/TUIKit/components/TUIChat /message-input/message-input-editor.vue .ts(8, 23)TS1005: expected.
위에서와 같은 오류 정보가 나타나는 원인은 당신이 설치한 @vue/cli 버전이 너무 낮기 때문입니다. 부디 당신의 @vue/cli 버전을 5.0.0 및 이상으로 확보하시기 바랍니다. 업그레이드 방식은 다음과 같습니다.
npm install -g @vue/cli@5.0.8
4. 실행 시 오류: Failed to resolve loader: sass-loader
위에서와 같은 오류 정보가 나타나는 원인은 sass 환경을 설치하지 않았기 때문입니다. 아래 명령을 실행하여 sass 환경을 설치하십시오.
npm i -D sass sass-loader@10.1.1
5. ESLint 기타 오류?
chat-uikit-vue를 src 디렉토리로 복사하여 취합할 때 로컬 프로젝트 코드 스타일과 일치하지 않음으로 인해 오류가 발생하면, 본 컴포넌트 디렉터리를 차단합니다. 예를 들어 프로젝트 루트 디렉토리에 .eslintignore 파일을 추가합니다.
# .eslintignore
src/TUIKit
6. vue/cli는 dev 모드에서 webpack 풀화면 overlay error 오류 정보 알림을 어떻게 끕니까?
프로젝트 루트 디렉토리의 vue.config.js에서 끌 수 있습니다.
webpack4
webpack3
module.exports =defineConfig({
...
devServer:{
client:{
overlay:false,
},
},
});
module.exports ={
...
devServer:{
overlay:false,
},
};
7. Component name "XXXX" should always be multi-word가 나타나면 어떻게 합니까?
IM TUIKit web에 사용되는 ESLint 버전은 v6.7.2입니다. 모듈명의 카멜 표기법에 대해 엄격한 검증을 하지 않습니다.
이 문제가 발생하면 .eslintrc.js 파일에서 다음과 같이 구성할 수 있습니다.
module.exports ={
...
rules: {
...
'vue/multi-word-component-names':'warn',
},
};
8. ERESOLVE unable to resolve dependency tree가 나타나면 어떻게 합니까?
npm install 시 ERESOLVE unable to resolve dependency tree가 나타나면 종속성 설치 충돌을 의미하므로 다음 방식으로 설치할 수 있습니다.
npminstall --legacy-peer-deps
9. 'vue packages version mismatch'과 같은 실행 오류가 발생하면 어떻게 해결합니까?
// vue2.7 프로젝트인 경우 프로젝트 루트 디렉터리에서 다음을 실행합니다.
npm i vue@2.7.9 vue-template-compiler@2.7.9
// vue2.6 프로젝트인 경우 프로젝트 루트 디렉터리에서 다음을 실행합니다.
npm i vue@2.6.14 vue-template-compiler@2.6.14
10. vite 프로젝트 npm run build 이후 ts 오류?
원인: package.json script의 "build": "vue-tsc && vite build" 중의 vue-tsc 명령으로 인해 발생합니다.