login.vue 4.1 KB

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