1fb726d48Sopenharmony_ci/* 2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci * You may obtain a copy of the License at 6fb726d48Sopenharmony_ci * 7fb726d48Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci * 9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci * limitations under the License. 14fb726d48Sopenharmony_ci */ 15fb726d48Sopenharmony_ci 16fb726d48Sopenharmony_ciimport { BaseElement, element } from '../../base-ui/BaseElement'; 17fb726d48Sopenharmony_ciimport { SpBubblesAIHtml } from './SpBubblesAI.html'; 18fb726d48Sopenharmony_ciimport { FlagsConfig, Params } from './SpFlags'; 19fb726d48Sopenharmony_ciimport { SpStatisticsHttpUtil } from '../../statistics/util/SpStatisticsHttpUtil'; 20fb726d48Sopenharmony_ci 21fb726d48Sopenharmony_ci@element('sp-bubble-ai') 22fb726d48Sopenharmony_ciexport class SpBubblesAI extends BaseElement { 23fb726d48Sopenharmony_ci initElements(): void { 24fb726d48Sopenharmony_ci const xiaoLubanEl: HTMLElement | undefined | null = this.shadowRoot?.querySelector('#xiao-luban-help'); 25fb726d48Sopenharmony_ci xiaoLubanEl?.addEventListener('click', () => { 26fb726d48Sopenharmony_ci this.xiaoLubanEvent(); 27fb726d48Sopenharmony_ci let requestBody = { 28fb726d48Sopenharmony_ci action: 'AItrace', 29fb726d48Sopenharmony_ci event: 'AItrace' 30fb726d48Sopenharmony_ci }; 31fb726d48Sopenharmony_ci SpStatisticsHttpUtil.addOrdinaryVisitAction(requestBody); 32fb726d48Sopenharmony_ci }); 33fb726d48Sopenharmony_ci let isShowXiaoLuban: boolean = FlagsConfig.getFlagsConfigEnableStatus('xiaoLuBan'); 34fb726d48Sopenharmony_ci if (isShowXiaoLuban) { 35fb726d48Sopenharmony_ci xiaoLubanEl?.setAttribute('enabled', ''); 36fb726d48Sopenharmony_ci } else { 37fb726d48Sopenharmony_ci xiaoLubanEl?.removeAttribute('enabled'); 38fb726d48Sopenharmony_ci } 39fb726d48Sopenharmony_ci } 40fb726d48Sopenharmony_ci 41fb726d48Sopenharmony_ci initHtml(): string { 42fb726d48Sopenharmony_ci return SpBubblesAIHtml; 43fb726d48Sopenharmony_ci } 44fb726d48Sopenharmony_ci 45fb726d48Sopenharmony_ci private xiaoLubanEvent(): void { 46fb726d48Sopenharmony_ci const flagConfig: Params | undefined = FlagsConfig.getFlagsConfig('AI'); 47fb726d48Sopenharmony_ci const userId: string | undefined = flagConfig!.userId?.toString(); 48fb726d48Sopenharmony_ci const data = { 49fb726d48Sopenharmony_ci 'sender': `${userId}`, 50fb726d48Sopenharmony_ci 'msgBody': 'rag SmartPerf_ad85b972', 51fb726d48Sopenharmony_ci 'msgType': 'text', 52fb726d48Sopenharmony_ci 'timestamp': new Date().getTime().toString(), 53fb726d48Sopenharmony_ci 'botUser': 'p_xiaoluban', 54fb726d48Sopenharmony_ci }; 55fb726d48Sopenharmony_ci fetch(`https://${window.location.host}/xiaoluban/resource`, { 56fb726d48Sopenharmony_ci method: 'post', 57fb726d48Sopenharmony_ci body: JSON.stringify(data), 58fb726d48Sopenharmony_ci headers: { 59fb726d48Sopenharmony_ci 'Content-Type': 'application/json' 60fb726d48Sopenharmony_ci } 61fb726d48Sopenharmony_ci }).then(res => { 62fb726d48Sopenharmony_ci if (res.status === 200) { 63fb726d48Sopenharmony_ci window.open('im:p_xiaoluban', '_self'); 64fb726d48Sopenharmony_ci } 65fb726d48Sopenharmony_ci }); 66fb726d48Sopenharmony_ci } 67fb726d48Sopenharmony_ci} 68fb726d48Sopenharmony_ci 69fb726d48Sopenharmony_ci 70