zj #17
| @ -40,6 +40,16 @@ const routes: Array<RouteRecordRaw> = [ | ||||
|     name: 'Sign', | ||||
|     component: () => import('../views/login/Sign.vue') | ||||
|   }, | ||||
|   { | ||||
|     path: '/reset', | ||||
|     name: 'Reset', | ||||
|     component: () => import('../views/login/Reset.vue') | ||||
|   }, | ||||
|   { | ||||
|     path: '/about', | ||||
|     name: 'About', | ||||
|     component: () => import('../views/login/About.vue') | ||||
|   }, | ||||
| ] | ||||
| 
 | ||||
| const router = createRouter({ | ||||
|  | ||||
| Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 274 B | 
| Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 533 B | 
| Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB | 
| Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB | 
| Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB | 
| Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB | 
| Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 449 B | 
| Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB | 
| Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										23
									
								
								src/views/login/About.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,23 @@ | ||||
| <template> | ||||
| <div class="about"> | ||||
|      | ||||
| </div> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, ref } from "vue"; | ||||
| export default defineComponent({ | ||||
|   name: "About", | ||||
|   components: { | ||||
|   }, | ||||
|   setup() { | ||||
| 
 | ||||
|     return { | ||||
| 
 | ||||
|     }; | ||||
|   }, | ||||
| }); | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| 
 | ||||
| </style> | ||||
| @ -114,9 +114,9 @@ | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="icons"> | ||||
|           <img src="../../../static/weixin.png" alt="" class="icon" /> | ||||
|           <img src="../../../static/weibo.png" alt="" class="icon" /> | ||||
|           <img src="../../../static/facebook.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/weixin.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/weibo.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/facebook.png" alt="" class="icon" /> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
| @ -131,10 +131,10 @@ | ||||
|         </div> | ||||
|         <div class="relation"> | ||||
|           <div class="more">了解更多</div> | ||||
|           <img src="../../../static/tel.png" alt="" class="icon"> | ||||
|           <img src="@/static/images/tel.png" alt="" class="icon"> | ||||
|           <div>136-0111-1111</div>  | ||||
| 
 | ||||
|           <img src="../../../static/email.png" alt="" class="icon email"> | ||||
|           <img src="@/static/images/email.png" alt="" class="icon email"> | ||||
|           <div>136-0111-1111</div>        | ||||
|         </div> | ||||
|       </div> | ||||
| @ -208,7 +208,7 @@ export default defineComponent({ | ||||
| .login { | ||||
|   min-width: 100%; | ||||
|   height: 100vh; | ||||
|   background: url("../../../static/loginbg.png"); | ||||
|   background: url("../../static/images/loginbg.png"); | ||||
|   background-size: 100% 130%; | ||||
|   background-repeat: no-repeat; | ||||
|   padding-top: 145px; | ||||
|  | ||||
							
								
								
									
										340
									
								
								src/views/login/Reset.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,340 @@ | ||||
| <template> | ||||
|   <div class="login"> | ||||
|     <div class="box"> | ||||
|       <div :class="stepnow != 2 ? 'left' : 'left left1'"> | ||||
|         <div class="title"> | ||||
|          <span class="orgname">Beelink</span>密码重置 | ||||
|         </div> | ||||
| 
 | ||||
|         <div v-if="stepnow == 1"> | ||||
|           <div class="nosign"> | ||||
|             想起密码? | ||||
|             <span class="tosign"> 去登录 </span> | ||||
|           </div> | ||||
| 
 | ||||
|           <a-form :layout="formLayout"> | ||||
|             <a-form-item label="账户名" class="form-item"> | ||||
|                 <a-input class="shuru" placeholder="请输入您的邮箱或者手机号" /> | ||||
|             </a-form-item> | ||||
|             <div class="submit" @click="next(2)">下一步</div> | ||||
|          | ||||
|           </a-form> | ||||
|         </div> | ||||
| 
 | ||||
|         <div v-if="stepnow == 2"> | ||||
|           <div class="nosign"> | ||||
|             已有账号? | ||||
|             <span class="tosign"> 去登录 </span> | ||||
|           </div> | ||||
|           <a-form :layout="formLayout"> | ||||
|             <div class="signform"> | ||||
|               <a-form-item label="手机号" class="form-item"> | ||||
|                 <a-input style="width: 50%" placeholder="请输入您的手机号" /> | ||||
| 
 | ||||
|             </a-form-item> | ||||
|             <a-form-item label="验证码" class="form-item"> | ||||
|               <!-- <a-input-group compact> | ||||
|                 <div class="getcode" @/click="getcode"> | ||||
|                   点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }} | ||||
|                 </div> | ||||
|                 <div class="line"></div> | ||||
|                 <a-input style="width: 50%" placeholder="请输入您的验证码" /> | ||||
|               </a-input-group> --> | ||||
| 
 | ||||
|                <a-input-group compact> | ||||
|                    <div class="getcode" @click="getcode"> | ||||
|                   点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }} | ||||
|                 </div> | ||||
|        | ||||
|                 <div class="line"></div> | ||||
|                 <a-input style="width: 50%" placeholder="请输入您的手机号" /> | ||||
|               </a-input-group> | ||||
|             </a-form-item> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="submit" @click="next(3)">立刻注册</div> | ||||
|             <div class="orginfo">Beelink公司版权所有 2019—2022</div> | ||||
|           </a-form> | ||||
|         </div> | ||||
| 
 | ||||
