Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
665de54e
U
uni-app
项目概览
DCloud
/
uni-app
14 天 前同步成功
通知
751
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
665de54e
编写于
9月 23, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip(uts): compiler
上级
743f94da
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
20 deletion
+31
-20
packages/uni-app/dist/uni-app.cjs.js
packages/uni-app/dist/uni-app.cjs.js
+8
-6
packages/uni-app/dist/uni-app.es.js
packages/uni-app/dist/uni-app.es.js
+8
-6
packages/uni-app/src/uts.ts
packages/uni-app/src/uts.ts
+15
-8
未找到文件。
packages/uni-app/dist/uni-app.cjs.js
浏览文件 @
665de54e
...
...
@@ -165,8 +165,8 @@ function normalizeArg(arg) {
}
return
arg
;
}
function
initUtsInstanceMethod
(
async
,
opts
)
{
return
initProxyFunction
(
async
,
opts
);
function
initUtsInstanceMethod
(
async
,
opts
,
instanceId
)
{
return
initProxyFunction
(
async
,
opts
,
instanceId
);
}
function
getProxy
()
{
if
(
!
proxy
)
{
...
...
@@ -235,7 +235,7 @@ function initUtsStaticMethod(async, opts) {
opts
.
method
=
'
s_
'
+
opts
.
name
;
}
}
return
initProxyFunction
(
async
,
opts
);
return
initProxyFunction
(
async
,
opts
,
0
);
}
const
initUtsProxyFunction
=
initUtsStaticMethod
;
function
initUtsProxyClass
({
package
:
pkg
,
class
:
cls
,
constructor
:
{
params
:
constructorParams
},
methods
,
props
,
staticProps
,
staticMethods
,
})
{
...
...
@@ -247,7 +247,10 @@ function initUtsProxyClass({ package: pkg, class: cls, constructor: { params: co
constructor
(...
params
)
{
const
target
=
{};
// 初始化实例 ID
const
instanceId
=
initProxyFunction
(
false
,
shared
.
extend
({
name
:
'
constructor
'
,
params
:
constructorParams
},
baseOptions
)).
apply
(
null
,
params
);
const
instanceId
=
initProxyFunction
(
false
,
shared
.
extend
({
name
:
'
constructor
'
,
params
:
constructorParams
},
baseOptions
),
0
).
apply
(
null
,
params
);
if
(
!
instanceId
)
{
throw
new
Error
(
`new
${
cls
}
is failed`
);
}
return
new
Proxy
(
this
,
{
get
(
_
,
name
)
{
if
(
!
target
[
name
])
{
...
...
@@ -255,10 +258,9 @@ function initUtsProxyClass({ package: pkg, class: cls, constructor: { params: co
if
(
shared
.
hasOwn
(
methods
,
name
))
{
const
{
async
,
params
}
=
methods
[
name
];
target
[
name
]
=
initUtsInstanceMethod
(
!!
async
,
shared
.
extend
({
id
:
instanceId
,
name
,
params
,
},
baseOptions
));
},
baseOptions
)
,
instanceId
);
}
else
if
(
props
.
includes
(
name
))
{
// 实例属性
...
...
packages/uni-app/dist/uni-app.es.js
浏览文件 @
665de54e
...
...
@@ -133,8 +133,8 @@ function normalizeArg(arg) {
}
return
arg
;
}
function
initUtsInstanceMethod
(
async
,
opts
)
{
return
initProxyFunction
(
async
,
opts
);
function
initUtsInstanceMethod
(
async
,
opts
,
instanceId
)
{
return
initProxyFunction
(
async
,
opts
,
instanceId
);
}
function
getProxy
()
{
if
(
!
proxy
)
{
...
...
@@ -203,7 +203,7 @@ function initUtsStaticMethod(async, opts) {
opts
.
method
=
'
s_
'
+
opts
.
name
;
}
}
return
initProxyFunction
(
async
,
opts
);
return
initProxyFunction
(
async
,
opts
,
0
);
}
const
initUtsProxyFunction
=
initUtsStaticMethod
;
function
initUtsProxyClass
({
package
:
pkg
,
class
:
cls
,
constructor
:
{
params
:
constructorParams
},
methods
,
props
,
staticProps
,
staticMethods
,
})
{
...
...
@@ -215,7 +215,10 @@ function initUtsProxyClass({ package: pkg, class: cls, constructor: { params: co
constructor
(...
params
)
{
const
target
=
{};
// 初始化实例 ID
const
instanceId
=
initProxyFunction
(
false
,
extend
({
name
:
'
constructor
'
,
params
:
constructorParams
},
baseOptions
)).
apply
(
null
,
params
);
const
instanceId
=
initProxyFunction
(
false
,
extend
({
name
:
'
constructor
'
,
params
:
constructorParams
},
baseOptions
),
0
).
apply
(
null
,
params
);
if
(
!
instanceId
)
{
throw
new
Error
(
`new
${
cls
}
is failed`
);
}
return
new
Proxy
(
this
,
{
get
(
_
,
name
)
{
if
(
!
target
[
name
])
{
...
...
@@ -223,10 +226,9 @@ function initUtsProxyClass({ package: pkg, class: cls, constructor: { params: co
if
(
hasOwn
(
methods
,
name
))
{
const
{
async
,
params
}
=
methods
[
name
];
target
[
name
]
=
initUtsInstanceMethod
(
!!
async
,
extend
({
id
:
instanceId
,
name
,
params
,
},
baseOptions
));
},
baseOptions
)
,
instanceId
);
}
else
if
(
props
.
includes
(
name
))
{
// 实例属性
...
...
packages/uni-app/src/uts.ts
浏览文件 @
665de54e
...
...
@@ -17,8 +17,12 @@ export function normalizeArg(arg: unknown) {
return
arg
}
function
initUtsInstanceMethod
(
async
:
boolean
,
opts
:
ProxyFunctionOptions
)
{
return
initProxyFunction
(
async
,
opts
)
function
initUtsInstanceMethod
(
async
:
boolean
,
opts
:
ProxyFunctionOptions
,
instanceId
:
number
)
{
return
initProxyFunction
(
async
,
opts
,
instanceId
)
}
interface
Parameter
{
...
...
@@ -165,7 +169,7 @@ function initProxyFunction(
companion
,
params
:
methodParams
,
}:
ProxyFunctionOptions
,
instanceId
?
:
number
instanceId
:
number
)
{
const
invokeCallback
=
({
id
,
...
...
@@ -221,7 +225,7 @@ function initUtsStaticMethod(async: boolean, opts: ProxyFunctionOptions) {
opts
.
method
=
'
s_
'
+
opts
.
name
}
}
return
initProxyFunction
(
async
,
opts
)
return
initProxyFunction
(
async
,
opts
,
0
)
}
export
const
initUtsProxyFunction
=
initUtsStaticMethod
...
...
@@ -245,9 +249,12 @@ export function initUtsProxyClass({
// 初始化实例 ID
const
instanceId
=
initProxyFunction
(
false
,
extend
({
name
:
'
constructor
'
,
params
:
constructorParams
},
baseOptions
)
extend
({
name
:
'
constructor
'
,
params
:
constructorParams
},
baseOptions
),
0
).
apply
(
null
,
params
)
as
number
if
(
!
instanceId
)
{
throw
new
Error
(
`new
${
cls
}
is failed`
)
}
return
new
Proxy
(
this
,
{
get
(
_
,
name
)
{
if
(
!
target
[
name
as
string
])
{
...
...
@@ -258,12 +265,12 @@ export function initUtsProxyClass({
!!
async
,
extend
(
{
id
:
instanceId
,
name
,
params
,
},
baseOptions
)
),
instanceId
)
}
else
if
(
props
.
includes
(
name
as
string
))
{
// 实例属性
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录