You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

361 lines
8.1 KiB

8 months ago
  1. <template>
  2. <view class="content">
  3. <view class="top">
  4. <img src="/static/1.png" width="100%"
  5. style="position: absolute;z-index: -1;top: 0;left: 0;"/>
  6. <view class="title">
  7. <p>轻松<text>记单词</text></p>
  8. <p>专业<text>抗遗忘</text></p>
  9. </view>
  10. <view class="description">
  11. 一小时熟记<text>30-100</text>个单词
  12. </view>
  13. <view class="info-title">
  14. 记单词很轻松<text>不忘记</text>是关键
  15. </view>
  16. <view class="info-list">
  17. <view class="info-item">
  18. 一对一保姆式带训高效学习
  19. </view>
  20. <view class="info-item">
  21. 1套颠覆性的训练方法快速提升20-60
  22. </view>
  23. <view class="info-item">
  24. AI智能+21天抗遗忘+全程1对1真人陪练
  25. </view>
  26. <view class="info-item">
  27. 量身定制学习方案针对性强
  28. </view>
  29. <view class="info-item">
  30. 量身定制学习方案针对性强
  31. </view>
  32. <view class="info-item">
  33. 随时约随时学碎片化时间更好利用
  34. </view>
  35. <view class="info-item">
  36. 特色抗遗忘训练单词学的更快记得更牢
  37. </view>
  38. </view>
  39. <view class="footer">
  40. <p>从底层逻辑上系统的解决英语学不好的问题</p>
  41. <p>将英语这门学科变成<text>强势学科!</text></p>
  42. <p>对英语做到<text>秒读</text><text>秒认</text><text>秒翻译</text></p>
  43. </view>
  44. </view>
  45. <view class="bottom">
  46. <view class="shang">
  47. <view class="text-title">
  48. 英语一对一
  49. </view>
  50. <view class="text-title">
  51. 专业陪跑
  52. </view>
  53. <view class="text-description">
  54. 每小时熟记30-100个单词
  55. </view>
  56. </view>
  57. <view class="xia">
  58. <h1>一个月搞定三年所有词汇</h1>
  59. <view class="tx">
  60. 解救了词汇就解决了英语
  61. </view>
  62. <view class="asd">
  63. <view class="left">
  64. <view class="ms">
  65. 扫码立购
  66. </view>
  67. <view class="img">
  68. <img src="" width="100%"
  69. height="100%"/>
  70. </view>
  71. </view>
  72. <view class="right"
  73. @click="toRegister">
  74. <view class="price">
  75. <view class="qweq">
  76. 原价300的体验课
  77. </view>
  78. <view class="num">
  79. <text>59.9</text>
  80. </view>
  81. <view class="mx">
  82. 因教练团队有限请扫描预约一对一教练
  83. </view>
  84. </view>
  85. </view>
  86. </view>
  87. </view>
  88. </view>
  89. </view>
  90. </template>
  91. <script>
  92. import api from '@/plugins/api.js'
  93. export default {
  94. data() {
  95. return {
  96. code : '',
  97. }
  98. },
  99. onLoad() {
  100. // if(this.GetQueryString('code')){ //路径上面有code说明微信已授权
  101. // this.code = this.GetQueryString('code');
  102. // //直接去登录发起请求
  103. // this.toWxLogin(this.code)
  104. // }else{
  105. // this.getwx_authorize()
  106. // }
  107. },
  108. methods: {
  109. getwx_authorize() {
  110. // let vid = uni.getStorageSync("ivcode");
  111. let redirect_uri = encodeURIComponent(this.VITE_REDIRECT_URI + '/pages/login/login');
  112. let appid = this.VITE_APPID;
  113. window.location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appid+'&redirect_uri='+redirect_uri+'&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect'+'&t='+new Date().getTime();
  114. // window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid +
  115. // '&redirect_uri=' + redirect_uri + '&response_type=code&scope=snsapi_userinfo&state=' + 123 +
  116. // '&connect_redirect=1#wechat_redirect';
  117. },
  118. //获取url中参数的方法
  119. GetQueryString(name) {
  120. var url = window.location.href;
  121. try {
  122. var cs = url.split('?')[1]; //获取?之后的参数字符串
  123. var cs_arr = cs.split('&'); //参数字符串分割为数组
  124. for (var i = 0; i < cs_arr.length; i++) { //遍历数组,拿到json对象
  125. if (cs_arr[i].split('=')[0] == name) {
  126. return cs_arr[i].split('=')[1];
  127. }
  128. }
  129. return "";
  130. } catch {
  131. return "";
  132. }
  133. },
  134. //微信登录
  135. toWxLogin(code) {
  136. let vid = sessionStorage.getItem('vid');
  137. api('wxLogin', { code , vid }, res=>{
  138. if(res.code == 200){
  139. localStorage.setItem("token", res.result.token)
  140. localStorage.setItem("userInfo", JSON.stringify(res.result.userInfo))
  141. }
  142. })
  143. },
  144. }
  145. }
  146. </script>
  147. <style scoped lang="scss">
  148. .content {
  149. display: flex;
  150. flex-direction: column;
  151. align-items: center;
  152. }
  153. .top{
  154. display: flex;
  155. flex-direction: column;
  156. align-items: center;
  157. position: relative;
  158. width: 100%;
  159. height: 1330rpx;
  160. .title{
  161. margin-top: 140rpx;
  162. color: #f8621f;
  163. font-size: 60rpx;
  164. font-weight: 900;
  165. line-height: 100rpx;
  166. transform: rotateZ(-4deg);
  167. letter-spacing: 10rpx;
  168. text{
  169. font-size: 90rpx;
  170. }
  171. }
  172. .description{
  173. margin-top: 30rpx;
  174. color: #fff;
  175. font-size: 28rpx;
  176. transform: rotateZ(-3deg);
  177. letter-spacing: 5rpx;
  178. padding-left: 120rpx;
  179. text{
  180. letter-spacing: 0rpx;
  181. padding-left: 10rpx;
  182. }
  183. }
  184. .info-title{
  185. margin-top: 100rpx;
  186. color: #000;
  187. font-size: 35rpx;
  188. font-weight: 900;
  189. line-height: 100rpx;
  190. letter-spacing: 7rpx;
  191. text{
  192. font-size: 45rpx;
  193. }
  194. }
  195. .info-list{
  196. margin-top: 15rpx;
  197. font-size: 25rpx;
  198. letter-spacing: 3rpx;
  199. font-weight: 600;
  200. color: #000;
  201. line-height: 50rpx;
  202. .info-item{
  203. display: flex;
  204. align-items: center;
  205. }
  206. .info-item::before{
  207. content: '';
  208. display: block;
  209. width: 10rpx;
  210. height: 10rpx;
  211. background-color: #f8621f;
  212. border-radius: 50%;
  213. margin-right: 20rpx;
  214. }
  215. }
  216. .footer{
  217. margin-top: 90rpx;
  218. font-size: 28rpx;
  219. letter-spacing: 3rpx;
  220. font-weight: 600;
  221. color: #f8621f;
  222. line-height: 50rpx;
  223. text-align: center;
  224. p:nth-child(2){
  225. text{
  226. font-size: 40rpx;
  227. letter-spacing: 20rpx;
  228. margin-left: 20rpx;
  229. }
  230. }
  231. p:nth-child(3){
  232. text{
  233. font-size: 40rpx;
  234. letter-spacing: 4rpx;
  235. margin-left: 25rpx;
  236. }
  237. }
  238. }
  239. }
  240. .bottom{
  241. display: flex;
  242. flex-direction: column;
  243. align-items: center;
  244. position: relative;
  245. width: 100%;
  246. // --color : #890404;
  247. --color : #dc2808;
  248. .shang{
  249. width: 100%;
  250. height: 500rpx;
  251. // background-color: #890404;
  252. background: linear-gradient(blue, pink);
  253. overflow: hidden;
  254. padding: 30rpx 0;
  255. display: flex;
  256. flex-direction: column;
  257. justify-content: center;
  258. .text-title{
  259. width: fit-content;
  260. padding: 0 20px;
  261. background-color: #f9d3d4;
  262. color: #fff;
  263. margin: 10rpx;
  264. font-size: 100rpx;
  265. margin-left: 160rpx;
  266. }
  267. .text-description{
  268. background-color: #fff;
  269. color: var(--color);
  270. padding: 10rpx 20rpx;
  271. width: fit-content;
  272. margin-top: 50rpx;
  273. margin-left: 160rpx;
  274. font-size: 40rpx;
  275. }
  276. }
  277. .xia{
  278. background-color: #fff;
  279. margin-bottom: 50rpx;
  280. h1{
  281. font-size: 50rpx;
  282. line-height: 150rpx;
  283. color: var(--color);
  284. font-weight: 500;
  285. letter-spacing: 5rpx;
  286. text-align: center;
  287. }
  288. .tx{
  289. border-left: 20rpx solid var(--color);
  290. border-right: 20rpx solid var(--color);
  291. border-top: 8rpx solid var(--color);
  292. border-bottom: 8rpx solid var(--color);
  293. width: fit-content;
  294. margin: 0 auto;
  295. background-color: #f9d3d4;
  296. color: #fff;
  297. font-size: 35rpx;
  298. }
  299. .asd{
  300. display: flex;
  301. margin-top: 20rpx;
  302. .left{
  303. width: 250rpx;
  304. display: flex;
  305. flex-direction: column;
  306. color: var(--color);
  307. font-weight: 900;
  308. line-height: 60rpx;
  309. justify-content: center;
  310. align-items: center;
  311. .img{
  312. // background-color: #f9d3d4;
  313. width: 180rpx;
  314. height: 180rpx;
  315. }
  316. }
  317. .right{
  318. position: relative;
  319. width: 500rpx;
  320. height: 260rpx;
  321. background: url(/static/5.png);
  322. background-size: 100% 100%;
  323. .price{
  324. color: var(--color);
  325. font-weight: 900;
  326. .qweq{
  327. padding: 20rpx;
  328. font-size: 28rpx;
  329. }
  330. .num{
  331. width: 400rpx;
  332. text-align: center;
  333. font-size: 40rpx;
  334. text{
  335. font-size: 55rpx;
  336. }
  337. }
  338. .mx{
  339. font-size: 16rpx;
  340. color: #fff;
  341. position: absolute;
  342. bottom: 75rpx;
  343. left: 25rpx;
  344. text-align: center;
  345. width: 350rpx;
  346. }
  347. }
  348. }
  349. }
  350. }
  351. }
  352. </style>