소스 검색

对接unity,昵称给个默认值

任一存 1 년 전
부모
커밋
cb84579e3f
11개의 변경된 파일41개의 추가작업 그리고 18개의 파일을 삭제
  1. 1 1
      README.md
  2. 0 4
      src/App.vue
  3. 9 0
      src/components/IframeWrap.vue
  4. 1 1
      src/store/index.js
  5. 8 0
      src/utils.js
  6. 4 3
      src/views/CharityHall.vue
  7. 4 3
      src/views/CityOfXishan.vue
  8. 4 2
      src/views/CloudSchool.vue
  9. 2 0
      src/views/LoginView.vue
  10. 4 2
      src/views/LoveForest.vue
  11. 4 2
      src/views/SquareView.vue

+ 1 - 1
README.md

@@ -15,7 +15,7 @@ appId: wx0bc995dace29b2ba
 https://open.weixin.qq.com/connect/qrconnect?appid=wxaf343d333792a454&redirect_uri=https%3A%2F%2Fsit-wuxicishan.4dage.com%2FPC%2F%23%2Ftab-1&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect
 
 ## 对接unity
-http://app.4dage.com/projects/wxcs/pc/web/index.html?platform=h5&name={userName}&scene=${sceneCode}
+/unityForPc/index.html?platform=h5&name={userName}&scene=${sceneCode}
 
 ## sceneCode
 * 0: 慈善云学校

+ 0 - 4
src/App.vue

@@ -137,10 +137,6 @@ const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
-window.navigateBack = function() {
-  router.go(-1)
-}
-
 store.commit('getPageVisitRecordFromStorage')
 // checkLoginStatusAndProcess()
 getUserFromStorageIfNeed()

+ 9 - 0
src/components/IframeWrap.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="iframe-wrap">
     <iframe
+      ref="iframeRef"
       :src="props.url"
       frameborder="0"
       allow="fullscreen src"
@@ -24,6 +25,14 @@ const store = useStore()
 
 const emit = defineEmits(['back'])
 
