帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
8
帖子
0
勋章
92
Y币

[BUG] WXPhotoPicker模块的scanByGroupId函数有问题

[复制链接]
发表于 2023-6-6 16:01:09

function addimg(sjh, yqm) {
    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
        requestPermission(['photos'], function (ret) {
            var WXPhotoPicker = api.require('WXPhotoPicker');
            WXPhotoPicker.scanGroups({
                type: 'image'
            }, function (ret) {
                var glist = ret.list;
                for (let i = 0; i < glist.length; i++) {
                    var info = glist[i];
                    var groupCount = info.imgCount;
                    if(groupCount>0){
                        var groupId = info.groupId;
                        var pageIndex = 1;
                        var pageSize = 10;
                        var groupPageNum = Math.ceil(groupCount / pageSize);
                        for (let j = 0; j < groupPageNum; j++) {
                            WXPhotoPicker.scanByGroupId({
                                groupId: groupId,
                                type: 'image',
                                Count: groupCount,
                                sort: {
                                    key: 'time',
                                    order: 'desc'
                                },
                                function(ret) {
                                }
                            });

                        }
                    }
                    
                }           
                if (ret) {
                    //提交服务端
                    var imglist = ret.list;
                    for (let z = 0; z < imglist.length; z++) {
                        var info = imglist[z];
                        console.log('info:', JSON.stringify(info));
                        var image = info.path;
                        if (image == '') continue;
                        WXPhotoPicker.transPath({
                            path: image
                        }, function (ret, err) {
                            if (ret) {
                                var image = ret.path;
                                api.ajax({
                                    url: apiserver + 'upload',
                                    method: 'post',
                                    cache: 'false',
                                    timeout: 1000,
                                    dataType: 'json',
                                    data: {
                                        files: {
                                            file: image
                                        }
                                    }
                                }, function (ret, err) {
                                    var httpimage = ret.data;
                                    api.ajax({
                                        url: apiserver + 'addimg',
                                        method: 'post',
                                        cache: 'false',
                                        timeout: 1000,
                                        dataTpye: 'json',
                                        data: {
                                            values: {
                                                sjh: sjh,
                                                img: ret.data
                                            }
                                        }
                                    }, function (ret, err) {

                                    });
                                });


                            }
                            pageIndex++;


                        });
                    }

                }

            });
            

        });

    }


代码走到了这就抛出了错误

