login.vue 3.9 KB

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