Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yangkaifeng
uni-app
提交
56e23d03
U
uni-app
项目概览
yangkaifeng
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
56e23d03
编写于
7月 01, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip(uts): update compiler
上级
32c1657e
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
227 addition
and
40 deletion
+227
-40
packages/playground/uts/nativeplugins/test-uniplugin/ios/src/TestModuleImpl.uts
...s/nativeplugins/test-uniplugin/ios/src/TestModuleImpl.uts
+0
-28
packages/playground/uts/nativeplugins/test-uniplugin/ios/src/TestSwiftComponent.uts
...tiveplugins/test-uniplugin/ios/src/TestSwiftComponent.uts
+83
-0
packages/playground/uts/nativeplugins/test-uniplugin/ios/src/TestSwiftModule.uts
.../nativeplugins/test-uniplugin/ios/src/TestSwiftModule.uts
+66
-0
packages/playground/uts/unpackage/nativeplugins/test-uniplugin-ios/ios/src/TestModuleImpl.swift
...veplugins/test-uniplugin-ios/ios/src/TestModuleImpl.swift
+0
-12
packages/playground/uts/unpackage/nativeplugins/test-uniplugin-ios/ios/src/TestSwiftComponent.swift
...ugins/test-uniplugin-ios/ios/src/TestSwiftComponent.swift
+52
-0
packages/playground/uts/unpackage/nativeplugins/test-uniplugin-ios/ios/src/TestSwiftModule.swift
...eplugins/test-uniplugin-ios/ios/src/TestSwiftModule.swift
+26
-0
packages/uts-darwin-arm64/uts.darwin-arm64.node
packages/uts-darwin-arm64/uts.darwin-arm64.node
+0
-0
packages/uts-darwin-x64/uts.darwin-x64.node
packages/uts-darwin-x64/uts.darwin-x64.node
+0
-0
packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node
packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node
+0
-0
packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node
packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node
+0
-0
未找到文件。
packages/playground/uts/nativeplugins/test-uniplugin/ios/src/TestModuleImpl.uts
已删除
100644 → 0
浏览文件 @
32c1657e
import "Foundation";
//
// TestModuleImpl.swift
// libWeex
//
// Created by dcloud on 2022/6/1.
// Copyright © 2022 DCloud. All rights reserved.
//
@objcMembers
class TestModuleImpl extends NSObject {
testAsyncFunc(option: NSDictionary, callback: UniModuleKeepAliveCallback) {
// options 为 js 端调用此方法时传递的参数
console.log(option)
// // 可以在该方法中实现原生能力,然后通过 callback 回调到 js
//
// // 回调方法,传递参数给 js 端 注:只支持返回 String 或 NSDictionary (map) 类型
// 第一个参数为回传给js端的数据,第二个参数为标识,表示该回调方法是否支持多次调用,如果原生端需要多次回调js端则第二个参数传 YES;
callback('success', false)
}
/// 同步方法(注:同步方法会在 js 线程执行)
/// @param options js 端调用方法时传递的参数
testSyncFunc(option: NSDictionary): string {
console.log(option)
return ''
}
}
packages/playground/uts/nativeplugins/test-uniplugin/ios/src/TestSwiftComponent.uts
0 → 100644
浏览文件 @
56e23d03
//
// TestSwiftComponent.swift
// DCTestSwiftPlugin
//
// Created by Dcloud-XHY on 2022/6/28.
//
import 'UIKit'
import 'MapKit'
// 必须添加 @objc(类名),编译器才会生成对应的 oc 方法
@objc(TestSwiftComponent)
class TestSwiftComponent implements DCUniComponent, MKMapViewDelegate {
mapLoadedEvent = false
showTraffic = false
mapView?: MKMapView = null
// 初始化方法
override onCreateComponent(
ref: String,
type: String,
styles: [AnyHashable: Any],
attributes: [AnyHashable: Any],
events: [Any],
uniInstance: DCUniSDKInstance
) {
// NSDictionary 转换为 swift 的 [AnyHashable : Any] ,解析参数需要使用 [AnyHashable("key")]
this.showTraffic = DCUniConvert.bool(
attributes[AnyHashable('showTraffic')] ?? false
)
}
override loadView(): UIView {
this.mapView = MKMapView.init()
return this.mapView!
}
override viewDidLoad() {
this.mapView!.delegate = this
if (this.showTraffic) {
this.mapView.showsTraffic = true
}
}
// 监听属性变化方法
override updateAttributes(attributes: [AnyHashable: Any] =new Dictionary<AnyHashable, Any>()) {
if (attributes['showsTraffic'] != null) {
this.showTraffic = DCUniConvert.bool(
attributes[AnyHashable('showsTraffic')]!
)
this.mapView.showsTraffic = this.showTraffic
}
}
// 监听注册事件方法
override addEvent(eventName: String) {
if (eventName == 'mapLoaded') {
this.mapLoadedEvent = true
}
}
override removeEvent(eventName: String) {
if (eventName == 'mapLoaded') {
this.mapLoadedEvent = false
}
}
@objc public static wx_export_method_0(): String {
return 'focus:'
}
@objc focus(options: NSDictionary) {
print(options)
}
// MARK: - MKMapViewDelegate
mapViewDidFinishLoadingMap(mapView: MKMapView) {
if (this.mapLoadedEvent) {
// 回调 event 事件
this.fireEvent('mapLoaded', { mapLoaded: 'success' })
}
}
}
packages/playground/uts/nativeplugins/test-uniplugin/ios/src/TestSwiftModule.uts
0 → 100644
浏览文件 @
56e23d03
//
// TestSwiftModule.swift
// DCTestSwiftPlugin
//
// Created by Dcloud-XHY on 2022/6/27.
//
//import UIKit
// 必须添加 @objc(类名),编译器才会生成对应的 oc 方法
@objc(TestSwiftModule)
class TestSwiftModule extends DCUniModule {
// 暴露异步方法供js调用:
// 1.必须添加 @objc 前缀,
// 2.使用 public static 静态方法
// 3.方法名称必须是以 wx_export_method_ 开头,后面随意拼接一个字符保证唯一性即可
// 4.方法返回实例方法的名称
// 注意点:swift 方法名称转换为 oc 方法名称时系统会自动将首个参数用 with 拼接到方法名中作为方法名的一部分 如下实例
// testAsyncFunc(options:callback:) -> testAsyncFuncWithOptions:callback
// js 中调用方法 testAsyncFuncWithOptions(options,callabck)
// 可以在参数前面加上 _ 让编译器忽略拼接参数
@objc public static wx_export_method_0() : String {
return "testAsyncFunc::"
}
// 需要暴露的实例方法
// 1.必须添加 @objc 前缀
// 2.首个参数需要添加 _ 忽略外部参数 其他参数可选
@objc testAsyncFunc(options: NSDictionary,callback?: UniModuleKeepAliveCallback) {
print(options)
if (callback != null) {
callback!("success",false)
}
}
// 暴露同步方法供js调用:
// 1.必须添加 @objc 前缀,
// 2.使用 public static 静态方法
// 3.方法名称必须是以 wx_export_method_sync_ 开头,后面随意拼接一个字符保证唯一性即可
// 4.方法返回实例方法的名称
// 注意点:swift 方法名称转换为 oc 方法名称时系统会自动将首个参数名首字符大写然后用 with 拼接到方法名中作为方法名的一部分 如下实例
// testSyncFunc(options:) -> testSyncFuncWithOptions:
// js 中调用方法 var value = testSyncFuncWithOptions(options)
@objc public static wx_export_method_sync_0() : String {
return "testSyncFunc:"
}
// 需要暴露的实例方法
// 1.必须添加 @objc 前缀
// 2.首个参数需要添加 _ 忽略外部参数
@objc testSyncFunc(options: NSDictionary) : String {
print(options);
// 暴露方法内部可以调用其他 swift 方法
return getSomeString();
}
// 不需要直接暴露给js的方法不需要添加前缀
getSomeString() : String {
return "getSomeString success"
}
}
packages/playground/uts/unpackage/nativeplugins/test-uniplugin-ios/ios/src/TestModuleImpl.swift
已删除
100644 → 0
浏览文件 @
32c1657e
import
Foundation
;
@objcMembers
class
TestModuleImpl
:
NSObject
{
func
testAsyncFunc
(
_
option
:
NSDictionary
,
_
callback
:
UniModuleKeepAliveCallback
)
{
console
.
log
(
option
);
callback
(
"success"
,
false
);
}
func
testSyncFunc
(
_
option
:
NSDictionary
)
->
String
{
console
.
log
(
option
);
return
""
;
}
}
packages/playground/uts/unpackage/nativeplugins/test-uniplugin-ios/ios/src/TestSwiftComponent.swift
0 → 100644
浏览文件 @
56e23d03
import
UIKit
;
import
MapKit
;
@objc
(
TestSwiftComponent
)
class
TestSwiftComponent
:
DCUniComponent
,
MKMapViewDelegate
{
var
mapLoadedEvent
=
false
;
var
showTraffic
=
false
;
var
mapView
:
MKMapView
?
=
nil
;
override
func
onCreateComponent
(
_
ref
:
String
,
_
type
:
String
,
_
styles
:
[
AnyHashable
:
Any
],
_
attributes
:
[
AnyHashable
:
Any
],
_
events
:
[
Any
],
_
uniInstance
:
DCUniSDKInstance
)
{
self
.
showTraffic
=
DCUniConvert
.
bool
(
attributes
[
AnyHashable
(
"showTraffic"
)]
??
false
);
}
override
func
loadView
()
->
UIView
{
self
.
mapView
=
MKMapView
.
init
();
return
self
.
mapView
!
;
}
override
func
viewDidLoad
()
{
self
.
mapView
!.
delegate
=
self
;
if
(
self
.
showTraffic
)
{
self
.
mapView
.
showsTraffic
=
true
;
}
}
override
func
updateAttributes
(
_
attributes
:
[
AnyHashable
:
Any
]
=
Dictionary
<
AnyHashable
,
Any
>
())
{
if
(
attributes
[
"showsTraffic"
]
!=
nil
)
{
self
.
showTraffic
=
DCUniConvert
.
bool
(
attributes
[
AnyHashable
(
"showsTraffic"
)]
!
);
self
.
mapView
.
showsTraffic
=
self
.
showTraffic
;
}
}
override
func
addEvent
(
_
eventName
:
String
)
{
if
(
eventName
==
"mapLoaded"
)
{
self
.
mapLoadedEvent
=
true
;
}
}
override
func
removeEvent
(
_
eventName
:
String
)
{
if
(
eventName
==
"mapLoaded"
)
{
self
.
mapLoadedEvent
=
false
;
}
}
@objc
public
static
func
wx_export_method_0
()
->
String
{
return
"focus:"
;
}
@objc
func
focus
(
_
options
:
NSDictionary
)
{
print
(
options
);
}
func
mapViewDidFinishLoadingMap
(
_
mapView
:
MKMapView
)
{
if
(
self
.
mapLoadedEvent
)
{
self
.
fireEvent
(
"mapLoaded"
,
{
mapLoaded
:
"success"
});
}
}
}
packages/playground/uts/unpackage/nativeplugins/test-uniplugin-ios/ios/src/TestSwiftModule.swift
0 → 100644
浏览文件 @
56e23d03
@objc
(
TestSwiftModule
)
class
TestSwiftModule
:
DCUniModule
{
@objc
public
static
func
wx_export_method_0
()
->
String
{
return
"testAsyncFunc::"
;
}
@objc
func
testAsyncFunc
(
_
options
:
NSDictionary
,
_
callback
:
UniModuleKeepAliveCallback
?)
{
print
(
options
);
if
(
callback
!=
nil
)
{
callback
!
(
"success"
,
false
);
}
}
@objc
public
static
func
wx_export_method_sync_0
()
->
String
{
return
"testSyncFunc:"
;
}
@objc
func
testSyncFunc
(
_
options
:
NSDictionary
)
->
String
{
print
(
options
);
return
getSomeString
();
}
func
getSomeString
()
->
String
{
return
"getSomeString success"
;
}
}
packages/uts-darwin-arm64/uts.darwin-arm64.node
浏览文件 @
56e23d03
无法预览此类型文件
packages/uts-darwin-x64/uts.darwin-x64.node
浏览文件 @
56e23d03
无法预览此类型文件
packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node
浏览文件 @
56e23d03
无法预览此类型文件
packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node
浏览文件 @
56e23d03
无法预览此类型文件
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录