login.vue 4.2 KB

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