debug
All checks were successful
Deploy to Server / deploy (push) Successful in 26s

This commit is contained in:
jeremygan2021
2026-02-26 18:55:46 +08:00
parent 6571d83912
commit f57edbd4ee
5 changed files with 33 additions and 7 deletions

View File

@@ -0,0 +1,18 @@
# Generated by Django 6.0.1 on 2026-02-26 10:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('shop', '0036_alter_wechatuser_options_wechatuser_order'),
]
operations = [
migrations.AddField(
model_name='wechatuser',
name='has_web_badge',
field=models.BooleanField(default=False, verbose_name='是否拥有Web徽章'),
),
]

View File

@@ -27,6 +27,9 @@ class WeChatUser(models.Model):
skills = models.JSONField(default=list, verbose_name="专家技能", blank=True, help_text="格式: [{'icon': 'url', 'text': 'React'}, ...]")
order = models.IntegerField(default=0, verbose_name="排序权重", help_text="数字越小越靠前")
# 徽章标识
has_web_badge = models.BooleanField(default=False, verbose_name="是否拥有Web徽章")
created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间")

View File

@@ -25,8 +25,8 @@ class WeChatUserSerializer(serializers.ModelSerializer):
class Meta:
model = WeChatUser
fields = ['id', 'openid', 'nickname', 'avatar_url', 'gender', 'country', 'province', 'city', 'phone_number', 'is_star', 'title', 'skills', 'is_admin', 'has_web_account']
read_only_fields = ['id', 'openid', 'phone_number', 'is_star', 'title', 'skills', 'is_admin', 'has_web_account']
fields = ['id', 'openid', 'nickname', 'avatar_url', 'gender', 'country', 'province', 'city', 'phone_number', 'is_star', 'title', 'skills', 'is_admin', 'has_web_account', 'has_web_badge']
read_only_fields = ['id', 'openid', 'phone_number', 'is_star', 'title', 'skills', 'is_admin', 'has_web_account', 'has_web_badge']
def get_is_admin(self, obj):
# 检查是否关联了系统用户且具有管理员权限

View File

@@ -1109,6 +1109,9 @@ def wechat_login(request):
mp_user.avatar_url = phone_user.avatar_url
if mp_user.gender == 0 and phone_user.gender != 0:
mp_user.gender = phone_user.gender
# 标记拥有Web徽章
mp_user.has_web_badge = True
mp_user.save()
# 删除旧用户

View File

@@ -331,11 +331,13 @@ export default function UserIndex() {
</View>
)}
{/* 网页用户 */}
<View className={`badge web ${userInfo.has_web_account ? 'active' : 'disabled'}`}>
<Text className='badge-icon'>🌐</Text>
<Text className='badge-text'></Text>
</View>
{/* 网页用户徽章 - 仅在 has_web_badge 为 true 时显示 */}
{userInfo.has_web_badge && (
<View className='badge web active'>
<Text className='badge-icon'>🌐</Text>
<Text className='badge-text'></Text>
</View>
)}
</View>
)}