Explorar el Código

用户二维码

jiayubo hace 3 meses
padre
commit
ff19363e37

+ 2 - 1
api/login.js

@@ -67,4 +67,5 @@ export function userOrWorker(data) {
     method: 'put',
     data: data  // 如果需要额外参数,可以传递
   });
-}
+}
+

+ 11 - 4
api/qrcode.js

@@ -2,6 +2,13 @@ import request from '@/utils/request'
 
 // 获取不限制的小程序码
 export function getUnlimitedQRCode(data = {}) {
+  // 从本地存储获取用户类型和用户ID
+  const userType = uni.getStorageSync('userType') || '';
+  const userId = uni.getStorageSync('userId') || '';
+  
+  // 打印日志,便于调试
+  console.log('从本地存储获取用户信息:', { userType, userId });
+  
   return request({
     url: '/core/InviteUser/getInviteQrCode',
     method: 'get',
@@ -14,10 +21,10 @@ export function getUnlimitedQRCode(data = {}) {
       // auto_color: data.auto_color || false, // 自动配置线条颜色
       // line_color: data.line_color || { r: 0, g: 0, b: 0 }, // 使用 rgb 设置颜色
       // is_hyaline: data.is_hyaline || false, // 是否需要透明底色
-      referrerType: data.referrerType || 1,
-      referrerId: data.referrerId || 111,
-      page: data.page || 'pages/index/index',
-      scene: data.scene || `${data.referrerType || 1}:${data.referrerId || 111}`,
+      referrerType: userType, // 使用本地存储的 userType
+      referrerId: userId, // 使用本地存储的 userId
+      page:'pages/login',
+      scene: data.scene || `${userType}:${userId}`, // 同样使用本地存储的值生成 scene
     },
     // responseType: 'arraybuffer', // 设置响应类型为arraybuffer,因为返回的是图片二进制内容
   })

+ 12 - 11
components/QRCode/index.vue

@@ -27,7 +27,7 @@ const props = defineProps({
   },
   page: {
     type: String,
-    default: 'pages/index/index',
+    default: 'pages/login',
   },
   width: {
     type: Number,
@@ -48,21 +48,22 @@ const props = defineProps({
 })
 
 const qrCodeUrl = ref('')
+const userType = uni.getStorageSync('userType') // 读取本地存储
+const userId = uni.getStorageSync('userId')// 读取本地存储
+
+// 打印用户信息,方便查看
+console.log('=== QRCode组件读取到的用户信息 ===')
+console.log('userType:', userType)
+console.log('userId:', userId)
+
 
 const generateQRCode = async () => {
   try {
     const response = await getUnlimitedQRCode({
-      // scene: props.scene,
-      // page: props.page,
-      // width: props.width,
-      // auto_color: props.autoColor,
-      // line_color: props.lineColor,
-      // is_hyaline: props.isHyaline
-      referrerType: 1,
-      referrerId: 111,
-      page: 'pages/index/index',
+      page: props.page,
+      referrerType: userType,
+      referrerId: userId,
     })
-
     // 拼接Base64图片前缀
     qrCodeUrl.value = 'data:image/jpeg;base64,' + response.data
   } catch (error) {

+ 6 - 4
pages/login.vue

@@ -39,8 +39,9 @@ import { useRouter } from 'vue-router' // 根据实际情况选择路由库
 import store from '@/store'
 import { onShow, onLoad } from '@dcloudio/uni-app'
 import {
-  userOrWorker
+  userOrWorker,
 } from '@/api/login';
+import { getUnlimitedQRCode } from '@/api/qrcode'
 const imagePath = '/static/9efd1.png' // Path to the logo image (red tree)
 
 // 获取全局配置
@@ -68,9 +69,10 @@ const router = useRouter()
 
 // 获取小程序码参数
 onLoad((options) => {
-  console.log('onLoad options:', options)
   // 处理从二维码扫描进入的场景
-  if (options.scene) {
+  // debugger
+  // if (options.scene) {
+    console.log('options.scene:>>>>>>>123123s', options.scene)
     const scene = decodeURIComponent(options.scene)
     const params = scene.split(':')
     if (params.length >= 2) {
@@ -78,7 +80,7 @@ onLoad((options) => {
       loginForm.referrerId = params[1]
       console.log('从二维码获取参数:', loginForm.referrerType, loginForm.referrerId)
     }
-  }
+  // }
 
   // 如果有直接传入的参数也可以获取
   if (options.referrerType) {

+ 3 - 2
pages_mine/components/setupUser/Add.vue

@@ -35,7 +35,8 @@
         <up-input v-model="modelForm.telephone" border="none" placeholder="请输入手机号"></up-input>
       </up-form-item>
       <up-form-item label="地区" prop="area" borderBottom @click="onCityWx" labelWidth="70">
-        <view class="inp" :class="modelForm.provinceName && modelForm.cityName && modelForm.districtName ? '' : 'address-inp'">
+        <view class="inp"
+          :class="modelForm.provinceName && modelForm.cityName && modelForm.districtName ? '' : 'address-inp'">
           {{ modelForm.provinceName ? modelForm.provinceName : '省' }} /
           {{ modelForm.cityName ? modelForm.cityName : '市' }} /
           {{ modelForm.districtName ? modelForm.districtName : '区' }}
@@ -44,7 +45,7 @@
           <up-icon name="map" size="22" @click="onCityWx"></up-icon>
         </template>
       </up-form-item>
-      <up-form-item label="地址" prop="address" borderBottom labelWidth="70">
+      <up-form-item label="地址" prop="address" borderBottom labelWidth="70" @click="onCityWx">
         <up-input v-model="modelForm.address" border="none" placeholder="请输入地址"></up-input>
       </up-form-item>
       <up-form-item label="门牌号" prop="detailAddress" borderBottom labelWidth="70">

+ 1 - 1
pages_mine/pages/selectAddress/edit.vue

@@ -34,7 +34,7 @@
           <up-icon name="map" size="22" @click="onCityWx"></up-icon>
         </template>
       </up-form-item>
-      <up-form-item label="地址" prop="address" borderBottom labelWidth="70">
+      <up-form-item label="地址" prop="address" borderBottom labelWidth="70" @click="onCityWx">
         <up-input v-model="modelForm.address" border="none" placeholder="请输入地址"></up-input>
       </up-form-item>
       <up-form-item label="门牌号" prop="detailAddress" borderBottom labelWidth="70">