szwxj
szwxj
  • 发布:2025-08-02 16:59
  • 更新:2025-08-04 10:01
  • 阅读:109

刚刚创建一个uni-start项目,在账号资料配置页面,自己新增了性别设置,照抄昵称代码,却无法通过,原因是什么?

分类:uni-app

在userinfo.vue文件中:

...
<uni-list>
<uni-list-item class="item" @click="setNickname('')" title="昵称" :rightText="userInfo.nickname||'未设置'" link>
</uni-list-item>
<uni-list-item class="item" @click="setGender()" title="性别" :rightText="userInfo.gender === 1 ? '男' : userInfo.gender === 2 ? '女' : '未设置'" link>
</uni-list-item>

<uni-list-item class="item" @click="bindMobile" title="手机号" :rightText="userInfo.mobile||'未绑定'" link>
</uni-list-item>
...

上面粗体是增加了性别的设置;在后面的代码中,增加了:

        setGender() {  
            this.$refs.genderDialog.open()  
        },  
        async confirmGender(gender) {  
            try {  
                // 直接调用mutations.updateUserInfo来更新性别  
                await mutations.updateUserInfo({gender: gender})  
                this.$refs.genderDialog.close()  
                uni.showToast({  
                    title: '设置成功',  
                    icon: 'success'  
                })  
            } catch (e) {  
                uni.showToast({  
                    title: e.message || '设置失败',  
                    icon: 'none'  
                })  
                console.error('设置性别失败', e)  
            }  
        },  

测试时,前端提示:设置成功;但是在控制台打印出来的是:

16:56:49.023 onDBError {code: "PERMISSION_ERROR", message: "权限校验未通过,请参考文档:https://uniapp.dcloud.net.cn/uniCloud/schema.html#handler-permission-error"} at common\appInit.js:32
16:56:49.024 PERMISSION_ERROR 权限校验未通过,请参考文档:https://uniapp.dcloud.net.cn/uniCloud/schema.html#handler-permission-error at common\appInit.js:37

而同样的昵称配置的代码:

        setNickname(nickname) {  
            if (nickname) {  
                mutations.updateUserInfo({  
                    nickname  
                })  
                this.setNicknameIng = false  
                this.$refs.dialog.close()  
            } else {  
                this.$refs.dialog.open()  
            }  
        },  

却可以正确执行,请问为社么?

2025-08-02 16:59 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

你可以打印mutations.updateUserInfo返回的信息看一下,再检查数据库字段的权限配置是否正确

  • szwxj (作者)

    找到了,是查询时没有带性别字段的原因

    2025-08-17 15:16

要回复问题请先登录注册