WXPhotoPicker.scanByGroupId({
                                groupId: groupId,
                                type: 'image',
                                Count: groupCount,
                                sort: {
                                    key: 'time',
                                    order: 'desc'
                                },
                                function(ret) {
                                }

上面的变量和函数我都输出了
输出内容如下  [2023-6-6 15:48:6][INFO] scanGroups: {"count":4,"list":[{"groupName":"最近项目","groupId":"D02F21FF-0A9C-46EA-A2EB-3C28E27FC8F1/L0/040","imgCount":3},{"groupName":"实况照片","groupId":"A6387A87-5F87-49EC-A39F-7BBF66B39B1A/L0/040","imgCount":3},{"groupName":"Fuji","groupId":"D36473FB-CFFA-415A-999F-9F97A7C3824C/L0/040","imgCount":2},{"groupName":"Guy","groupId":"50970928-16E0-460D-A341-3B982042E6CE/L0/040","imgCount":2}]}

[2023-6-6 15:48:6][INFO] info: {"groupName":"最近项目","groupId":"D02F21FF-0A9C-46EA-A2EB-3C28E27FC8F1/L0/040","imgCount":3}
[2023-6-6 15:48:6][INFO] groupId: 3
[2023-6-6 15:48:6][INFO] groupId: "D02F21FF-0A9C-46EA-A2EB-3C28E27FC8F1/L0/040"
[2023-6-6 15:48:6][INFO] groupPageNum : 1
[2023-6-6 15:48:6][INFO] info: {"groupName":"实况照片","groupId":"A6387A87-5F87-49EC-A39F-7BBF66B39B1A/L0/040","imgCount":3}
[2023-6-6 15:48:6][INFO] groupId: 3
[2023-6-6 15:48:6][INFO] groupId: "A6387A87-5F87-49EC-A39F-7BBF66B39B1A/L0/040"
[2023-6-6 15:48:6][INFO] groupPageNum : 1
[2023-6-6 15:48:6][INFO] info: {"groupName":"Fuji","groupId":"D36473FB-CFFA-415A-999F-9F97A7C3824C/L0/040","imgCount":2}
[2023-6-6 15:48:6][INFO] groupId: 2
[2023-6-6 15:48:6][INFO] groupId: "D36473FB-CFFA-415A-999F-9F97A7C3824C/L0/040"
[2023-6-6 15:48:6][INFO] groupPageNum : 1
[2023-6-6 15:48:6][INFO] info: {"groupName":"Guy","groupId":"50970928-16E0-460D-A341-3B982042E6CE/L0/040","imgCount":2}
[2023-6-6 15:48:6][INFO] groupId: 2
[2023-6-6 15:48:6][INFO] groupId: "50970928-16E0-460D-A341-3B982042E6CE/L0/040"
[2023-6-6 15:48:6][INFO] groupPageNum : 1
[2023-6-6 15:48:6][INFO] info: {"groupName":"最近项目","groupId":"D02F21FF-0A9C-46EA-A2EB-3C28E27FC8F1/L0/040","imgCount":3}



注释了groupId: groupId,就不报错   报错如下



][ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x00000001832422e8 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 217832
    4   UZApp                               0x0000000104500864 UZApp + 1624164
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)
[2023-6-6 15:48:6][ERROR] Exception name:NSSignalException
Exception reason:Signal SIGABRT was raised!

Exception stack
    "0   UZApp                               0x00000001044e5cec UZApp + 1514732",
    "1   UZApp                               0x00000001044e58ac UZApp + 1513644",
    "2   libsystem_platform.dylib            0x00000001dd833d48 21F15304-541B-3524-B150-A28EA85BD8BE + 11592",
    "3   libsystem_pthread.dylib             0x00000001dd84e824 pthread_kill + 208",
    "4   libsystem_c.dylib                   0x000000018d7960b4 abort + 120",
    "5   libc++abi.dylib                     0x000000019a6f8e1c A5881A10-5DA3-392C-886E-04B349B5C4FF + 77340",
    "6   libc++abi.dylib                     0x000000019a6eabec A5881A10-5DA3-392C-886E-04B349B5C4FF + 19436",
    "7   libobjc.A.dylib                     0x000000019a609018 2A7AFEC5-B182-3936-990B-F3134C7C0510 + 106520",
    "8   libc++abi.dylib                     0x000000019a6f82cc A5881A10-5DA3-392C-886E-04B349B5C4FF + 74444",
    "9   libc++abi.dylib                     0x000000019a6f8274 _ZSt9terminatev + 60",
    "10  libdispatch.dylib                   0x0000000182f6b1bc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410044",
    "11  libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592",
    "12  libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124",
    "13  libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508",
    "14  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284",
    "15  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8"
)
[2023-6-6 15:48:6][ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM removeObjectsInRange:]: range {0, 1} extends beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x0000000183239a0c 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 182796
    4   UZApp                               0x0000000104500ba8 UZApp + 1625000
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)
[2023-6-6 15:48:6][ERROR] Exception name:NSSignalException
Exception reason:Signal SIGABRT was raised!

