uni-app uni-id-pages-x DCloud前端团队 上传用户头像没有更新到数据库 跳转路径错误

uni-app uni-id-pages-x DCloud前端团队 上传用户头像没有更新到数据库 跳转路径错误

操作步骤:

  1. 导入uni-id-pages-x插件
  2. 配置自己写的页面"needLogin": true,未登录状态点击该页面,并不会跳转到登录页面
  3. 进入自带的userinfo页面上传头像,头像信息不会同步到数据库中,只会存储到云存储中和本地缓存中,只要退出登录就会丢失上传的头像信息
  4. 自带的页面,好几个跳转的路径是非x版本的“/uni_modules/uni-id-pages-x/pages/login/login-withoutpwd’,x版本login下只有login页面,会导致跳转失败报错

预期结果:

  1. 头像信息无法入库
  2. 无法触发自动登录跳转
  3. login-withoutpwd页面跳转报错

实际结果:

  1. 头像信息无法入库
  2. 无法触发自动登录跳转
  3. login-withoutpwd页面跳转报错

bug描述:

  1. uni-id-pages-x导入插件后没有像 uni-id-pages一样自动注册页面
  2. /uni_modules/uni-id-pages-x/pages/userinfo/userinfo页面上传用户头像,文件会保存到云端存储,本地会保存云端链接,但是并没有保存到uni-id-users中,只要退出登录再重新登录,就会丢失头像信息
  3. 页面路径错误,自带的好几个页面写的跳转登录页面都是“/uni_modules/uni-id-pages-x/pages/login/login-withoutpwd”,但是uni-id-pages-x的login目录下现在只有一个login页面,导致跳转失败报错
  4. 设置"needLogin": true的页面,并没有生效,未登录时访问配置需要登陆的页面,也没有触发跳转到登录页面去

更多关于uni-app uni-id-pages-x DCloud前端团队 上传用户头像没有更新到数据库 跳转路径错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

uni-id-pages(非x版)的needLogin,在某些情况下也会失效,前几天uniapp做小程序的时候发现的,结果x也有这个问题,直接不生效

更多关于uni-app uni-id-pages-x DCloud前端团队 上传用户头像没有更新到数据库 跳转路径错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


又测试了下,uni-id-pagesx的needLogin配置,app端不生效,web端生效,ios端未做测试

问题2复现。问题3有个deactivate是旧的,还有其他页面吗?问题4在web和ios端生效,android不生效。以上已反馈给相关人员处理,已加分感谢您的反馈!

问题3暂无其他页面

已修复,问题1、2、3 更新uni-id-pages-x插件到1.1.2版本,问题4更新到HBuilderX4.18-alpha版本

在使用 uni-appuni-id-pages-x 插件时,如果遇到上传用户头像没有更新到数据库或跳转路径错误的问题,可能是以下几个原因导致的。以下是排查和解决问题的步骤:


1. 上传用户头像未更新到数据库

可能原因:

  • 文件上传接口未正确处理数据。
  • 数据库字段未正确更新。
  • 文件上传后未调用更新用户信息的接口。

解决方法:

  1. 检查文件上传接口

    • 确保文件上传接口正确接收文件,并返回文件路径。
    • uni-id-pages-x 中,默认使用 uniCloud.uploadFile 上传文件,检查上传逻辑是否正确。
  2. 更新用户信息

    • 文件上传成功后,调用 uni-id-coupdateUserInfo 方法更新用户信息。
    • 示例代码:
      uniCloud.uploadFile({
        filePath: tempFilePath, // 临时文件路径
        success: (res) => {
          const fileUrl = res.fileID; // 获取文件路径
          uniIDCo.updateUserInfo({
            avatar: fileUrl // 更新用户头像字段
          }).then(() => {
            uni.showToast({ title: '头像更新成功' });
          }).catch((err) => {
            uni.showToast({ title: '更新失败', icon: 'none' });
          });
        },
        fail: (err) => {
          uni.showToast({ title: '上传失败', icon: 'none' });
        }
      });
      
  3. 检查数据库字段

    • 确保数据库中的 users 表中有 avatar 字段,并且数据类型为字符串。
  4. 调试

    • 使用 console.loguniCloud.logger 打印上传和更新过程的日志,检查错误信息。

2. 跳转路径错误

可能原因:

  • 跳转路径写错或未正确配置路由。
  • 跳转逻辑错误。

解决方法:

  1. 检查跳转路径

    • 确保跳转路径正确,例如:
      uni.navigateTo({
        url: '/pages/user/profile' // 确保路径正确
      });
      
  2. 配置路由

    • pages.json 中确保目标页面已正确配置,例如:
      {
        "pages": [
          {
            "path": "pages/user/profile",
            "style": {}
          }
        ]
      }
回到顶部