forum
This commit is contained in:
Binary file not shown.
@@ -1139,7 +1139,12 @@ def wechat_login(request):
|
|||||||
'openid': user.openid,
|
'openid': user.openid,
|
||||||
'is_new': created,
|
'is_new': created,
|
||||||
'nickname': user.nickname,
|
'nickname': user.nickname,
|
||||||
'phone_number': user.phone_number
|
'avatar_url': user.avatar_url,
|
||||||
|
'phone_number': user.phone_number,
|
||||||
|
'gender': user.gender,
|
||||||
|
'province': user.province,
|
||||||
|
'city': user.city,
|
||||||
|
'country': user.country
|
||||||
})
|
})
|
||||||
|
|
||||||
@extend_schema(
|
@extend_schema(
|
||||||
|
|||||||
@@ -17,9 +17,51 @@ export default function UserIndex() {
|
|||||||
const goWithdraw = () => Taro.navigateTo({ url: '/subpackages/distributor/withdraw' })
|
const goWithdraw = () => Taro.navigateTo({ url: '/subpackages/distributor/withdraw' })
|
||||||
|
|
||||||
const handleAddress = async () => {
|
const handleAddress = async () => {
|
||||||
try { await Taro.chooseAddress() } catch(e) {}
|
try {
|
||||||
|
const res = await Taro.chooseAddress()
|
||||||
|
// 同步地址信息到后端
|
||||||
|
const token = Taro.getStorageSync('token')
|
||||||
|
if (token) {
|
||||||
|
await Taro.request({
|
||||||
|
url: 'https://market.quant-speed.com/api/wechat/update_user_info/',
|
||||||
|
method: 'POST',
|
||||||
|
header: {
|
||||||
|
'Authorization': `Bearer ${token}`,
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
province: res.provinceName,
|
||||||
|
city: res.cityName,
|
||||||
|
country: '中国' // 默认中国,chooseAddress通常返回国内地址
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 更新本地 userInfo
|
||||||
|
const updatedInfo = { ...userInfo, province: res.provinceName, city: res.cityName, country: '中国' }
|
||||||
|
setUserInfo(updatedInfo)
|
||||||
|
Taro.setStorageSync('userInfo', updatedInfo)
|
||||||
|
Taro.showToast({ title: '地址信息已同步', icon: 'success' })
|
||||||
|
}
|
||||||
|
} catch(e) {
|
||||||
|
// 用户取消或其他错误,忽略
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleLogout = () => {
|
||||||
|
Taro.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '确定要退出登录吗?',
|
||||||
|
success: function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
Taro.removeStorageSync('token')
|
||||||
|
Taro.removeStorageSync('userInfo')
|
||||||
|
setUserInfo(null)
|
||||||
|
Taro.showToast({ title: '已退出登录', icon: 'success' })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const login = async () => {
|
const login = async () => {
|
||||||
try {
|
try {
|
||||||
// 1. 获取微信登录 Code
|
// 1. 获取微信登录 Code
|
||||||
@@ -108,7 +150,8 @@ export default function UserIndex() {
|
|||||||
{
|
{
|
||||||
title: '其他',
|
title: '其他',
|
||||||
items: [
|
items: [
|
||||||
{ title: '联系客服', icon: '🎧', isContact: true }
|
{ title: '联系客服', icon: '🎧', isContact: true },
|
||||||
|
...(userInfo ? [{ title: '退出登录', icon: '🚪', action: handleLogout }] : [])
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -132,13 +175,13 @@ export default function UserIndex() {
|
|||||||
<Text className='uid'>ID: {userInfo ? (userInfo.phone_number || userInfo.id || '----') : '----'}</Text>
|
<Text className='uid'>ID: {userInfo ? (userInfo.phone_number || userInfo.id || '----') : '----'}</Text>
|
||||||
{!userInfo && (
|
{!userInfo && (
|
||||||
<View className='login-btns'>
|
<View className='login-btns'>
|
||||||
<Button
|
{/* <Button
|
||||||
className='btn-login'
|
className='btn-login'
|
||||||
onClick={login}
|
onClick={login}
|
||||||
style={{ marginRight: '10px' }}
|
style={{ marginRight: '10px' }}
|
||||||
>
|
>
|
||||||
游客登录
|
游客登录
|
||||||
</Button>
|
</Button> */}
|
||||||
<Button
|
<Button
|
||||||
className='btn-login primary'
|
className='btn-login primary'
|
||||||
openType="getPhoneNumber"
|
openType="getPhoneNumber"
|
||||||
|
|||||||
Reference in New Issue
Block a user