Compare commits
10 Commits
9245fefc9a
...
6ffd924333
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ffd924333 | |||
| fa5849fb6f | |||
| 537d598906 | |||
| a11cde5a96 | |||
| 047ea3a77a | |||
| 67495ea864 | |||
|
|
d874620a83 | ||
|
|
2f1b592772 | ||
|
|
2191f46317 | ||
|
|
a040b56c74 |
2
.env
2
.env
@@ -1,6 +1,6 @@
|
||||
# API
|
||||
# VITE_SYSTEM_URL = "http://s8e84fdb.natappfree.cc"
|
||||
VITE_SYSTEM_URL = "https://dev.cqjcteach.cn/prod-api"
|
||||
VITE_SYSTEM_URL = "https://dev.yxdim.com"
|
||||
|
||||
# 第三方客户 channelId
|
||||
VITE_CHANNEL_ID = "7b81ec142eca42baa045820793b821bb"
|
||||
|
||||
@@ -3,17 +3,28 @@
|
||||
"configurations" : [
|
||||
{
|
||||
"customPlaygroundType" : "device",
|
||||
"openVueDevtools" : false,
|
||||
"playground" : "standard",
|
||||
"type" : "uni-app:app-ios"
|
||||
},
|
||||
{
|
||||
"customPlaygroundType" : "local",
|
||||
"openVueDevtools" : false,
|
||||
"playground" : "custom",
|
||||
"type" : "uni-app:app-android"
|
||||
},
|
||||
{
|
||||
"openVueDevtools" : true,
|
||||
"type" : "uni-app:miniProgram"
|
||||
},
|
||||
{
|
||||
"openVueDevtools" : true,
|
||||
"type" : "uni-app:h5"
|
||||
},
|
||||
{
|
||||
"customPlaygroundType" : "device",
|
||||
"playground" : "custom",
|
||||
"type" : "uni-app:app-ios_simulator"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
259
App.vue
259
App.vue
@@ -1,136 +1,159 @@
|
||||
<script setup>
|
||||
// #ifdef APP-PLUS
|
||||
import { setSdkLanguageFromSystem } from '@/uni_modules/tuikit-atomic-x/utils/setSdkLanguageFromSystem'
|
||||
// import * as call from "@/uni_modules/RongCloud-CallWrapper/lib/index"
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
import * as RongIMLib from '@rongcloud/imlib-next';
|
||||
import { installer as rtcInstaller } from '@rongcloud/plugin-rtc';
|
||||
import { installer as callPlusInstaller } from '@rongcloud/plugin-call-plus';
|
||||
// #endif
|
||||
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app'
|
||||
import { reLaunch } from './utils/router'
|
||||
import { useAuthUser } from './composables/useAuthUser'
|
||||
import { useUserStore } from './stores/user'
|
||||
import { TUIChatKit } from './TUIKit'
|
||||
import { getIpBlack } from './api'
|
||||
import {reasonDeal,errorDeal,imCode} from '@/utils/code.js'
|
||||
import { navigateTo } from '@/utils/router'
|
||||
// #ifdef APP-PLUS
|
||||
import { setSdkLanguageFromSystem } from '@/uni_modules/tuikit-atomic-x/utils/setSdkLanguageFromSystem'
|
||||
// import * as call from "@/uni_modules/RongCloud-CallWrapper/lib/index"
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
import * as RongIMLib from '@rongcloud/imlib-next'
|
||||
import { installer as rtcInstaller } from '@rongcloud/plugin-rtc'
|
||||
import { installer as callPlusInstaller } from '@rongcloud/plugin-call-plus'
|
||||
// #endif
|
||||
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app'
|
||||
import { reLaunch } from './utils/router'
|
||||
import { useAuthUser } from './composables/useAuthUser'
|
||||
import { useUserStore } from './stores/user'
|
||||
import { TUIChatKit } from './TUIKit'
|
||||
import { getIpBlack, getAppVersion } from './api'
|
||||
import { reasonDeal, errorDeal, imCode } from '@/utils/code.js'
|
||||
import { compareVersion } from '@/utils/util.js'
|
||||
import { navigateTo } from '@/utils/router'
|
||||
|
||||
TUIChatKit.init()
|
||||
TUIChatKit.init()
|
||||
|
||||
const { token, tencentUserSig } = useAuthUser()
|
||||
const { loginTencentIM } = useUserStore()
|
||||
/** 静默登录逻辑 */
|
||||
const silentLogin = async (e) => {
|
||||
if (token.value) {
|
||||
loginTencentIM()
|
||||
// reLaunch('/TUIKit/components/TUIConversation/index')
|
||||
return
|
||||
}
|
||||
const { token, tencentUserSig } = useAuthUser()
|
||||
const { loginTencentIM } = useUserStore()
|
||||
/** 静默登录逻辑 */
|
||||
const silentLogin = async e => {
|
||||
if (token.value) {
|
||||
loginTencentIM()
|
||||
// reLaunch('/TUIKit/components/TUIConversation/index')
|
||||
return
|
||||
}
|
||||
|
||||
console.log(tencentUserSig, '=====222==')
|
||||
if (e?.query?.invitationCode) {
|
||||
reLaunch('/pages/login/phone-register/phone-register', {
|
||||
invitationCode: e.query.invitationCode
|
||||
})
|
||||
} else {
|
||||
// 没有token去登录页
|
||||
reLaunch('/pages/login/login')
|
||||
}
|
||||
}
|
||||
console.log(tencentUserSig, '=====222==')
|
||||
if (e?.query?.invitationCode) {
|
||||
reLaunch('/pages/login/phone-register/phone-register', {
|
||||
invitationCode: e.query.invitationCode
|
||||
})
|
||||
} else {
|
||||
// 没有token去登录页
|
||||
reLaunch('/pages/login/login')
|
||||
}
|
||||
}
|
||||
|
||||
/** 初始化 H5 音视频通话 */
|
||||
const iniCall = () => {
|
||||
// IM 初始化
|
||||
RongIMLib.init({
|
||||
appkey: '<Your-Appkey>',
|
||||
});
|
||||
/** 初始化 H5 音视频通话 */
|
||||
const iniCall = () => {
|
||||
// IM 初始化
|
||||
RongIMLib.init({
|
||||
appkey: '<Your-Appkey>'
|
||||
})
|
||||
|
||||
// RTC 初始化
|
||||
const rtcClient = RongIMLib.installPlugin(rtcInstaller, {});
|
||||
// RTC 初始化
|
||||
const rtcClient = RongIMLib.installPlugin(rtcInstaller, {})
|
||||
|
||||
// CallPlus 初始化
|
||||
const callPlusClient = RongIMLib.installPlugin(callPlusInstaller, {
|
||||
rtcClient
|
||||
});
|
||||
// CallPlus 初始化
|
||||
const callPlusClient = RongIMLib.installPlugin(callPlusInstaller, {
|
||||
rtcClient
|
||||
})
|
||||
|
||||
|
||||
console.log('====1111111111=====', callPlusClient)
|
||||
}
|
||||
|
||||
console.log('====1111111111=====', callPlusClient)
|
||||
}
|
||||
onLaunch(e => {
|
||||
// #ifdef APP-PLUS
|
||||
plus.runtime.getProperty(plus.runtime.appid, function (widgetInfo) {
|
||||
getAppVersion().then(res => {
|
||||
console.log('应用版本信息', res.data)
|
||||
const lastVersion = res.data.version
|
||||
const currentVersion = widgetInfo.version
|
||||
if (compareVersion(currentVersion, lastVersion) < 0) {
|
||||
// 当前版本低于最新版本,提示用户更新
|
||||
console.log('当前版本低于最新版本,请更新应用')
|
||||
const isForceUpdate = res.data.forceUpdate
|
||||
const url = res.data.updateUrl
|
||||
uni.showModal({
|
||||
title: '更新提示',
|
||||
content: res.data.updateMessage,
|
||||
confirmText: '立即更新',
|
||||
cancelText: '稍后再说',
|
||||
showCancel: !isForceUpdate,
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
plus.runtime.openURL(url)
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log('当前版本为最新版本')
|
||||
}
|
||||
})
|
||||
})
|
||||
// #endif
|
||||
// return
|
||||
console.log('App Launch111')
|
||||
silentLogin(e)
|
||||
|
||||
onLaunch((e) => {
|
||||
// return
|
||||
console.log('App Launch111')
|
||||
silentLogin(e)
|
||||
// #ifdef APP-PLUS
|
||||
setSdkLanguageFromSystem()
|
||||
// onAllListeners()
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
setSdkLanguageFromSystem()
|
||||
// onAllListeners()
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
iniCall()
|
||||
// #endif
|
||||
})
|
||||
|
||||
// #ifdef H5
|
||||
iniCall()
|
||||
// #endif
|
||||
onShow(() => {
|
||||
console.log('App Show222')
|
||||
})
|
||||
|
||||
})
|
||||
onHide(async () => {
|
||||
if (token.value) {
|
||||
const show = await getIpBlack(false)
|
||||
console.log(show.data.data, '======')
|
||||
}
|
||||
// #ifdef APP-PLUS
|
||||
removeAllListeners()
|
||||
// #endif
|
||||
console.log('App Hide333')
|
||||
})
|
||||
|
||||
onShow(() => {
|
||||
console.log('App Show222')
|
||||
})
|
||||
|
||||
onHide(async () => {
|
||||
if (token.value) {
|
||||
const show = await getIpBlack(false)
|
||||
console.log(show.data.data, '======')
|
||||
}
|
||||
// #ifdef APP-PLUS
|
||||
removeAllListeners()
|
||||
// #endif
|
||||
console.log('App Hide333')
|
||||
})
|
||||
|
||||
|
||||
|
||||
function removeAllListeners(){
|
||||
call.unInit();
|
||||
//移除监听-接收到通话呼入
|
||||
call.removeCallReceivedListener();
|
||||
// 移除监听-开始呼叫通话的回调
|
||||
call.removeCallOutgoingListener();
|
||||
// 移除监听-通话已接通
|
||||
call.removeCallReceivedListener();
|
||||
// 移除监听-通话已结束
|
||||
call.removeCallDisconnectedListener();
|
||||
// 移除监听-对端用户正在振铃
|
||||
call.removeRemoteUserRingingListener();
|
||||
// 移除监听-对端用户加入了通话
|
||||
call.removeRemoteUserJoinedListener();
|
||||
// 移除监听-有用户被邀请加入通话
|
||||
call.removeRemoteUserInvited();
|
||||
// 移除监听-对端用户挂断
|
||||
call.removeRemoteUserLeftListener();
|
||||
// 移除监听-对端用户切换了媒体类型
|
||||
call.removeRemoteUserMediaTypeChangedListener();
|
||||
// 移除监听-通话出现错误的回调
|
||||
call.removeErrorListener();
|
||||
|
||||
}
|
||||
|
||||
function removeAllListeners() {
|
||||
call.unInit()
|
||||
//移除监听-接收到通话呼入
|
||||
call.removeCallReceivedListener()
|
||||
// 移除监听-开始呼叫通话的回调
|
||||
call.removeCallOutgoingListener()
|
||||
// 移除监听-通话已接通
|
||||
call.removeCallReceivedListener()
|
||||
// 移除监听-通话已结束
|
||||
call.removeCallDisconnectedListener()
|
||||
// 移除监听-对端用户正在振铃
|
||||
call.removeRemoteUserRingingListener()
|
||||
// 移除监听-对端用户加入了通话
|
||||
call.removeRemoteUserJoinedListener()
|
||||
// 移除监听-有用户被邀请加入通话
|
||||
call.removeRemoteUserInvited()
|
||||
// 移除监听-对端用户挂断
|
||||
call.removeRemoteUserLeftListener()
|
||||
// 移除监听-对端用户切换了媒体类型
|
||||
call.removeRemoteUserMediaTypeChangedListener()
|
||||
// 移除监听-通话出现错误的回调
|
||||
call.removeErrorListener()
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
/*每个页面公共css */
|
||||
@import './styles/global.scss';
|
||||
/*每个页面公共css */
|
||||
@import './styles/global.scss';
|
||||
|
||||
/* common css for page */
|
||||
// uni-page-body,
|
||||
// html,
|
||||
// body,
|
||||
// page {
|
||||
// width: 100% !important;
|
||||
// height: 100% !important;
|
||||
// overflow: hidden;
|
||||
// }
|
||||
</style>
|
||||
/* common css for page */
|
||||
// uni-page-body,
|
||||
// html,
|
||||
// body,
|
||||
// page {
|
||||
// width: 100% !important;
|
||||
// height: 100% !important;
|
||||
// overflow: hidden;
|
||||
// }
|
||||
</style>
|
||||
|
||||
@@ -17,6 +17,9 @@ unaipp多端im+会议+积分商城
|
||||
|
||||
<!-- show-loading-more-no-more-view 去除没有更多 -->
|
||||
|
||||
### UI 设计图地址
|
||||
```https://lanhuapp.com/web/#/item/project/stage?pid=c8ab83e4-8e48-4e5b-87cc-620f9ce8512b&image_id=4236317e-0912-490c-91e1-6c816e7396af&tid=8050e376-3e33-43e8-bfdc-51ddb2c371b1```
|
||||
|
||||
### TUILiveKit 文档地址
|
||||
|
||||
```https://trtc.io/zh/document/60034?platform=ios&product=live```
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
]"
|
||||
:enableAt="featureConfig.InputMention"
|
||||
:isMuted="false"
|
||||
:groupID="groupID"
|
||||
:muteText="TUITranslateService.t('TUIChat.您已被管理员禁言')"
|
||||
:placeholder="TUITranslateService.t('TUIChat.请输入消息')"
|
||||
:inputToolbarDisplayType="inputToolbarDisplayType"
|
||||
@@ -361,8 +362,6 @@
|
||||
)
|
||||
currentConversationID.value = conversationID
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss" src="./style/index.scss"></style>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<MessageInputAudio
|
||||
v-if="(isWeChat || isApp) && isRenderVoice"
|
||||
:class="{
|
||||
'message-input-wx-audio-open': displayType === 'audio',
|
||||
'message-input-wx-audio-open': displayType === 'audio'
|
||||
}"
|
||||
:isEnableAudio="displayType === 'audio'"
|
||||
@changeDisplayType="changeDisplayType"
|
||||
@@ -49,192 +49,260 @@
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<MessageQuote
|
||||
:style="{minWidth: 0}"
|
||||
:displayType="displayType"
|
||||
/>
|
||||
<MessageQuote :style="{ minWidth: 0 }" :displayType="displayType" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import TUIChatEngine, {
|
||||
TUIStore,
|
||||
StoreName,
|
||||
IMessageModel,
|
||||
IConversationModel,
|
||||
} from '@tencentcloud/chat-uikit-engine-lite';
|
||||
import { ref, watch, onMounted, onUnmounted } from '../../../adapter-vue';
|
||||
import MessageInputEditor from './message-input-editor.vue';
|
||||
import MessageInputAt from './message-input-at/index.vue';
|
||||
import MessageInputAudio from './message-input-audio.vue';
|
||||
import MessageQuote from './message-input-quote/index.vue';
|
||||
import Icon from '../../common/Icon.vue';
|
||||
import faceIcon from '../../../assets/icon/face-uni.png';
|
||||
import moreIcon from '../../../assets/icon/more-uni.png';
|
||||
import { isPC, isH5, isWeChat, isApp } from '../../../utils/env';
|
||||
import { sendTyping } from '../utils/sendMessage';
|
||||
import { ToolbarDisplayType, InputDisplayType } from '../../../interface';
|
||||
import TUIChatConfig from '../config';
|
||||
import TUIChatEngine, {
|
||||
TUIStore,
|
||||
StoreName,
|
||||
IMessageModel,
|
||||
IConversationModel,
|
||||
TUIGroupService
|
||||
} from '@tencentcloud/chat-uikit-engine-lite'
|
||||
import {
|
||||
ref,
|
||||
watch,
|
||||
onMounted,
|
||||
onUnmounted
|
||||
} from '../../../adapter-vue'
|
||||
import MessageInputEditor from './message-input-editor.vue'
|
||||
import MessageInputAt from './message-input-at/index.vue'
|
||||
import MessageInputAudio from './message-input-audio.vue'
|
||||
import MessageQuote from './message-input-quote/index.vue'
|
||||
import Icon from '../../common/Icon.vue'
|
||||
import faceIcon from '../../../assets/icon/face-uni.png'
|
||||
import moreIcon from '../../../assets/icon/more-uni.png'
|
||||
import { isPC, isH5, isWeChat, isApp } from '../../../utils/env'
|
||||
import { sendTyping } from '../utils/sendMessage'
|
||||
import {
|
||||
ToolbarDisplayType,
|
||||
InputDisplayType
|
||||
} from '../../../interface'
|
||||
import TUIChatConfig from '../config'
|
||||
import { useAuthUser } from '../../../../composables/useAuthUser'
|
||||
import { useUI } from '../../../../utils/use-ui'
|
||||
import { getGroupBanList } from '../../../../api'
|
||||
|
||||
interface IProps {
|
||||
placeholder: string;
|
||||
isMuted?: boolean;
|
||||
muteText?: string;
|
||||
enableInput?: boolean;
|
||||
enableAt?: boolean;
|
||||
enableTyping?: boolean;
|
||||
replyOrReference?: Record<string, any>;
|
||||
inputToolbarDisplayType: ToolbarDisplayType;
|
||||
}
|
||||
interface IEmits {
|
||||
(e: 'changeToolbarDisplayType', displayType: ToolbarDisplayType): void;
|
||||
}
|
||||
|
||||
const emits = defineEmits<IEmits>();
|
||||
const props = withDefaults(defineProps<IProps>(), {
|
||||
placeholder: 'this is placeholder',
|
||||
replyOrReference: () => ({}),
|
||||
isMuted: true,
|
||||
muteText: '',
|
||||
enableInput: true,
|
||||
enableAt: true,
|
||||
enableTyping: true,
|
||||
inputToolbarDisplayType: 'none',
|
||||
});
|
||||
|
||||
const editor = ref();
|
||||
const messageInputAtRef = ref();
|
||||
const currentConversation = ref<IConversationModel>();
|
||||
const isGroup = ref<boolean>(false);
|
||||
const displayType = ref<InputDisplayType>('editor');
|
||||
const featureConfig = TUIChatConfig.getFeatureConfig();
|
||||
const isRenderVoice = ref<boolean>(featureConfig.InputVoice);
|
||||
const isRenderEmojiPicker = ref<boolean>(featureConfig.InputEmoji || featureConfig.InputStickers);
|
||||
const isRenderMore = ref<boolean>(featureConfig.InputImage || featureConfig.InputVideo || featureConfig.InputEvaluation || featureConfig.InputQuickReplies);
|
||||
|
||||
onMounted(() => {
|
||||
TUIStore.watch(StoreName.CONV, {
|
||||
currentConversation: onCurrentConversationUpdated,
|
||||
});
|
||||
|
||||
TUIStore.watch(StoreName.CHAT, {
|
||||
quoteMessage: onQuoteMessageUpdated,
|
||||
});
|
||||
});
|
||||
|
||||
onUnmounted(() => {
|
||||
TUIStore.unwatch(StoreName.CONV, {
|
||||
currentConversation: onCurrentConversationUpdated,
|
||||
});
|
||||
|
||||
TUIStore.unwatch(StoreName.CHAT, {
|
||||
quoteMessage: onQuoteMessageUpdated,
|
||||
});
|
||||
});
|
||||
|
||||
watch(() => props.inputToolbarDisplayType, (newVal: ToolbarDisplayType) => {
|
||||
if (newVal !== 'none') {
|
||||
changeDisplayType('editor');
|
||||
interface IProps {
|
||||
placeholder: string
|
||||
groupID?: string
|
||||
isMuted?: boolean
|
||||
muteText?: string
|
||||
enableInput?: boolean
|
||||
enableAt?: boolean
|
||||
enableTyping?: boolean
|
||||
replyOrReference?: Record<string, any>
|
||||
inputToolbarDisplayType: ToolbarDisplayType
|
||||
}
|
||||
});
|
||||
|
||||
function changeDisplayType(display: InputDisplayType) {
|
||||
displayType.value = display;
|
||||
if (display === 'audio') {
|
||||
emits('changeToolbarDisplayType', 'none');
|
||||
interface IEmits {
|
||||
(e: 'changeToolbarDisplayType', displayType: ToolbarDisplayType): void
|
||||
}
|
||||
}
|
||||
|
||||
function changeToolbarDisplayType(displayType: ToolbarDisplayType) {
|
||||
emits('changeToolbarDisplayType', displayType);
|
||||
}
|
||||
const { showDialog } = useUI()
|
||||
const { tencentUserSig } = useAuthUser()
|
||||
const emits = defineEmits<IEmits>()
|
||||
const props = withDefaults(defineProps<IProps>(), {
|
||||
placeholder: 'this is placeholder',
|
||||
replyOrReference: () => ({}),
|
||||
isMuted: true,
|
||||
groupID: '',
|
||||
muteText: '',
|
||||
enableInput: true,
|
||||
enableAt: true,
|
||||
enableTyping: true,
|
||||
inputToolbarDisplayType: 'none'
|
||||
})
|
||||
|
||||
const onTyping = (inputContentEmpty: boolean, inputBlur: boolean) => {
|
||||
sendTyping(inputContentEmpty, inputBlur);
|
||||
};
|
||||
const editor = ref()
|
||||
const messageInputAtRef = ref()
|
||||
const currentConversation = ref<IConversationModel>()
|
||||
const isGroup = ref<boolean>(false)
|
||||
const displayType = ref<InputDisplayType>('editor')
|
||||
const featureConfig = TUIChatConfig.getFeatureConfig()
|
||||
const isRenderVoice = ref<boolean>(featureConfig.InputVoice)
|
||||
const isRenderEmojiPicker = ref<boolean>(
|
||||
featureConfig.InputEmoji || featureConfig.InputStickers
|
||||
)
|
||||
const isRenderMore = ref<boolean>(
|
||||
featureConfig.InputImage ||
|
||||
featureConfig.InputVideo ||
|
||||
featureConfig.InputEvaluation ||
|
||||
featureConfig.InputQuickReplies
|
||||
)
|
||||
|
||||
const onAt = (show: boolean) => {
|
||||
messageInputAtRef?.value?.toggleAtList(show);
|
||||
};
|
||||
onMounted(() => {
|
||||
TUIStore.watch(StoreName.CONV, {
|
||||
currentConversation: onCurrentConversationUpdated
|
||||
})
|
||||
|
||||
const onFocus = () => {
|
||||
emits('changeToolbarDisplayType', 'none');
|
||||
};
|
||||
TUIStore.watch(StoreName.CHAT, {
|
||||
quoteMessage: onQuoteMessageUpdated
|
||||
})
|
||||
})
|
||||
|
||||
const insertEmoji = (emoji: any) => {
|
||||
editor?.value?.addEmoji && editor?.value?.addEmoji(emoji);
|
||||
};
|
||||
onUnmounted(() => {
|
||||
TUIStore.unwatch(StoreName.CONV, {
|
||||
currentConversation: onCurrentConversationUpdated
|
||||
})
|
||||
|
||||
const insertAt = (atInfo: any) => {
|
||||
editor?.value?.insertAt && editor?.value?.insertAt(atInfo);
|
||||
};
|
||||
TUIStore.unwatch(StoreName.CHAT, {
|
||||
quoteMessage: onQuoteMessageUpdated
|
||||
})
|
||||
})
|
||||
|
||||
const onAtListOpen = () => {
|
||||
editor?.value?.blur && editor?.value?.blur();
|
||||
};
|
||||
watch(
|
||||
() => props.inputToolbarDisplayType,
|
||||
(newVal: ToolbarDisplayType) => {
|
||||
if (newVal !== 'none') {
|
||||
changeDisplayType('editor')
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
const reEdit = (content: any) => {
|
||||
editor?.value?.resetEditor();
|
||||
editor?.value?.setEditorContent(content);
|
||||
};
|
||||
|
||||
function onCurrentConversationUpdated(conversation: IConversationModel) {
|
||||
currentConversation.value = conversation;
|
||||
isGroup.value = currentConversation.value?.type === TUIChatEngine.TYPES.CONV_GROUP;
|
||||
}
|
||||
|
||||
function onQuoteMessageUpdated(options?: { message: IMessageModel; type: string }) {
|
||||
// switch text input mode when there is a quote message
|
||||
if (options?.message && options?.type === 'quote') {
|
||||
changeDisplayType('editor');
|
||||
function changeDisplayType(display: InputDisplayType) {
|
||||
displayType.value = display
|
||||
if (display === 'audio') {
|
||||
emits('changeToolbarDisplayType', 'none')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
insertEmoji,
|
||||
reEdit,
|
||||
});
|
||||
/** 禁言数据获取 */
|
||||
const getMuteTime = async (displayType: ToolbarDisplayType) => {
|
||||
TUIGroupService.getGroupProfile({
|
||||
groupID: props.groupID
|
||||
}).then(async res => {
|
||||
// muteAllMembers
|
||||
if (res.data.group.muteAllMembers) {
|
||||
// 禁言了
|
||||
showDialog('提示', '当前群组已全员禁言', false)
|
||||
} else {
|
||||
// emits('changeToolbarDisplayType', displayType)
|
||||
// 判断某个成员是不是禁言
|
||||
const list = await getGroupBanList(props.groupID)
|
||||
const show = list.data.MutedAccountList.find(
|
||||
(v: any) => v.Member_Account === tencentUserSig.value.userId
|
||||
)
|
||||
if (show?.Member_Account) {
|
||||
showDialog('提示', '你被禁言了', false)
|
||||
} else {
|
||||
emits('changeToolbarDisplayType', displayType)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const changeToolbarDisplayType = async (
|
||||
displayType: ToolbarDisplayType
|
||||
) => {
|
||||
if (props.groupID) {
|
||||
const res = await TUIGroupService.getGroupMemberProfile({
|
||||
groupID: props.groupID,
|
||||
userIDList: [tencentUserSig.value.userId]
|
||||
})
|
||||
if (res.data.memberList[0].role === 'Member') {
|
||||
getMuteTime(displayType)
|
||||
} else {
|
||||
emits('changeToolbarDisplayType', displayType)
|
||||
}
|
||||
return
|
||||
}
|
||||
emits('changeToolbarDisplayType', displayType)
|
||||
}
|
||||
|
||||
const onTyping = (inputContentEmpty: boolean, inputBlur: boolean) => {
|
||||
sendTyping(inputContentEmpty, inputBlur)
|
||||
}
|
||||
|
||||
const onAt = (show: boolean) => {
|
||||
messageInputAtRef?.value?.toggleAtList(show)
|
||||
}
|
||||
|
||||
const onFocus = () => {
|
||||
emits('changeToolbarDisplayType', 'none')
|
||||
}
|
||||
|
||||
const insertEmoji = (emoji: any) => {
|
||||
editor?.value?.addEmoji && editor?.value?.addEmoji(emoji)
|
||||
}
|
||||
|
||||
const insertAt = (atInfo: any) => {
|
||||
editor?.value?.insertAt && editor?.value?.insertAt(atInfo)
|
||||
}
|
||||
|
||||
const onAtListOpen = () => {
|
||||
editor?.value?.blur && editor?.value?.blur()
|
||||
}
|
||||
|
||||
const reEdit = (content: any) => {
|
||||
editor?.value?.resetEditor()
|
||||
editor?.value?.setEditorContent(content)
|
||||
}
|
||||
|
||||
function onCurrentConversationUpdated(
|
||||
conversation: IConversationModel
|
||||
) {
|
||||
currentConversation.value = conversation
|
||||
isGroup.value =
|
||||
currentConversation.value?.type === TUIChatEngine.TYPES.CONV_GROUP
|
||||
}
|
||||
|
||||
function onQuoteMessageUpdated(options?: {
|
||||
message: IMessageModel
|
||||
type: string
|
||||
}) {
|
||||
// switch text input mode when there is a quote message
|
||||
if (options?.message && options?.type === 'quote') {
|
||||
changeDisplayType('editor')
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
insertEmoji,
|
||||
reEdit
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import "../../../assets/styles/common";
|
||||
@import '../../../assets/styles/common';
|
||||
|
||||
:not(not) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.message-input {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: none;
|
||||
overflow: hidden;
|
||||
background: #ffffff;
|
||||
|
||||
&-h5 {
|
||||
padding: 10px 10px 15px;
|
||||
}
|
||||
|
||||
&-editor {
|
||||
flex: 1;
|
||||
:not(not) {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-left: 3px;
|
||||
.message-input {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border: none;
|
||||
overflow: hidden;
|
||||
background: #ffffff;
|
||||
|
||||
&-h5 {
|
||||
padding: 10px 10px 15px;
|
||||
}
|
||||
|
||||
&-editor {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
&-wx-audio-open {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
&-wx-audio-open {
|
||||
flex: 1;
|
||||
.audio-main-content-line {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.audio-main-content-line {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
:class="'message-li ' + item.flow"
|
||||
>
|
||||
<MessageTimestamp
|
||||
v-if="!isExitGroup(item.getMessageContent()?.text)"
|
||||
:currTime="item.time"
|
||||
:prevTime="index > 0 ? messageList[index - 1].time : 0"
|
||||
/>
|
||||
@@ -94,6 +95,7 @@
|
||||
v-if="item.type === TYPES.MSG_TEXT"
|
||||
:content="item.getMessageContent()"
|
||||
:messageItem="item"
|
||||
:enableURLHighlight="true"
|
||||
/>
|
||||
<ProgressMessage
|
||||
v-else-if="item.type === TYPES.MSG_IMAGE"
|
||||
@@ -376,6 +378,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
/** 更新用户群状态 */
|
||||
const setUserAudioPlayed = async () => {
|
||||
if (props.isGroup) {
|
||||
const res = await TUIGroupService.getGroupMemberProfile({
|
||||
groupID: props.groupID,
|
||||
userIDList: [tencentUserSig.value.userId]
|
||||
})
|
||||
userType.value = res.data.memberList[0].role
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
// Retrieve the information about whether the audio has been played from localStorage
|
||||
audioPlayedMapping.value =
|
||||
@@ -401,13 +414,7 @@
|
||||
isNotInGroup: boolean
|
||||
*/
|
||||
|
||||
if (props.isGroup) {
|
||||
const res = await TUIGroupService.getGroupMemberProfile({
|
||||
groupID: props.groupID,
|
||||
userIDList: [tencentUserSig.value.userId]
|
||||
})
|
||||
userType.value = res.data.memberList[0].role
|
||||
}
|
||||
setUserAudioPlayed()
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
@@ -452,6 +459,7 @@
|
||||
}
|
||||
|
||||
async function onMessageListUpdated(list: IMessageModel[]) {
|
||||
setUserAudioPlayed()
|
||||
observer?.disconnect()
|
||||
messageList.value = list
|
||||
.filter(message => !message.isDeleted)
|
||||
@@ -914,6 +922,11 @@
|
||||
audioPlayedMapping.value[messageID] = true
|
||||
}
|
||||
|
||||
/** 是否包含【退出群组】文字 */
|
||||
const isExitGroup = (str: string): boolean => {
|
||||
return str?.includes('退出群组')
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
oneByOneForwardMessage,
|
||||
mergeForwardMessage,
|
||||
|
||||
@@ -288,6 +288,7 @@
|
||||
/** 点击跳转直播间 */
|
||||
const onLive = () => {
|
||||
// #ifdef APP-PLUS
|
||||
uni.$liveID = goodsData.value.id
|
||||
navigateTo('/pages/audience/index', {
|
||||
liveID: goodsData.value.id
|
||||
})
|
||||
|
||||
@@ -56,21 +56,97 @@
|
||||
url?: string
|
||||
}
|
||||
|
||||
interface URLSegment {
|
||||
type: string
|
||||
text: string
|
||||
url?: string
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<IProps>(), {
|
||||
content: () => ({}),
|
||||
messageItem: () => ({} as IMessageModel),
|
||||
messageItem: () => ({}) as IMessageModel,
|
||||
enableURLHighlight: false
|
||||
})
|
||||
|
||||
const processedContent = ref<TextItem>([])
|
||||
const processedContent = ref<TextItem[]>([])
|
||||
|
||||
const YXDIM_SCHEMA_REGEXP = /((https?|yxdim):\/\/[^\s]+)/g
|
||||
|
||||
function splitYxdimSchema(text: string): URLSegment[] {
|
||||
if (!text) {
|
||||
return []
|
||||
}
|
||||
|
||||
const result: URLSegment[] = []
|
||||
let lastIndex = 0
|
||||
const matches = text.matchAll(YXDIM_SCHEMA_REGEXP)
|
||||
|
||||
for (const match of matches) {
|
||||
const matchedText = match[0]
|
||||
const startIndex = match.index ?? -1
|
||||
if (startIndex < 0) {
|
||||
continue
|
||||
}
|
||||
|
||||
if (startIndex > lastIndex) {
|
||||
result.push({
|
||||
type: 'text',
|
||||
text: text.slice(lastIndex, startIndex)
|
||||
})
|
||||
}
|
||||
|
||||
result.push({
|
||||
type: 'url',
|
||||
text: matchedText,
|
||||
url: matchedText
|
||||
})
|
||||
lastIndex = startIndex + matchedText.length
|
||||
}
|
||||
|
||||
if (!result.length) {
|
||||
return [{ type: 'text', text }]
|
||||
}
|
||||
|
||||
if (lastIndex < text.length) {
|
||||
result.push({
|
||||
type: 'text',
|
||||
text: text.slice(lastIndex)
|
||||
})
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
function parseMessageTextWithLinks(text: string): URLSegment[] {
|
||||
if (!parseTextAndValidateUrls) {
|
||||
console.warn(
|
||||
'parseTextAndValidateUrls not found. Please update @tencentcloud/universal-api to 2.3.7 or higher.'
|
||||
)
|
||||
return splitYxdimSchema(text)
|
||||
}
|
||||
|
||||
const segments = parseTextAndValidateUrls(text)
|
||||
if (!segments?.length) {
|
||||
return splitYxdimSchema(text)
|
||||
}
|
||||
|
||||
return segments
|
||||
.map((segment: URLSegment) => {
|
||||
if (segment.type !== 'text') {
|
||||
return [segment]
|
||||
}
|
||||
return splitYxdimSchema(segment.text)
|
||||
})
|
||||
.flat()
|
||||
}
|
||||
|
||||
watch(
|
||||
() => props.messageItem,
|
||||
(newValue: IMessageModel, oldValue: IMessageModel) => {
|
||||
(newValue: IMessageModel, oldValue?: IMessageModel) => {
|
||||
if (newValue?.ID === oldValue?.ID) {
|
||||
return
|
||||
}
|
||||
|
||||
console.log('messageItem=========', newValue)
|
||||
if (props.enableURLHighlight) {
|
||||
TUIReportService.reportFeature(208)
|
||||
}
|
||||
@@ -83,6 +159,7 @@
|
||||
props.messageItem.ID
|
||||
)?.getMessageContent()?.text
|
||||
}
|
||||
|
||||
processedContent.value =
|
||||
processedContent.value || props.content?.text
|
||||
|
||||
@@ -122,13 +199,8 @@
|
||||
item.name === 'text' &&
|
||||
item.text
|
||||
) {
|
||||
if (!parseTextAndValidateUrls) {
|
||||
console.warn(
|
||||
'parseTextAndValidateUrls not found. Please update @tencentcloud/universal-api to 2.3.7 or higher.'
|
||||
)
|
||||
return item
|
||||
}
|
||||
const segments = parseTextAndValidateUrls(item.text)
|
||||
const segments = parseMessageTextWithLinks(item.text)
|
||||
console.log('segments=========', segments)
|
||||
if (segments.length) {
|
||||
return segments.map(segment => ({
|
||||
name: segment.type,
|
||||
@@ -149,15 +221,31 @@
|
||||
)
|
||||
|
||||
// Function to handle navigation
|
||||
function navigateToUrl(url: string) {
|
||||
function navigateToUrl(url?: string) {
|
||||
if (url) {
|
||||
if (/^https?:\/\//i.test(url)) {
|
||||
TUIGlobal.open(url, '_blank')
|
||||
return
|
||||
}
|
||||
|
||||
if (/^yxdim:\/\//i.test(url)) {
|
||||
if (isUniFrameWork) {
|
||||
const appPath = url.replace(/^yxdim:\/\//i, '/')
|
||||
TUIGlobal.navigateTo({
|
||||
url: appPath
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
TUIGlobal.open(url, '_self')
|
||||
return
|
||||
}
|
||||
|
||||
if (isUniFrameWork) {
|
||||
// Use UniApp navigation
|
||||
TUIGlobal.navigateTo({
|
||||
url: `/pages/views/webview?url=${url}` // Assuming you have a webview page to handle external URLs
|
||||
url
|
||||
})
|
||||
} else {
|
||||
// Use standard browser navigation
|
||||
TUIGlobal.open(url, '_blank')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div class="message-tip">
|
||||
<div v-if="!isExitGroup" class="message-tip">
|
||||
<span>{{ tipContent }}</span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
<script setup>
|
||||
import { computed } from '../../../../adapter-vue'
|
||||
const props = defineProps({
|
||||
content: {
|
||||
@@ -19,6 +19,12 @@
|
||||
}
|
||||
return props.content?.text || props.content?.custom || ''
|
||||
})
|
||||
|
||||
/** 是否包含【退出群组】文字 */
|
||||
const isExitGroup = computed(() => {
|
||||
const str = props?.content?.text
|
||||
return str?.includes('退出群组')
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '../../../../assets/styles/common';
|
||||
|
||||
@@ -58,7 +58,6 @@
|
||||
import TUIChatConfig from '../../config'
|
||||
import AiRobotManager from '../../aiRobotManager'
|
||||
import { CHAT_MSG_CUSTOM_TYPE } from '../../../../constant'
|
||||
|
||||
// uni-app conditional compilation will not run the following code
|
||||
// #ifndef APP || APP-PLUS || MP || H5
|
||||
import CopyManager from '../../utils/copy'
|
||||
|
||||
@@ -4,7 +4,8 @@ import TUIChatEngine, {
|
||||
StoreName,
|
||||
TUITranslateService,
|
||||
IConversationModel,
|
||||
SendMessageParams
|
||||
SendMessageParams,
|
||||
TUIGroupService
|
||||
} from '@tencentcloud/chat-uikit-engine-lite'
|
||||
import { Toast, TOAST_TYPE } from '../../common/Toast/index'
|
||||
import { isEnabledMessageReadReceiptGlobal } from '../utils/utils'
|
||||
@@ -13,6 +14,9 @@ import { enableSampleTaskStatus } from '../../../utils/enableSampleTaskStatus'
|
||||
import OfflinePushInfoManager, {
|
||||
IOfflinePushInfoCreateParams
|
||||
} from '../offlinePushInfoManager/index'
|
||||
import { useAuthUser } from '../../../../composables/useAuthUser'
|
||||
import { useUI } from '../../../../utils/use-ui'
|
||||
import { getGroupBanList } from '../../../../api'
|
||||
|
||||
export const sendMessageErrorCodeMap: Map<number, string> = new Map([
|
||||
[3123, '文本包含本地审核拦截词'],
|
||||
@@ -59,6 +63,8 @@ export const sendMessages = async (
|
||||
messageList: ITipTapEditorContent[],
|
||||
currentConversation: IConversationModel
|
||||
) => {
|
||||
const { tencentUserSig } = useAuthUser()
|
||||
const { showDialog } = useUI()
|
||||
// In case of messageJumping, the sent message is automatically cleared and returns to the bottom
|
||||
if (TUIStore.getData(StoreName.CHAT, 'messageSource')) {
|
||||
TUIStore.update(StoreName.CHAT, 'messageSource', undefined)
|
||||
@@ -108,7 +114,51 @@ export const sendMessages = async (
|
||||
} else {
|
||||
try {
|
||||
console.log('发送成功')
|
||||
await TUIChatService.sendTextMessage(options, sendMessageOptions);
|
||||
if (currentConversation?.groupProfile?.groupID) {
|
||||
console.log(
|
||||
'群发送==',
|
||||
currentConversation?.groupProfile?.groupID
|
||||
)
|
||||
const res = await TUIGroupService.getGroupMemberProfile({
|
||||
groupID: currentConversation?.groupProfile?.groupID,
|
||||
userIDList: [tencentUserSig.value.userId]
|
||||
})
|
||||
if (res.data.memberList[0].role === 'Member') {
|
||||
const g = await TUIGroupService.getGroupProfile({
|
||||
groupID: currentConversation?.groupProfile?.groupID
|
||||
})
|
||||
if (g.data.group.muteAllMembers) {
|
||||
showDialog('提示', '当前群组已全员禁言', false)
|
||||
} else {
|
||||
// 判断某个成员是不是禁言
|
||||
const list = await getGroupBanList(
|
||||
currentConversation?.groupProfile?.groupID
|
||||
)
|
||||
const show = list.data.MutedAccountList.find(
|
||||
(v: any) =>
|
||||
v.Member_Account === tencentUserSig.value.userId
|
||||
)
|
||||
if (show?.Member_Account) {
|
||||
showDialog('提示', '你被禁言了', false)
|
||||
} else {
|
||||
await TUIChatService.sendTextMessage(
|
||||
options,
|
||||
sendMessageOptions
|
||||
)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
await TUIChatService.sendTextMessage(
|
||||
options,
|
||||
sendMessageOptions
|
||||
)
|
||||
}
|
||||
return
|
||||
}
|
||||
await TUIChatService.sendTextMessage(
|
||||
options,
|
||||
sendMessageOptions
|
||||
)
|
||||
} catch (err) {
|
||||
console.log('发送失败,对方不是你的好友')
|
||||
}
|
||||
|
||||
@@ -305,23 +305,31 @@
|
||||
// }
|
||||
|
||||
getRandomGroup().then(async (id: any) => {
|
||||
const res = await TUIGroupService.createGroup({
|
||||
...options,
|
||||
groupID: id.data,
|
||||
avatar: groupAvatar.value
|
||||
})
|
||||
const { type } = res.data.group
|
||||
if (type === TUIChatEngine.TYPES.GRP_AVCHATROOM) {
|
||||
await TUIGroupService.joinGroup({
|
||||
groupID: res.data.group.groupID,
|
||||
applyMessage: ''
|
||||
try {
|
||||
const res = await TUIGroupService.createGroup({
|
||||
...options,
|
||||
groupID: id.data + '',
|
||||
avatar: groupAvatar.value
|
||||
})
|
||||
const { type } = res.data.group
|
||||
if (type === TUIChatEngine.TYPES.GRP_AVCHATROOM) {
|
||||
await TUIGroupService.joinGroup({
|
||||
groupID: res.data.group.groupID,
|
||||
applyMessage: ''
|
||||
})
|
||||
}
|
||||
handleCompleteCreate(res.data.group)
|
||||
Toast({
|
||||
message: TUITranslateService.t('TUIGroup.群组创建成功'),
|
||||
type: TOAST_TYPE.SUCCESS
|
||||
})
|
||||
} catch (err) {
|
||||
console.log('创建失败 = ', err)
|
||||
Toast({
|
||||
message: '创建失败',
|
||||
type: TOAST_TYPE.ERROR
|
||||
})
|
||||
}
|
||||
handleCompleteCreate(res.data.group)
|
||||
Toast({
|
||||
message: TUITranslateService.t('TUIGroup.群组创建成功'),
|
||||
type: TOAST_TYPE.SUCCESS
|
||||
})
|
||||
})
|
||||
} catch (err: any) {
|
||||
if (err.code === 10025) {
|
||||
|
||||
@@ -255,8 +255,10 @@
|
||||
deleteImGroup,
|
||||
quitImGroup
|
||||
} from '../../../../api/tui-kit'
|
||||
import { useAuthUser } from '../../../../composables/useAuthUser'
|
||||
|
||||
const { showLoading, hideLoading, showDialog } = useUI()
|
||||
const { tencentUserSig } = useAuthUser()
|
||||
|
||||
const TUIGroupServer = Server.getInstance()
|
||||
const TUIConstants = TUIGroupServer.constants
|
||||
@@ -307,7 +309,7 @@
|
||||
const delDialogShow = ref(false)
|
||||
const groupMemberList = ref<IGroupMember[]>([])
|
||||
const deletedUserList = ref([])
|
||||
const currentGroup = ref<IGroupModel>()
|
||||
const currentGroup = ref<any>()
|
||||
const currentSelfRole = ref('')
|
||||
const groupIDValue = ref<string>('')
|
||||
const groupMemberOffset = ref<number | string>(0)
|
||||
@@ -324,10 +326,20 @@
|
||||
})
|
||||
})
|
||||
|
||||
/** 更新用户群状态 */
|
||||
const setUserAudioPlayed = async (group: any) => {
|
||||
const res = await TUIGroupService.getGroupMemberProfile({
|
||||
groupID: group.groupID,
|
||||
userIDList: [tencentUserSig.value.userId]
|
||||
})
|
||||
currentGroup.value = group
|
||||
currentGroup.value.selfInfo.role = res.data.memberList[0].role
|
||||
}
|
||||
|
||||
TUIStore.watch(StoreName.GRP, {
|
||||
currentGroup: (group: IGroupModel) => {
|
||||
if (group) {
|
||||
currentGroup.value = group
|
||||
setUserAudioPlayed(group)
|
||||
currentSelfRole.value = currentGroup.value?.selfInfo?.role
|
||||
}
|
||||
},
|
||||
@@ -393,7 +405,11 @@
|
||||
|
||||
const isAdmin = computed(() => {
|
||||
const userRole = currentGroup.value?.selfInfo?.role
|
||||
return userRole === TUIChatEngine.TYPES.GRP_MBR_ROLE_OWNER
|
||||
|
||||
return [
|
||||
TUIChatEngine.TYPES.GRP_MBR_ROLE_OWNER,
|
||||
TUIChatEngine.TYPES.GRP_MBR_ROLE_ADMIN
|
||||
].includes(userRole)
|
||||
})
|
||||
|
||||
const isWorkGroup = computed(() => {
|
||||
@@ -749,9 +765,8 @@
|
||||
switch (transferType.value) {
|
||||
case 'add':
|
||||
try {
|
||||
imMemberResponse = await TUIGroupService.getGroupMemberProfile(
|
||||
options
|
||||
)
|
||||
imMemberResponse =
|
||||
await TUIGroupService.getGroupMemberProfile(options)
|
||||
transferList.value = transferList.value.filter(
|
||||
(item: any) => item.userID !== imResponse.data[0]?.userID
|
||||
)
|
||||
@@ -777,9 +792,8 @@
|
||||
break
|
||||
case 'remove':
|
||||
try {
|
||||
imResponse = await TUIGroupService.getGroupMemberProfile(
|
||||
options
|
||||
)
|
||||
imResponse =
|
||||
await TUIGroupService.getGroupMemberProfile(options)
|
||||
if (imResponse.data.memberList.length === 0) {
|
||||
const message = TUITranslateService.t(
|
||||
'TUIGroup.该用户不在群组内'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="admin-main">
|
||||
<view class="admin-box">
|
||||
<div class="admin-manage">
|
||||
<div v-if="!isAdmin" class="admin-manage">
|
||||
<div class="admin-manage-header">
|
||||
{{ TUITranslateService.t(`TUIGroup.群管理员`) }}
|
||||
</div>
|
||||
@@ -112,11 +112,11 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import {
|
||||
import TUIChatEngine, {
|
||||
TUITranslateService,
|
||||
IGroupModel
|
||||
} from '@tencentcloud/chat-uikit-engine-lite'
|
||||
import { watchEffect, ref } from '../../../adapter-vue'
|
||||
import { watchEffect, ref, computed } from '../../../adapter-vue'
|
||||
import Slider from '../../common/Slider/index.vue'
|
||||
import Icon from '../../common/Icon.vue'
|
||||
import plusSVG from '../../../assets/icon/plus.svg'
|
||||
@@ -156,6 +156,13 @@
|
||||
currentGroupAdmin.value = props.currentGroup
|
||||
})
|
||||
|
||||
const isAdmin = computed(() => {
|
||||
return (
|
||||
props.currentGroup?.selfInfo?.role ===
|
||||
TUIChatEngine.TYPES.GRP_MBR_ROLE_ADMIN
|
||||
)
|
||||
})
|
||||
|
||||
const emits = defineEmits([
|
||||
'addAdmin',
|
||||
'removeAdmin',
|
||||
@@ -287,7 +294,7 @@
|
||||
|
||||
.admin-mute-all {
|
||||
margin: 0 10px;
|
||||
padding: 20rpx ;
|
||||
padding: 20rpx;
|
||||
border-bottom: 1px solid #e8e8e9;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
||||
16
api/index.js
16
api/index.js
@@ -187,3 +187,19 @@ export const banUser = data => {
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
/** 群禁言列表 */
|
||||
export const getGroupBanList = id => {
|
||||
return http({
|
||||
url: `/api/service/imGroup/muted/account/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/** 获取应用版本信息 */
|
||||
export const getAppVersion = () => {
|
||||
return uni.request({
|
||||
url: 'https://s3.yxdim.com/app-version.json',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
@@ -110,7 +110,9 @@ export const imAddLive = (data, method = 'post') => {
|
||||
export const imDataStartLive = roomId => {
|
||||
return http({
|
||||
url: `/api/service/imLiveRoom/start/${roomId}`,
|
||||
method: 'post'
|
||||
method: 'post',
|
||||
/** 错误是否返回上一页 */
|
||||
isErrorBack: true
|
||||
})
|
||||
}
|
||||
|
||||
@@ -148,6 +150,14 @@ export const confirmLiveActivity = data => {
|
||||
})
|
||||
}
|
||||
|
||||
/** 结束活动 */
|
||||
export const endLiveActivity = activityId => {
|
||||
return http({
|
||||
url: `/api/service/imLiveActivity/end/${activityId}`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
/** 查询活动参与状态 */
|
||||
export const getLiveActivityRecord = id => {
|
||||
return http({
|
||||
@@ -173,6 +183,14 @@ export const getLiveRecordDetail = id => {
|
||||
})
|
||||
}
|
||||
|
||||
/** 直播记录详情 */
|
||||
export const getLIveRecordDetailByRoomId = roomId => {
|
||||
return http({
|
||||
url: `/api/service/imLiveRoom/room/${roomId}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/** 生成直播ID */
|
||||
export const getLiveId = () => {
|
||||
return http({
|
||||
@@ -180,3 +198,12 @@ export const getLiveId = () => {
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
/** 直播间列表 */
|
||||
export const getLiveRoomList = data => {
|
||||
return http({
|
||||
url: `/api/service/imLiveRoom/list/all`,
|
||||
method: 'get',
|
||||
data
|
||||
})
|
||||
}
|
||||
7
app-version.json
Normal file
7
app-version.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": "2.1.0",
|
||||
"forceUpdate": true,
|
||||
"updateMessage": "修复了一些问题并优化了性能",
|
||||
"updateUrl": "https://store.yxdim.com/app/yxdIM",
|
||||
"minSupportVersion": "0.0.1"
|
||||
}
|
||||
51
config.json
Normal file
51
config.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
//项目名字或项目绝对路径
|
||||
"project": "/Users/seven/work/uniapp-im-shop",
|
||||
//打包平台 默认值android 值有"android","ios" 如果要打多个逗号隔开打包平台
|
||||
"platform": "android",
|
||||
//是否使用自定义基座 默认值false true自定义基座 false自定义证书
|
||||
"iscustom": false,
|
||||
//打包方式是否为安心打包默认值false,true安心打包,false传统打包
|
||||
"safemode": false,
|
||||
//android打包参数
|
||||
"android": {
|
||||
//安卓包名
|
||||
"packagename": "uni.app.UNID40A151",
|
||||
//安卓打包类型 默认值0 0 使用自有证书 1 使用公共证书 2 使用老版证书 3 使用云端证书
|
||||
"androidpacktype": "3",
|
||||
//安卓使用自有证书自有打包证书参数
|
||||
//安卓打包证书别名,自有证书打包填写的参数
|
||||
"certalias": "",
|
||||
//安卓打包证书文件路径,自有证书打包填写的参数
|
||||
"certfile": "",
|
||||
//安卓打包证书密码,自有证书打包填写的参数
|
||||
"certpassword": "",
|
||||
//安卓打包证书库密码(HBuilderx4.41支持),自有证书打包填写的参数
|
||||
"storePassword": "",
|
||||
//安卓平台要打的渠道包 取值有"google","yyb","360","huawei","xiaomi","oppo","vivo",如果要打多个逗号隔开
|
||||
"channels": ""
|
||||
},
|
||||
//ios打包参数
|
||||
"ios": {
|
||||
//ios appid
|
||||
"bundle": "com.test.ios",
|
||||
//ios打包支持的设备类型 默认值iPhone 值有"iPhone","iPad" 如果要打多个逗号隔开打包平台
|
||||
"supporteddevice": "iPhone,iPad",
|
||||
//iOS使用自定义证书打包的profile文件路径
|
||||
"profile": "",
|
||||
//iOS使用自定义证书打包的p12文件路径
|
||||
"certfile": "",
|
||||
//iOS使用自定义证书打包的证书密码
|
||||
"certpassword": "123"
|
||||
},
|
||||
//是否混淆 true混淆 false关闭
|
||||
"isconfusion": false,
|
||||
//开屏广告 true打开 false关闭
|
||||
"splashads": false,
|
||||
//悬浮红包广告true打开 false关闭
|
||||
"rpads": false,
|
||||
//push广告 true打开 false关闭
|
||||
"pushads": false,
|
||||
//加入换量联盟 true加入 false不加入
|
||||
"exchange": false
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name" : "密谈IM",
|
||||
"appid" : "__UNI__D40A151",
|
||||
"description" : "",
|
||||
"versionName" : "1.1.4",
|
||||
"versionCode" : 113,
|
||||
"name" : "益鑫达",
|
||||
"appid" : "__UNI__44929DB",
|
||||
"description" : "益鑫达",
|
||||
"versionName" : "2.1.0",
|
||||
"versionCode" : 120,
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
@@ -57,7 +57,8 @@
|
||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||
],
|
||||
"debuggable" : true
|
||||
"debuggable" : true,
|
||||
"schemes" : "yxdim"
|
||||
},
|
||||
/* ios打包配置 */
|
||||
"ios" : {
|
||||
@@ -74,9 +75,9 @@
|
||||
"splashscreen" : {
|
||||
"androidStyle" : "default",
|
||||
"android" : {
|
||||
"hdpi" : "static/qidong.png",
|
||||
"xhdpi" : "static/qidong.png",
|
||||
"xxhdpi" : "static/qidong.png"
|
||||
"hdpi" : "static/bootstrap.png",
|
||||
"xhdpi" : "static/bootstrap.png",
|
||||
"xxhdpi" : "static/bootstrap.png"
|
||||
}
|
||||
},
|
||||
"icons" : {
|
||||
@@ -111,36 +112,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"nativePlugins" : {
|
||||
"RongCloud-Call" : {
|
||||
"__plugin_info__" : {
|
||||
"name" : "RCUniCall",
|
||||
"description" : "融云实时音视频 SDK uni 原生插件",
|
||||
"platforms" : "Android,iOS",
|
||||
"url" : "https://ext.dcloud.net.cn/plugin?id=6372",
|
||||
"android_package_name" : "uni.app.UNI9EFDC69WWCC",
|
||||
"ios_bundle_id" : "",
|
||||
"isCloud" : true,
|
||||
"bought" : 1,
|
||||
"pid" : "6372",
|
||||
"parameters" : {}
|
||||
}
|
||||
},
|
||||
"RongCloud-IM-V2" : {
|
||||
"__plugin_info__" : {
|
||||
"name" : "RCUniIMV2",
|
||||
"description" : "融云即时通讯 SDK uni 原生插件V2",
|
||||
"platforms" : "Android,iOS",
|
||||
"url" : "https://ext.dcloud.net.cn/plugin?id=9227",
|
||||
"android_package_name" : "uni.app.UNI9EFDC69WWCC",
|
||||
"ios_bundle_id" : "",
|
||||
"isCloud" : true,
|
||||
"bought" : 1,
|
||||
"pid" : "9227",
|
||||
"parameters" : {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"h5" : {
|
||||
@@ -187,5 +158,6 @@
|
||||
"enable" : false
|
||||
},
|
||||
"vueVersion" : "3",
|
||||
"fallbackLocale" : "zh-Hans"
|
||||
"fallbackLocale" : "zh-Hans",
|
||||
"locale" : "zh-Hans"
|
||||
}
|
||||
|
||||
284
package-lock.json
generated
284
package-lock.json
generated
@@ -60,6 +60,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@babel/core/-/core-7.29.0.tgz",
|
||||
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/code-frame": "^7.29.0",
|
||||
"@babel/generator": "^7.29.0",
|
||||
@@ -391,7 +392,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@jridgewell/source-map/-/source-map-0.3.11.tgz",
|
||||
"integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
"@jridgewell/trace-mapping": "^0.3.25"
|
||||
@@ -751,7 +751,8 @@
|
||||
"version": "5.36.1",
|
||||
"resolved": "https://registry.npmjs.org/@rongcloud/engine/-/engine-5.36.1.tgz",
|
||||
"integrity": "sha512-BLRE0Koym4h+DGBN0B+9rmVIGNDRELt5NwfaVC+X6tyOJBhzRDvJiIWXzrlYB4GoRQHBF8thADuy8+vx5pTCFg==",
|
||||
"license": "LGPL 2.1"
|
||||
"license": "LGPL 2.1",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@rongcloud/imlib-next": {
|
||||
"version": "5.36.1",
|
||||
@@ -777,6 +778,7 @@
|
||||
"resolved": "https://registry.npmjs.org/@rongcloud/plugin-rtc/-/plugin-rtc-5.36.0.tgz",
|
||||
"integrity": "sha512-8tKKBdhNs4OXhu6ux7N+nqJqjXOhJriv4LZkmXDfth7RvF4UBhogx5bIEa1VpAj+3Cp0PamCEF6wvHbdPfgYIA==",
|
||||
"license": "LGPL 2.1",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"@rongcloud/engine": "~5.36.1"
|
||||
}
|
||||
@@ -821,6 +823,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tencentcloud/chat-uikit-engine-lite/-/chat-uikit-engine-lite-1.0.4.tgz",
|
||||
"integrity": "sha512-YfDuXDkUlz7V1RA6iAEO2PLBI/efz60TRwAVy/Vhlu7oqZOMlphra72J30N3n5WhxbsFfcfTShoqW3OwcatUQg==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/lite-chat": "^1.6.3"
|
||||
}
|
||||
@@ -853,6 +856,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/composition-api/-/composition-api-1.7.2.tgz",
|
||||
"integrity": "sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"vue": ">= 2.5 < 2.7"
|
||||
}
|
||||
@@ -904,14 +908,14 @@
|
||||
"version": "1.6.8",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tencentcloud/lite-chat/-/lite-chat-1.6.8.tgz",
|
||||
"integrity": "sha512-oK1Qr1iA0vk8wqfFE9Nbmc2Ku+6CNZ6iFMFrG2qcvfOmtVS+xxuiUjPSWbBu2S7ig9hQgq5cV5DIOgXOyXF5EA==",
|
||||
"license": "ISC"
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@tencentcloud/trtc-cloud-wx": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tencentcloud/trtc-cloud-wx/-/trtc-cloud-wx-1.0.8.tgz",
|
||||
"integrity": "sha512-72TYYt6XNTr9Y401qw23YODfhLC9AGniNqb9ACFTVGDtInApHn139kGhKeudgTYEdTObkG1JjUcdkfcknHGhSA==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"eventemitter3": "^5.0.0",
|
||||
"trtc-wx-sdk": "^1.1.14"
|
||||
@@ -921,15 +925,13 @@
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/eventemitter3/-/eventemitter3-5.0.4.tgz",
|
||||
"integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@tencentcloud/trtc-component-wx": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tencentcloud/trtc-component-wx/-/trtc-component-wx-1.0.6.tgz",
|
||||
"integrity": "sha512-3m2ZU3/upx3IJAhSPdElJ2AF1D7L/0JOXUpanYJbrtHlwTWDQ6BOc+p6HgsepE67ltpR7UcYF/BcVHEfpcObkA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/trtc-cloud-wx": "^1.0.7"
|
||||
}
|
||||
@@ -939,6 +941,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tencentcloud/tui-core-lite/-/tui-core-lite-1.0.0.tgz",
|
||||
"integrity": "sha512-+nmOWQ415Kz6aYJDv4EIdnaLk69SPWscZqmIhQp9GhNGFVq4/u+gC/sWvGHEOICJncFjM4dUxBg9EFfzD78rGQ==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/lite-chat": "^1.5.0"
|
||||
}
|
||||
@@ -948,6 +951,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tencentcloud/tuiroom-engine-js/-/tuiroom-engine-js-3.6.2.tgz",
|
||||
"integrity": "sha512-N2481ZWxh7mxYCOjVufRgoGjNrgsq6Or8Src5Z1zmMILFeO3LVQlNwjD9yw4Suc4f6jzm0qcmzBrXorZ0teY1A==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/lite-chat": "^1.6.4",
|
||||
"rtc-detect": "^0.0.5",
|
||||
@@ -1000,6 +1004,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tiptap/core/-/core-2.27.2.tgz",
|
||||
"integrity": "sha512-ABL1N6eoxzDzC1bYvkMbvyexHacszsKdVPYqhl5GwHLOvpZcv9VE9QaKwDILTyz5voCA0lGcAAXZp+qnXOk5lQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ueberdosis"
|
||||
@@ -1341,6 +1346,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tiptap/pm/-/pm-2.27.2.tgz",
|
||||
"integrity": "sha512-kaEg7BfiJPDQMKbjVIzEPO3wlcA+pZb2tlcK9gPrdDnEFaec2QTF1sXz2ak2IIb2curvnIrQ4yrfHgLlVA72wA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"prosemirror-changeset": "^2.3.0",
|
||||
"prosemirror-collab": "^1.3.1",
|
||||
@@ -1404,6 +1410,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@tiptap/suggestion/-/suggestion-2.27.2.tgz",
|
||||
"integrity": "sha512-dQyvCIg0hcAVeh4fCIVCxogvbp+bF+GpbUb8sNlgnGrmHXnapGxzkvrlHnvneXZxLk/j7CxmBPKJNnm4Pbx4zw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ueberdosis"
|
||||
@@ -1433,36 +1440,33 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@trtc/call-engine-lite-js": {
|
||||
"version": "3.5.4",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@trtc/call-engine-lite-js/-/call-engine-lite-js-3.5.4.tgz",
|
||||
"integrity": "sha512-7CQOCKBEkmt0vgJnMBQtQIWxFVRg3hbukKjcQDVSrcoua2Igp9gwMpJ7N1+8+Qs3djnSS0w2DZfA40QjAJl+Rw==",
|
||||
"version": "3.5.7",
|
||||
"resolved": "https://registry.npmjs.org/@trtc/call-engine-lite-js/-/call-engine-lite-js-3.5.7.tgz",
|
||||
"integrity": "sha512-7K2tsHl2j68LWyoYVRb7/lvpQMypVJ6NVh2M0yt28PAlG4f+i7ZJ4WSyV1wpv0i87JjYXXTo44Cq5DfSBQQPwg==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/lite-chat": "^1.6.3",
|
||||
"core-js": "^3.8.3",
|
||||
"eventemitter3": "^4.0.7",
|
||||
"rtc-detect": "^0.0.5",
|
||||
"trtc-cloud-js-sdk": "2.10.11-beta.12",
|
||||
"trtc-cloud-js-sdk": "2.10.15",
|
||||
"tuikit-logger": "latest"
|
||||
}
|
||||
},
|
||||
"node_modules/@trtc/call-engine-lite-js/node_modules/trtc-cloud-js-sdk": {
|
||||
"version": "2.10.11-beta.12",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/trtc-cloud-js-sdk/-/trtc-cloud-js-sdk-2.10.11-beta.12.tgz",
|
||||
"integrity": "sha512-NdRY/4iMKIoGFN7oihA7f4x8O6CTJDZNigRb5EXTZUxN4APurkn+BPeMR5x6mwlmjfHE5bw3rqAHxif07mjB+Q==",
|
||||
"version": "2.10.15",
|
||||
"resolved": "https://registry.npmjs.org/trtc-cloud-js-sdk/-/trtc-cloud-js-sdk-2.10.15.tgz",
|
||||
"integrity": "sha512-qjdLNnRFeRfrjr6MZVFLX+twbEc1JP8Nc//7tHdSmjwntX6qd3O12XGFMeLJbMUxZaFvODeUnSU/faqwTu7piA==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"trtc-sdk-v5": "5.15.2"
|
||||
"trtc-sdk-v5": "5.15.3-beta.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@trtc/call-engine-lite-js/node_modules/trtc-sdk-v5": {
|
||||
"version": "5.15.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/trtc-sdk-v5/-/trtc-sdk-v5-5.15.2.tgz",
|
||||
"integrity": "sha512-wQDwyd/MJ51rNjNdvWvnroqonPOdFPxK7Op13379OIxKUZgC472S8CFK+NZBsQm37ED8gYC+MjvOVJHNvqqEvw==",
|
||||
"version": "5.15.3-beta.12",
|
||||
"resolved": "https://registry.npmjs.org/trtc-sdk-v5/-/trtc-sdk-v5-5.15.3-beta.12.tgz",
|
||||
"integrity": "sha512-CE3mQTj7gB4RIiSGFT5x7GNfT1KP5VVu3C5A8V4Op4nxa4AzCtS4Y6TMuIHH8yGccuzcNLUXYOzov3wxdzvaFw==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"webrtc-adapter": "^8.2.3"
|
||||
}
|
||||
@@ -1472,7 +1476,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@trtc/call-engine-lite-wx/-/call-engine-lite-wx-3.4.12.tgz",
|
||||
"integrity": "sha512-owVbONKvILkncdyUpDWuhMqpIjYxNML0qxY988Sli933wZZgK1dzee2A8uW7jpFzfXQeUWYO5wiEQzS8jURcwQ==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/lite-chat": "^1.5.0",
|
||||
"@tencentcloud/trtc-component-wx": "^1.0.5",
|
||||
@@ -1492,15 +1495,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@trtc/calls-uikit-vue2.6": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@trtc/calls-uikit-vue2.6/-/calls-uikit-vue2.6-4.4.2.tgz",
|
||||
"integrity": "sha512-KDHFXQVFMAPCpb0aRrOHAh3LPA4tLlr/LhTMDxyUJbJN6CGhYRIlbDyQ0BHl/z7yHYNkTwXaHkahpCJCmnaPNQ==",
|
||||
"version": "4.4.5",
|
||||
"resolved": "https://registry.npmjs.org/@trtc/calls-uikit-vue2.6/-/calls-uikit-vue2.6-4.4.5.tgz",
|
||||
"integrity": "sha512-Gt8P9ntmwowWNngcVvgRuIeORHVI3WQnvvDuSx78h3tPaEaVoYULoP2szlGoXZ07C9ZVV5kPVfWwajPvbYNL/Q==",
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@tencentcloud/lite-chat": "^1.6.3",
|
||||
"@tencentcloud/tui-core-lite": "1.0.0",
|
||||
"@trtc/call-engine-lite-js": "~3.5.0",
|
||||
"@trtc/call-engine-lite-js": "~3.5.5",
|
||||
"@trtc/call-engine-lite-wx": "~3.4.7",
|
||||
"@vue/composition-api": "^1.7.2"
|
||||
}
|
||||
@@ -1510,7 +1512,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/composition-api/-/composition-api-1.7.2.tgz",
|
||||
"integrity": "sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"peerDependencies": {
|
||||
"vue": ">= 2.5 < 2.7"
|
||||
}
|
||||
@@ -1541,7 +1542,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@types/eslint/-/eslint-9.6.1.tgz",
|
||||
"integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "*",
|
||||
"@types/json-schema": "*"
|
||||
@@ -1552,7 +1552,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
|
||||
"integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint": "*",
|
||||
"@types/estree": "*"
|
||||
@@ -1597,7 +1596,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@types/node/-/node-25.2.0.tgz",
|
||||
"integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
@@ -1648,7 +1646,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz",
|
||||
"integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.28.5",
|
||||
"@vue/compiler-core": "3.5.27",
|
||||
@@ -1666,7 +1663,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz",
|
||||
"integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.5.27",
|
||||
"@vue/shared": "3.5.27"
|
||||
@@ -1677,7 +1673,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/reactivity/-/reactivity-3.5.27.tgz",
|
||||
"integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.5.27"
|
||||
}
|
||||
@@ -1718,7 +1713,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/runtime-core/-/runtime-core-3.5.27.tgz",
|
||||
"integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.5.27",
|
||||
"@vue/shared": "3.5.27"
|
||||
@@ -1742,7 +1736,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@vue/server-renderer/-/server-renderer-3.5.27.tgz",
|
||||
"integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-ssr": "3.5.27",
|
||||
"@vue/shared": "3.5.27"
|
||||
@@ -1800,7 +1793,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/ast/-/ast-1.14.1.tgz",
|
||||
"integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/helper-numbers": "1.13.2",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2"
|
||||
@@ -1810,29 +1802,25 @@
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
|
||||
"integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-api-error": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
|
||||
"integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-buffer": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
|
||||
"integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-numbers": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
|
||||
"integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/floating-point-hex-parser": "1.13.2",
|
||||
"@webassemblyjs/helper-api-error": "1.13.2",
|
||||
@@ -1843,15 +1831,13 @@
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
|
||||
"integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-section": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
|
||||
"integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
@@ -1864,7 +1850,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
|
||||
"integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@xtuc/ieee754": "^1.2.0"
|
||||
}
|
||||
@@ -1874,7 +1859,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
|
||||
"integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
@@ -1883,15 +1867,13 @@
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
|
||||
"integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-edit": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
|
||||
"integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
@@ -1908,7 +1890,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
|
||||
"integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2",
|
||||
@@ -1922,7 +1903,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
|
||||
"integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
@@ -1935,7 +1915,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
|
||||
"integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-api-error": "1.13.2",
|
||||
@@ -1950,7 +1929,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
|
||||
"integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@xtuc/long": "4.2.2"
|
||||
@@ -1960,21 +1938,20 @@
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@xtuc/long": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@xtuc/long/-/long-4.2.2.tgz",
|
||||
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
|
||||
"license": "Apache-2.0",
|
||||
"peer": true
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@@ -1987,7 +1964,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
|
||||
"integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
},
|
||||
@@ -1999,14 +1975,14 @@
|
||||
"version": "1.39.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/aegis-mp-sdk/-/aegis-mp-sdk-1.39.2.tgz",
|
||||
"integrity": "sha512-ca1X0Bb8x66adDpYlPddKzccgIPZR2Uyvj+shUfzs6s7MAQCJdhNCpCfZXECPCXRX/3rDOe68OlaDeddG9el0Q==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"version": "6.14.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
|
||||
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
@@ -2023,7 +1999,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
||||
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
@@ -2037,11 +2012,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-formats/node_modules/ajv": {
|
||||
"version": "8.17.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
|
||||
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
@@ -2057,8 +2031,7 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ajv-keywords": {
|
||||
"version": "3.5.2",
|
||||
@@ -2094,13 +2067,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.13.4",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/axios/-/axios-1.13.4.tgz",
|
||||
"integrity": "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==",
|
||||
"version": "1.13.6",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz",
|
||||
"integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.15.6",
|
||||
"form-data": "^4.0.4",
|
||||
"follow-redirects": "^1.15.11",
|
||||
"form-data": "^4.0.5",
|
||||
"proxy-from-env": "^1.1.0"
|
||||
}
|
||||
},
|
||||
@@ -2165,6 +2138,7 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.9.0",
|
||||
"caniuse-lite": "^1.0.30001759",
|
||||
@@ -2183,8 +2157,7 @@
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/call-bind-apply-helpers": {
|
||||
"version": "1.0.2",
|
||||
@@ -2248,7 +2221,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
|
||||
"integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
}
|
||||
@@ -2289,8 +2261,7 @@
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/convert-source-map": {
|
||||
"version": "2.0.0",
|
||||
@@ -2304,7 +2275,6 @@
|
||||
"integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/core-js"
|
||||
@@ -2329,8 +2299,7 @@
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/csstype/-/csstype-3.2.3.tgz",
|
||||
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/date-fns": {
|
||||
"version": "4.1.0",
|
||||
@@ -2438,7 +2407,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz",
|
||||
"integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.4",
|
||||
"tapable": "^2.2.0"
|
||||
@@ -2481,8 +2449,7 @@
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
|
||||
"integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/es-object-atoms": {
|
||||
"version": "1.1.1",
|
||||
@@ -2546,7 +2513,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/eslint-scope/-/eslint-scope-5.1.1.tgz",
|
||||
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^4.1.1"
|
||||
@@ -2560,7 +2526,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/esrecurse/-/esrecurse-4.3.0.tgz",
|
||||
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"estraverse": "^5.2.0"
|
||||
},
|
||||
@@ -2573,7 +2538,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/estraverse/-/estraverse-5.3.0.tgz",
|
||||
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
@@ -2583,7 +2547,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/estraverse/-/estraverse-4.3.0.tgz",
|
||||
"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
}
|
||||
@@ -2605,7 +2568,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/events/-/events-3.3.0.tgz",
|
||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.8.x"
|
||||
}
|
||||
@@ -2636,8 +2598,7 @@
|
||||
"url": "https://opencollective.com/fastify"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/follow-redirects": {
|
||||
"version": "1.15.11",
|
||||
@@ -2734,8 +2695,7 @@
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
|
||||
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true
|
||||
"license": "BSD-2-Clause"
|
||||
},
|
||||
"node_modules/global": {
|
||||
"version": "4.3.2",
|
||||
@@ -2763,15 +2723,13 @@
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
@@ -2910,7 +2868,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/jest-worker/-/jest-worker-27.5.1.tgz",
|
||||
"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
@@ -2948,8 +2905,7 @@
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
@@ -2992,7 +2948,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/loader-runner/-/loader-runner-4.3.1.tgz",
|
||||
"integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.11.5"
|
||||
},
|
||||
@@ -3034,9 +2989,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/markdown-it": {
|
||||
"version": "14.1.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/markdown-it/-/markdown-it-14.1.0.tgz",
|
||||
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
|
||||
"version": "14.1.1",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
|
||||
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1",
|
||||
@@ -3080,8 +3035,7 @@
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/mime-db": {
|
||||
"version": "1.52.0",
|
||||
@@ -3139,7 +3093,6 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
@@ -3230,7 +3183,6 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.11",
|
||||
"picocolors": "^1.1.1",
|
||||
@@ -3360,6 +3312,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/prosemirror-model/-/prosemirror-model-1.25.4.tgz",
|
||||
"integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"orderedmap": "^2.0.0"
|
||||
}
|
||||
@@ -3389,6 +3342,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/prosemirror-state/-/prosemirror-state-1.4.4.tgz",
|
||||
"integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"prosemirror-model": "^1.0.0",
|
||||
"prosemirror-transform": "^1.0.0",
|
||||
@@ -3437,6 +3391,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/prosemirror-view/-/prosemirror-view-1.41.5.tgz",
|
||||
"integrity": "sha512-UDQbIPnDrjE8tqUBbPmCOZgtd75htE6W3r0JCmY9bL6W1iemDM37MZEKC49d+tdQ0v/CKx4gjxLoLsfkD2NiZA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"prosemirror-model": "^1.20.0",
|
||||
"prosemirror-state": "^1.0.0",
|
||||
@@ -3481,16 +3436,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/randombytes/-/randombytes-2.1.0.tgz",
|
||||
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/readdirp/-/readdirp-4.1.2.tgz",
|
||||
@@ -3536,7 +3481,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/require-from-string/-/require-from-string-2.0.2.tgz",
|
||||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -3562,27 +3506,6 @@
|
||||
"individual": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/safe-json-parse": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/safe-json-parse/-/safe-json-parse-4.0.0.tgz",
|
||||
@@ -3596,6 +3519,7 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/sass/-/sass-1.97.3.tgz",
|
||||
"integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"chokidar": "^4.0.0",
|
||||
"immutable": "^5.0.2",
|
||||
@@ -3681,16 +3605,6 @@
|
||||
"semver": "bin/semver.js"
|
||||
}
|
||||
},
|
||||
"node_modules/serialize-javascript": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
|
||||
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/shallow-clone": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/shallow-clone/-/shallow-clone-3.0.1.tgz",
|
||||
@@ -3708,7 +3622,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"license": "BSD-3-Clause",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
@@ -3727,7 +3640,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
@@ -3762,7 +3674,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
@@ -3784,7 +3695,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/tapable/-/tapable-2.3.0.tgz",
|
||||
"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
@@ -3820,7 +3730,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/terser/-/terser-5.46.0.tgz",
|
||||
"integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==",
|
||||
"license": "BSD-2-Clause",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.3",
|
||||
"acorn": "^8.15.0",
|
||||
@@ -3835,16 +3744,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin": {
|
||||
"version": "5.3.16",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz",
|
||||
"integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==",
|
||||
"version": "5.3.17",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz",
|
||||
"integrity": "sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "^0.3.25",
|
||||
"jest-worker": "^27.4.5",
|
||||
"schema-utils": "^4.3.0",
|
||||
"serialize-javascript": "^6.0.2",
|
||||
"terser": "^5.31.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3870,9 +3777,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin/node_modules/ajv": {
|
||||
"version": "8.17.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
|
||||
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
@@ -3891,7 +3798,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3"
|
||||
},
|
||||
@@ -3903,15 +3809,13 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
|
||||
"version": "4.3.3",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/schema-utils/-/schema-utils-4.3.3.tgz",
|
||||
"integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.9.0",
|
||||
@@ -3957,8 +3861,7 @@
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/trtc-wx-sdk/-/trtc-wx-sdk-1.1.14.tgz",
|
||||
"integrity": "sha512-QYV2j5pDlhbM0zykYq8OYaSpjyTn0/YbsK180iNwCLEA61m2KWm2wb1veRBVsTP9Lq0iqbSMU17cOW963vcraA==",
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
@@ -4021,27 +3924,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/tuikit-atomicx-vue3/node_modules/typescript": {
|
||||
"version": "5.9.3",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/typescript/-/typescript-5.9.3.tgz",
|
||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/tuikit-logger": {
|
||||
"version": "0.0.4-beta.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/tuikit-logger/-/tuikit-logger-0.0.4-beta.1.tgz",
|
||||
"integrity": "sha512-Ky83B1p88xakmfZ2f92cU0YxfolyxnQBv14tQpvnuHcMTnVR2Rjy8tityDGwF+pnxrAhJ7H7OPB/4rFdWVncIw==",
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "4.9.5",
|
||||
@@ -4066,8 +3953,7 @@
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/undici-types/-/undici-types-7.16.0.tgz",
|
||||
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/unplugin": {
|
||||
"version": "1.16.1",
|
||||
@@ -4178,7 +4064,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/watchpack/-/watchpack-2.5.1.tgz",
|
||||
"integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
"graceful-fs": "^4.1.2"
|
||||
@@ -4192,7 +4077,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/webpack/-/webpack-5.104.1.tgz",
|
||||
"integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.7",
|
||||
"@types/estree": "^1.0.8",
|
||||
@@ -4241,7 +4125,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/webpack-sources/-/webpack-sources-3.3.3.tgz",
|
||||
"integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
@@ -4253,9 +4136,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/webpack/node_modules/ajv": {
|
||||
"version": "8.17.1",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"version": "8.18.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
|
||||
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
@@ -4274,7 +4157,6 @@
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3"
|
||||
},
|
||||
@@ -4286,15 +4168,13 @@
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/webpack/node_modules/schema-utils": {
|
||||
"version": "4.3.3",
|
||||
"resolved": "https://repo.huaweicloud.com/repository/npm/schema-utils/-/schema-utils-4.3.3.tgz",
|
||||
"integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.9.0",
|
||||
|
||||
@@ -506,6 +506,13 @@
|
||||
"navigationBarTitleText": "记录详情",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/discover/livelist/list",
|
||||
"style": {
|
||||
"navigationBarTitleText": "直播列表",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
<view class="right-box">
|
||||
<text>{{ friendInfo.nick || '未知名称' }}</text>
|
||||
<text v-if="friendInfo?.cbType !== 'group'">
|
||||
手机号: {{ friendInfo.userID }}
|
||||
ID: {{ friendInfo.userID }}
|
||||
</text>
|
||||
<text v-if="friendInfo?.cbType !== 'group'">
|
||||
个性签名: {{ friendInfo.selfSignature || '暂无个性签名' }}
|
||||
@@ -513,7 +513,9 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.title {
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-family:
|
||||
PingFang SC,
|
||||
PingFang SC;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
|
||||
@@ -290,6 +290,7 @@
|
||||
margin-top: 20rpx;
|
||||
font-size: 28rpx;
|
||||
text-align: right;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -274,7 +274,8 @@
|
||||
imAddLive,
|
||||
imDataStartLive,
|
||||
getLiveActivityDetail,
|
||||
imDataEndLive
|
||||
imDataEndLive,
|
||||
endLiveActivity
|
||||
} from '@/api/tui-kit'
|
||||
import BeforeLivePanel from '../../components/BeforeLivePanel.nvue'
|
||||
import LiveStatusInfoCard from '@/uni_modules/tuikit-atomic-x/components/LiveStatusInfoCard.nvue'
|
||||
@@ -723,13 +724,25 @@
|
||||
// 添加活动
|
||||
const userAddActivity = () => {
|
||||
getLiveActivityDetail(roomDataId.value).then(res => {
|
||||
console.log("活动数据=======",res.data)
|
||||
if (res?.data && res.data.status === 1) {
|
||||
// status: 0-未开始 1-进行中 2-已结束 3-已取消
|
||||
uni.showModal({
|
||||
title: `提示`,
|
||||
content: '您有一个活动正在进行中,请勿重复添加活动',
|
||||
showCancel: false,
|
||||
content: '您有一个活动正在进行中,是否提前结束?',
|
||||
confirmText: '确定'
|
||||
}).then(()=>{
|
||||
endLiveActivity(res.data.activityId).then(res=>{
|
||||
uni.showToast({
|
||||
title: '结束成功',
|
||||
icon: 'none'
|
||||
})
|
||||
}).catch(()=>{
|
||||
uni.showToast({
|
||||
title: '结束失败',
|
||||
icon: 'none'
|
||||
})
|
||||
})
|
||||
})
|
||||
} else {
|
||||
isShowActivity.value = true
|
||||
|
||||
@@ -59,11 +59,11 @@
|
||||
/>
|
||||
</view>
|
||||
<view class="participant-count">
|
||||
<text v-if="topNUmber" class="count-text">
|
||||
<text v-if="Number(topNUmber) > 0" class="count-text">
|
||||
{{ Number(topNUmber) > 100 ? '99+' : topNUmber }}
|
||||
</text>
|
||||
<text v-else class="count-text">
|
||||
{{ audienceList.length }}
|
||||
{{ audienceNumber }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -216,7 +216,8 @@
|
||||
import {
|
||||
imDataEndLive,
|
||||
getLiveActivityDetail,
|
||||
getLiveActivityRecord
|
||||
getLiveActivityRecord,
|
||||
getLIveRecordDetailByRoomId
|
||||
} from '@/api/tui-kit'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import {
|
||||
@@ -267,6 +268,7 @@
|
||||
addLiveSeatEventListener,
|
||||
removeLiveSeatEventListener
|
||||
} = useLiveSeatState(uni?.$liveID)
|
||||
console.log("uniliveID",uni?.$liveID)
|
||||
const { audienceList } = useLiveAudienceState(uni?.$liveID)
|
||||
const { disconnect, connected, cancelApplication } = useCoGuestState(
|
||||
uni?.$liveID
|
||||
@@ -345,6 +347,7 @@
|
||||
const coGuestSheetItems = ref(['取消连麦申请'])
|
||||
const coGuestSheetTitle = ref('')
|
||||
const topNUmber = ref('')
|
||||
const audienceNumber = computed(()=>audienceList.value.length)
|
||||
|
||||
// 监听座位变化:当自身不在 seatList 时,将本地连麦状态重置为 IDLE
|
||||
watch(
|
||||
@@ -413,6 +416,10 @@
|
||||
onLoad(options => {
|
||||
console.warn('Live page onLoad = ', options)
|
||||
liveID.value = options?.liveID
|
||||
getLIveRecordDetailByRoomId(liveID.value).then(res=>{
|
||||
console.log('初始化虚拟人数===========', res.data.virtualViewers)
|
||||
topNUmber.value = res.data.virtualViewers
|
||||
})
|
||||
getLiveActivityDetail(liveID.value).then(res => {
|
||||
if (res?.data && res.data.status === 1) {
|
||||
// status: 0-未开始 1-进行中 2-已结束 3-已取消
|
||||
@@ -738,7 +745,7 @@
|
||||
disconnect({
|
||||
liveID: uni?.$liveID
|
||||
})
|
||||
exitSheetItems.value = ['退2出直播间']
|
||||
exitSheetItems.value = ['退出直播间']
|
||||
exitSheetTitle.value = ''
|
||||
uni.$localGuestStatus = 'IDLE'
|
||||
return
|
||||
@@ -751,18 +758,19 @@
|
||||
leaveLive({
|
||||
success: () => {
|
||||
uni.$liveID = ''
|
||||
uni.redirectTo({
|
||||
url: `/pages/discover/livelist/index`,
|
||||
delta: 1,
|
||||
animationType: 'pop-out',
|
||||
animationDuration: 300,
|
||||
success: () => {
|
||||
console.log('返回成功')
|
||||
},
|
||||
fail: err => {
|
||||
console.error('返回失败', err)
|
||||
}
|
||||
})
|
||||
uni.navigateBack()
|
||||
// uni.redirectTo({
|
||||
// url: `/pages/discover/livelist/list`,
|
||||
// delta: 1,
|
||||
// animationType: 'pop-out',
|
||||
// animationDuration: 300,
|
||||
// success: () => {
|
||||
// console.log('返回成功')
|
||||
// },
|
||||
// fail: err => {
|
||||
// console.error('返回失败', err)
|
||||
// }
|
||||
// })
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
{ name: '公司介绍', icon: 'company' },
|
||||
{ name: '朋友圈', icon: 'circle' },
|
||||
{ name: '线上商城', icon: 'mall' },
|
||||
{ name: '我的拼团伙伴', icon: 'team' },
|
||||
{ name: '我的拼团订单', icon: 'team' },
|
||||
{ name: '购买记录', icon: 'shopping' },
|
||||
// { name: '项目入口', icon: 'project' },
|
||||
{ name: '直播列表', icon: 'liveStream' }
|
||||
@@ -51,16 +51,7 @@
|
||||
return
|
||||
}
|
||||
if (item === 'liveStream') {
|
||||
let url = ''
|
||||
// #ifdef APP-PLUS
|
||||
url = '/pages/discover/livelist/index'
|
||||
// #endif
|
||||
|
||||
// #ifdef H5
|
||||
url = '/pages/discover/livelist/h5-list'
|
||||
// #endif
|
||||
navigateTo(url)
|
||||
return
|
||||
navigateTo('/pages/discover/livelist/list')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
import { useAuthUser } from '../../../composables/useAuthUser'
|
||||
import {
|
||||
getLiveActivityDetail,
|
||||
getLiveActivityRecord
|
||||
getLiveActivityRecord,
|
||||
getLIveRecordDetailByRoomId
|
||||
} from '../../../api/tui-kit'
|
||||
import { LIVE_BUSINESS } from '@/constants/live-keys'
|
||||
|
||||
@@ -71,6 +72,7 @@
|
||||
/** 是否显示活动按钮 */
|
||||
const isShowActivity = ref(false)
|
||||
const shareDialog = ref(false)
|
||||
const topNUmber = ref('')
|
||||
|
||||
const audienceListTitle = computed(
|
||||
() => `在线人数 (${audienceList.value.length})`
|
||||
@@ -137,6 +139,10 @@
|
||||
currentLive.value?.liveOwner.userId
|
||||
liveOwnerAvatar.value = currentLive.value?.liveOwner.avatarUrl
|
||||
}
|
||||
getLIveRecordDetailByRoomId(e.liveId).then(res => {
|
||||
console.log('初始化虚拟人数===========', res.data.virtualViewers)
|
||||
topNUmber.value = res.data.virtualViewers
|
||||
})
|
||||
const res = await getLiveActivityDetail(liveId)
|
||||
// status: 0-未开始 1-进行中 2-已结束 3-已取消
|
||||
console.log('活动数据============= ', currentLive.value)
|
||||
@@ -249,7 +255,10 @@
|
||||
:src="item.avatarUrl"
|
||||
:size="24"
|
||||
/>
|
||||
<div class="audience-count">
|
||||
<div v-if="topNUmber" class="audience-count">
|
||||
{{ Number(topNUmber) > 100 ? '99+' : topNUmber }}
|
||||
</div>
|
||||
<div v-else class="audience-count">
|
||||
<span>{{ audienceList.length }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
114
pages/discover/livelist/list.vue
Normal file
114
pages/discover/livelist/list.vue
Normal file
@@ -0,0 +1,114 @@
|
||||
<script setup>
|
||||
import { navigateTo } from '@/utils/router'
|
||||
import { getLiveRoomList } from '../../../api/tui-kit'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const list = ref([])
|
||||
const paging = ref(null)
|
||||
const getList = async (pageNum, pageSize) => {
|
||||
try {
|
||||
const res = await getLiveRoomList({
|
||||
pageNum,
|
||||
pageSize
|
||||
})
|
||||
paging.value.complete(res.rows)
|
||||
} catch (error) {
|
||||
paging.value.complete(false)
|
||||
}
|
||||
}
|
||||
|
||||
const onGo = item => {
|
||||
// #ifdef APP-PLUS
|
||||
uni.$liveID = item.roomId
|
||||
navigateTo('/pages/audience/index', { liveID: item.roomId,id: item.id })
|
||||
// #endif
|
||||
|
||||
// #ifdef H5
|
||||
navigateTo('/pages/discover/livelist/h5-live-player', {
|
||||
liveId: item.roomId,
|
||||
id: item.id
|
||||
})
|
||||
// #endif
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<z-paging
|
||||
ref="paging"
|
||||
v-model="list"
|
||||
:default-page-no="1"
|
||||
:default-page-size="15"
|
||||
safe-area-inset-bottom
|
||||
use-safe-area-placeholder
|
||||
:paging-style="{ 'background-color': '#f9f9f9' }"
|
||||
@query="getList"
|
||||
>
|
||||
<view class="list-box">
|
||||
<view
|
||||
v-for="item in list"
|
||||
:key="item.roomId"
|
||||
class="live-box"
|
||||
@click="onGo(item)"
|
||||
>
|
||||
<!-- 背景图 -->
|
||||
<image
|
||||
:src="item.coverUrl"
|
||||
lazy-load
|
||||
mode="aspectFill"
|
||||
class="bg-box"
|
||||
/>
|
||||
<view class="title-box">
|
||||
<view class="title-text">
|
||||
<text>
|
||||
{{ item.roomName }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.list-box {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
padding: 0 20rpx;
|
||||
|
||||
.live-box {
|
||||
width: 48%;
|
||||
margin-top: 32rpx;
|
||||
height: 420rpx;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
.bg-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.title-box {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
padding: 16rpx 0;
|
||||
background: rgba(88, 88, 88, 0.164);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.title-text {
|
||||
color: #fff;
|
||||
padding: 0 10rpx 0 14rpx;
|
||||
font-size: 26rpx;
|
||||
text {
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1; /* 显示3行 */
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -242,14 +242,14 @@
|
||||
.goods-spec {
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
margin-top: 8rpx;
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
|
||||
.goods-price-info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 16rpx;
|
||||
margin-top: 6rpx;
|
||||
|
||||
.goods-price {
|
||||
font-size: 28rpx;
|
||||
|
||||
@@ -62,12 +62,12 @@
|
||||
|
||||
// 跳转到订单详情
|
||||
const goToDetail = item => {
|
||||
let url = ''
|
||||
if (item.orderType == 1) {
|
||||
url = '/pages/discover/order/detail'
|
||||
} else {
|
||||
url = '/pages/shop-together/detail'
|
||||
}
|
||||
let url = '/pages/discover/order/detail'
|
||||
// if (item.orderType == 1) {
|
||||
// url = '/pages/discover/order/detail'
|
||||
// } else {
|
||||
// url = '/pages/shop-together/detail'
|
||||
// }
|
||||
navigateTo(url, { id: item.id })
|
||||
}
|
||||
|
||||
@@ -204,9 +204,9 @@
|
||||
mode="aspectFill"
|
||||
/>
|
||||
<view class="goods-info">
|
||||
<text class="goods-name">{{ item.userName }}</text>
|
||||
<text class="goods-name">{{ item.productName }}</text>
|
||||
<text class="goods-spec">
|
||||
{{ item.specText }}
|
||||
规格:{{ item.specText }}
|
||||
</text>
|
||||
<view class="goods-price-info">
|
||||
<text class="goods-price">¥{{ item.unitPrice }}</text>
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
const handleToLive = () => {
|
||||
uni.redirectTo({
|
||||
url: '/pages/discover/livelist/index',
|
||||
url: '/pages/discover/livelist/list',
|
||||
success() {
|
||||
console.log('跳转成功');
|
||||
},
|
||||
|
||||
@@ -60,13 +60,13 @@
|
||||
>
|
||||
第三方客服
|
||||
</button>
|
||||
<button
|
||||
<!-- <button
|
||||
v-if="customerData?.imUserId"
|
||||
class="btn"
|
||||
@click="handleSwitchConversation"
|
||||
>
|
||||
APP客服
|
||||
</button>
|
||||
</button> -->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
import { formatNumberWithWan } from '../../utils'
|
||||
import { getUserPayPwd } from '@/api/my-index'
|
||||
import { useUserStore } from '../../stores/user'
|
||||
import { ref } from 'vue'
|
||||
|
||||
const bottomList = [
|
||||
{
|
||||
@@ -51,7 +52,7 @@
|
||||
}
|
||||
]
|
||||
|
||||
const { getIntegral } = useUserStore()
|
||||
const { getIntegral, refreshUserInfo } = useUserStore()
|
||||
const { showDialog } = useUI()
|
||||
const { userInfo, integralData } = useAuthUser()
|
||||
|
||||
@@ -72,6 +73,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
const paging = ref(null)
|
||||
const onRefresh = async () => {
|
||||
await refreshUserInfo()
|
||||
paging.value.complete()
|
||||
}
|
||||
|
||||
onLoad(() => {
|
||||
// 获取用户信息
|
||||
console.log(userInfo.value, '===获取用户信息')
|
||||
@@ -82,71 +89,31 @@
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="my-index">
|
||||
<view
|
||||
class="top-info"
|
||||
@click="navigateTo('/pages/my-index/personal-center/index')"
|
||||
>
|
||||
<view class="left-box">
|
||||
<image
|
||||
v-if="userInfo?.avatar"
|
||||
:src="userInfo?.avatar"
|
||||
mode="aspectFill"
|
||||
class="avatar"
|
||||
></image>
|
||||
<uni-icons v-else type="contact-filled" size="70"></uni-icons>
|
||||
<view class="nickname">
|
||||
<text class="name">{{ userInfo?.userName || '' }}</text>
|
||||
<text class="name">ID:{{ userInfo?.userId || '' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<image
|
||||
src="/static/images/public/right-arrow.png"
|
||||
mode="heightFix"
|
||||
class="right-box"
|
||||
></image>
|
||||
</view>
|
||||
<!-- 卡片列表 -->
|
||||
<view class="card-list">
|
||||
<view class="top-box">
|
||||
<view class="left-name">
|
||||
<text>账户积分</text>
|
||||
<text>{{ formatNumberWithWan(integralData) }}</text>
|
||||
</view>
|
||||
<view class="right-btn">
|
||||
<button
|
||||
@click="
|
||||
showDialog('提示', '联系客服或者联系上级分享人', false)
|
||||
"
|
||||
>
|
||||
充值
|
||||
</button>
|
||||
<button @click="navigateTo('/pages/my-index/withdraw')">
|
||||
提现
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 入口列表 -->
|
||||
<z-paging
|
||||
ref="paging"
|
||||
:paging-style="{ 'background-color': '#f9f9f9' }"
|
||||
refresher-only
|
||||
@onRefresh="onRefresh"
|
||||
>
|
||||
<view class="my-index">
|
||||
<view
|
||||
v-for="(item, index) in bottomList"
|
||||
:key="index"
|
||||
class="item-box"
|
||||
@click="item.url && onGo(item)"
|
||||
class="top-info"
|
||||
@click="navigateTo('/pages/my-index/personal-center/index')"
|
||||
>
|
||||
<view class="item-name">
|
||||
<uni-icons
|
||||
v-if="item.icon === 'videocam'"
|
||||
type="videocam"
|
||||
size="64rpx"
|
||||
color="#1b38b9"
|
||||
></uni-icons>
|
||||
<view class="left-box">
|
||||
<image
|
||||
v-else
|
||||
:src="`/static/images/my-index/${item.icon}.png`"
|
||||
mode="heightFix"
|
||||
class="icon"
|
||||
v-if="userInfo?.avatar"
|
||||
:src="userInfo?.avatar"
|
||||
mode="aspectFill"
|
||||
class="avatar"
|
||||
></image>
|
||||
<text class="text-box">{{ item.name }}</text>
|
||||
<uni-icons v-else type="contact-filled" size="70"></uni-icons>
|
||||
<view class="nickname">
|
||||
<text class="name">{{ userInfo?.userName || '' }}</text>
|
||||
<text class="name">
|
||||
ID: {{ userInfo?.invitationCode || '' }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<image
|
||||
src="/static/images/public/right-arrow.png"
|
||||
@@ -154,8 +121,57 @@
|
||||
class="right-box"
|
||||
></image>
|
||||
</view>
|
||||
<!-- 卡片列表 -->
|
||||
<view class="card-list">
|
||||
<view class="top-box">
|
||||
<view class="left-name">
|
||||
<text>账户积分</text>
|
||||
<text>{{ integralData }}</text>
|
||||
</view>
|
||||
<view class="right-btn">
|
||||
<button
|
||||
@click="
|
||||
showDialog('提示', '联系客服或者联系上级分享人', false)
|
||||
"
|
||||
>
|
||||
充值
|
||||
</button>
|
||||
<button @click="navigateTo('/pages/my-index/withdraw')">
|
||||
提现
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 入口列表 -->
|
||||
<view
|
||||
v-for="(item, index) in bottomList"
|
||||
:key="index"
|
||||
class="item-box"
|
||||
@click="item.url && onGo(item)"
|
||||
>
|
||||
<view class="item-name">
|
||||
<uni-icons
|
||||
v-if="item.icon === 'videocam'"
|
||||
type="videocam"
|
||||
size="64rpx"
|
||||
color="#1b38b9"
|
||||
></uni-icons>
|
||||
<image
|
||||
v-else
|
||||
:src="`/static/images/my-index/${item.icon}.png`"
|
||||
mode="heightFix"
|
||||
class="icon"
|
||||
></image>
|
||||
<text class="text-box">{{ item.name }}</text>
|
||||
</view>
|
||||
<image
|
||||
src="/static/images/public/right-arrow.png"
|
||||
mode="heightFix"
|
||||
class="right-box"
|
||||
></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<uni-icons v-else type="contact-filled" size="60"></uni-icons>
|
||||
<view class="right-box">
|
||||
<text>{{ userInfo.userName }}</text>
|
||||
<text>ID: {{ userInfo.userId }}</text>
|
||||
<text>ID: {{ userInfo.invitationCode }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="code-img">
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { navigateTo } from '../../../utils/router'
|
||||
import { useUI } from '../../../utils/use-ui'
|
||||
import { getAppVersion } from '@/api'
|
||||
import { compareVersion } from '@/utils/util.js'
|
||||
|
||||
const { showDialog, showToast } = useUI()
|
||||
|
||||
@@ -14,7 +16,11 @@
|
||||
},
|
||||
// { name: '聊天背景', value: '', url: '' },
|
||||
// { name: '朋友圈设置', value: '', url: '' },
|
||||
{ name: '消息通知', value: '', url: '/pages/my-index/set-up/message/index' }
|
||||
{
|
||||
name: '消息通知',
|
||||
value: '',
|
||||
url: '/pages/my-index/set-up/message/index'
|
||||
}
|
||||
// { name: '安全设置', value: '', url: '' },
|
||||
// { name: '群发消息', value: '', url: '' },
|
||||
// { name: '登录设备', value: '', url: '' }
|
||||
@@ -29,6 +35,9 @@
|
||||
value: '',
|
||||
url: '/pages/my-index/set-up/feedback'
|
||||
},
|
||||
// #ifdef APP-PLUS
|
||||
{ name: '检查更新', value: '3', url: '' },
|
||||
// #endif
|
||||
{ name: '关于我们', value: '', url: '/pages/discover/company' }
|
||||
]
|
||||
|
||||
@@ -45,6 +54,35 @@
|
||||
}
|
||||
})
|
||||
return
|
||||
} else if (item.value === '3') {
|
||||
plus.runtime.getProperty(plus.runtime.appid, function (widgetInfo) {
|
||||
getAppVersion().then(res => {
|
||||
console.log('应用版本信息', res.data)
|
||||
const lastVersion = res.data.version
|
||||
const currentVersion = widgetInfo.version
|
||||
if (compareVersion(currentVersion, lastVersion) < 0) {
|
||||
// 当前版本低于最新版本,提示用户更新
|
||||
console.log('当前版本低于最新版本,请更新应用')
|
||||
const url = res.data.updateUrl
|
||||
const isForceUpdate = res.data.forceUpdate
|
||||
uni.showModal({
|
||||
title: '更新提示',
|
||||
content: res.data.updateMessage,
|
||||
confirmText: '立即更新',
|
||||
cancelText: '稍后再说',
|
||||
showCancel: !isForceUpdate,
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
plus.runtime.openURL(url)
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
showToast('当前已是最新版本', 'info')
|
||||
}
|
||||
})
|
||||
})
|
||||
return
|
||||
}
|
||||
item.url && navigateTo(item.url)
|
||||
}
|
||||
@@ -104,7 +142,9 @@
|
||||
padding: 0 32rpx;
|
||||
.item {
|
||||
padding: 20rpx 0;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-family:
|
||||
PingFang SC,
|
||||
PingFang SC;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
text-transform: none;
|
||||
@@ -135,7 +175,9 @@
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
background: #fff;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-family:
|
||||
PingFang SC,
|
||||
PingFang SC;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #eb1c26;
|
||||
|
||||
@@ -54,48 +54,63 @@
|
||||
onShow(() => {
|
||||
getData()
|
||||
})
|
||||
|
||||
const paging = ref(null)
|
||||
const onRefresh = async () => {
|
||||
await getData()
|
||||
paging.value.complete()
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="wallet">
|
||||
<!-- 顶部样式 -->
|
||||
<view class="top-card">
|
||||
<view class="left-box">
|
||||
<text>我的资产</text>
|
||||
<text>{{ formatNumberWithWan(integralData) }}</text>
|
||||
<z-paging
|
||||
ref="paging"
|
||||
:paging-style="{ 'background-color': '#f9f9f9' }"
|
||||
refresher-only
|
||||
@onRefresh="onRefresh"
|
||||
>
|
||||
<view class="wallet">
|
||||
<!-- 顶部样式 -->
|
||||
<view class="top-card">
|
||||
<view class="left-box">
|
||||
<text>我的资产</text>
|
||||
<text>{{ integralData }}</text>
|
||||
</view>
|
||||
<view class="right-box">
|
||||
<button
|
||||
@click="
|
||||
showDialog('提示', '联系客服或者联系上级分享人', false)
|
||||
"
|
||||
>
|
||||
充值
|
||||
</button>
|
||||
<button @click="navigateTo('/pages/my-index/withdraw')">
|
||||
提现
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-box">
|
||||
<button
|
||||
@click="showDialog('提示', '联系客服或者联系上级分享人', false)"
|
||||
>
|
||||
充值
|
||||
</button>
|
||||
<button @click="navigateTo('/pages/my-index/withdraw')">
|
||||
提现
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-for="(item, index) in itemList"
|
||||
:key="index"
|
||||
class="public-card"
|
||||
@click="
|
||||
item.url &&
|
||||
<view
|
||||
v-for="(item, index) in itemList"
|
||||
:key="index"
|
||||
class="public-card"
|
||||
@click="
|
||||
item.url &&
|
||||
navigateTo(
|
||||
item.url,
|
||||
item.key === '3' ? { type: item.isType ? 1 : 0 } : null
|
||||
)
|
||||
"
|
||||
>
|
||||
<view class="left-box">
|
||||
<text>{{ item.title }}</text>
|
||||
</view>
|
||||
<view class="right-box">
|
||||
<uni-icons type="right" size="16" color="#999999"></uni-icons>
|
||||
"
|
||||
>
|
||||
<view class="left-box">
|
||||
<text>{{ item.title }}</text>
|
||||
</view>
|
||||
<view class="right-box">
|
||||
<uni-icons type="right" size="16" color="#999999"></uni-icons>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@@ -113,7 +128,9 @@
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
position: relative;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-family:
|
||||
PingFang SC,
|
||||
PingFang SC;
|
||||
font-style: normal;
|
||||
text-transform: none;
|
||||
&::after {
|
||||
@@ -152,7 +169,9 @@
|
||||
height: 64rpx;
|
||||
line-height: 64rpx;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-family:
|
||||
PingFang SC,
|
||||
PingFang SC;
|
||||
font-weight: 500;
|
||||
font-size: 28rpx;
|
||||
color: #ffffff;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
{ name: '拼单获得', id: '1', state: '+', color: '#2ecc71' },
|
||||
{ name: '消费', id: '2', state: '-', color: '#e74c3c' },
|
||||
{ name: '退款', id: '3', state: '-', color: '#f39c12' },
|
||||
{ name: '系统赠送', id: '4', state: '+', color: '#2ecc71' },
|
||||
{ name: '推荐奖励', id: '4', state: '+', color: '#2ecc71' },
|
||||
{ name: '系统扣除', id: '5', state: '-', color: '#e74c3c' },
|
||||
{ name: '签到', id: '6', state: '+', color: '#2ecc71' },
|
||||
{ name: '提现', id: '7', state: '-', color: '#e74c3c' },
|
||||
@@ -77,7 +77,7 @@
|
||||
{
|
||||
name: '参与直播活动',
|
||||
id: '17',
|
||||
state: '-',
|
||||
state: '+',
|
||||
color: '#e74c3c'
|
||||
},
|
||||
{
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<uni-icons v-else type="contact-filled" size="64"></uni-icons>
|
||||
<view class="name-box">
|
||||
<text>{{ topUser.userName }}</text>
|
||||
<text>ID:{{ topUser.userId }}</text>
|
||||
<text>ID:{{ topUser.invitationCode }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="right-box">
|
||||
@@ -58,7 +58,11 @@
|
||||
{{
|
||||
viewData.status === 1
|
||||
? viewData.commissionAmount
|
||||
: (viewData.commissionRate / 100) * viewData.groupPrice
|
||||
: Math.trunc(
|
||||
(viewData.commissionRate / 100) *
|
||||
viewData.groupPrice *
|
||||
100
|
||||
) / 100
|
||||
}}
|
||||
</text>
|
||||
<text>积分</text>
|
||||
|
||||
@@ -10,8 +10,13 @@
|
||||
const qrcodeRef = ref(null)
|
||||
|
||||
const BASE_URL = computed(() => {
|
||||
// #ifdef H5
|
||||
const { origin } = window.location
|
||||
return `${origin}/pages/mall/detail?productId=${productId.value}&groupId=${groupId.value}`
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
return `yxdim://pages/mall/detail?productId=${productId.value}&groupId=${groupId.value}`
|
||||
// #endif
|
||||
})
|
||||
|
||||
// 复制文本通用函数
|
||||
@@ -52,6 +57,13 @@
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- #ifdef APP-PLUS -->
|
||||
<view class="copy-box">
|
||||
<text class="link">拼单链接:{{ BASE_URL }}</text>
|
||||
<button @click="copyText">复制</button>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
|
||||
<!-- 复制连接 -->
|
||||
<!-- #ifdef H5 -->
|
||||
|
||||
BIN
static/.DS_Store
vendored
Normal file
BIN
static/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
static/bootstrap.png
Normal file
BIN
static/bootstrap.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 49 KiB |
BIN
static/im-logo.png
Normal file
BIN
static/im-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 286 KiB |
BIN
static/logo.png
BIN
static/logo.png
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 286 KiB |
@@ -5,12 +5,14 @@
|
||||
"description": "RongCloud-CallWrapper",
|
||||
"keywords": [
|
||||
"RongCloud,call,rtc"
|
||||
],
|
||||
],
|
||||
"repository": "",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
"HBuilderX": "^3.1.0",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -28,51 +30,66 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "",
|
||||
"type": "sdk-js"
|
||||
"type": "sdk-js",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y",
|
||||
"app-harmony": "u",
|
||||
"app-uvue": "u"
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "n",
|
||||
"Android Browser": "n",
|
||||
"微信浏览器(Android)": "n",
|
||||
"QQ浏览器(Android)": "n"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "n",
|
||||
"IE": "n",
|
||||
"Edge": "n",
|
||||
"Firefox": "n",
|
||||
"Safari": "n"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "n",
|
||||
"阿里": "n",
|
||||
"百度": "n",
|
||||
"字节跳动": "n",
|
||||
"QQ": "n"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "n",
|
||||
"联盟": "n"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
"keywords": [
|
||||
"RongCloud",
|
||||
"IM"
|
||||
],
|
||||
],
|
||||
"repository": "",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
"HBuilderX": "^3.1.0",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -29,51 +31,66 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "",
|
||||
"type": "sdk-js"
|
||||
"type": "sdk-js",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y",
|
||||
"app-harmony": "u",
|
||||
"app-uvue": "u"
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "n",
|
||||
"Android Browser": "n",
|
||||
"微信浏览器(Android)": "n",
|
||||
"QQ浏览器(Android)": "n"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "n",
|
||||
"IE": "n",
|
||||
"Edge": "n",
|
||||
"Firefox": "n",
|
||||
"Safari": "n"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "n",
|
||||
"阿里": "n",
|
||||
"百度": "n",
|
||||
"字节跳动": "n",
|
||||
"QQ": "n"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "n",
|
||||
"联盟": "n"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,10 +12,12 @@
|
||||
"推送",
|
||||
"Android/iOS",
|
||||
"谷歌FCM"
|
||||
],
|
||||
],
|
||||
"repository": "",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.6.8"
|
||||
"HBuilderX": "^3.6.8",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"dcloudext": {
|
||||
"type": "uts",
|
||||
@@ -35,54 +37,66 @@
|
||||
"data": "腾讯云即时通信IM隐私保护指引: https://web.sdk.qcloud.com/document/Tencent-IM-Privacy-Protection-Guidelines.html\n移动推送隐私保护指引: https://privacy.qq.com/document/preview/8565a4a2d26e480187ed86b0cc81d727",
|
||||
"permissions": "本地存储空间"
|
||||
},
|
||||
"npmurl": ""
|
||||
"npmurl": "",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "y"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "√"
|
||||
},
|
||||
"client": {
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"App": {
|
||||
"app-android": "y",
|
||||
"app-ios": "y",
|
||||
"app-harmony": "u"
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "u",
|
||||
"Android Browser": "u",
|
||||
"微信浏览器(Android)": "u",
|
||||
"QQ浏览器(Android)": "u"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "u",
|
||||
"IE": "u",
|
||||
"Edge": "u",
|
||||
"Firefox": "u",
|
||||
"Safari": "u"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "u",
|
||||
"阿里": "u",
|
||||
"百度": "u",
|
||||
"字节跳动": "u",
|
||||
"QQ": "u",
|
||||
"钉钉": "u",
|
||||
"快手": "u",
|
||||
"飞书": "u",
|
||||
"京东": "u"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ const onLiveSummaryStoreChanged = (eventName : string, res : string) : void => {
|
||||
if (eventName === "summaryData") {
|
||||
const data = JSON.parse(res);
|
||||
summaryData.value = data;
|
||||
console.log("直播统计数据更新", summaryData.value)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("onLiveSummaryStoreChanged error:", error);
|
||||
|
||||
@@ -9,15 +9,17 @@
|
||||
"combox",
|
||||
"组合框",
|
||||
"select"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -35,54 +37,71 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "n"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,15 +8,17 @@
|
||||
"uniui",
|
||||
"countdown",
|
||||
"倒计时"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -34,53 +36,70 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": ["uni-scss"],
|
||||
"dependencies": [
|
||||
"uni-scss"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y",
|
||||
"app-harmony": "u",
|
||||
"app-uvue": "u"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,15 +9,17 @@
|
||||
"单选",
|
||||
"多选",
|
||||
"单选多选"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.1"
|
||||
"HBuilderX": "^3.1.1",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -35,53 +37,71 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": ["uni-load-more","uni-scss"],
|
||||
"dependencies": [
|
||||
"uni-load-more",
|
||||
"uni-scss"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y",
|
||||
"app-harmony": "u",
|
||||
"app-uvue": "u"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,15 +10,17 @@
|
||||
"级联",
|
||||
"省市区",
|
||||
""
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -36,58 +38,72 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [
|
||||
"uni-load-more",
|
||||
"uni-icons",
|
||||
"uni-scss"
|
||||
"uni-icons",
|
||||
"uni-scss"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y",
|
||||
"app-uvue": "y",
|
||||
"app-harmony": "u"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y",
|
||||
"京东": "u"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,15 +9,17 @@
|
||||
"校验",
|
||||
"表单校验",
|
||||
"表单验证"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -35,55 +37,71 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [
|
||||
"uni-scss",
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y",
|
||||
"京东": "u"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,15 +7,17 @@
|
||||
"uni-ui",
|
||||
"uniui",
|
||||
"数字输入框"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -33,49 +35,68 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": ["uni-scss"],
|
||||
"dependencies": [
|
||||
"uni-scss"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,19 +7,17 @@
|
||||
"uni-ui",
|
||||
"uniui",
|
||||
"评分"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"category": [
|
||||
"前端组件",
|
||||
"通用组件"
|
||||
],
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -36,53 +34,71 @@
|
||||
"data": "无",
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y"
|
||||
"tcb": "√",
|
||||
"aliyun": "√"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,19 +9,17 @@
|
||||
"栅格",
|
||||
"布局",
|
||||
"layout"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"category": [
|
||||
"前端组件",
|
||||
"通用组件"
|
||||
],
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -38,48 +36,68 @@
|
||||
"data": "无",
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": ["uni-scss"],
|
||||
"dependencies": [
|
||||
"uni-scss"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y"
|
||||
"tcb": "√",
|
||||
"aliyun": "√"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "u"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,16 +7,14 @@
|
||||
"uni-scss",
|
||||
"uni-ui",
|
||||
"辅助样式"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
"HBuilderX": "^3.1.0",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"dcloudext": {
|
||||
"category": [
|
||||
"JS SDK",
|
||||
"通用 SDK"
|
||||
],
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -33,50 +31,68 @@
|
||||
"data": "无",
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "sdk-js",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y"
|
||||
"tcb": "√",
|
||||
"aliyun": "√"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "u"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "n",
|
||||
"联盟": "n"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,15 +8,17 @@
|
||||
"uniui",
|
||||
"搜索框",
|
||||
"搜索栏"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -34,52 +36,69 @@
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue"
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"uni-scss",
|
||||
"uni-icons"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "n"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "x"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,19 +9,17 @@
|
||||
"轮播图指示点",
|
||||
"dot",
|
||||
"swiper"
|
||||
],
|
||||
],
|
||||
"repository": "https://github.com/dcloudio/uni-ui",
|
||||
"engines": {
|
||||
"HBuilderX": ""
|
||||
"HBuilderX": "",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../temps/example_temps"
|
||||
},
|
||||
"dcloudext": {
|
||||
"category": [
|
||||
"前端组件",
|
||||
"通用组件"
|
||||
],
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
@@ -38,48 +36,68 @@
|
||||
"data": "无",
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
|
||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
||||
"type": "component-vue",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": ["uni-scss"],
|
||||
"dependencies": [
|
||||
"uni-scss"
|
||||
],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y"
|
||||
"tcb": "√",
|
||||
"aliyun": "√"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "y",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "y",
|
||||
"QQ浏览器(Android)": "y"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "y",
|
||||
"Edge": "y",
|
||||
"Firefox": "y",
|
||||
"Safari": "y"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "y",
|
||||
"阿里": "y",
|
||||
"百度": "y",
|
||||
"字节跳动": "y",
|
||||
"QQ": "y"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
"description": "支付密码弹窗",
|
||||
"keywords": [
|
||||
"支付,弹窗,密码"
|
||||
],
|
||||
],
|
||||
"repository": "",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
"HBuilderX": "^3.1.0",
|
||||
"uni-app": "^3.1.0",
|
||||
"uni-app-x": "^3.1.0"
|
||||
},
|
||||
"dcloudext": {
|
||||
"type": "component-vue",
|
||||
@@ -28,54 +30,66 @@
|
||||
"data": "插件不采集任何数据,一个支付密码的弹窗,内置忘记密码跳转功能,忘记密码页面需要自行修改",
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": ""
|
||||
"npmurl": "",
|
||||
"darkmode": "-",
|
||||
"i18n": "-",
|
||||
"widescreen": "-"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y",
|
||||
"alipay": "y"
|
||||
"tcb": "√",
|
||||
"aliyun": "√",
|
||||
"alipay": "√"
|
||||
},
|
||||
"client": {
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "y"
|
||||
"uni-app": {
|
||||
"vue": {
|
||||
"vue2": "-",
|
||||
"vue3": "-"
|
||||
},
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"vue": "-",
|
||||
"nvue": "-",
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-",
|
||||
"alipay": "-",
|
||||
"toutiao": "-",
|
||||
"baidu": "-",
|
||||
"kuaishou": "-",
|
||||
"jd": "-",
|
||||
"harmony": "-",
|
||||
"qq": "-",
|
||||
"lark": "-"
|
||||
},
|
||||
"quickapp": {
|
||||
"huawei": "-",
|
||||
"union": "-"
|
||||
}
|
||||
},
|
||||
"App": {
|
||||
"app-vue": "y",
|
||||
"app-nvue": "u",
|
||||
"app-uvue": "u"
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "u",
|
||||
"Android Browser": "y",
|
||||
"微信浏览器(Android)": "u",
|
||||
"QQ浏览器(Android)": "u"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "y",
|
||||
"IE": "u",
|
||||
"Edge": "y",
|
||||
"Firefox": "u",
|
||||
"Safari": "u"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "u",
|
||||
"阿里": "u",
|
||||
"百度": "u",
|
||||
"字节跳动": "u",
|
||||
"QQ": "u",
|
||||
"钉钉": "u",
|
||||
"快手": "u",
|
||||
"飞书": "u",
|
||||
"京东": "u"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
"uni-app-x": {
|
||||
"web": {
|
||||
"safari": "-",
|
||||
"chrome": "-"
|
||||
},
|
||||
"app": {
|
||||
"android": "-",
|
||||
"ios": "-",
|
||||
"harmony": "-"
|
||||
},
|
||||
"mp": {
|
||||
"weixin": "-"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useUserStore } from '../stores/user'
|
||||
import { navigateBack } from './router'
|
||||
import { getToken } from './storage'
|
||||
|
||||
const BASE_URL = import.meta.env.VITE_SYSTEM_URL
|
||||
@@ -55,7 +56,11 @@ const request = options => {
|
||||
resolve(response.data)
|
||||
} else {
|
||||
// 注意:这里也要 reject,否则调用方无法感知失败
|
||||
const err = handleError(response.data.code, response.data)
|
||||
const err = handleError(
|
||||
response.data.code,
|
||||
response.data,
|
||||
options?.isErrorBack
|
||||
)
|
||||
reject(err || response.data)
|
||||
// handleError(response.data.code, response.data)
|
||||
}
|
||||
@@ -63,7 +68,11 @@ const request = options => {
|
||||
// 状态码错误处理
|
||||
// handleError(response.statusCode, response.data)
|
||||
// reject(response)
|
||||
const err = handleError(response.statusCode, response.data)
|
||||
const err = handleError(
|
||||
response.statusCode,
|
||||
response.data,
|
||||
options?.isErrorBack
|
||||
)
|
||||
reject(err || response)
|
||||
}
|
||||
},
|
||||
@@ -91,8 +100,9 @@ const request = options => {
|
||||
* 错误处理函数
|
||||
* @param {Number} statusCode HTTP状态码
|
||||
* @param {Object} data 响应数据
|
||||
* @param {Boolean} isErrorBack 是否返回上一页
|
||||
*/
|
||||
const handleError = (statusCode, data) => {
|
||||
const handleError = (statusCode, data, isErrorBack) => {
|
||||
// 如果是 401 且正在处理中,直接返回(避免重复处理)
|
||||
if (statusCode === 401) {
|
||||
if (isHandling401) {
|
||||
@@ -156,6 +166,9 @@ const handleError = (statusCode, data) => {
|
||||
showCancel: false,
|
||||
confirmText: '确定'
|
||||
})
|
||||
if (isErrorBack) {
|
||||
navigateBack()
|
||||
}
|
||||
// uni.showToast({
|
||||
// title: data.msg || '服务器内部错误',
|
||||
// icon: 'none',
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
export const formate = function(arr){
|
||||
return JSON.parse('['+ arr.join(',') + ']');
|
||||
export const formate = function (arr) {
|
||||
return JSON.parse('[' + arr.join(',') + ']');
|
||||
}
|
||||
|
||||
export function compareVersion(version1, version2) {
|
||||
const v1Parts = version1.split(".").map(Number);
|
||||
const v2Parts = version2.split(".").map(Number);
|
||||
const maxLength = Math.max(v1Parts.length, v2Parts.length);
|
||||
|
||||
for (let i = 0; i < maxLength; i++) {
|
||||
const v1Part = v1Parts[i] || 0;
|
||||
const v2Part = v2Parts[i] || 0;
|
||||
|
||||
if (v1Part < v2Part)
|
||||
return -1;
|
||||
if (v1Part > v2Part)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user