deepkolos/platformize

目前淘宝 设置URLModifier存问题

lqloveball opened this issue · 4 comments

由于
https://github.com/deepkolos/platformize/blob/main/packages/platformize/src/taobao/XMLHttpRequest.ts
会先处理

if (relative) {
        const fs = my.getFileSystemManager();

        var options = {
          filePath: url,
          success: onSuccess,
          fail: onFail,
        };
        // if (encoding) {
        // options["encoding"] = encoding;
        // }
        fs.access({
          path: url,
          success: res => {
            console.log('文件存在', res);
          },
          fail: err => {
            console.log('err:', err);
          },
        });
        fs.readFile(options);
        return;
      }

那这里的 url 还是没经过
url = await $XMLHttpRequest.URLModifier(url);
所以 触发:错误

所以platform.setURLModifier(fun); 时候是否要额外设置什么?

其实这块与框架无关,无需做这块兼容。URLModifier就因为项目部分去完成,并传入已经解析过的 url

@lqloveball 是为了方便绕过淘宝小程序域名限制用的, 可以把正常域名, 映射到淘宝小程序云存储里去, 所以就没考虑相对路径, 我这边测试都是网络路径的映射

@deepkolos 好的,是我理解错误。
我的用法是在URLModifier 内进行处理 cloudid获取正确云存储的cdn地址。所以是错误的。
那其实这个不处理也无关紧要。由实际开发人员自行封装一层就好了。

@lqloveball cloudid这个属于淘宝小程序私有的东西, 所以URLModifier目的是把通用URL的转成cloudid获取的临时地址, 确实在外层去用cloudid取临时地址, 在load也是可以的, 不过跨端的时候需要注意一下其他小程序或者web的逻辑了