fix:新增电话号码授权,修复订单创建/取消时用户手机消失的情况
This commit is contained in:
+70
-12
@@ -2,6 +2,11 @@ import {
|
||||
login,
|
||||
getMyIndexInfo
|
||||
} from "../config/user"
|
||||
import {
|
||||
URL,
|
||||
appid
|
||||
} from "@/config/url.js"
|
||||
// import { GET_PHONE_NUMBER_URL } from "../config/url"
|
||||
|
||||
// 微信登录方法
|
||||
export const wxLogin = () => {
|
||||
@@ -60,11 +65,7 @@ export const wxLogin = () => {
|
||||
|
||||
// 获取用户信息
|
||||
export const getUserInfo = () => {
|
||||
|
||||
|
||||
|
||||
return new Promise(async (res, rej) => {
|
||||
|
||||
const result = await getMyIndexInfo({
|
||||
isHide: false,
|
||||
})
|
||||
@@ -72,6 +73,63 @@ export const getUserInfo = () => {
|
||||
})
|
||||
}
|
||||
|
||||
// 获取用户手机号
|
||||
export const getUserPhoneNumber = (code) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
// 获取登录态信息
|
||||
const token = uni.getStorageSync('token')
|
||||
|
||||
if (!token) {
|
||||
reject(new Error('用户未登录'))
|
||||
return
|
||||
}
|
||||
|
||||
console.log('开始请求获取手机号,code=', code, '请求地址=', URL + '/app/user/getPhoneNumber')
|
||||
|
||||
// 发送请求到后端获取手机号
|
||||
uni.request({
|
||||
url: URL + '/app/user/getPhoneNumber',
|
||||
method: 'POST',
|
||||
header: {
|
||||
'Authorization': 'Bearer ' + token,
|
||||
'clientId': uni.getStorageSync('client_id'),
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: {
|
||||
code: code, // 微信获取手机号授权后的临时code
|
||||
appid: appid
|
||||
},
|
||||
success: (res) => {
|
||||
console.log('请求获取手机号接口成功,原始响应:', JSON.stringify(res))
|
||||
|
||||
// 检查HTTP状态码
|
||||
if (res.statusCode !== 200) {
|
||||
reject(new Error(`HTTP错误: ${res.statusCode}`))
|
||||
return
|
||||
}
|
||||
|
||||
// 确保响应体存在
|
||||
if (!res.data) {
|
||||
reject(new Error('服务器返回空数据'))
|
||||
return
|
||||
}
|
||||
|
||||
// 正常返回响应数据,不做额外判断,由调用方处理业务状态码
|
||||
resolve(res.data)
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('请求获取手机号接口网络错误:', err)
|
||||
reject(new Error('请求获取手机号接口失败: ' + (err.errMsg || JSON.stringify(err))))
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('获取手机号过程中出现异常:', error)
|
||||
reject(new Error('获取手机号异常: ' + (error.message || JSON.stringify(error))))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 调用微信支付分接口
|
||||
export const initiateWeChatScorePayment = (paymentData) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -80,7 +138,7 @@ export const initiateWeChatScorePayment = (paymentData) => {
|
||||
reject(new Error('支付参数不完整'));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// 使用wx.openBusinessView打开微信支付分小程序
|
||||
wx.openBusinessView({
|
||||
businessType: 'wxpayScoreUse',
|
||||
@@ -108,11 +166,11 @@ export const initiateWeChatScorePayment = (paymentData) => {
|
||||
});
|
||||
}
|
||||
|
||||
export const getQueryString = function (url, name) {
|
||||
var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
|
||||
var r = url.substr(1).match(reg)
|
||||
if (r != null) {
|
||||
return r[2]
|
||||
}
|
||||
return null;
|
||||
export const getQueryString = function(url, name) {
|
||||
var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
|
||||
var r = url.substr(1).match(reg)
|
||||
if (r != null) {
|
||||
return r[2]
|
||||
}
|
||||
return null;
|
||||
}
|
||||
Reference in New Issue
Block a user