|         <div v-if="stepnow == 3"> | ||||
|           <div class="nosign">您已完成注册</div> | ||||
|           <img src="@/static/images/success.png" alt="" class="success"> | ||||
|           <div class="ale">恭喜您注册成功,点击跳转到我的档案页面</div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div :class="stepnow != 2 ? 'right' : 'right right1'"> | ||||
|         <div class="steps"> | ||||
|           <div class="step"> | ||||
|             <div :class="stepnow == 1 ? 'circle step1' : 'circle'">01</div> | ||||
|             <div :class="stepnow == 1 ? 'stepnow' : ''">验证手机号</div> | ||||
|           </div> | ||||
|           <div class="stepline"></div> | ||||
|           <div class="step"> | ||||
|             <div :class="stepnow == 2 ? 'circle step1' : 'circle'">02</div> | ||||
|             <div :class="stepnow == 2 ? 'stepnow' : ''">填写帐号信息</div> | ||||
|             <div class="back" @click="next(1)" v-if="stepnow==2"> | ||||
|               返回上一步 | ||||
|             </div> | ||||
|           </div> | ||||
|           <div class="stepline"></div> | ||||
|           <div class="step"> | ||||
|             <div :class="stepnow == 3 ? 'circle step1' : 'circle'">03</div> | ||||
|             <div :class="stepnow == 3 ? 'stepnow' : ''">帐号注册完成</div> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="icons" v-if="stepnow == 2"> | ||||
|           <img src="@/static/images/weixin.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/weibo.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/facebook.png" alt="" class="icon" /> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, ref } from "vue"; | ||||
| export default defineComponent({ | ||||
|   name: "Sign", | ||||
|   components: {}, | ||||
|   setup() { | ||||
|     const formLayout = { | ||||
|       labelCol: 4, | ||||
|       wrapperCol: 14, | ||||
|     }; | ||||
|     const time = ref(60); | ||||
|     const getcode: () => void = () => { | ||||
|       console.log(11111); | ||||
|       const timestep = setInterval(() => { | ||||
|         console.log(11112); | ||||
|         time.value = time.value - 1; | ||||
|         if (time.value > 0) { | ||||
|           console.log(); | ||||
|         } else { | ||||
|           time.value = 60; | ||||
|           clearInterval(timestep); | ||||
|         } | ||||
|       }, 1000); | ||||
|     }; | ||||
|     const ifagree = ref(true); | ||||
|     const agree: () => void = () => { | ||||
|       ifagree.value = ifagree.value == true ? false : true; | ||||
|       console.log(ifagree.value, 600); | ||||
|     }; | ||||
| 
 | ||||
|     const stepnow = ref(1); | ||||
|     const next: (e: number) => void = (e: number) => { | ||||
|       stepnow.value = e; | ||||
|     }; | ||||
|     return { | ||||
|       formLayout, | ||||
|       getcode, | ||||
|       time, | ||||
|       agree, | ||||
|       ifagree, | ||||
|       stepnow, | ||||
|       next, | ||||
|     }; | ||||
|   }, | ||||
| }); | ||||
| </script> | ||||
| <style lang="scss" scoped> | ||||
| .login /deep/ .ant-select-selection { | ||||
|   border: none; | ||||
| } | ||||
| .login /deep/ .ant-input { | ||||
|   border: none; | ||||
| } | ||||
| .ant-input:focus { | ||||
|   border: none; | ||||
|   border-bottom: 1px solid white !important; | ||||
|   box-shadow: none; | ||||
| } | ||||
| .login /deep/ .ant-form-item-label { | ||||
|   line-height: 14px; | ||||
| } | ||||
| .login /deep/ .ant-form-item /deep/ label { | ||||
|   color: #0dbba4; | ||||
|   font-size: 11px; | ||||
|   left: 1px; | ||||
| } | ||||
| .login { | ||||
|   min-width: 100vw; | ||||
|   height: 100vh; | ||||
|   background: url("../../static/images/loginbg.png"); | ||||
|   background-size: 100% 130%; | ||||
|   background-repeat: no-repeat; | ||||
|   padding-top: 145px; | ||||
|   .box { | ||||
|     display: flex; | ||||
|     justify-content: space-around; | ||||
|     .left1 { | ||||
|       width: 710px !important; | ||||
|     } | ||||
|     .left { | ||||
|       width: 314px; | ||||
|       .title { | ||||
|         font-size: 17px; | ||||
|         font-weight: bold; | ||||
|       } | ||||
|       .orgname { | ||||
|         font-size: 29px; | ||||
|         color: #0dbba4; | ||||
|         cursor: pointer; | ||||
|       } | ||||
|       .nosign { | ||||
|         font-size: 12px; | ||||
|         color: #666666; | ||||
|         margin-top: 17px; | ||||
|         margin-bottom: 35px; | ||||
|       } | ||||
|       .tosign { | ||||
|         color: #0dbba4; | ||||
|         cursor: pointer; | ||||
|       } | ||||
|       .tab { | ||||
|         margin-bottom: 30px; | ||||
|       } | ||||
| 
 | ||||
|       .form-item { | ||||
|         border-bottom: 1px solid #e5e5e5; | ||||
|         font-size: 15px; | ||||
|         margin-right: 40px; | ||||
|       } | ||||
|       .line { | ||||
|         width: 1px; | ||||
|         height: 14px; | ||||
|         background: #e5e5e5; | ||||
|         margin-top: 10px; | ||||
|         position: relative; | ||||
|         z-index: 999; | ||||
|       } | ||||
|       .getcode { | ||||
|         font-size: 15px; | ||||
|         color: #08ae98; | ||||
|         width: 119px; | ||||
|         line-height: 30px; | ||||
|         cursor: pointer; | ||||
|       } | ||||
|       .orginfo { | ||||
|         margin-top: 178px; | ||||
|       } | ||||
|       .submit { | ||||
|         width: 143px; | ||||
|         height: 35px; | ||||
|         background: linear-gradient( | ||||
|           90deg, | ||||
|           #00dac2, | ||||
|           #42de9e, | ||||
|           #88e062, | ||||
|           #d0eb3e, | ||||
|           #fffa18 | ||||
|         ); | ||||
|         border-radius: 18px; | ||||
|         font-size: 15px; | ||||
|         color: white; | ||||
|         font-weight: 800; | ||||
|         text-align: center; | ||||
|         line-height: 35px; | ||||
|         margin-top: 45px; | ||||
|       } | ||||
|       .agreement { | ||||
|         font-size: 12px; | ||||
|         display: flex; | ||||
|         margin-top: 23px; | ||||
|         cursor: default; | ||||
|         .ifagree { | ||||
|           width: 12px; | ||||
|           height: 12px; | ||||
|           border-radius: 3px; | ||||
|           border: 1px solid #0ebca4; | ||||
|           margin: auto 0; | ||||
|           margin-right: 7px; | ||||
|           .agree { | ||||
|             width: 8px; | ||||
|             height: 6px; | ||||
|             position: relative; | ||||
|             top: -4px; | ||||
|             left: 2.5px; | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     .right1 { | ||||
|       width: 230px !important; | ||||
|     } | ||||
|     .right { | ||||
|       width: 690px; | ||||
|       .steps { | ||||
|         padding-top: 112px; | ||||
|         .stepline { | ||||
|           width: 1px; | ||||
|           height: 50px; | ||||
|           border: 1px dashed #eeeeee; | ||||
|           position: relative; | ||||
|           left: 13px; | ||||
|         } | ||||
|         .step { | ||||
|           display: flex; | ||||
|           color: #999999; | ||||
|           font-size: 11px; | ||||
|           line-height: 28px; | ||||
|           font-weight: bold; | ||||
|           .back { | ||||
|             color: #0dbba4; | ||||
|             margin-left: 23px; | ||||
|           } | ||||
|           .circle { | ||||
|             width: 29px; | ||||
|             height: 29px; | ||||
|             border-radius: 15px; | ||||
|             background: #eeeeee; | ||||
|             font-size: 12px; | ||||
|             color: #999999; | ||||
|             text-align: center; | ||||
|             line-height: 29px; | ||||
|             font-weight: 800; | ||||
|             margin-right: 17px; | ||||
|           } | ||||
|         } | ||||
|         .step1 { | ||||
|           background: #08ae98 !important; | ||||
|           color: white !important; | ||||
|         } | ||||
|         .stepnow { | ||||
|           color: #111111; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   .signform { | ||||
|     display: flex; | ||||
|     flex-wrap: wrap; | ||||
|     .shuru { | ||||
|       width: 313px; | ||||
|     } | ||||
|   } | ||||
|   .icons { | ||||
|     margin-right: 41px; | ||||
|     margin-top: 227px; | ||||
|     .icon { | ||||
|       width: 28px; | ||||
|       height: 28px; | ||||
|       margin-right: 18px; | ||||
|       float: right; | ||||
|     } | ||||
|   } | ||||
|   .success{ | ||||
|     width: 250px; | ||||
|     height: 233px; | ||||
|   } | ||||
|   .ale{ | ||||
|     color:#08AE98; | ||||
|     font-size: 14px; | ||||
|     font-weight: 800; | ||||
|     margin-top: 34px; | ||||
|     cursor: pointer; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
| @ -42,7 +42,7 @@ | ||||
|             <div class="agreement" @click="agree"> | ||||
|               <div class="ifagree"> | ||||
|                 <img | ||||
|                   src="../../../static/agree.png" | ||||
|                   src="@/static/images/agree.png" | ||||
|                   alt="" | ||||
|                   class="agree" | ||||
|                   v-if="ifagree" | ||||
| @ -92,7 +92,7 @@ | ||||
| 
 | ||||
|         <div v-if="stepnow == 3"> | ||||
|           <div class="nosign">您已完成注册</div> | ||||
|           <img src="../../../static/success.png" alt="" class="success"> | ||||
|           <img src="@/static/images/success.png" alt="" class="success"> | ||||
|           <div class="ale">恭喜您注册成功,点击跳转到我的档案页面</div> | ||||
|         </div> | ||||
|       </div> | ||||
| @ -117,9 +117,9 @@ | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="icons" v-if="stepnow == 2"> | ||||
|           <img src="../../../static/weixin.png" alt="" class="icon" /> | ||||
|           <img src="../../../static/weibo.png" alt="" class="icon" /> | ||||
|           <img src="../../../static/facebook.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/weixin.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/weibo.png" alt="" class="icon" /> | ||||
|           <img src="@/static/images/facebook.png" alt="" class="icon" /> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
| @ -195,7 +195,7 @@ export default defineComponent({ | ||||
| .login { | ||||
|   min-width: 100vw; | ||||
|   height: 100vh; | ||||
|   background: url("../../../static/loginbg.png"); | ||||
|   background: url("../../static/images/loginbg.png"); | ||||
|   background-size: 100% 130%; | ||||
|   background-repeat: no-repeat; | ||||
|   padding-top: 145px; | ||||
|  | ||||