index.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <page-meta root-font-size="system" />
  3. <view class="container">
  4. <web-view :src="homeSrc"></web-view>
  5. </view>
  6. </template>
  7. <script setup>
  8. import {
  9. ref,
  10. nextTick,
  11. onMounted,
  12. reactive
  13. } from 'vue';
  14. import { onLoad } from '@dcloudio/uni-app'
  15. import { useUserStore } from '@/store/user.js'
  16. import { getHomeAssistantLoginFlowId, getHomeAssistantLoginCode } from '@/api/work.js'
  17. const userStore = useUserStore()
  18. const homeSrc = ref('')
  19. const homeCode = ref('')
  20. const authCode = ref('')
  21. onLoad((options) => {
  22. console.log(options)
  23. homeCode.value = options.homeCode
  24. })
  25. onMounted(() => {
  26. const username = 'yunzhuoa'
  27. const password = 'HNYZ0821'
  28. getHomeAssistantLoginFlowId(homeCode.value).then((data) => {
  29. console.log('getHomeAssistantLoginFlowId', data)
  30. getHomeAssistantLoginCode(data.flow_id, username, password).then(({result}) => {
  31. console.log('getHomeAssistantLoginCode', result);
  32. authCode.value = result
  33. homeSrc.value =
  34. 'https://api.ygtxfj.com:8125/lovelace/'+homeCode.value+'?kiosk=&%3Fauth_callback=1&auth_callback=1&code='+result+'&state=eyJoYXNzVXJsIjoiaHR0cHM6Ly9hcGkueWd0eGZqLmNvbTo4MTI1IiwiY2xpZW50SWQiOiJodHRwczovL2FwaS55Z3R4ZmouY29tOjgxMjUvIn0%3D&storeToken=true'
  35. })
  36. })
  37. // switch (userStore.user.userName) {
  38. // case 'hez':
  39. // homeSrc.value = 'https://api.ygtxfj.com:8125/lovelace/dongshizhang?kiosk';
  40. // break;
  41. // case 'yzadmin':
  42. // homeSrc.value = 'https://api.ygtxfj.com:8125/lovelace/workshop?kiosk';
  43. // break;
  44. // default:
  45. // break;
  46. // }
  47. });
  48. </script>
  49. <style lang="scss" scoped>
  50. .container {
  51. display: flex;
  52. flex-direction: column;
  53. height: 100vh;
  54. position: relative;
  55. }
  56. </style>