index.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <template>
  2. <div class="CalligraphyAndPaintingCompetition">
  3. <div class="bottom">
  4. <div class="bottom_item">
  5. <div class="btn" @click="toDetail = true">活动详情</div>
  6. </div>
  7. <div class="bottom_item" style="flex: 3">
  8. <div class="btn" @click="toShanshipin = true">我要投稿</div>
  9. </div>
  10. <div class="bottom_item">
  11. <div class="btn" @click="toShanshipin = true">我的作品</div>
  12. </div>
  13. </div>
  14. <van-overlay :custom-style="{'background-color': 'rgba(0, 0, 0, .4)'}" :show="toShanshipin">
  15. <div class="dialogBody">
  16. <van-image width="100" height="100" :src="logoImage" round />
  17. <div class="title">请打开闪视频投稿或查看我的作品</div>
  18. <br />
  19. <van-button
  20. round
  21. type="default"
  22. color="linear-gradient(90deg, #0038ad, #004fd9)"
  23. block
  24. @click="toShanshipinFunc"
  25. >打开闪视频</van-button
  26. >
  27. <div class="closeBtn" @click="toShanshipin = false">
  28. <img
  29. style="width: 20px; height: 20px"
  30. src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAWhJREFUOBG1lL1OwzAUheuEIUJMDAwwMLEhRQkTG7xKaYFXgkIfhyk/ikQmBl6ADcYo4Zxgu0lrOxYCD7Xje87Xe28cz2YYWZbtl2V5xvVvRlVV53VdH9IrCBNCvHddd4T5MU3Te8ydDxgeURTFA+YlPF9RFJ0GYRieEEYA5lsIniicAlIjtUvpPWia5jhIkuSNmSkAhPMp6AA2Vz4wVnEcvwbckGWuVdAFtcDWYNzRr0tzCBeqpz4aDSTdZWBctmJYJjPTf0jNCMgNG1TGnDBqdoDSqN6gBnBfDbRgJzMdU4vt2ZQpNS4Y4/1b5uKvxv+XbCqVZbICxHRPbaXvDUu1wXg0qMOx0VDC5bP52LhgyKa/LHw0fQ99hKqSKW1fcp7nKxgm+0Mos8VYmMpH+IYH+LJt2xeKOWzN/olufk2Z4iq8DgD4UD2C/Hn729wgxit6pFbfUkjss1fx+memY4v/E/xXaNsFHd9CLmBlRyZwLQAAAABJRU5ErkJggg=="
  31. />
  32. </div>
  33. </div>
  34. </van-overlay>
  35. <van-dialog
  36. theme="round-button"
  37. confirm-button-text="关 闭"
  38. confirm-button-color="linear-gradient(90deg, #0038ad, #004fd9)"
  39. v-model:show="toDetail"
  40. title="详情"
  41. >
  42. <div class="DetailMain">
  43. <p class="DetailLine">活动说明</p>
  44. <p class="DetailLine">1.活动名称:2023“我心中的黄帝陵”青少年书画活动</p>
  45. <p class="DetailLine">
  46. 2.主办单位:陕西省委网信办、共青团陕西省委、陕西省祭陵办
  47. </p>
  48. <p class="DetailLine">
  49. 3.参与对象:全省各单位青年、高校学生、中小学学生
  50. </p>
  51. <p class="DetailLine">
  52. 4.征集主题:以书法、绘画作品的形式表现自己对“黄帝”文化的理解、对“黄帝”形象的领悟。
  53. </p>
  54. <p class="DetailLine">5.征稿时间:2023年4月</p>
  55. <p class="DetailLine">
  56. 6.评选方式:评选阶段分为初评和终评。通过初评的作品在“闪视频”、“西部网教育”微信公众号展示。通过初评的选手将参加现场创作活动,由专家评审团现场评审选出优秀作品,评审结果将在“西部网教育”微信公众号发布。
  57. </p>
  58. <p class="DetailLine">活动规则</p>
  59. <p class="DetailLine">
  60. 1.全省各单位青年、高校学生、中小学学生均可投稿;投稿作品需符合主题要求,内容应健康、积极向上,具有艺术感、想象力和创造性,拒绝模版化作品。
  61. </p>
  62. <p class="DetailLine">
  63. 2.投稿者应保证其为所投作品的作者,并对该作品的整体及局部均拥有独立、完整、明确、无争议的著作权;作者还应保证其所投送的作品不侵犯第三人的包括著作权、肖像权、名誉权、隐私权等在内的合法权益。
  64. </p>
  65. <p class="DetailLine">
  66. 3.主办方有权免费使用本次书画活动的作品,包括出版画册、举办展览和相关宣传推广等。
  67. </p>
  68. </div>
  69. </van-dialog>
  70. <img v-if="showWixin" src="../../assets/img/weixin.jpg" class="Down">
  71. </div>
  72. </template>
  73. <script setup>
  74. import { ref } from 'vue';
  75. // import { onMounted, reactive } from "vue";
  76. import {
  77. isIpad,
  78. isIpod,
  79. isIphone,
  80. isAndroid,
  81. isWechat,
  82. } from '../../utils/isTerminal';
  83. /**
  84. * window.$originData.orginParames.title 页面标题
  85. * window.$originData.orginParames.parameters 固定参数值
  86. * window.$originData.urlParames url参数
  87. */
  88. import logoImage from '@/assets/img/logp.png';
  89. const toShanshipin = ref(false);
  90. const toDetail = ref(false);
  91. const showWixin = ref(false);
  92. function getDownloadUrl() {
  93. let url = 'https://ssp.sxtvs.com.cn';
  94. if (isIpad || isIpod || isIphone)
  95. url =
  96. 'https://apps.apple.com/cn/app/%E9%97%AA%E8%A7%86%E9%A2%91/id1498056575';
  97. if (isAndroid) url = 'tideapp://scheme';
  98. return url;
  99. }
  100. function toShanshipinFunc() {
  101. if (isIpad || isIpod || isIphone) return (location.href = getDownloadUrl());
  102. if (isWechat) showWixin.value = true;
  103. else location.href = getDownloadUrl();
  104. if (!isWechat && isAndroid)
  105. window.setTimeout(function () {
  106. window.location.href =
  107. 'https://ssp.sxtvs.com.cn'; /***打开app的协议,有安卓同事提供***/
  108. }, 2000);
  109. }
  110. </script>
  111. <style lang="scss">
  112. .CalligraphyAndPaintingCompetition {
  113. width: 100vw;
  114. height: 100vh;
  115. background-image: url('../../assets/img/hdl.png');
  116. background-size: 100% 100%;
  117. position: relative;
  118. .bottom {
  119. position: absolute;
  120. bottom: 0;
  121. width: 100vw;
  122. display: flex;
  123. padding: 1em 0;
  124. .bottom_item {
  125. flex: 2;
  126. text-align: center;
  127. padding: 0 0.5em;
  128. }
  129. }
  130. .btn {
  131. display: inline-block;
  132. font-weight: 500;
  133. font-size: 16px;
  134. background: -webkit-gradient(
  135. linear,
  136. left top,
  137. right top,
  138. from(#0038ad),
  139. to(#004fd9)
  140. );
  141. background: linear-gradient(90deg, #0038ad, #004fd9);
  142. width: 100%;
  143. height: 2.5em;
  144. line-height: 2.5em;
  145. border-radius: 2.5em;
  146. text-align: center;
  147. color: #fff;
  148. vertical-align: middle;
  149. }
  150. .dialogBody {
  151. position: absolute;
  152. top: 50%;
  153. left: 50%;
  154. transform: translate(-50%, -50%);
  155. padding: 1em 1em 1em 1em;
  156. width: 90%;
  157. margin: 0 auto;
  158. border-radius: 15px;
  159. background-color: #ffffff;
  160. .closeBtn {
  161. width: 40px;
  162. height: 40px;
  163. padding-top: 10px;
  164. border-radius: 50%;
  165. left: 50%;
  166. bottom: -4em;
  167. transform: translateX(-50%);
  168. position: absolute;
  169. background-color:rgba(0, 0, 0, .4);
  170. text-align: center;
  171. }
  172. .van-image {
  173. margin: 0 auto;
  174. display: block;
  175. }
  176. .title {
  177. transition: opacity 0.5s;
  178. color: #666;
  179. border-radius: 0.5rem;
  180. padding: 0.45rem 0.6rem 0 0.6rem;
  181. text-align: center;
  182. }
  183. }
  184. .DetailMain {
  185. padding: 0 26px;
  186. max-height: 250px;
  187. overflow: auto;
  188. .DetailLine {
  189. padding-bottom: 1em;
  190. color: #666;
  191. line-height: 1.5em;
  192. }
  193. }
  194. .Down{
  195. position: fixed;
  196. z-index: 100000;
  197. width: 100vw;
  198. height: 100vh;
  199. }
  200. }
  201. </style>