提交 c65b509e 编写于 作者: fxy060608's avatar fxy060608

wip(uts): compiler

上级 327a8780
{"version":3,"sources":["uni_modules/test-component/utssdk/app-android/index.vue"],"sourcesContent":["\n\n\n\n\n\nimport Animator from 'android.animation.Animator'\nimport TextUtils from 'android.text.TextUtils'\nimport View from 'android.view.View'\nimport LottieAnimationView from 'com.airbnb.lottie.LottieAnimationView'\nimport LottieDrawable from 'com.airbnb.lottie.LottieDrawable'\n\n\nclass CustomAnimListener extends Animator.AnimatorListener {\n\n comp: UTSComponent<LottieAnimationView>\n constructor(com: UTSComponent<LottieAnimationView>) {\n super();\n this.comp = com\n }\n\n override onAnimationStart(animation: Animator | null) {\n }\n\n override onAnimationEnd(animation: Animator | null, isReverse: Boolean) {\n this.comp.emit(\"bindended\")\n }\n\n override onAnimationEnd(animation: Animator | null) {\n }\n\n override onAnimationCancel(animation: Animator | null) {\n }\n\n override onAnimationRepeat(animation: Animator | null) {\n }\n}\n\n//原生提供以下属性或方法的实现 \nexport default {\n /**\n * 当播放到末尾时触发 ended 事件(自然播放结束会触发回调,循环播放结束及手动停止动画不会触发)\n */\n emits: ['bindended'],\n props: {\n /**\n * 动画资源地址,目前只支持绝对路径\n */\n \"path\": {\n type: String,\n\t\t\tdefault:\"\"\n },\n /**\n * 动画是否循环播放\n */\n \"autoplay\": {\n type: Boolean,\n\t\t\tdefault:false\n },\n /**\n * 动画是否自动播放\n */\n \"loop\": {\n type: Boolean,\n\t\t\tdefault:false\n },\n /**\n * 是否隐藏动画\n */\n \"hidden\": {\n type: Boolean,\n\t\t\tdefault:false\n },\n /**\n * 动画操作,可取值 play、pause、stop\n */\n \"action\": {\n type: String,\n\t\t\tdefault:\"stop\"\n }\n\n },\n data() {\n return {\n\n }\n },\n watch: {\n \"path\": {\n handler(newPath: string, oldPath: string) {\n\n let lottieAnimationView = this.$el\n\n if (lottieAnimationView != null && !TextUtils.isEmpty(newPath)) {\n if (newPath.startsWith(\"http://\") || newPath.startsWith(\"https://\")) {\n lottieAnimationView.setAnimationFromUrl(newPath)\n } else {\n // 默认是asset了\n lottieAnimationView.setAnimation(newPath)\n }\n }\n if (this.autoplay) {\n lottieAnimationView.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"loop\": {\n handler(newLoop: Boolean, oldLoop: Boolean) {\n\n if (newLoop) {\n this.$el.repeatCount = Int.MAX_VALUE\n } else {\n // 不循环则设置成1次\n this.$el.repeatCount = 0\n }\n\n if (this.autoplay) {\n this.$el.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"autoplay\": {\n handler(newValue: boolean, oldValue: boolean) {\n\n if (newValue) {\n this.$el.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"action\": {\n handler(newAction: string, oldAction: string) {\n\n if (newAction == \"play\" || newAction == \"pause\" || newAction == \"stop\") {\n\n\n if (this.action == \"play\") {\n this.$el.playAnimation()\n } else if (this.action == \"play\") {\n this.$el.pauseAnimation()\n } else if (this.action == \"stop\") {\n this.$el.cancelAnimation()\n this.$el.clearAnimation()\n }\n\n } else {\n // 非法入参,不管\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"hidden\": {\n handler(newValue: boolean, oldValue: boolean) {\n\n if (newValue) {\n this.$el.visibility = View.GONE\n } else {\n this.$el.visibility = View.VISIBLE\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n },\n methods: {\n setRepeatMode(repeat: string) {\n if (\"RESTART\" == repeat) {\n this.$el.repeatMode = LottieDrawable.RESTART\n } else if (\"REVERSE\" == repeat) {\n this.$el.repeatMode = LottieDrawable.RESTART\n }\n },\n privateMethod() {\t//如何定义不对外暴露的API? 暂不支持,需在export外写 \n }\n },\n created() {\t\t\t//创建组件,替换created \n\n },\n NVBeforeLoad() {\t\t//组件将要创建,对应前端beforeMount \n //可选实现,这里可以提前做一些操作 \n },\n NVLoad(): LottieAnimationView { //创建原生View,必须定义返回值类型(Android需要明确知道View类型,需特殊校验) \n //必须实现 \n let lottieAnimationView = new LottieAnimationView(getContext())\n return lottieAnimationView\n },\n NVLoaded() {\t\t\t//原生View已创建 \n //可选实现,这里可以做后续操作 \n this.$el.repeatMode = LottieDrawable.RESTART;\n this.$el.visibility = View.GONE\n this.$el.repeatCount = 0\n this.$el.addAnimatorListener(new CustomAnimListener(this))\n\n },\n NVLayouted() {\t//原生View布局完成 \n //可选实现,这里可以做布局后续操作 \n },\n NVBeforeUnload() {\t\t//原生View将释放 \n //可选实现,这里可以做释放View之前的操作 \n },\n NVUnloaded() {\t\t\t//原生View已释放 \n //可选实现,这里可以做释放View之后的操作 \n },\n NVMeasure(size: UTSSize): UTSSize {\n return UTSSize(100, 100)\n },\n unmounted() {\t//组件销毁 \n //可选实现 \n }\n}\n\n\n\n\n\n\n\n\n"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"sources":["uni_modules/test-component/utssdk/app-android/index.vue"],"sourcesContent":["\n\n\n\n\n\nimport Animator from 'android.animation.Animator'\nimport TextUtils from 'android.text.TextUtils'\nimport View from 'android.view.View'\nimport LottieAnimationView from 'com.airbnb.lottie.LottieAnimationView'\nimport LottieDrawable from 'com.airbnb.lottie.LottieDrawable'\n\n\nclass CustomAnimListener extends Animator.AnimatorListener {\n\n comp: UTSComponent<LottieAnimationView>\n constructor(com: UTSComponent<LottieAnimationView>) {\n super();\n this.comp = com\n }\n\n override onAnimationStart(animation: Animator | null) {\n }\n\n override onAnimationEnd(animation: Animator | null, isReverse: Boolean) {\n this.comp.emit(\"bindended\")\n }\n\n override onAnimationEnd(animation: Animator | null) {\n }\n\n override onAnimationCancel(animation: Animator | null) {\n }\n\n override onAnimationRepeat(animation: Animator | null) {\n }\n}\n\n//原生提供以下属性或方法的实现 \nexport default {\n /**\n * 当播放到末尾时触发 ended 事件(自然播放结束会触发回调,循环播放结束及手动停止动画不会触发)\n */\n emits: ['bindended'],\n props: {\n /**\n * 动画资源地址,目前只支持绝对路径\n */\n \"path\": {\n type: String,\n\t\t\tdefault:\"\"\n },\n /**\n * 动画是否循环播放\n */\n \"autoplay\": {\n type: Boolean,\n\t\t\tdefault:false\n },\n /**\n * 动画是否自动播放\n */\n \"loop\": {\n type: Boolean,\n\t\t\tdefault:false\n },\n /**\n * 是否隐藏动画\n */\n \"hidden\": {\n type: Boolean,\n\t\t\tdefault:false\n },\n /**\n * 动画操作,可取值 play、pause、stop\n */\n \"action\": {\n type: String,\n\t\t\tdefault:\"stop\"\n }\n\n },\n data() {\n return {\n\n }\n },\n watch: {\n \"path\": {\n handler(newPath: string, oldPath: string) {\n\n let lottieAnimationView = this.$el\n\n if (lottieAnimationView != null && !TextUtils.isEmpty(newPath)) {\n if (newPath.startsWith(\"http://\") || newPath.startsWith(\"https://\")) {\n lottieAnimationView.setAnimationFromUrl(newPath)\n } else {\n // 默认是asset了\n lottieAnimationView.setAnimation(newPath)\n }\n }\n if (this.autoplay) {\n lottieAnimationView.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"loop\": {\n handler(newLoop: Boolean, oldLoop: Boolean) {\n\n if (newLoop) {\n this.$el.repeatCount = Int.MAX_VALUE\n } else {\n // 不循环则设置成1次\n this.$el.repeatCount = 0\n }\n\n if (this.autoplay) {\n this.$el.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"autoplay\": {\n handler(newValue: boolean, oldValue: boolean) {\n\n if (newValue) {\n this.$el.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"action\": {\n handler(newAction: string, oldAction: string) {\n\n if (newAction == \"play\" || newAction == \"pause\" || newAction == \"stop\") {\n\n\n if (this.action == \"play\") {\n this.$el.playAnimation()\n } else if (this.action == \"play\") {\n this.$el.pauseAnimation()\n } else if (this.action == \"stop\") {\n this.$el.cancelAnimation()\n this.$el.clearAnimation()\n }\n\n } else {\n // 非法入参,不管\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"hidden\": {\n handler(newValue: boolean, oldValue: boolean) {\n\n if (newValue) {\n this.$el.visibility = View.GONE\n } else {\n this.$el.visibility = View.VISIBLE\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n },\n methods: {\n setRepeatMode(repeat: string) {\n if (\"RESTART\" == repeat) {\n this.$el.repeatMode = LottieDrawable.RESTART\n } else if (\"REVERSE\" == repeat) {\n this.$el.repeatMode = LottieDrawable.RESTART\n }\n },\n privateMethod() {\t//如何定义不对外暴露的API? 暂不支持,需在export外写 \n }\n },\n created() {\t\t\t//创建组件,替换created \n\n },\n NVBeforeLoad() {\t\t//组件将要创建,对应前端beforeMount \n //可选实现,这里可以提前做一些操作 \n },\n NVLoad(): LottieAnimationView { //创建原生View,必须定义返回值类型(Android需要明确知道View类型,需特殊校验) \n //必须实现 \n let lottieAnimationView = new LottieAnimationView(getContext())\n return lottieAnimationView\n },\n NVLoaded() {\t\t\t//原生View已创建 \n //可选实现,这里可以做后续操作 \n this.$el.repeatMode = LottieDrawable.RESTART;\n this.$el.visibility = View.GONE\n this.$el.repeatCount = 0\n this.$el.addAnimatorListener(new CustomAnimListener(this))\n\n },\n NVLayouted() {\t//原生View布局完成 \n //可选实现,这里可以做布局后续操作 \n },\n NVBeforeUnload() {\t\t//原生View将释放 \n //可选实现,这里可以做释放View之前的操作 \n },\n NVUnloaded() {\t\t\t//原生View已释放 \n //可选实现,这里可以做释放View之后的操作 \n },\n NVMeasure(size: UTSSize): UTSSize {\n return UTSSize(100, 100)\n },\n unmounted() {\t//组件销毁 \n //可选实现 \n }\n}\n\n\n\n\n\n\n\n\n"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"sources":["uni_modules/test-component/utssdk/app-ios/index.vue"],"sourcesContent":["\n\n\n\n\n\nimport {\n LottieAnimationView,\n LottieAnimation,\n LottieLoopMode\n} from 'Lottie'\nimport {\n URL\n} from 'Foundation'\nimport {\n UIView\n} from \"UIKit\"\nimport {\n UTSiOS\n} from \"DCloudUTSFoundation\"\n\n\n//原生提供以下属性或方法的实现 \nexport default {\n name: \"animation-view\",\n /**\n * 当播放到末尾时触发 ended 事件(自然播放结束会触发回调,循环播放结束及手动停止动画不会触发)\n */\n emits: ['bindended'],\n props: {\n /**\n * 动画资源地址,目前只支持绝对路径\n */\n \"path\": {\n type: String,\n },\n /**\n * 动画是否循环播放\n */\n \"autoplay\": {\n type: Boolean,\n },\n /**\n * 动画是否自动播放\n */\n \"loop\": {\n type: Boolean,\n },\n /**\n * 是否隐藏动画\n */\n \"hidden\": {\n type: Boolean,\n },\n /**\n * 动画操作,可取值 play、pause、stop\n */\n \"action\": {\n type: String,\n }\n\n },\n data() {\n return {\n animationView: null as LottieAnimationView | null\n }\n },\n watch: {\n\n /// 注意: newValue 都需要强转成对应的类型\n\n \"path\": {\n handler(newValue: string, oldValue: string) {\n this.path = newValue\n if (this.autoplay) {\n this.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"loop\": {\n handler(newValue: boolean, oldValue: boolean) {\n this.loop = newValue\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.loop\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"autoplay\": {\n handler(newValue: boolean, oldValue: boolean) {\n this.autoplay = newValue\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"action\": {\n handler(newValue: string, oldValue: string) {\n const action = newValue\n\n if (action == \"play\" || action == \"pause\" || action == \"stop\") {\n this.action = action\n switch (action) {\n case \"play\":\n this.playAnimation()\n break;\n case \"pause\":\n this.animationView.pause()\n break;\n case \"stop\":\n this.animationView.stop()\n break;\n default:\n break;\n }\n } else {\n // 非法入参,不管\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"hidden\": {\n handler(newValue: boolean, oldValue: boolean) {\n this.hidden = newValue\n this.animationView.isHidden = this.hidden\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n },\n methods: {\n // 需要对外暴露的方法\n // 设置 RepeatMode \n setRepeatMode(repeatMode: string) {\n if (repeatMode == \"RESTART\") {\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.loop\n } else {\n this.animationView.loopMode = LottieLoopMode.playOnce\n }\n } else if (repeatMode == \"REVERSE\") {\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.autoReverse\n } else {\n this.animationView.loopMode = LottieLoopMode.repeatBackwards(1)\n }\n }\n },\n // 不对外暴露的方法\n // 播放动画 \n playAnimation() {\n if (this.path == null) {\n return\n }\n\n // 构建动画资源 url\n var animationUrl: URL | null\n\n if (this.path!.hasPrefix(\"http\")) {\n animationUrl = new URL(string = this.path!)\n } else {\n var filePath = UTSiOS.getResourcePath(this.path!)\n animationUrl = new URL(filePath = filePath)\n }\n\n if (animationUrl != null) {\n // 加载动画 LottieAnimation\n LottieAnimation.loadedFrom(url = animationUrl!, closure = (animation: LottieAnimation): void => {\n if (animation != null) {\n // 加载成功开始播放\n this.animationView.animation = animation\n this.animationView.play(completion = (isFinish: boolean): void => {\n if (isFinish) {\n // 播放完成回调事件\n this.fireEvent(\"bindended\")\n }\n })\n }\n })\n }\n }\n },\n created() { //创建组件,替换created \n\n },\n measure(size: UTSSize): UTSSize { //测量组件大小\n //可选实现,仅当需要原生计算组件大小时需要实现 \n return new UTSSize(100, 100);\n },\n NVBeforeLoad() { //组件将要创建,对应前端beforeMount \n //可选实现,这里可以提前做一些操作 \n },\n NVLoad(): UIView { //创建原生View,必须定义返回值类型(Android需要明确知道View类型,需特殊校验) \n // 初始化 LottieAnimationView\n this.animationView = new LottieAnimationView()\n // 默认只播放一次动画\n this.animationView.loopMode = LottieLoopMode.playOnce\n return this.animationView\n },\n NVLoaded() { //原生View已创建 \n\n /// 更新 props 中定义的属性值\n\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.loop\n }\n\n this.animationView.isHidden = this.hidden\n\n if (this.autoplay) {\n this.playAnimation()\n }\n },\n\n NVLayouted() { //原生View布局完成 \n //可选实现,这里可以做布局后续操作 \n },\n\n NVBeforeUnload() { //原生View将释放 \n //可选实现,这里可以做释放View之前的操作 \n },\n NVUnloaded() { //原生View已释放 \n //可选实现,这里可以做释放View之后的操作 \n },\n NVMeasure(size: UTSSize): UTSSize {\n return UTSSize(100, 100)\n },\n unmounted() { //组件销毁 \n //可选实现 \n }\n}\n\n\n\n\n\n\n\n\n"],"names":[],"mappings":"AAMA,cAIe;AACf,kBAEmB;AACnB,aAEc;AACd,2BAE4B;;;mDA6Kd;;;;;;8BAhIqB,uBAAR,GAAI;mCAsHjB,CAEV;iCACQ,EAAA,MAAM,OAAO,KAAG,QAAQ;QAE5B,OAAO,AAAI,QAAQ,GAAG,EAAE,GAAG;IAC/B;wCACe,CAEf;qCACU,OAAO;QAEb,IAAI,CAAC,aAAa,GAAG,AAAI;QAEzB,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,QAAQ;QACrD,OAAO,IAAI,CAAC,aAAa;IAC7B;oCACW;QAIP,IAAI,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,IAAI;;QAGrD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;QAEzC,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,aAAa;;IAE1B;sCAEa,CAEb;0CAEiB,CAEjB;sCACa,CAEb;mCACU,MAAM,OAAO,KAAG,QAAQ;QAC9B,OAAO,QAAQ,GAAG,EAAE,GAAG;IAC3B;qCACY,CAEZ;8BAhGkB,EAAA,YAAY,MAAM,EAAE;QAC9B,IAAI,cAAc;YACd,IAAI,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,IAAI;;gBAEjD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,QAAQ;aACxD;;YACE,IAAI,cAAc;gBACrB,IAAI,IAAI,CAAC,IAAI;oBACT,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,WAAW;;oBAExD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,eAAe,CAAC,CAAC;;;;IAG1E;gCAGgB;QACZ,IAAI,IAAI,CAAC,IAAI,IAAI,GAAI;YACjB;;QAIJ,IAAI,cAAc;QAElB,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACrB,eAAe,AAAI,IAAI,QAAS,IAAI,CAAC,IAAI;eACtC;YACH,IAAI,WAAW,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI;YAC/C,eAAe,AAAI,IAAI,UAAW;QACtC;QAEA,IAAI,gBAAgB,GAAI;YAEpB,gBAAgB,UAAU,CAAC,KAAM,eAAe,SAAU;eAAC,WAAW,oBAAkB,IAAI;YACxF,IAAI,aAAa,GAAI,EAAE;gBAEnB,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAa;mBAAC,UAAU,IAAO,KAAG,IAAI;gBAC1D,IAAI;oBAEA,IAAI,CAAC,SAAS,CAAC;;;YAG3B;;;IAGZ;;;;;;;;;;YA5GY;YAAkB;QACtB,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,aAAa;;;;;YAMlB;YAAmB;QACvB,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,eAAe,IAAI;;;;;YAMjD;YAAmB;QACvB,IAAI,CAAC,QAAQ,GAAG;;;;YAKZ;YAAkB;QACtB,IAAM,SAAS;QAEf,IAAI,UAAU,UAAU,UAAU,WAAW,UAAU,QAAQ;YAC3D,IAAI,CAAC,MAAM,GAAG;YACd,OAAQ;gBACJ,KAAK;oBACD,IAAI,CAAC,aAAa;gBAEtB,KAAK;oBACD,IAAI,CAAC,aAAa,CAAC,KAAK;gBAE5B,KAAK;oBACD,IAAI,CAAC,aAAa,CAAC,IAAI;gBAE3B;oBACI,KAAM;YACd;QACJ;;;;YAQI;YAAmB;QACvB,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM"}
\ No newline at end of file
{"version":3,"sources":["uni_modules/test-component/utssdk/app-ios/index.vue"],"sourcesContent":["\n\n\n\n\n\nimport {\n LottieAnimationView,\n LottieAnimation,\n LottieLoopMode\n} from 'Lottie'\nimport {\n URL\n} from 'Foundation'\nimport {\n UIView\n} from \"UIKit\"\nimport {\n UTSiOS\n} from \"DCloudUTSFoundation\"\n\n\n//原生提供以下属性或方法的实现 \nexport default {\n name: \"animation-view\",\n /**\n * 当播放到末尾时触发 ended 事件(自然播放结束会触发回调,循环播放结束及手动停止动画不会触发)\n */\n emits: ['bindended'],\n props: {\n /**\n * 动画资源地址,目前只支持绝对路径\n */\n \"path\": {\n type: String,\n },\n /**\n * 动画是否循环播放\n */\n \"autoplay\": {\n type: Boolean,\n },\n /**\n * 动画是否自动播放\n */\n \"loop\": {\n type: Boolean,\n },\n /**\n * 是否隐藏动画\n */\n \"hidden\": {\n type: Boolean,\n },\n /**\n * 动画操作,可取值 play、pause、stop\n */\n \"action\": {\n type: String,\n }\n\n },\n data() {\n return {\n animationView: null as LottieAnimationView | null\n }\n },\n watch: {\n\n /// 注意: newValue 都需要强转成对应的类型\n\n \"path\": {\n handler(newValue: string, oldValue: string) {\n this.path = newValue\n if (this.autoplay) {\n this.playAnimation()\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"loop\": {\n handler(newValue: boolean, oldValue: boolean) {\n this.loop = newValue\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.loop\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"autoplay\": {\n handler(newValue: boolean, oldValue: boolean) {\n this.autoplay = newValue\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n \"action\": {\n handler(newValue: string, oldValue: string) {\n const action = newValue\n\n if (action == \"play\" || action == \"pause\" || action == \"stop\") {\n this.action = action\n switch (action) {\n case \"play\":\n this.playAnimation()\n break;\n case \"pause\":\n this.animationView.pause()\n break;\n case \"stop\":\n this.animationView.stop()\n break;\n default:\n break;\n }\n } else {\n // 非法入参,不管\n }\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n \"hidden\": {\n handler(newValue: boolean, oldValue: boolean) {\n this.hidden = newValue\n this.animationView.isHidden = this.hidden\n },\n immediate: false //创建时是否通过此方法更新属性,默认值为false \n },\n\n },\n methods: {\n // 需要对外暴露的方法\n // 设置 RepeatMode \n setRepeatMode(repeatMode: string) {\n if (repeatMode == \"RESTART\") {\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.loop\n } else {\n this.animationView.loopMode = LottieLoopMode.playOnce\n }\n } else if (repeatMode == \"REVERSE\") {\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.autoReverse\n } else {\n this.animationView.loopMode = LottieLoopMode.repeatBackwards(1)\n }\n }\n },\n // 不对外暴露的方法\n // 播放动画 \n playAnimation() {\n if (this.path == null) {\n return\n }\n\n // 构建动画资源 url\n var animationUrl: URL | null\n\n if (this.path!.hasPrefix(\"http\")) {\n animationUrl = new URL(string = this.path!)\n } else {\n var filePath = UTSiOS.getResourcePath(this.path!)\n animationUrl = new URL(filePath = filePath)\n }\n\n if (animationUrl != null) {\n // 加载动画 LottieAnimation\n LottieAnimation.loadedFrom(url = animationUrl!, closure = (animation: LottieAnimation): void => {\n if (animation != null) {\n // 加载成功开始播放\n this.animationView.animation = animation\n this.animationView.play(completion = (isFinish: boolean): void => {\n if (isFinish) {\n // 播放完成回调事件\n this.fireEvent(\"bindended\")\n }\n })\n }\n })\n }\n }\n },\n created() { //创建组件,替换created \n\n },\n measure(size: UTSSize): UTSSize { //测量组件大小\n //可选实现,仅当需要原生计算组件大小时需要实现 \n return new UTSSize(100, 100);\n },\n NVBeforeLoad() { //组件将要创建,对应前端beforeMount \n //可选实现,这里可以提前做一些操作 \n },\n NVLoad(): UIView { //创建原生View,必须定义返回值类型(Android需要明确知道View类型,需特殊校验) \n // 初始化 LottieAnimationView\n this.animationView = new LottieAnimationView()\n // 默认只播放一次动画\n this.animationView.loopMode = LottieLoopMode.playOnce\n return this.animationView\n },\n NVLoaded() { //原生View已创建 \n\n /// 更新 props 中定义的属性值\n\n if (this.loop) {\n this.animationView.loopMode = LottieLoopMode.loop\n }\n\n this.animationView.isHidden = this.hidden\n\n if (this.autoplay) {\n this.playAnimation()\n }\n },\n\n NVLayouted() { //原生View布局完成 \n //可选实现,这里可以做布局后续操作 \n },\n\n NVBeforeUnload() { //原生View将释放 \n //可选实现,这里可以做释放View之前的操作 \n },\n NVUnloaded() { //原生View已释放 \n //可选实现,这里可以做释放View之后的操作 \n },\n NVMeasure(size: UTSSize): UTSSize {\n return UTSSize(100, 100)\n },\n unmounted() { //组件销毁 \n //可选实现 \n }\n}\n\n\n\n\n\n\n\n\n"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"sources":["uni_modules/test-uniplugin/utssdk/app-ios/index.uts","uni_modules/test-uniplugin/utssdk/interface.uts"],"sourcesContent":["import { UIDevice } from 'UIKit'\nimport { CLLocationManager, CLAuthorizationStatus } from 'CoreLocation'\nimport { ShowToast } from '../interface.uts'\n\ntype GetBatteryInfoOptions = {\n name: string\n pwd: number\n success?: (res: UTSJSONObject) => void\n fail?: (res: UTSJSONObject) => void\n complete?: (res: UTSJSONObject) => void\n}\n\nexport default function getBatteryInfo(options: GetBatteryInfoOptions) {\n new UIAlertController(\n (title = title),\n (message = message),\n (preferredStyle = UIAlertController.Style.alert)\n )\n const res = {\n errMsg: 'getBatteryInfo:ok',\n level: UIDevice.current.batteryLevel * 100,\n isCharging: UIDevice.current.batteryState == UIDevice.BatteryState.charging,\n }\n if (options.success != null) {\n options.success!(res)\n }\n if (options.complete != null) {\n options.complete!(res)\n }\n}\n\nexport function test1(callback: () => void): string {\n console.log({ \"a\": \"b\" })\n console.log('test1')\n\n\n\n\n console.log('def ios')\n\n\n console.log('ndef android')\n\n\n\n\n\n console.log('def android || def ios')\n\n\n\n\n console.log(CLLocationManager, CLAuthorizationStatus)\n const a = -3\n console.log(~a)\n return 'test1'\n}\n\nclass Test1 { }\nexport class Test {\n constructor() {\n new Test1()\n }\n test(): string | null {\n if (UTSiOS.macros(\"swift(>=1)\")) {\n console.log(\"swift(>=1)\")\n }\n if (UTSiOS.macros(\"arch(i386) || arch(arm)\")) {\n console.log(\"arch(i386) || arch(arm)\")\n }\n if (UTSiOS.available(\"iOS 14, macOS 11.0, *\")) {\n console.log(\"iOS 14, macOS 11.0, *\")\n } else if (UTSiOS.available(\"iOS 13,*\")) {\n console.log(\"iOS 13,*\")\n } else if (UTSiOS.unavailable(\"tvOS 12\")) {\n console.log(\"tvOS 12\")\n }\n return null\n }\n}\n\nexport async function testAsync() {\n uni.showToast()\n uni.showToast()\n uni.showModel()\n return { a: 1 }\n}\n\nexport const showToast1: ShowToast = (msg) => { }\nexport const showToast2: ShowToast = function (msg) { }\nexport const showToast3: ShowToast = function showToast(msg) { }\n","export type ShowToast = (msg: string) => void\n"],"names":[],"mappings":";AAAA,aAAgC;AAChC,oBAAuE;;;;iBCD3D,eAAa,KAAK,MAAM,KAAK,IAAI;ADIhB;;aAAxB;IACH,WAAA,MAAM,MAAM,EAAA;IACZ,WAAA,KAAK,QAAM,EAAA;IACX,WAAA,aAAW,KAAK,kBAAkB,IAAI,GAAA;IACtC,WAAA,UAAQ,KAAK,kBAAkB,IAAI,GAAA;IACnC,WAAA,cAAY,KAAK,kBAAkB,IAAI,GAAA;;;;;QAJvC,uBAAM,MAAM;QACZ,qBAAK,QAAM;QACX,iCAAW,KAAK,kBAAkB,IAAI;QACtC,2BAAQ,KAAK,kBAAkB,IAAI;QACnC,mCAAY,KAAK,kBAAkB,IAAI;;AACzC;AAEe,YAAS,eAAe,EAAA,SAAS,qBAAqB,EAAE;IACjE,kBACD,OAAQ,OACR,SAAU,SACV,gBAAiB,kBAAkB,KAAK,CAAC,KAAK;IAEjD,IAAM,MAAM;QACV,CAAA,SAAQ;QACR,CAAA,QAAO,SAAS,OAAO,CAAC,YAAY,GAAG,GAAG;QAC1C,CAAA,aAAY,SAAS,OAAO,CAAC,YAAY,IAAI,SAAS,YAAY,CAAC,QAAQ;MAC5E;IACD,IAAI,QAAQ,OAAO,IAAI,GAAI;QACzB,QAAQ,OAAO,EAAE;;IAEnB,IAAI,QAAQ,QAAQ,IAAI,GAAI;QAC1B,QAAQ,QAAQ,EAAE;;AAEtB;AAEO,YAAS,MAAM,EAAA,yBAAgB,IAAI,KAAG,MAAM,CAAC;IAClD,QAAQ,GAAG,CAAC;QAAE,KAAK;MAAK;IACxB,QAAQ,GAAG,CAAC;IAKZ,QAAQ,GAAG,CAAC;IAGZ,QAAQ,GAAG,CAAC;IAMZ,QAAQ,GAAG,CAAC;IAKZ,QAAQ,GAAG,CAAC,mBAAmB;IAC/B,IAAM,cAAI,EAAE;IACZ,QAAQ,GAAG,CAAC,CAAC;IACb,OAAO;AACT;AAEA;;aAAM;AAAQ;AACP;;aAAM;IACX,aAAc;QACR;IACN;IACA,YAAA,UAAQ,MAAM,EAAQ;QACpB;YACE,QAAQ,GAAG,CAAC;cACb;QACD;YACE,QAAQ,GAAG,CAAC;cACb;QACD;YACE,QAAQ,GAAG,CAAC;;YACP;gBACL,QAAQ,GAAG,CAAC;;gBACP;oBACL,QAAQ,GAAG,CAAC;;;;QAEd,OAAO,GAAI;IACb;AACF;AAEO;YAAe,mCAAY;IAC5B;IACA;IACA;IACJ,OAAO;QAAE,CAAA,IAAG,CAAC;MAAE;AACjB;AAEO,WAAM,wBAAwB;GAAC;;AAC/B,WAAM,wBAAwB;CAAU,EAAA,GAAG;;AAC3C,WAAM,wBAAwB;CAAmB,EAAA,GAAG;;AAtF9B;;;IAC3B,WAAA,MAAM,MAAM,EAAA;IACZ,WAAA,KAAK,QAAM,EAAA;IACX,WAAA,SAAQ,aAA8B;IACtC,WAAA,MAAK,aAA8B;IACnC,WAAA,UAAS,aAA8B;AACzC;+BAEuC,EAAA,SAAS,+BAAqB;;;;;SALxD,KAAK;yBAAL;;;SACH,KAAK;sBAAL;;;SACI,KAAK;0BAAL;;;;wBAsBQ,0BAAuB,MAAM;;;IAA7B;;;;;;8BAgCZ,MAAM;;;;;;;;6BC/DS,KAAK,MAAM,KAAK,IAAI;sBAApB;;6BAAA,KAAK,MAAM,KAAK,IAAI;sBAApB;;6BAAA,KAAK,MAAM,KAAK,IAAI;sBAApB;;;;;4CDYc,EAAA,SAAS,+BAAqB;kCAA9B;;qCAmBjB,0BAAuB,MAAM;yBAA7B;;;;;;0CC/BG,KAAK,MAAM,KAAK,IAAI;8BAApB;;0CAAA,KAAK,MAAM,KAAK,IAAI;8BAApB;;0CAAA,KAAK,MAAM,KAAK,IAAI;8BAApB"}
\ No newline at end of file
{"version":3,"sources":["uni_modules/test-uniplugin/utssdk/app-ios/index.uts","uni_modules/test-uniplugin/utssdk/interface.uts"],"sourcesContent":["import { UIDevice } from 'UIKit'\nimport { CLLocationManager, CLAuthorizationStatus } from 'CoreLocation'\nimport { ShowToast } from '../interface.uts'\n\ntype GetBatteryInfoOptions = {\n name: string\n pwd: number\n success?: (res: UTSJSONObject) => void\n fail?: (res: UTSJSONObject) => void\n complete?: (res: UTSJSONObject) => void\n}\n\nexport default function getBatteryInfo(options: GetBatteryInfoOptions) {\n new UIAlertController(\n (title = title),\n (message = message),\n (preferredStyle = UIAlertController.Style.alert)\n )\n const res = {\n errMsg: 'getBatteryInfo:ok',\n level: UIDevice.current.batteryLevel * 100,\n isCharging: UIDevice.current.batteryState == UIDevice.BatteryState.charging,\n }\n if (options.success != null) {\n options.success!(res)\n }\n if (options.complete != null) {\n options.complete!(res)\n }\n}\n\nexport function test1(callback: () => void): string {\n console.log({ \"a\": \"b\" })\n console.log('test1')\n\n\n\n\n console.log('def ios')\n\n\n console.log('ndef android')\n\n\n\n\n\n console.log('def android || def ios')\n\n\n\n\n console.log(CLLocationManager, CLAuthorizationStatus)\n const a = -3\n console.log(~a)\n return 'test1'\n}\n\nclass Test1 { }\nexport class Test {\n constructor() {\n new Test1()\n }\n test(): string | null {\n if (UTSiOS.macros(\"swift(>=1)\")) {\n console.log(\"swift(>=1)\")\n }\n if (UTSiOS.macros(\"arch(i386) || arch(arm)\")) {\n console.log(\"arch(i386) || arch(arm)\")\n }\n if (UTSiOS.available(\"iOS 14, macOS 11.0, *\")) {\n console.log(\"iOS 14, macOS 11.0, *\")\n } else if (UTSiOS.available(\"iOS 13,*\")) {\n console.log(\"iOS 13,*\")\n } else if (UTSiOS.unavailable(\"tvOS 12\")) {\n console.log(\"tvOS 12\")\n }\n return null\n }\n}\n\nexport async function testAsync() {\n uni.showToast()\n uni.showToast()\n uni.showModel()\n return { a: 1 }\n}\n\nexport const showToast1: ShowToast = (msg) => { }\nexport const showToast2: ShowToast = function (msg) { }\nexport const showToast3: ShowToast = function showToast(msg) { }\n","export type ShowToast = (msg: string) => void\n"],"names":[],"mappings":";AAAA,aAAgC;AAChC,oBAAuE;;;;iBCD3D,eAAa,KAAK,MAAM,KAAK,IAAI;ADIhB;;aAAxB;IACH,WAAA,MAAM,MAAM,EAAA;IACZ,WAAA,KAAK,QAAM,EAAA;IACX,WAAA,aAAW,KAAK,kBAAkB,IAAI,GAAA;IACtC,WAAA,UAAQ,KAAK,kBAAkB,IAAI,GAAA;IACnC,WAAA,cAAY,KAAK,kBAAkB,IAAI,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;QAJvC,uBAAM,MAAM;QACZ,qBAAK,QAAM;QACX,iCAAW,KAAK,kBAAkB,IAAI;QACtC,2BAAQ,KAAK,kBAAkB,IAAI;QACnC,mCAAY,KAAK,kBAAkB,IAAI;;AACzC;AAEe,YAAS,eAAe,EAAA,SAAS,qBAAqB,EAAE;IACjE,kBACD,OAAQ,OACR,SAAU,SACV,gBAAiB,kBAAkB,KAAK,CAAC,KAAK;IAEjD,IAAM,MAAM;QACV,CAAA,SAAQ;QACR,CAAA,QAAO,SAAS,OAAO,CAAC,YAAY,GAAG,GAAG;QAC1C,CAAA,aAAY,SAAS,OAAO,CAAC,YAAY,IAAI,SAAS,YAAY,CAAC,QAAQ;MAC5E;IACD,IAAI,QAAQ,OAAO,IAAI,GAAI,EAAE;QAC3B,QAAQ,OAAO,EAAE;IACnB;IACA,IAAI,QAAQ,QAAQ,IAAI,GAAI,EAAE;QAC5B,QAAQ,QAAQ,EAAE;IACpB;AACF;AAEO,YAAS,MAAM,EAAA,yBAAgB,IAAI,KAAG,MAAM,CAAC;IAClD,QAAQ,GAAG,CAAC;QAAE,KAAK;MAAK;IACxB,QAAQ,GAAG,CAAC;IAKZ,QAAQ,GAAG,CAAC;IAGZ,QAAQ,GAAG,CAAC;IAMZ,QAAQ,GAAG,CAAC;IAKZ,QAAQ,GAAG,CAAC,mBAAmB;IAC/B,IAAM,cAAI,EAAE;IACZ,QAAQ,GAAG,CAAC,CAAC;IACb,OAAO;AACT;AAEA;;aAAM;AAAQ;AACP;;aAAM;IACX,aAAc;QACR;IACN;IACA,YAAA,UAAQ,MAAM,EAAQ;QACpB;YACE,QAAQ,GAAG,CAAC;cACb;QACD;YACE,QAAQ,GAAG,CAAC;cACb;QACD,qCAA+C;YAC7C,QAAQ,GAAG,CAAC;QACd;YAAO,wBAAkC;gBACvC,QAAQ,GAAG,CAAC;YACd;gBAAO,yBAAmC;oBACxC,QAAQ,GAAG,CAAC;gBACd;;;QACA,OAAO,GAAI;IACb;AACF;AAEO;YAAe,mCAAY;IAC5B;IACA;IACA;IACJ,OAAO;QAAE,CAAA,IAAG,CAAC;MAAE;AACjB;AAEO,WAAM,wBAAwB;GAAC;;AAC/B,WAAM,wBAAwB;CAAU,EAAA,GAAG;;AAC3C,WAAM,wBAAwB;CAAmB,EAAA,GAAG;;AAtF9B;;;IAC3B,WAAA,MAAM,MAAM,EAAA;IACZ,WAAA,KAAK,QAAM,EAAA;IACX,WAAA,SAAQ,aAA8B;IACtC,WAAA,MAAK,aAA8B;IACnC,WAAA,UAAS,aAA8B;AACzC;+BAEuC,EAAA,SAAS,+BAAqB;;;;;SALxD,KAAK;yBAAL;;;SACH,KAAK;sBAAL;;;SACI,KAAK;0BAAL;;;;wBAsBQ,0BAAuB,MAAM;;;IAA7B;;;;;;8BAgCZ,MAAM;;;;;;;;6BC/DS,KAAK,MAAM,KAAK,IAAI;sBAApB;;6BAAA,KAAK,MAAM,KAAK,IAAI;sBAApB;;6BAAA,KAAK,MAAM,KAAK,IAAI;sBAApB;;;;;4CDYc,EAAA,SAAS,+BAAqB;kCAA9B;;qCAmBjB,0BAAuB,MAAM;yBAA7B;;;;;;0CC/BG,KAAK,MAAM,KAAK,IAAI;8BAApB;;0CAAA,KAAK,MAAM,KAAK,IAAI;8BAApB;;0CAAA,KAAK,MAAM,KAAK,IAAI;8BAApB"}
\ No newline at end of file
......@@ -58,8 +58,11 @@ open class AnimationViewComponent : UTSComponent<LottieAnimationView> {
override fun unmounted() {}
@JSMethod(uiThread = false)
open fun setRepeatMode(repeat: String) {
if ("RESTART" == repeat) this.`$el`.repeatMode = LottieDrawable.RESTART;
else if ("REVERSE" == repeat) this.`$el`.repeatMode = LottieDrawable.RESTART;
if ("RESTART" == repeat) {
this.`$el`.repeatMode = LottieDrawable.RESTART;
} else if ("REVERSE" == repeat) {
this.`$el`.repeatMode = LottieDrawable.RESTART;
}
}
@JSMethod(uiThread = false)
open fun privateMethod() {}
......@@ -67,27 +70,41 @@ open class AnimationViewComponent : UTSComponent<LottieAnimationView> {
this.`$watch`<String>("path", fun(newPath, oldPath){
var lottieAnimationView = this.`$el`;
if (lottieAnimationView != null && !TextUtils.isEmpty(newPath)) {
if (newPath.startsWith("http://") || newPath.startsWith("https://")) lottieAnimationView.setAnimationFromUrl(newPath);
else lottieAnimationView.setAnimation(newPath);
if (newPath.startsWith("http://") || newPath.startsWith("https://")) {
lottieAnimationView.setAnimationFromUrl(newPath);
} else {
lottieAnimationView.setAnimation(newPath);
}
}
if (this.autoplay) {
lottieAnimationView.playAnimation();
}
if (this.autoplay) lottieAnimationView.playAnimation();
}
);
this.`$watch`<Boolean>("loop", fun(newLoop, oldLoop){
if (newLoop) this.`$el`.repeatCount = Int.MAX_VALUE;
else this.`$el`.repeatCount = 0;
if (this.autoplay) this.`$el`.playAnimation();
if (newLoop) {
this.`$el`.repeatCount = Int.MAX_VALUE;
} else {
this.`$el`.repeatCount = 0;
}
if (this.autoplay) {
this.`$el`.playAnimation();
}
}
);
this.`$watch`<Boolean>("autoplay", fun(newValue, oldValue){
if (newValue) this.`$el`.playAnimation();
if (newValue) {
this.`$el`.playAnimation();
}
}
);
this.`$watch`<String>("action", fun(newAction, oldAction){
if (newAction == "play" || newAction == "pause" || newAction == "stop") {
if (this.action == "play") this.`$el`.playAnimation();
else if (this.action == "play") this.`$el`.pauseAnimation();
else if (this.action == "stop") {
if (this.action == "play") {
this.`$el`.playAnimation();
} else if (this.action == "play") {
this.`$el`.pauseAnimation();
} else if (this.action == "stop") {
this.`$el`.cancelAnimation();
this.`$el`.clearAnimation();
}
......@@ -95,8 +112,11 @@ open class AnimationViewComponent : UTSComponent<LottieAnimationView> {
}
);
this.`$watch`<Boolean>("hidden", fun(newValue, oldValue){
if (newValue) this.`$el`.visibility = View.GONE;
else this.`$el`.visibility = View.VISIBLE;
if (newValue) {
this.`$el`.visibility = View.GONE;
} else {
this.`$el`.visibility = View.VISIBLE;
}
}
);
}
......
......@@ -7,12 +7,33 @@ public var uni_showModel = DCloudUTSExtAPI.showModel;
public typealias ShowToast = (_ msg: String) -> Void;
@objc(UTSSDKModulesTestUniPluginGetBatteryInfoOptions)
@objcMembers
public class GetBatteryInfoOptions : NSObject {
public class GetBatteryInfoOptions : NSObject, UTSObject {
public var name: String!;
public var pwd: NSNumber!;
public var success: ((_ res: UTSJSONObject) -> Void)?;
public var fail: ((_ res: UTSJSONObject) -> Void)?;
public var complete: ((_ res: UTSJSONObject) -> Void)?;
public subscript(_ key: String) -> Any? {
get {
return utsSubscriptGetValue(key);
}
set {
switch(key){
case "name":
name = try! utsSubscriptCheckValue(newValue);
case "pwd":
pwd = try! utsSubscriptCheckValue(newValue);
case "success":
success = try! utsSubscriptCheckValueIfPresent(newValue);
case "fail":
fail = try! utsSubscriptCheckValueIfPresent(newValue);
case "complete":
complete = try! utsSubscriptCheckValueIfPresent(newValue);
default:
break;
}
}
}
public override init() {
super.init();
}
......
......@@ -183,7 +183,7 @@ describe('uts:sourceMap', () => {
)
const { line, column, source } = await originalPositionFor({
sourceMapFile,
line: 29,
line: 50,
column: 0,
})
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册