Browse Source

修复客服列表网络请求和位置信息写入数据库问题

pull/1/head
SwTt29 2 months ago
parent
commit
e0618ebe3b
  1. BIN
      images/轮播图1.jpg
  2. BIN
      images/轮播图2.jpg
  3. BIN
      images/轮播图3.jpg
  4. 58
      pages/profile/index.js
  5. 18
      server-example/server-mysql.js

BIN
images/轮播图1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
images/轮播图2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 MiB

BIN
images/轮播图3.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

58
pages/profile/index.js

@ -777,17 +777,69 @@ Page({
longitude: longitude
};
// 构造上传的数据,包含authorized_region字段
const userInfo = {
// 构造上传的数据,包含authorized_region字段和必要的phoneNumber
let userInfo = {
authorized_region: JSON.stringify(locationData) // 将位置数据转换为JSON字符串存储
};
// 确保包含phoneNumber字段(服务器接口要求)
let phoneNumber = wx.getStorageSync('phoneNumber');
if (!phoneNumber) {
// 尝试从用户信息中获取phoneNumber
const globalUserInfo = wx.getStorageSync('userInfo');
phoneNumber = globalUserInfo?.phoneNumber;
}
// 如果找到phoneNumber,添加到上传数据中
if (phoneNumber) {
userInfo.phoneNumber = phoneNumber;
} else {
console.warn('位置上传警告: 未找到phoneNumber,可能导致上传失败');
}
// 检查openid是否存在
let openid = wx.getStorageSync('openid');
if (!openid) {
// 尝试从用户信息中获取openid
const globalUserInfo = wx.getStorageSync('userInfo');
openid = globalUserInfo?.openid;
}
// 确保openid存在
if (!openid) {
console.error('位置上传失败: 未找到openid');
wx.showToast({
title: '位置上传失败,请先登录',
icon: 'none',
duration: 2000
});
return;
}
console.log('位置上传前检查openid:', openid);
console.log('准备上传的位置数据:', userInfo);
// 调用API上传位置数据
const api = require('../../utils/api.js');
api.uploadUserInfo(userInfo).then(res => {
api.uploadUserInfo({
...userInfo,
openid: openid // 明确传递openid
}).then(res => {
console.log('位置数据上传成功:', res);
// 显示上传成功提示
wx.showToast({
title: '位置更新成功',
icon: 'success',
duration: 1500
});
}).catch(err => {
console.error('位置数据上传失败:', err);
// 显示上传失败提示
wx.showToast({
title: '位置上传失败',
icon: 'none',
duration: 2000
});
});
},
fail() {

18
server-example/server-mysql.js

@ -644,6 +644,10 @@ User.init({
partnerstatus: {
type: DataTypes.STRING(255) // 合作商状态
},
// 授权区域字段 - 用于存储用户位置信息
authorized_region: {
type: DataTypes.TEXT // 存储用户位置信息的JSON字符串
},
reasonforfailure: {
type: DataTypes.TEXT // 审核失败原因
},
@ -1188,12 +1192,17 @@ app.post('/api/user/upload', async (req, res) => {
console.log('收到用户信息上传请求:', userData);
// 使用微信小程序拉取唯一电话号码的插件,不再需要检查手机号冲突
// 确保用户数据中包含手机号
if (!userData.phoneNumber) {
// 检查用户是否已存在,如果是更新操作,不需要强制要求手机号
let existingUser = await User.findOne({
where: { openid: userData.openid }
});
// 只有在创建新用户时才强制要求手机号
if (!existingUser && !userData.phoneNumber) {
return res.json({
success: false,
code: 400,
message: '缺少手机号信息',
message: '创建新用户时必须提供手机号信息',
data: {}
});
}
@ -1509,7 +1518,8 @@ app.post('/api/user/get', async (req, res) => {
const user = await User.findOne({
where: { openid },
include: [
{ model: Contact,
{
model: Contact,
as: 'contacts',
attributes: ['id', 'name', 'phoneNumber', 'wechat', 'account', 'accountNumber', 'bank', 'address']
},

Loading…
Cancel
Save