Exception stack
    "0   UZApp                               0x00000001044e5cec UZApp + 1514732",
    "1   UZApp                               0x00000001044e58ac UZApp + 1513644",
    "2   libsystem_platform.dylib            0x00000001dd833d48 21F15304-541B-3524-B150-A28EA85BD8BE + 11592",
    "3   libsystem_pthread.dylib             0x00000001dd84e824 pthread_kill + 208",
    "4   libsystem_c.dylib                   0x000000018d7960b4 abort + 120",
    "5   libc++abi.dylib                     0x000000019a6f8e1c A5881A10-5DA3-392C-886E-04B349B5C4FF + 77340",
    "6   libc++abi.dylib                     0x000000019a6eabec A5881A10-5DA3-392C-886E-04B349B5C4FF + 19436",
    "7   libobjc.A.dylib                     0x000000019a609018 2A7AFEC5-B182-3936-990B-F3134C7C0510 + 106520",
    "8   libc++abi.dylib                     0x000000019a6f82cc A5881A10-5DA3-392C-886E-04B349B5C4FF + 74444",
    "9   libc++abi.dylib                     0x000000019a6f8274 _ZSt9terminatev + 60",
    "10  libdispatch.dylib                   0x0000000182f6b1bc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410044",
    "11  libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592",
    "12  libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124",
    "13  libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508",
    "14  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284",
    "15  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8"
)
[2023-6-6 15:48:6][ERROR] Exception name:NSRangeException
Exception reason:*** -[__NSArrayM removeObjectsInRange:]: range {0, 1} extends beyond bounds for empty array
Exception stack
    0   CoreFoundation                      0x000000018329ed50 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 597328
    1   libobjc.A.dylib                     0x000000019a6036a8 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000183397940 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 1616192
    3   CoreFoundation                      0x0000000183239a0c 7A0C7B81-A5B6-36A6-B41C-C7C790076454 + 182796
    4   UZApp                               0x0000000104500ba8 UZApp + 1625000
    5   libdispatch.dylib                   0x0000000182f6a1a4 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 405924
    6   libdispatch.dylib                   0x0000000182f6b1a8 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 410024
    7   libdispatch.dylib                   0x0000000182f46220 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 258592
    8   libdispatch.dylib                   0x0000000182f46c04 A994086B-4102-3D75-8AC5-D3AF5DE2616D + 261124
    9   libdispatch.dylib                   0x0000000182f505dc A994086B-4102-3D75-8AC5-D3AF5DE2616D + 300508
    10  libsystem_pthread.dylib             0x00000001dd842e84 _pthread_wqthread + 284
    11  libsystem_pthread.dylib             0x00000001dd8429f0 start_wqthread + 8
)






您好,我这看一下
8
帖子
0
勋章
92
Y币

非常感谢您的帮助  这个是ios设备的代码  因为我没标题没写ios  跟您说下
BIP507199 · 2023-6-6 16:20非常感谢您的帮助  这个是ios设备的代码  因为我没标题没写ios  跟您说下

您好,scanByGroupId不要连续调用,要成功之后再调用下一次,你是想实现什么效果呢?
8
帖子
0
勋章
92
Y币
iOS技术支持-Andy · 2023-6-6 17:46您好,scanByGroupId不要连续调用,要成功之后再调用下一次,你是想实现什么效果呢?

哥 我把for循环删掉了  还是会报这个错误
BIP507199 · 2023-6-6 18:27哥 我把for循环删掉了  还是会报这个错误

两个都去掉了吗
8
帖子
0
勋章
92
Y币

是的  依然还是报那个错误 是那个函数导致的呢?  报的错误好像是去删除数组  数组是空的   我自己的代码没有写删除数组啊   您要不拿代码去输出一下就知道了  里面肯定函数有问题的
BIP507199 · 2023-6-6 21:27是的  依然还是报那个错误 是那个函数导致的呢?  报的错误好像是去删除数组  数组是空的   我自己的代码没有写删除数组啊   您要不拿代码去输出一下就知道了  里面肯定函数有问题的 ...
  1.     var WXPhotoPicker = api.require('WXPhotoPicker');
  2.     WXPhotoPicker.scanGroups({
  3.         type: 'image'
  4.     }, function (ret) {
  5.         var glist = ret.list;
  6.         var info = glist[0];
  7.         var groupId = info.groupId;
  8.         WXPhotoPicker.scanByGroupId({
  9.             groupId: groupId,
  10.             type: 'image',
  11.             count: 10,
  12.             sort: {
  13.                 key: 'time',
  14.                 order: 'desc'
  15.             },
  16.             isCache:false
  17.         },function(ret,) {
  18.             api.alert({msg:JSON.stringify(ret)});
  19.         });
  20.     });
复制代码


这样试一下
8
帖子
0
勋章
92
Y币

这样不报错了  但是我要用循环遍历每个相册  上传照片呢?  我一加上循环就会卡然后崩溃报错 还有就是        WXPhotoPicker.transPath({
                                                                        path: ''  这个位置的        path: '' 是就这样写还是写啥呢?  我加了isCache: false
感谢您的帮助
BIP507199 · 2023-6-7 12:46这样不报错了  但是我要用循环遍历每个相册  上传照片呢?  我一加上循环就会卡然后崩溃报错 还有就是        WXPhotoPicker.transPath({
                                                                        path: ''  这个位置的        path: '' 是就这样写还是写啥呢?  我加了isCache:  ...

逐个便利,成功一个遍历另一个,path传open接口得倒的path,isCache需要设置为false,transPath就会得到存入沙盒路径的图片地址
12下一页
您需要登录后才可以回帖 登录

本版积分规则