帖子
帖子
用户
博客
课程
显示全部楼层
12
帖子
0
勋章
46
Y币

[其他] 关于上传头像的逻辑有些不理解,求指点

[复制链接]
发表于 2018-6-14 16:20:02
本帖最后由 NewStartSoftware 于 2018-6-14 16:23 编辑

此功能讲解在 新书的103页,步骤为  1.api.actionSheet()调用动作列表获取图片url
             2.fnUploadAvatar()上传该图片到云端file库
                我成功上传了,file表的数据是这样的
                id  name  url  type  size
                没有问题
             3.fnSetAvatar(){
var userInfo = $api.getStorage('userInfo');
    api.ajax({
        url: 'https://d.apicloud.com/mcm/api/user/' + userInfo.userId,
        method: 'put',
        headers: {
            "X-APICloud-AppId": api.appId,
            "X-APICloud-AppKey": 'ea748d4ba21a3c5f861dbade4b98adacf7fa5b6c.1524848071825',
            "Authorization": userInfo.id
        },
        data: {
            values: {
                avatar: avatar_
            }
        }
    }, function(ret, err) {
        if (ret) {
            fnUpdateLocalAvatar(ret);
        } else {
            alert(JSON.stringify(err));
        }
    });}
             4.showAvatar()
问题在于3,不是很理解
按理说,应该存在userid或者username和file的id绑定的情况,但是3这个方法看不懂,求解释一下
我的理解3的功能应该是  先从storage中获取当前登录用户的id,然后根据这个id去找头像的url,或者 根据这个id,把头像的url和用户id绑定在一起,但是看不出路 这个ajax是怎么实现这些功能的
ps:3 的代码中方法名和书本上有一点区别,是项目源码里面的,但基本是一致的



13
帖子
6
勋章
105
Y币
3应该是往你的user表里插入你的头像地址的吧,你如果想绑定在一起的话,没有持久层的支持怎么绑定,所以需要把你的头像地址写到user表里
67
帖子
0
勋章
974
Y币
本帖最后由 uoaccw 于 2018-6-14 18:21 编辑

这个代码和你理解的逻辑是一致的。
url: 'https://d.apicloud.com/mcm/api/user/' + userInfo.userId,  这个url 指定了userid.
avatar_  是一个已经上传到数据库的图片的url信息。
我推测avatar 是user 表中的一个file列。




您需要登录后才可以回帖 登录

本版积分规则