back_login.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <template>
  2. <view class="content">
  3. <view>请在PC浏览器输入后台登录网址:</view>
  4. <view>https://ng.xazhima.com/ ;</view>
  5. <view>使用下方“扫一扫”功能扫码登录</view>
  6. <view class="options">
  7. <view v-for="(item, idx) in list" :key="idx" class="options-item" @click="goDetailFn(idx, item.url)" v-if="item.isShow">
  8. <view class="img-box">
  9. <img :src="item.icon" alt="" class="options-item-img" />
  10. </view>
  11. <view class="options-item-name">
  12. {{ item.name }}
  13. </view>
  14. </view>
  15. </view>
  16. </view>
  17. </template>
  18. <script>
  19. import md5 from "@/common/md5.js";
  20. export default {
  21. components: {
  22. },
  23. data() {
  24. return {
  25. isAuth: true,
  26. userHeadImg: "",
  27. userNickName: "",
  28. userscanCode:"",
  29. list: [
  30. {
  31. icon: "/static/scan.png",
  32. name: "扫一扫" ,
  33. // url: "/pages/index/scanCode/index",
  34. isShow:true,
  35. },
  36. ],
  37. };
  38. },
  39. onLoad() {
  40. },
  41. onShow() {
  42. },
  43. methods: {
  44. codeReg(strs){
  45. let reg = /\[(.*?)\]/gi;
  46. let str = strs;
  47. let tmp = str.match(reg) , result = '';
  48. if (tmp) {
  49. for (let i = 0; i < tmp.length; i++) {
  50. result = tmp[i].replace(reg, "$1")
  51. }
  52. } else {
  53. console.log("no match.");
  54. }
  55. console.log(result)
  56. this.getScanCode(result)
  57. },
  58. getScanCode(codeRes) {
  59. let md5Sign = md5(
  60. "method=" +
  61. "user" +
  62. "&timestamp=" +
  63. getApp().globalData.globalTimestamp +
  64. "&secret=" +
  65. getApp().globalData.secret
  66. );
  67. let url =
  68. getApp().globalData.shareUrl +
  69. "api/api.php" +
  70. "?method=user&action=qrcode_login&timestamp=" +
  71. getApp().globalData.globalTimestamp +
  72. "&sign=" +
  73. md5Sign;
  74. uni.request({
  75. url: url,
  76. method: "POST",
  77. header: {
  78. "content-type": "application/x-www-form-urlencoded",
  79. },
  80. data: {
  81. openid:getApp().globalData.open_id,
  82. qrcode:codeRes
  83. },
  84. success: (res) => {
  85. if (res.data.code === 200) {
  86. uni.showToast({
  87. title:res.data.msg,
  88. icon:'none'
  89. })
  90. } else {
  91. uni.showToast({
  92. title:res.data.msg,
  93. icon:'none'
  94. })
  95. }
  96. },
  97. fail: () => {
  98. console.log("连接失败");
  99. },
  100. });
  101. },
  102. goDetailFn(index, url) {
  103. let that = this;
  104. uni.scanCode({
  105. success: function (res) {
  106. console.log('条码类型:' + res.scanType);
  107. console.log('条码内容:' + res.result);
  108. that.codeReg(res.result)
  109. }
  110. });
  111. },
  112. },
  113. };
  114. </script>
  115. <style lang="scss" scoped>
  116. .content {
  117. display: flex;
  118. flex-direction: column;
  119. padding: 40rpx;
  120. color: #444;
  121. font-size: 30rpx;
  122. .options {
  123. margin-top: 15%;
  124. .options-item {
  125. background-color: #fff;
  126. display: flex;
  127. box-shadow: 0px 4rpx 32rpx rgba(0, 0, 0, 0.1);
  128. border-radius: 10rpx;
  129. height: 120rpx;
  130. align-items: center;
  131. .img-box {
  132. margin-left: 40rpx;
  133. .options-item-img {
  134. width: 56rpx;
  135. height: 56rpx;
  136. }
  137. }
  138. .options-item-name {
  139. margin-left: 40rpx;
  140. font-weight: 600;
  141. font-size: 30rpx;
  142. margin-bottom: 10rpx;
  143. }
  144. }
  145. }
  146. }
  147. .fontGrey {
  148. color: $uni-text-color-grey;
  149. }
  150. </style>