09 todo
基于dajx 新建一个分支开发
替换左侧树形控件,并优化定位
env 环境切换
- 这个不做了
参数配置 = url + local storage
url 转换配置模块
前缀匹配,则替换
遍历,不中途退出,可能被多次转换
存储到 local storage,不存url 参数
如果被转换了,则 base 配置失效
/api/user/login >> https://dev.api.dajxyl.com/user/login
/a/c/e >> /b/c/e >> /x/e
/a/d/e >> /b/d/e >> /y/e
变更
上面提到的最终 url 拼接,变更如下:
- base = 配置的 base 参数(如有),或者当前访问的 URL 的 origin 部分(http(s) + host)
- rewritten_url = 接口的 url 进行遍历重写
- 最终用于请求的 resolved_url = new URL(rewritten_url, base)
- new URL 是浏览器的接口,w3c 标准:
// from https://developer.mozilla.org/en-US/docs/Web/API/URL/URL#examples
// Base urls
let m = 'https://developer.mozilla.org';
let a = new URL("/", m); // => 'https://developer.mozilla.org/'
let b = new URL(m); // => 'https://developer.mozilla.org/'
new URL('en-US/docs', b); // => 'https://developer.mozilla.org/en-US/docs'
let d = new URL('/en-US/docs', b); // => 'https://developer.mozilla.org/en-US/docs'
new URL('/en-US/docs', d); // => 'https://developer.mozilla.org/en-US/docs'
new URL('/en-US/docs', a); // => 'https://developer.mozilla.org/en-US/docs'
new URL('/en-US/docs', "https://developer.mozilla.org/fr-FR/toto");
// => 'https://developer.mozilla.org/en-US/docs'
new URL('/en-US/docs', ''); // Raises a TypeError exception as '' is not a valid URL
new URL('/en-US/docs'); // Raises a TypeError exception as '/en-US/docs' is not a valid URL
new URL('http://www.example.com', ); // => 'http://www.example.com/'
new URL('http://www.example.com', b); // => 'http://www.example.com/'
new URL("//foo.com", "https://example.com") // => 'https://foo.com' (see relative URLs)
待细化的需求
模块所需变量注入
交流
http://v.uninote.com.cn/video_play.html?video_url=https://admin.bb.uninote.com.cn/oss?path=video/upload/202109/20210917_104037.mp4 powder我的修改,base,utils提取