cookieTip.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <script lang="ts" setup>
  2. const visible = ref(false);
  3. onMounted(() => {
  4. getCookieTip();
  5. });
  6. function getCookieTip() {
  7. if (process.client) {
  8. const savedData = localStorage.getItem("cookieTip");
  9. if (savedData) {
  10. const { status } = JSON.parse(savedData);
  11. visible.value = status;
  12. } else {
  13. visible.value = true;
  14. }
  15. }
  16. }
  17. function setCookieTip() {
  18. if (process.client) {
  19. visible.value = false;
  20. localStorage.setItem("cookieTip", JSON.stringify({ status: false }));
  21. }
  22. }
  23. </script>
  24. <template>
  25. <div
  26. v-if="visible"
  27. class="cookie-tip w-full bg-#fff py-36px px-40px flex items-center justify-between pos-fixed bottom-0 left-0 right-0 z-10000"
  28. >
  29. <div class="text-#333 w-900px lh-24px">
  30. We use cookies to enable services and functionality on our site and to
  31. improve your experience. Byusing our website, you agree to our use of such
  32. technologies as laid out in the
  33. <a href="/policy" class="underline">Privacy Policy</a>.
  34. </div>
  35. <el-button
  36. class="w-100px px-30px py-10px !h-40px !bg-#C58C64 !text-#fff !b-rd-148px"
  37. @click="setCookieTip"
  38. >
  39. OK
  40. </el-button>
  41. </div>
  42. </template>
  43. <style lang="less" scoped>
  44. .cookie-tip {
  45. box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  46. }
  47. </style>