Browse Source

feat: 添加手机号验证显示货源管理按钮功能

pull/6/head
徐飞洋 2 months ago
parent
commit
fa5badc993
  1. 42
      pages/index/index.js
  2. 2
      pages/index/index.wxml
  3. 38
      utils/api.js

42
pages/index/index.js

@ -68,6 +68,7 @@ Page({
sidebarBtnTop: 500, sidebarBtnTop: 500,
sidebarBtnHidden: false, sidebarBtnHidden: false,
isPageHidden: false, isPageHidden: false,
hasGoodsManagePermission: false,
// 搜索区域相关 // 搜索区域相关
searchSectionVisible: true, searchSectionVisible: true,
@ -176,8 +177,47 @@ Page({
if (this.data.isDragging) { if (this.data.isDragging) {
return; return;
} }
const newShowSidebar = !this.data.showSidebar;
if (newShowSidebar) {
this.checkGoodsManagePermission();
}
this.setData({ 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 });
}); });
}, },

2
pages/index/index.wxml

@ -100,7 +100,7 @@
<text class="sidebar-item-icon">📢</text> <text class="sidebar-item-icon">📢</text>
<text class="sidebar-item-text">招商合作</text> <text class="sidebar-item-text">招商合作</text>
</view> </view>
<view wx:if="{{isLoggedIn}}" class="sidebar-item" bindtap="navigateToGoods"> <view wx:if="{{hasGoodsManagePermission}}" class="sidebar-item" bindtap="navigateToGoods">
<text class="sidebar-item-icon">📦</text> <text class="sidebar-item-icon">📦</text>
<text class="sidebar-item-text">货源管理</text> <text class="sidebar-item-text">货源管理</text>
</view> </view>

38
utils/api.js

@ -4045,6 +4045,42 @@ module.exports = {
reject(error); 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 });
});
});
}
}; };
Loading…
Cancel
Save