login.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <view id="login">
  3. <img class="logo-img" :src="imagesUrl('commonality/logo_guizhoudaxue.png')" @click="verificationButton(1)">
  4. <view class="title-1">欢迎使用</view>
  5. <view class="title-2">实验室安全智慧化管控系统</view>
  6. <view class="null-p"></view>
  7. <img class="login-img" @click="verificationButton(2)" :src="imagesUrl('commonality/img_tyrzdl_ch%402x.png')">
  8. <view class="ssoButton" @click="goPage('ssoLogin')">统一身份认证登录</view>
  9. <!-- <view class="accountButton" v-if="!weChatProgramVersion"
  10. @click="goPage('accountLogin')">账号密码登录</view> -->
  11. <view class="accountButton" @click="goPage('accountLogin')">账号密码登录</view>
  12. <view class="position-top-right-box"></view>
  13. <view class="position-bottom-left-box" @click="verificationButton(5)"></view>
  14. </view>
  15. </template>
  16. <script>
  17. import {
  18. config
  19. } from '@/api/request/config.js'
  20. import {
  21. configInfo,
  22. getConfigByType
  23. } from '@/pages/api/index.js'
  24. export default {
  25. name: "ssoLogin",
  26. data() {
  27. return {
  28. weChatProgramVersion:true,
  29. verificationList:[],
  30. }
  31. },
  32. onLoad(option) {
  33. },
  34. mounted() {
  35. this.getConfigInfo();
  36. },
  37. methods: {
  38. goPage(type){
  39. if(type == 'ssoLogin'){
  40. uni.showToast({
  41. title: '暂未开放,请使用账号密码登录',
  42. icon: "none",
  43. duration: 3000
  44. });
  45. return
  46. uni.navigateTo({
  47. url: '/pages/views/login/ssoLogin'
  48. });
  49. }else if(type == 'accountLogin'){
  50. uni.navigateTo({
  51. url: '/pages/views/login/accountLogin'
  52. });
  53. }
  54. },
  55. //查询公共配置
  56. async getConfigInfo() {
  57. const {
  58. data
  59. } = await configInfo({
  60. type: '5'
  61. });
  62. if (data.code == 200) {
  63. let list = JSON.parse(data.data)
  64. let newData = {};
  65. list.forEach((item) => {
  66. let obj = JSON.parse(item.configValue)
  67. newData = {
  68. ...newData,
  69. ...obj
  70. }
  71. })
  72. if(config.weChatProgramVersion === newData.weChatProgramVersion){
  73. this.$set(this,'weChatProgramVersion',true);
  74. }else{
  75. this.$set(this,'weChatProgramVersion',false);
  76. }
  77. }
  78. },
  79. verificationButton(val){
  80. if(val == 1){
  81. this.verificationList.push(1)
  82. }else if(val == 2){
  83. this.verificationList.push(2)
  84. }else if(val == 5){
  85. const str = this.verificationList.join('');
  86. if(str === '1122'){
  87. this.$set(this,'verificationList',[]);
  88. uni.navigateTo({
  89. url: '/pages/views/login/accountLogin'
  90. });
  91. }else{
  92. this.$set(this,'verificationList',[]);
  93. }
  94. }
  95. },
  96. },
  97. }
  98. </script>
  99. <style lang="stylus" scoped>
  100. #login{
  101. height: 100%;
  102. width: 100%;
  103. background #fff;
  104. position relative;
  105. display: flex;
  106. flex-direction: column;
  107. position: relative;
  108. .logo-img{
  109. width:740rpx;
  110. height:136rpx;
  111. margin:260rpx auto 0;
  112. }
  113. .position-top-right-box{
  114. position: absolute;
  115. top:0;
  116. right:0;
  117. width:230rpx;
  118. height:230rpx;
  119. border-bottom-left-radius: 100%;
  120. background-color: #E5F2FE;
  121. filter: blur(4px);
  122. }
  123. .position-bottom-left-box{
  124. position: absolute;
  125. bottom:0;
  126. left:0;
  127. width:230rpx;
  128. height:230rpx;
  129. border-top-right-radius: 100%;
  130. background-color: #E5F2FE;
  131. filter: blur(4px);
  132. z-index:0;
  133. }
  134. .title-1{
  135. font-size:38rpx;
  136. line-height:55rpx;
  137. height:55rpx;
  138. text-align: center;
  139. color:#333;
  140. margin:90rpx 0 31rpx;
  141. }
  142. .title-2{
  143. font-size:38rpx;
  144. line-height:55rpx;
  145. height:55rpx;
  146. text-align: center;
  147. color:#0183fa;
  148. }
  149. .null-p{
  150. flex:1;
  151. }
  152. .login-img{
  153. width:600rpx;
  154. height:408rpx;
  155. margin:0 auto 125rpx;
  156. }
  157. .ssoButton{
  158. width:650rpx;
  159. height:80rpx;
  160. line-height:80rpx;
  161. text-align: center;
  162. background-color:#0183fa;
  163. color:#fff;
  164. font-size:32rpx;
  165. margin:0 auto 175rpx;
  166. border-radius:50rpx;
  167. z-index:1;
  168. }
  169. .accountButton{
  170. width:200;
  171. height:80rpx;
  172. line-height:80rpx;
  173. text-align: center;
  174. color:#0183fa;
  175. font-size:28rpx;
  176. margin:0 auto 40rpx;
  177. }
  178. }
  179. </style>