diff --git a/package.json b/package.json index 8d46accc33dafe7eccf26912cc9ea7fe275742d5..94655dcce6048698e2fae2c8e92448a541c32608 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "size": "npm run build size-check", "lint": "eslint packages/*/src/**/*.ts", "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"", - "test": "tsc -p ./test-dts/tsconfig.json && jest", + "test": "tsc -p ./test-dts/tsconfig.json && jest && node scripts/test.js", "test-dts": "tsc -p ./test-dts/tsconfig.json && tsc -p ./test-dts/tsconfig.build.json", "preinstall": "node ./scripts/preinstall.js", "e2e:ssr:dev": "cd packages/playground/ssr && npm run dev:ssr", diff --git a/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.uts b/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.uts new file mode 100644 index 0000000000000000000000000000000000000000..b65394d046fba686a75d327eb62970a38e394dc7 --- /dev/null +++ b/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.uts @@ -0,0 +1,34 @@ +import Intent from "android.content.Intent"; +import JSONObject from "com.alibaba.fastjson.JSONObject"; +import UniModule from "io.dcloud.feature.uniapp.common.UniModule"; +import UniJSMethod from "io.dcloud.feature.uniapp.annotation.UniJSMethod"; +import UniJSCallback from "io.dcloud.feature.uniapp.bridge.UniJSCallback"; +import log from "./log"; +export default class TestModule extends UniModule() { + TAG = "TestModule"; + static REQUEST_CODE = 1000; + //run ui thread + @UniJSMethod({ uiThread: true }) + testAsyncFunc(options: JSONObject, callback?: UniJSCallback) { + log(this.TAG, "testAsyncFunc--$options"); + if (callback != null) { + const data = new JSONObject(); + data["code"] = "success12312"; + callback.invoke(data); + } + } + //run JS thread + @UniJSMethod({ uiThread: false }) + testSyncFunc(options: JSONObject): JSONObject { + const data = new JSONObject(); + data["code"] = "success456"; + return data; + } + override onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { + if (requestCode == TestModule.REQUEST_CODE && data.hasExtra("respond")) { + log(this.TAG, "原生页面返回----" + data.getStringExtra("respond")); + } else { + super.onActivityResult(requestCode, resultCode, data); + } + } +} diff --git a/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.uts b/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.uts new file mode 100644 index 0000000000000000000000000000000000000000..f6886d51d994d4285405facb3fa45860ce32e148 --- /dev/null +++ b/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.uts @@ -0,0 +1,4 @@ +import Log from "android.util.Log"; +export default function log(tag: string, msg: string) { + Log.e(tag, msg); +} diff --git a/packages/playground/uts/nativeplugins/test-uniplugin/package.json b/packages/playground/uts/nativeplugins/test-uniplugin/package.json new file mode 100644 index 0000000000000000000000000000000000000000..fbe9b5612f8421ff076c7550d8d52e824fae6702 --- /dev/null +++ b/packages/playground/uts/nativeplugins/test-uniplugin/package.json @@ -0,0 +1,31 @@ +{ + "name": "UTS Plugin", + "id": "DCloud-UTSPlugin", + "version": "0.0.1", + "description": "UTS示例插件", + "_dp_type":"nativeplugin", + "_dp_nativeplugin":{ + "android": { + "plugins": [ + { + "type": "module", + "name": "DCloud-UTSPlugin", + "class": "io.dcloud.uniplugin.TestModule" + }, + { + "type": "component", + "name": "uts-richtext", + "class": "io.dcloud.uniplugin.TestComponent" + } + ], + "integrateType": "uts", + "dependencies":[ + { + "id": "com.zzhoujay.richtext:richtext", + "source": "implementation 'com.zzhoujay.richtext:richtext:3.0.7'" + } + ], + "minSdkVersion" : 21 + } + } +} \ No newline at end of file diff --git a/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.kt b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.kt new file mode 100644 index 0000000000000000000000000000000000000000..a0d2a0091496787821f62ee73c58d563ffc435aa --- /dev/null +++ b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.kt @@ -0,0 +1,36 @@ +package io.dcloud.uniplugin.TestModule; +import android.content.Intent; +import com.alibaba.fastjson.JSONObject; +import io.dcloud.feature.uniapp.common.UniModule; +import io.dcloud.feature.uniapp.annotation.UniJSMethod; +import io.dcloud.feature.uniapp.bridge.UniJSCallback; +import io.dcloud.uniplugin.log.log; +open class TestModule : UniModule() { + open var TAG = "TestModule"; + @UniJSMethod( uiThread = true ) + open fun testAsyncFunc(options: JSONObject, callback: UniJSCallback?) { + log(this.TAG, "testAsyncFunc--$options"); + if (callback != null) { + val data = JSONObject(); + data["code"] = "success12312"; + callback.invoke(data); + } + } + @UniJSMethod( uiThread = false ) + open fun testSyncFunc(options: JSONObject): JSONObject { + val data = JSONObject(); + data["code"] = "success456"; + return data; + } + override open fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { + if (requestCode == TestModule.REQUEST_CODE && data.hasExtra("respond")) { + log(this.TAG, "原生页面返回----" + data.getStringExtra("respond")); + } + else { + super.onActivityResult(requestCode, resultCode, data); + } + } + companion object { + var REQUEST_CODE = 1000; + } +} diff --git a/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.kt.map b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.kt.map new file mode 100644 index 0000000000000000000000000000000000000000..05ef82e95dc52fbb71ed7328cb8d69231fcf65fe --- /dev/null +++ b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.kt.map @@ -0,0 +1 @@ +{"version":3,"sources":["/Users/fxy/Projects/GitHub/uni-app/uni-app-next/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/TestModule.uts"],"names":["TestModule","UniModule","TAG","UniJSMethod","uiThread","testAsyncFunc","options","callback","log","data","JSONObject","invoke","testSyncFunc","onActivityResult","requestCode","resultCode","REQUEST_CODE","hasExtra","getStringExtra"],"mappings":";AAAA,OAAmB,sBAAwB,CAAC;AAC5C,OAAuB,+BAAiC,CAAC;AACzD,OAAsB,yCAA2C,CAAC;AAClE,OAAwB,+CAAiD,CAAC;AAC1E,OAA0B,6CAA+C,CAAC;AAC1E,OAAgB,2BAAO,CAAC;AACT,WAAMA,UAAU,GAASC,SAAS,EAAE;IACjDC,SAAAA,GAAG,GAAG,YAAY,CAAC;IAGnB,CAACC,WAAW,CAAC,CAAEC,QAAQ,GAAE,IAAI,CAAE,CAAC;IAAA,SAChCC,aAAa,CAACC,OAAmB,EAAV,UAAU,EAAEC,QAAwB,EAAb,aAAa,CAAA,EAAE;QAC3DC,GAAG,CAAC,IAAI,CAACN,GAAG,EAAE,yBAAyB,CAAC,CAAC;QACzC,IAAIK,QAAQ,IAAI,IAAI,EAAE;YACpB,IAAME,IAAI,GAAG,AAAIC,UAAU,EAAE,AAAC;YAC9BD,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;YAC9BF,QAAQ,CAACI,MAAM,CAACF,IAAI,CAAC,CAAC;;;IAI1B,CAACN,WAAW,CAAC,CAAEC,QAAQ,GAAE,KAAK,CAAE,CAAC;IAAA,SACjCQ,YAAY,CAACN,OAAmB,EAAV,UAAU,GAAG,UAAU,CAAC;QAC5C,IAAMG,IAAI,GAAG,AAAIC,UAAU,EAAE,AAAC;QAC9BD,IAAI,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC;QAC5B,OAAOA,IAAI,CAAC;;IAEd,kBAASI,gBAAgB,CAACC,WAAgB,EAAH,GAAG,EAAEC,UAAe,EAAH,GAAG,EAAEN,IAAY,EAAN,MAAM,EAAE;QACzE,IAAIK,WAAW,IAAId,UAAU,CAACgB,YAAY,IAAIP,IAAI,CAACQ,QAAQ,CAAC,SAAS,CAAC,EAAE;YACtET,GAAG,CAAC,IAAI,CAACN,GAAG,EAAE,wBAAY,GAAGO,IAAI,CAACS,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;;QAC9D,MAAM;YACL,KAAK,CAACL,gBAAgB,CAACC,WAAW,EAAEC,UAAU,EAAEN,IAAI,CAAC,CAAC;;;;QAtB1D,IAAOO,YAAY,GAAG,IAAI,CAAC;;CAyB5B"} \ No newline at end of file diff --git a/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.kt b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.kt new file mode 100644 index 0000000000000000000000000000000000000000..874213fbdb81e131cf363db881e9b1d2344d18f0 --- /dev/null +++ b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.kt @@ -0,0 +1,5 @@ +package io.dcloud.uniplugin.log; +import android.util.Log; +fun log(tag: String, msg: String) { + Log.e(tag, msg); +} diff --git a/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.kt.map b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.kt.map new file mode 100644 index 0000000000000000000000000000000000000000..076905328c8f206bc5493d085853ca56d97b1f2d --- /dev/null +++ b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.kt.map @@ -0,0 +1 @@ +{"version":3,"sources":["/Users/fxy/Projects/GitHub/uni-app/uni-app-next/packages/playground/uts/nativeplugins/test-uniplugin/android/src/io/dcloud/uniplugin/log.uts"],"names":["log","tag","msg","Log","e"],"mappings":"AAAA;AAAA,OAAgB,gBAAkB,CAAC;AACpB,IAASA,GAAG,CAACC,GAAW,EAAN,MAAM,EAAEC,GAAW,EAAN,MAAM,EAAE;IACpDC,GAAG,CAACC,CAAC,CAACH,GAAG,EAAEC,GAAG,CAAC,CAAC"} \ No newline at end of file diff --git a/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/package.json b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/package.json new file mode 100644 index 0000000000000000000000000000000000000000..fbe9b5612f8421ff076c7550d8d52e824fae6702 --- /dev/null +++ b/packages/playground/uts/unpackage/nativeplugins/test-uniplugin/package.json @@ -0,0 +1,31 @@ +{ + "name": "UTS Plugin", + "id": "DCloud-UTSPlugin", + "version": "0.0.1", + "description": "UTS示例插件", + "_dp_type":"nativeplugin", + "_dp_nativeplugin":{ + "android": { + "plugins": [ + { + "type": "module", + "name": "DCloud-UTSPlugin", + "class": "io.dcloud.uniplugin.TestModule" + }, + { + "type": "component", + "name": "uts-richtext", + "class": "io.dcloud.uniplugin.TestComponent" + } + ], + "integrateType": "uts", + "dependencies":[ + { + "id": "com.zzhoujay.richtext:richtext", + "source": "implementation 'com.zzhoujay.richtext:richtext:3.0.7'" + } + ], + "minSdkVersion" : 21 + } + } +} \ No newline at end of file diff --git a/packages/uni-app-plus/dist/uni.runtime.esm.js b/packages/uni-app-plus/dist/uni.runtime.esm.js index ef26fbffd00e7b6a255f73010183dfc637047b86..b0b1a46a34b4036caeb6fe51cda456db78565c6f 100644 --- a/packages/uni-app-plus/dist/uni.runtime.esm.js +++ b/packages/uni-app-plus/dist/uni.runtime.esm.js @@ -14095,7 +14095,7 @@ const publishRecorderStateChange = (state, res = {}) => { const Recorder = { start({ duration = 60000, sampleRate, numberOfChannels, encodeBitRate, format = 'mp3', frameSize, // audioSource = 'auto', - }) { + } = {}) { if (recording) { return publishRecorderStateChange('start'); } @@ -14178,7 +14178,7 @@ class RecorderManager { resume() { Recorder.resume(); } - start(options) { + start(options = {}) { Recorder.start(options); } stop() { diff --git a/packages/uts-darwin-arm64/uts.darwin-arm64.node b/packages/uts-darwin-arm64/uts.darwin-arm64.node index 05f470e5c503ffc8d3b1811e8663e3ce488a48c3..a011fd0f9565b6bc6f8b6f8589b8a8e1a326dc01 100755 Binary files a/packages/uts-darwin-arm64/uts.darwin-arm64.node and b/packages/uts-darwin-arm64/uts.darwin-arm64.node differ diff --git a/packages/uts-darwin-x64/uts.darwin-x64.node b/packages/uts-darwin-x64/uts.darwin-x64.node index b223b48669d6f5ae95d4f6d94fce909766dc93bd..82927fba80778a4e47ba4320fae3c73a63643e34 100755 Binary files a/packages/uts-darwin-x64/uts.darwin-x64.node and b/packages/uts-darwin-x64/uts.darwin-x64.node differ diff --git a/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node b/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node index 327dbd0b071dedb45ab9a9960b4f1542e1957289..99246a6a8c211841bbfd7a4d13cbe91e7f2b90be 100644 Binary files a/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node and b/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node differ diff --git a/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node b/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node index 15596e7d7ca585698490c64846e56117cd829fd3..6154002e0de56078e7c03341ec88139e25f61e57 100644 Binary files a/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node and b/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node differ diff --git a/scripts/test.js b/scripts/test.js new file mode 100644 index 0000000000000000000000000000000000000000..577749046c707048b48fe4b3a1415f43e0f8bb01 --- /dev/null +++ b/scripts/test.js @@ -0,0 +1,16 @@ +const path = require('path') +const { runBuild, UtsTarget } = require('../packages/uts/dist') +const projectDir = path.resolve(__dirname, '../packages/playground/uts') +// uts +runBuild(UtsTarget.KOTLIN, { + silent: false, + input: { + dir: path.resolve(projectDir, 'nativeplugins/test-uniplugin'), + extname: '.uts', + }, + output: { + dir: path.resolve(projectDir, 'unpackage/nativeplugins/test-uniplugin'), + sourceMap: true, + inlineSourcesContent: false, + }, +})