diff --git a/pages/index/index.js b/pages/index/index.js index d9e4024..5add9aa 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -68,6 +68,7 @@ Page({ sidebarBtnTop: 500, sidebarBtnHidden: false, isPageHidden: false, + hasGoodsManagePermission: false, // 搜索区域相关 searchSectionVisible: true, @@ -176,8 +177,47 @@ Page({ if (this.data.isDragging) { return; } + + const newShowSidebar = !this.data.showSidebar; + + if (newShowSidebar) { + this.checkGoodsManagePermission(); + } + this.setData({ - showSidebar: !this.data.showSidebar + showSidebar: newShowSidebar + }); + }, + + // 检查用户是否有货源管理权限 + checkGoodsManagePermission() { + const users = wx.getStorageSync('users') || {}; + const userId = wx.getStorageSync('userId'); + let userPhone = null; + + if (userId && users[userId] && users[userId].phoneNumber) { + userPhone = users[userId].phoneNumber; + } else { + const userInfo = wx.getStorageSync('userInfo'); + if (userInfo && userInfo.phoneNumber) { + userPhone = userInfo.phoneNumber; + } else { + userPhone = wx.getStorageSync('phoneNumber'); + } + } + + if (!userPhone) { + console.log('用户未绑定手机号,无货源管理权限'); + this.setData({ hasGoodsManagePermission: false }); + return; + } + + API.checkPersonnelByPhone(userPhone).then(res => { + console.log('货源管理权限检查结果:', res); + this.setData({ hasGoodsManagePermission: res.exists }); + }).catch(err => { + console.error('检查货源管理权限失败:', err); + this.setData({ hasGoodsManagePermission: false }); }); }, diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 5f57b78..f23f843 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -100,7 +100,7 @@ 📢 招商合作 - + 📦 货源管理 diff --git a/utils/api.js b/utils/api.js index 7282539..4ec32f3 100644 --- a/utils/api.js +++ b/utils/api.js @@ -4045,6 +4045,42 @@ module.exports = { reject(error); }); }); - } + }, + + // 根据手机号查询personnel表中是否存在该用户 + checkPersonnelByPhone: function (phoneNumber) { + console.log('API.checkPersonnelByPhone - phoneNumber:', phoneNumber); + return new Promise((resolve, reject) => { + if (!phoneNumber) { + console.warn('手机号为空,不查询personnel表'); + resolve({ exists: false }); + return; + } + + const requestData = { + phone: phoneNumber + }; + + console.log('查询personnel表请求数据:', requestData); + request('/api/personnel/get', 'POST', requestData) + .then(res => { + console.log('查询personnel表响应:', res); + // 如果能获取到数据,说明该用户存在于personnel表中 + if (res && (res.data || res.phone || res.id)) { + resolve({ + exists: true, + data: res.data || res + }); + } else { + resolve({ exists: false }); + } + }) + .catch(error => { + console.error('查询personnel表失败:', error); + // 查询失败时不阻止侧边栏打开,只是没有权限 + resolve({ exists: false, error: error.message }); + }); + }); + } }; \ No newline at end of file