Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
dd8ad803
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1598
Star
27
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
dd8ad803
编写于
3月 21, 2023
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
重构进阶语法测试
上级
5a508ff2
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
502 addition
and
609 deletion
+502
-609
pages/SyntaxCase/index.vue
pages/SyntaxCase/index.vue
+358
-307
uni_modules/uts-syntaxcase/index.uts
uni_modules/uts-syntaxcase/index.uts
+0
-103
uni_modules/uts-syntaxcase/utssdk/app-android/index.uts
uni_modules/uts-syntaxcase/utssdk/app-android/index.uts
+0
-86
uni_modules/uts-syntaxcase/utssdk/app-ios/index.uts
uni_modules/uts-syntaxcase/utssdk/app-ios/index.uts
+0
-110
uni_modules/uts-syntaxcase/utssdk/app-ios/utils.uts
uni_modules/uts-syntaxcase/utssdk/app-ios/utils.uts
+0
-3
uni_modules/uts-syntaxcase/utssdk/index.uts
uni_modules/uts-syntaxcase/utssdk/index.uts
+133
-0
uni_modules/uts-syntaxcase/utssdk/interface.uts
uni_modules/uts-syntaxcase/utssdk/interface.uts
+11
-0
uni_modules/uts-syntaxcase/utssdk/utils.uts
uni_modules/uts-syntaxcase/utssdk/utils.uts
+0
-0
未找到文件。
pages/SyntaxCase/index.vue
浏览文件 @
dd8ad803
...
...
@@ -40,6 +40,12 @@
<view>
测试return:
{{
format
(
testUtsClassAsyncResult
.
return
)
}}
</view>
<view>
测试success:
{{
format
(
testUtsClassAsyncResult
.
success
)
}}
</view>
<view>
测试complete:
{{
format
(
testUtsClassAsyncResult
.
complete
)
}}
</view>
<button
@
click=
"testUtsClassInstance"
>
点击测试uts方法返回类实例
</button>
<view>
测试prop:
{{
format
(
testUtsClassInstanceResult
.
prop
)
}}
</view>
<view>
测试return:
{{
format
(
testUtsClassInstanceResult
.
return
)
}}
</view>
<view>
测试success:
{{
format
(
testUtsClassInstanceResult
.
success
)
}}
</view>
<view>
测试complete:
{{
format
(
testUtsClassInstanceResult
.
complete
)
}}
</view>
<view>
测试callback:
{{
format
(
testUtsClassInstanceResult
.
callback
)
}}
</view>
<button
@
click=
"testAll"
>
点击测试所有
</button>
</view>
</
template
>
...
...
@@ -50,6 +56,7 @@
testSyncWithCallback
,
testAsync
,
Test
,
request
,
}
from
"
../../uni_modules/uts-syntaxcase
"
;
let
test
...
...
@@ -98,6 +105,14 @@
success
:
null
,
fail
:
null
,
complete
:
null
,
},
testUtsClassInstanceResult
:
{
prop
:
null
,
return
:
null
,
success
:
null
,
fail
:
null
,
complete
:
null
,
callback
:
null
}
}
},
...
...
@@ -116,6 +131,7 @@
this
.
testUtsClassProp
();
this
.
testUtsClassSyncWithCallback
();
this
.
testUtsClassAsync
();
this
.
testUtsClassInstance
();
},
testUtsSync
()
{
this
.
testUtsSyncResult
=
false
;
...
...
@@ -257,7 +273,6 @@
this
.
testUtsClassPropResult
=
true
}
},
testUtsClassSyncWithCallback
()
{
if
(
!
test
)
{
this
.
testUtsClassConstructor
()
...
...
@@ -288,7 +303,6 @@
}
}
catch
(
e
)
{}
},
async
testUtsClassAsync
()
{
if
(
!
test
)
{
this
.
testUtsClassConstructor
()
...
...
@@ -312,10 +326,47 @@
this
.
testUtsClassAsyncResult
.
complete
=
true
;
},
});
console
.
log
(
'
res
'
,
res
)
if
(
res
.
name
===
"
testAsync
"
)
{
this
.
testUtsClassAsyncResult
.
return
=
true
;
}
}
catch
(
e
)
{}
}
catch
(
e
)
{
console
.
error
(
e
)
}
},
testUtsClassInstance
()
{
this
.
testUtsClassInstanceResult
.
prop
=
false
;
this
.
testUtsClassInstanceResult
.
return
=
false
;
this
.
testUtsClassInstanceResult
.
success
=
false
;
// testUtsClassAsyncResult.fail = false;
this
.
testUtsClassInstanceResult
.
complete
=
false
;
this
.
testUtsClassInstanceResult
.
callback
=
false
;
const
url
=
'
https://dcloud.io/
'
const
task
=
request
(
url
)
if
(
task
.
url
===
url
&&
task
.
abort
().
url
===
url
)
{
this
.
testUtsClassInstanceResult
.
prop
=
true
;
}
task
.
onCallback
((
res
)
=>
{
if
(
res
===
'
onCallback
'
)
{
this
.
testUtsClassInstanceResult
.
callback
=
true
;
}
})
const
res
=
task
.
sync
({
success
:
(
res
)
=>
{
console
.
log
(
"
task.sync.success.callback
"
,
res
);
this
.
testUtsClassInstanceResult
.
success
=
true
;
},
fail
:
(
res
)
=>
{
console
.
log
(
"
task.sync.fail.callback
"
,
res
);
},
complete
:
(
res
)
=>
{
console
.
log
(
"
task.sync.complete.callback
"
,
res
);
this
.
testUtsClassInstanceResult
.
complete
=
true
;
},
})
if
(
res
===
'
sync
'
)
{
this
.
testUtsClassInstanceResult
.
return
=
true
;
}
}
}
}
...
...
uni_modules/uts-syntaxcase/index.uts
已删除
100644 → 0
浏览文件 @
5a508ff2
type
AsyncOptions
=
{
type
:
string
;
success
:
(
res
:
string
)
=>
void
;
fail
:
(
res
:
string
)
=>
void
;
complete
:
(
res
:
string
)
=>
void
;
};
type
SyntaxResult
=
{
name
:
string
};
type
SyncResult
=
{
msg
:
string
}
/**
* 导出一个属性
*/
export
const
MAX
=
100
;
/**
* 导出一个同步方法
* @returns
*/
export
function
testSync
(
msg
:
string
):
SyncResult
{
console
.
log
(
"log test"
);
const
res
:
SyncResult
=
{
msg
:
`hello ${msg}`
}
return
res
}
/**
* 导出一个同步方法(触发了数组越界异常)
*/
export
function
testSyncError
()
{
const
arr
:
string
[]
=
[];
console
.
log
(
arr
[
1
]);
}
/**
* 导出一个带callback的同步方法
* @param opts
*/
export
function
testSyncWithCallback
(
opts
:
AsyncOptions
)
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
const
res
:
SyntaxResult
=
{
name
:
"testSyncWithCallback"
}
return
res
}
/**
* 导出一个异步方法
* @returns
*/
export
async
function
testAsync
(
opts
:
AsyncOptions
):
Promise
<
SyntaxResult
>
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
const
res
:
SyntaxResult
=
{
name
:
"testAsync"
}
return
res
}
type
TestOptions
=
{
name
:
string
;
callback
:
(
res
:
string
)
=>
void
;
};
export
class
Test
{
id
:
number
;
name
:
string
;
static
type
:
string
=
"Test"
;
constructor
(
id
:
number
,
options
:
TestOptions
)
{
this
.
id
=
id
;
this
.
name
=
options
.
name
;
options
.
callback
(
"Test.constructor"
);
}
static
testClassStaticSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
return
testSyncWithCallback
(
opts
);
}
static
async
testClassStaticAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
testClassSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
return
testSyncWithCallback
(
opts
);
}
async
testClassAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
}
uni_modules/uts-syntaxcase/utssdk/app-android/index.uts
已删除
100644 → 0
浏览文件 @
5a508ff2
import
{
log
}
from
"./utils.uts"
;
type
AsyncOptions
=
{
type
:
string
;
success
:
(
res
:
string
)
=>
void
;
fail
:
(
res
:
string
)
=>
void
;
complete
:
(
res
:
string
)
=>
void
;
};
/**
* 导出一个属性
*/
export
const
MAX
=
100
;
/**
* 导出一个同步方法
* @returns
*/
export
function
testSync
(
msg
:
string
)
{
console
.
log
(
"log test"
);
log
(
"log test1"
);
return
{
msg
:
`hello ${msg}`
,
};
}
/**
* 导出一个同步方法(触发了数组越界异常)
*/
export
function
testSyncError
()
{
const
arr
:
string
[]
=
[];
console
.
log
(
arr
[
1
]);
}
/**
* 导出一个带callback的同步方法
* @param opts
*/
export
function
testSyncWithCallback
(
opts
:
AsyncOptions
)
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
return
{
name
:
"testSyncWithCallback"
};
}
/**
* 导出一个异步方法
* @returns
*/
export
async
function
testAsync
(
opts
:
AsyncOptions
)
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
return
{
name
:
"testAsync"
};
}
type
TestOptions
=
{
name
:
string
;
callback
:
(
res
:
string
)
=>
void
;
};
export
class
Test
{
id
:
number
;
name
:
string
;
static
type
:
string
=
"Test"
;
constructor
(
id
:
number
,
options
:
TestOptions
)
{
this
.
id
=
id
;
this
.
name
=
options
.
name
;
options
.
callback
(
"Test.constructor"
);
}
static
testClassStaticSyncWithCallback
(
opts
:
AsyncOptions
)
:
UTSJSONObject
{
return
testSyncWithCallback
(
opts
);
}
static
async
testClassStaticAsync
(
opts
:
AsyncOptions
)
:
Promise
<
UTSJSONObject
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
testClassSyncWithCallback
(
opts
:
AsyncOptions
)
:
UTSJSONObject
{
return
testSyncWithCallback
(
opts
);
}
async
testClassAsync
(
opts
:
AsyncOptions
)
:
Promise
<
UTSJSONObject
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
}
uni_modules/uts-syntaxcase/utssdk/app-ios/index.uts
已删除
100644 → 0
浏览文件 @
5a508ff2
import
{
log
}
from
"./utils.uts"
;
type
AsyncOptions
=
{
type
:
string
;
success
:
(
res
:
string
)
=>
void
;
fail
:
(
res
:
string
)
=>
void
;
complete
:
(
res
:
string
)
=>
void
;
};
type
SyntaxResult
=
{
name
:
string
};
type
SyncResult
=
{
msg
:
string
}
/**
* 导出一个属性
*/
export
const
MAX
=
100
;
/**
* 导出一个同步方法
* @returns
*/
export
function
testSync
(
msg
:
string
):
SyncResult
{
console
.
log
(
"log test"
);
log
(
"log test1"
);
const
res
:
SyncResult
=
{
msg
:
`hello ${msg}`
}
return
res
// return {
// msg: `hello ${msg}`,
// };
}
/**
* 导出一个同步方法(触发了数组越界异常)
*/
export
function
testSyncError
()
{
const
arr
:
string
[]
=
[];
console
.
log
(
arr
[
1
]);
}
/**
* 导出一个带callback的同步方法
* @param opts
*/
export
function
testSyncWithCallback
(
opts
:
AsyncOptions
):
SyntaxResult
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
const
res
:
SyntaxResult
=
{
name
:
"testSyncWithCallback"
}
return
res
;
// return { name: "testSyncWithCallback" };
}
/**
* 导出一个异步方法
* @returns
*/
export
async
function
testAsync
(
opts
:
AsyncOptions
):
Promise
<
SyntaxResult
>
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
const
res
:
SyntaxResult
=
{
name
:
"testAsync"
}
return
res
;
// return { name: "testAsync" };
}
type
TestOptions
=
{
name
:
string
;
callback
:
(
res
:
string
)
=>
void
;
};
export
class
Test
{
id
:
number
;
name
:
string
;
static
type
:
string
=
"Test"
;
constructor
(
id
:
number
,
options
:
TestOptions
)
{
this
.
id
=
id
;
this
.
name
=
options
.
name
;
options
.
callback
(
"Test.constructor"
);
}
static
testClassStaticSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
return
testSyncWithCallback
(
opts
);
}
static
async
testClassStaticAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
testClassSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
return
testSyncWithCallback
(
opts
);
}
async
testClassAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
}
uni_modules/uts-syntaxcase/utssdk/app-ios/utils.uts
已删除
100644 → 0
浏览文件 @
5a508ff2
export function log(msg: string) {
console.log(msg);
}
uni_modules/uts-syntaxcase/utssdk/index.uts
0 → 100644
浏览文件 @
dd8ad803
import
{
RequestTask
,
SyncOptions
}
from
"./interface.uts"
;
import
{
log
}
from
"./utils.uts"
;
type
AsyncOptions
=
{
type
:
string
;
success
:
(
res
:
string
)
=>
void
;
fail
:
(
res
:
string
)
=>
void
;
complete
:
(
res
:
string
)
=>
void
;
};
type
SyntaxResult
=
{
name
:
string
};
type
SyncResult
=
{
msg
:
string
}
/**
* 导出一个属性
*/
export
const
MAX
=
100
;
/**
* 导出一个同步方法
* @returns
*/
export
function
testSync
(
msg
:
string
)
:
SyncResult
{
console
.
log
(
"log test"
);
log
(
"log test1"
);
const
res
:
SyncResult
=
{
msg
:
`hello ${msg}`
}
return
res
// return {
// msg: `hello ${msg}`,
// };
}
/**
* 导出一个同步方法(触发了数组越界异常)
*/
export
function
testSyncError
()
{
const
arr
:
string
[]
=
[];
console
.
log
(
arr
[
1
]);
}
/**
* 导出一个带callback的同步方法
* @param opts
*/
export
function
testSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
const
res
:
SyntaxResult
=
{
name
:
"testSyncWithCallback"
}
return
res
;
// return { name: "testSyncWithCallback" };
}
/**
* 导出一个异步方法
* @returns
*/
export
async
function
testAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
if
(
opts
.
type
==
"success"
)
{
opts
.
success
(
"success"
);
}
else
{
opts
.
fail
(
"fail"
);
}
opts
.
complete
(
"complete"
);
const
res
:
SyntaxResult
=
{
name
:
"testAsync"
}
return
res
;
// return { name: "testAsync" };
}
type
TestOptions
=
{
name
:
string
;
callback
:
(
res
:
string
)
=>
void
;
};
export
class
Test
{
id
:
number
;
name
:
string
;
static
type
:
string
=
"Test"
;
constructor
(
id
:
number
,
options
:
TestOptions
)
{
this
.
id
=
id
;
this
.
name
=
options
.
name
;
options
.
callback
(
"Test.constructor"
);
}
static
testClassStaticSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
return
testSyncWithCallback
(
opts
);
}
static
async
testClassStaticAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
testClassSyncWithCallback
(
opts
:
AsyncOptions
)
:
SyntaxResult
{
return
testSyncWithCallback
(
opts
);
}
async
testClassAsync
(
opts
:
AsyncOptions
)
:
Promise
<
SyntaxResult
>
{
const
res
=
await
testAsync
(
opts
);
return
res
;
}
}
class
RequestTaskImpl
implements
RequestTask
{
url
:
string
constructor
(
url
:
string
)
{
this
.
url
=
url
}
abort
()
:
RequestTask
{
return
this
}
onCallback
(
callback
:
(
res
:
string
)
=>
void
)
{
callback
(
"onCallback"
)
}
sync
(
options
:
SyncOptions
)
:
string
{
options
.
success
?
.
(
"success"
)
options
.
complete
?
.
(
"success"
)
return
"sync"
}
}
export
function
request
(
url
:
string
)
:
RequestTask
{
return
new
RequestTaskImpl
(
url
)
}
\ No newline at end of file
uni_modules/uts-syntaxcase/utssdk/interface.uts
0 → 100644
浏览文件 @
dd8ad803
export type SyncOptions = {
success ?: (res : string) => void
fail ?: (res : string) => void
complete ?: (res : string) => void
}
export interface RequestTask {
url : string
abort() : RequestTask
onCallback(callback : (res : string) => void) : void
sync(options : SyncOptions) : string
}
\ No newline at end of file
uni_modules/uts-syntaxcase/utssdk/
app-android/
utils.uts
→
uni_modules/uts-syntaxcase/utssdk/utils.uts
浏览文件 @
dd8ad803
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录