feat: 获取扫码的参数
This commit is contained in:
parent
46a3b6a878
commit
613a2be148
2
App.vue
2
App.vue
@ -1,5 +1,5 @@
|
||||
<script setup>
|
||||
import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
|
||||
import { onLaunch, onShow, onHide, onLoad } from "@dcloudio/uni-app";
|
||||
import { checkPhone } from "@/manager/LoginManager";
|
||||
import { goLogin } from "@/hooks/useGoLogin";
|
||||
import { goHome } from "@/hooks/useGoHome";
|
||||
|
||||
@ -157,7 +157,9 @@ import {
|
||||
import WebSocketManager from "@/utils/WebSocketManager";
|
||||
import TypewriterManager from "@/utils/TypewriterManager";
|
||||
import { IdUtils } from "@/utils";
|
||||
import { useAppStore } from "@/store";
|
||||
|
||||
const appStore = useAppStore();
|
||||
/// 导航栏相关
|
||||
const statusBarHeight = ref(20);
|
||||
/// 输入框组件引用
|
||||
@ -182,8 +184,6 @@ const chatMsgList = ref([]);
|
||||
/// 输入口的输入消息
|
||||
const inputMessage = ref("");
|
||||
|
||||
/// 从个渠道获取如二维,没有的时候就返回首页的数据
|
||||
const sceneId = ref("");
|
||||
/// agentId 首页接口中获取
|
||||
const agentId = ref("1");
|
||||
/// 会话ID 历史数据接口中获取
|
||||
@ -383,7 +383,9 @@ const loadConversationMsgList = async () => {
|
||||
|
||||
// 获取首页数据
|
||||
const getMainPageData = async () => {
|
||||
const res = await mainPageData(sceneId.value);
|
||||
/// 从个渠道获取如二维,没有的时候就返回首页的数据
|
||||
const sceneId = appStore.sceneId || "";
|
||||
const res = await mainPageData(sceneId);
|
||||
if (res.code === 0) {
|
||||
mainPageDataModel.value = res.data;
|
||||
agentId.value = res.data.agentId;
|
||||
|
||||
@ -11,15 +11,18 @@
|
||||
@close="handleCalendarClose"
|
||||
@select="handleDateSelect"
|
||||
/>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, onUnmounted } from "vue";
|
||||
import ChatMainList from "../chat/ChatMainList.vue";
|
||||
import Calender from "@/components/Calender/index.vue";
|
||||
import { onLoad } from "@dcloudio/uni-app";
|
||||
import { GetWxMiniProgramUrlParam } from "@/utils/UrlParams";
|
||||
|
||||
import { useAppStore } from "@/store";
|
||||
|
||||
const appStore = useAppStore();
|
||||
|
||||
const calendarVisible = ref(false);
|
||||
const selectedDate = ref("");
|
||||
@ -35,17 +38,28 @@ const handleDateSelect = (data) => {
|
||||
calendarVisible.value = false;
|
||||
console.log("选择的日期:", data.date);
|
||||
uni.$emit("selectCalendarDate", selectedDate.value); // 传回父组件
|
||||
|
||||
};
|
||||
|
||||
uni.$on("openCalendar", () => {
|
||||
calendarVisible.value = true;
|
||||
});
|
||||
|
||||
const getWeixinMiniProgramParams = (e) => {
|
||||
console.log("Params:", e);
|
||||
if (e.q && e.q != "undefined") {
|
||||
const qrUrl = decodeURIComponent(e.q); // 获取到二维码原始链接内容
|
||||
const params = GetWxMiniProgramUrlParam(qrUrl);
|
||||
appStore.setSceneId(params.sceneId);
|
||||
}
|
||||
};
|
||||
|
||||
onLoad((e) => {
|
||||
getWeixinMiniProgramParams(e);
|
||||
});
|
||||
|
||||
onUnmounted(() => {
|
||||
// uni.$off('openCalendar')
|
||||
})
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@ -4,6 +4,7 @@ export const useAppStore = defineStore("app", {
|
||||
state() {
|
||||
return {
|
||||
title: "",
|
||||
sceneId: "",
|
||||
};
|
||||
},
|
||||
getters: {},
|
||||
@ -12,6 +13,9 @@ export const useAppStore = defineStore("app", {
|
||||
setData(data) {
|
||||
this.title = data;
|
||||
},
|
||||
setSceneId(data) {
|
||||
this.sceneId = data;
|
||||
},
|
||||
},
|
||||
|
||||
unistorage: true,
|
||||
|
||||
17
utils/UrlParams.js
Normal file
17
utils/UrlParams.js
Normal file
@ -0,0 +1,17 @@
|
||||
export function GetWxMiniProgramUrlParam(url) {
|
||||
let theRequest = {};
|
||||
if(url.indexOf("#") != -1){
|
||||
const str=url.split("#")[1];
|
||||
const strs=str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
|
||||
}
|
||||
}else if(url.indexOf("?") != -1){
|
||||
const str=url.split("?")[1];
|
||||
const strs=str.split("&");
|
||||
for (let i = 0; i < strs.length; i++) {
|
||||
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
|
||||
}
|
||||
}
|
||||
return theRequest;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user