+const iframeRef = ref(null)
+onMounted(() => {
+  iframeRef.value.contentWindow.navigateBack = function() {
+    console.log('iframe: navigateBack called!')
+    router.go(-1)
+  }
+})
+
 const props = defineProps({
   url: {
     type: String,

+ 1 - 1
src/store/index.js

@@ -31,7 +31,7 @@ export default createStore({
       state.loginStatus = value
     },
     setUserName(state, value) {
-      state.uerInfo.userName = value
+      state.userInfo.userName = value
     },
     setToken(state, value) {
       state.token = value

+ 8 - 0
src/utils.js

@@ -67,4 +67,12 @@ export default {
       return fn.apply(context, args)
     }
   },
+  getRandomString(length = 32) {
+    let charSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
+    let ret = ""
+    for (let i = 0; i < length; i++) {
+      ret += charSet.charAt(Math.floor(Math.random() * charSet.length))
+    }
+    return ret
+  }
 }

+ 4 - 3
src/views/CharityHall.vue

@@ -8,7 +8,7 @@
 </template>
 
 <script setup>
-import { ref, computed, watch, onMounted } from "vue"
+import { ref, computed, watch, onMounted, inject } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import IframeWrap from '@/components/IframeWrap.vue'
@@ -17,13 +17,14 @@ const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
+const $env = inject('$env')
+
 // 运营埋点
 store.dispatch('recordPageVisitIfNeeded', {
   pageId: 5,
 })
 
-const url = ref(`http://app.4dage.com/projects/wxcs/pc/web/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=1`)
-
+const url = ref(`${$env.VUE_APP_DEPLOY_ORIGIN}/unityForPc/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=1`)
 </script>
 
 <style lang="less" scoped>

+ 4 - 3
src/views/CityOfXishan.vue

@@ -3,12 +3,11 @@
     class="city-of-xishan"
     :url="url"
     :need-back-btn="false"
-    @back="onClickBack"
   />
 </template>
 
 <script setup>
-import { ref, computed, watch, onMounted } from "vue"
+import { ref, computed, watch, onMounted, inject } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import IframeWrap from '@/components/IframeWrap.vue'
@@ -17,13 +16,15 @@ const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
+const $env = inject('$env')
+
 // 运营埋点
 store.dispatch('recordPageVisitIfNeeded', {
   pageId: 2,
 })
 
 const url = computed(() => {
-  let temp = `http://app.4dage.com/projects/wxcs/pc/web/index.html?platform=h5&name=${store.state.userInfo.userName}`
+  let temp = `${$env.VUE_APP_DEPLOY_ORIGIN}/unityForPc/index.html?platform=h5&name=${store.state.userInfo.userName}`
   if (route.query.scene !== undefined) {
     temp += `&scene=${route.query.scene}`
   }

+ 4 - 2
src/views/CloudSchool.vue

@@ -8,7 +8,7 @@
 </template>
 
 <script setup>
-import { ref, computed, watch, onMounted } from "vue"
+import { ref, computed, watch, onMounted, inject } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import IframeWrap from '@/components/IframeWrap.vue'
@@ -17,12 +17,14 @@ const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
+const $env = inject('$env')
+
 // 运营埋点
 store.dispatch('recordPageVisitIfNeeded', {
   pageId: 7,
 })
 
-const url = ref(`http://app.4dage.com/projects/wxcs/pc/web/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=0`)
+const url = ref(`${$env.VUE_APP_DEPLOY_ORIGIN}/unityForPc/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=0`)
 
 </script>
 

+ 2 - 0
src/views/LoginView.vue

@@ -42,9 +42,11 @@ const router = useRouter()
 const store = useStore()
 
 const nickName = ref('')
+nickName.value = `云城居民${utils.getRandomString(2)}`
 
 function onClickAsVisitor() {
   store.commit('setLoginStatus', store.getters.loginStatusEnum.visitor)
+  store.commit('setUserName', nickName.value)
   if (route.query.redirect && !route.query.redirect.includes('login')) {
     router.push({
       path: decodeURI(route.query.redirect)

+ 4 - 2
src/views/LoveForest.vue

@@ -8,7 +8,7 @@
 </template>
 
 <script setup>
-import { ref, computed, watch, onMounted } from "vue"
+import { ref, computed, watch, onMounted, inject } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import IframeWrap from '@/components/IframeWrap.vue'
@@ -17,12 +17,14 @@ const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
+const $env = inject('$env')
+
 // 运营埋点
 store.dispatch('recordPageVisitIfNeeded', {
   pageId: 6,
 })
 
-const url = ref(`http://app.4dage.com/projects/wxcs/pc/web/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=3`)
+const url = ref(`${$env.VUE_APP_DEPLOY_ORIGIN}/unityForPc/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=3`)
 
 </script>
 

+ 4 - 2
src/views/SquareView.vue

@@ -8,7 +8,7 @@
 </template>
 
 <script setup>
-import { ref, computed, watch, onMounted } from "vue"
+import { ref, computed, watch, onMounted, inject } from "vue"
 import { useRoute, useRouter } from "vue-router"
 import { useStore } from "vuex"
 import IframeWrap from '@/components/IframeWrap.vue'
@@ -17,12 +17,14 @@ const route = useRoute()
 const router = useRouter()
 const store = useStore()
 
+const $env = inject('$env')
+
 // 运营埋点
 store.dispatch('recordPageVisitIfNeeded', {
   pageId: 3,
 })
 
-const url = ref(`http://app.4dage.com/projects/wxcs/pc/web/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=2`)
+const url = ref(`${$env.VUE_APP_DEPLOY_ORIGIN}/unityForPc/index.html?platform=h5&name=${store.state.userInfo.userName}&scene=2`)
 
 </script>