@shijiu/jsview-vue 0.9.502 → 0.9.631

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dom/bin/jsview-browser-debug-dom.min.js +1 -1
  2. package/dom/bin/jsview-dom.min.js +1 -1
  3. package/dom/target_core_revision.js +4 -3
  4. package/index.js +10 -0
  5. package/package.json +8 -1
  6. package/patches/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +16 -5
  7. package/samples/AnimPicture/App.vue +89 -106
  8. package/samples/Basic/App.vue +65 -68
  9. package/samples/Basic/components/ContentBlock.vue +31 -36
  10. package/samples/Basic/components/anim/AnimGroup.vue +61 -75
  11. package/samples/Basic/components/anim/AnimKeyframeBasic.vue +54 -43
  12. package/samples/Basic/components/anim/AnimKeyframeComposite.vue +25 -31
  13. package/samples/Basic/components/anim/AnimTransition.vue +142 -105
  14. package/samples/Basic/components/div/DivBackground.vue +38 -16
  15. package/samples/Basic/components/div/DivClip.vue +143 -78
  16. package/samples/Basic/components/div/DivCssScoped.vue +10 -10
  17. package/samples/Basic/components/div/DivCssVar.vue +40 -42
  18. package/samples/Basic/components/div/DivGroup1.vue +45 -39
  19. package/samples/Basic/components/div/DivGroup2.vue +56 -45
  20. package/samples/Basic/components/div/DivLayout.vue +63 -5
  21. package/samples/Basic/components/div/DivRadius.vue +51 -42
  22. package/samples/Basic/components/div/DivTransform.vue +21 -16
  23. package/samples/Basic/components/panel/Panel1.vue +46 -44
  24. package/samples/Basic/components/panel/Panel2.vue +22 -26
  25. package/samples/Basic/components/panel/TitleBar.vue +12 -12
  26. package/samples/Basic/components/text/TextAlign.vue +54 -44
  27. package/samples/Basic/components/text/TextEmoji.vue +16 -20
  28. package/samples/Basic/components/text/TextFontStyle.vue +77 -53
  29. package/samples/Basic/components/text/TextGroup1.vue +46 -38
  30. package/samples/Basic/components/text/TextGroup2.vue +25 -28
  31. package/samples/Basic/components/text/TextOverflow.vue +78 -59
  32. package/samples/BasicFocusControl/App.vue +22 -43
  33. package/samples/BasicFocusControl/components/BaseBlock.vue +42 -43
  34. package/samples/BasicFocusControl/components/MainArea.vue +55 -70
  35. package/samples/BasicFocusControl/components/MainAreaLeftBlock.vue +11 -15
  36. package/samples/BasicFocusControl/components/MainAreaRightBlock.vue +21 -24
  37. package/samples/BasicFocusControl/components/SideBar.vue +32 -47
  38. package/samples/BasicFocusControl/components/SideBarBlock.vue +20 -23
  39. package/samples/Collision/App.vue +452 -0
  40. package/samples/ColorSpace/App.vue +15 -24
  41. package/samples/DemoHomepage/App.vue +7 -11
  42. package/samples/DemoHomepage/components/BodyFrame.vue +21 -9
  43. package/samples/DemoHomepage/components/TabFrame.vue +7 -8
  44. package/samples/DemoHomepage/router.js +52 -33
  45. package/samples/DemoHomepage/views/Homepage.vue +18 -9
  46. package/samples/FilterDemo/AnimatePic.vue +58 -0
  47. package/samples/FilterDemo/App.vue +99 -61
  48. package/samples/FilterDemo/VideoLayer.vue +62 -0
  49. package/samples/FlipCard/App.vue +32 -41
  50. package/samples/FlipCard/FlipCard.vue +48 -54
  51. package/samples/GridDemo/App.vue +109 -77
  52. package/samples/GridDemo/ButtonBlock.vue +50 -49
  53. package/samples/GridDemo/FocusItem.vue +19 -38
  54. package/samples/GridDemo/Item.vue +46 -54
  55. package/samples/HashHistory/App.vue +63 -79
  56. package/samples/HashHistory/components/HorizontalButtonList.vue +72 -95
  57. package/samples/HashHistory/components/Item.vue +42 -56
  58. package/samples/HashHistory/router.js +23 -12
  59. package/samples/HashHistory/views/MainPage.vue +35 -46
  60. package/samples/HashHistory/views/SubPage.vue +34 -47
  61. package/samples/ImpactStop/App.vue +435 -0
  62. package/samples/Input/App.vue +8 -18
  63. package/samples/Input/FullKeyboard.vue +2 -6
  64. package/samples/Input/InputPanel.vue +18 -12
  65. package/samples/Input/KeyboardItem.vue +1 -1
  66. package/samples/LongImage/App.vue +11 -27
  67. package/samples/LongImage/Button.vue +50 -145
  68. package/samples/LongImage/ButtonItem.vue +44 -0
  69. package/samples/LongImage/LongImageScroll.vue +71 -106
  70. package/samples/LongImage/Scroll.vue +7 -9
  71. package/samples/LongText/App.vue +13 -28
  72. package/samples/LongText/Button.vue +43 -145
  73. package/samples/LongText/ButtonItem.vue +44 -0
  74. package/samples/LongText/LongTextScroll.vue +68 -101
  75. package/samples/LongText/Scroll.vue +7 -9
  76. package/samples/Marquee/App.vue +34 -37
  77. package/samples/MaskClip/App.vue +17 -30
  78. package/samples/MetroWidgetDemos/Advanced/App.vue +47 -0
  79. package/samples/MetroWidgetDemos/Advanced/ButtonItem.vue +90 -0
  80. package/samples/MetroWidgetDemos/Advanced/Buttons.vue +70 -0
  81. package/samples/MetroWidgetDemos/Advanced/Mixed.vue +77 -0
  82. package/samples/MetroWidgetDemos/Advanced/Widgets.vue +71 -0
  83. package/samples/MetroWidgetDemos/Item.vue +67 -0
  84. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/App.vue +80 -104
  85. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/Item.vue +7 -0
  86. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/bg.jpg +0 -0
  87. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_content.png +0 -0
  88. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_left.png +0 -0
  89. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_mid.png +0 -0
  90. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/coupon_right.png +0 -0
  91. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/focus_border.png +0 -0
  92. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/holder_logo.png +0 -0
  93. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/jrbm.png +0 -0
  94. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/line_left.png +0 -0
  95. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/line_mid.png +0 -0
  96. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/line_right.png +0 -0
  97. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/loading.png +0 -0
  98. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/logo.png +0 -0
  99. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/mcjx.png +0 -0
  100. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/tao.png +0 -0
  101. package/samples/{ClassNameDemo → MetroWidgetDemos/PerformanceTest}/assets/tmall.png +0 -0
  102. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/border.png +0 -0
  103. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/components/ContentItem.vue +60 -86
  104. package/samples/{SimpleWidgetDemo → MetroWidgetDemos/PerformanceTest}/components/MyTab.vue +0 -0
  105. package/samples/MetroWidgetDemos/PerformanceTest/data.js +45 -0
  106. package/samples/MetroWidgetDemos/PingPong/App.vue +135 -0
  107. package/samples/MetroWidgetDemos/PingPong/AppPage.vue +73 -0
  108. package/samples/MetroWidgetDemos/PingPong/AppTab.vue +62 -0
  109. package/samples/MetroWidgetDemos/PingPong/TabItem.vue +84 -0
  110. package/samples/MetroWidgetDemos/PingPong/ViewSwiper.vue +214 -0
  111. package/samples/MetroWidgetDemos/Simple/AbsoluteTemplate.vue +75 -0
  112. package/samples/MetroWidgetDemos/Simple/App.vue +45 -0
  113. package/samples/MetroWidgetDemos/Simple/RelativeTemplate.vue +111 -0
  114. package/samples/MetroWidgetDemos/WidgetItem.vue +89 -0
  115. package/samples/MetroWidgetDemos/data.js +204 -0
  116. package/samples/NinePatchDemo/App.vue +114 -115
  117. package/samples/NinePatchDemo/Item.vue +7 -8
  118. package/samples/Preload/App.vue +67 -64
  119. package/samples/Preload/Item.vue +21 -29
  120. package/samples/QrcodeDemo/App.vue +24 -29
  121. package/samples/SoundPool/App.vue +77 -106
  122. package/samples/SprayView/App.vue +10 -8
  123. package/samples/SpriteImage/App.vue +1 -2
  124. package/samples/TextBox/App.vue +86 -101
  125. package/samples/TextBox/RenderCenter.vue +1 -1
  126. package/samples/TextBox/RenderLeft.vue +1 -1
  127. package/samples/TextBox/RenderOneLine.vue +1 -1
  128. package/samples/TextBox/RenderRight.vue +1 -1
  129. package/samples/TextShadowDemo/App.vue +1 -2
  130. package/samples/TextureAnimation/App.vue +16 -13
  131. package/samples/TextureAnimation/App2.vue +111 -0
  132. package/samples/TextureAnimation/assets/blackWhiteGrid.png +0 -0
  133. package/samples/TextureAnimation/assets/light.png +0 -0
  134. package/samples/TextureAnimation/assets/light2.png +0 -0
  135. package/samples/TextureAnimation/assets/mask.png +0 -0
  136. package/samples/TextureSize/App.vue +15 -25
  137. package/samples/ThrowMoveDemo/AccelerateDemo.vue +2 -4
  138. package/samples/ThrowMoveDemo/LRParabolicDemo.vue +2 -3
  139. package/samples/ThrowMoveDemo/TargetDemo.vue +3 -4
  140. package/samples/ThrowMoveDemo/UDParabolicDemo.vue +2 -3
  141. package/samples/TouchSample/App.vue +2 -3
  142. package/samples/TouchSample/Item.vue +15 -13
  143. package/samples/TouchSample/MetroWidgetHorizontal.vue +2 -2
  144. package/samples/TouchSample/MetroWidgetVertical.vue +1 -1
  145. package/samples/TouchSample/TouchContainerHorizontal.vue +4 -3
  146. package/samples/TouchSample/TouchContainerVertical.vue +3 -2
  147. package/samples/TransitPage/App.vue +20 -32
  148. package/samples/VideoDemo/App.vue +65 -81
  149. package/samples/VideoDemo/components/Button.vue +41 -52
  150. package/samples/VideoDemo/components/Controllor.vue +171 -169
  151. package/samples/VideoDemo/components/VideoFrame.vue +87 -99
  152. package/samples/VisibleSensorDemo/App.vue +234 -0
  153. package/scripts/jsview-jsmap-serve.js +42 -0
  154. package/scripts/jsview-post-install.js +1 -1
  155. package/tsconfig.json +3 -0
  156. package/utils/JsViewEngineWidget/JsvFocusBlock.vue +204 -193
  157. package/utils/JsViewEngineWidget/JsvFocusManager.js +30 -17
  158. package/utils/JsViewEngineWidget/MetroWidget/MetroWidget.vue +1561 -1656
  159. package/utils/JsViewEngineWidget/MetroWidget/PageUpdater.js +136 -0
  160. package/utils/JsViewEngineWidget/MetroWidget/ToolFunctions.js +18 -0
  161. package/utils/JsViewEngineWidget/TemplateParser.js +111 -1
  162. package/utils/JsViewEngineWidget/WidgetCommon.js +8 -2
  163. package/utils/JsViewEngineWidget/index.js +4 -4
  164. package/utils/JsViewPlugin/JsvPlayer/GetVersion.js +1 -1
  165. package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +301 -58
  166. package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +22 -3
  167. package/utils/JsViewPlugin/JsvPlayer/index.js +8 -1
  168. package/utils/JsViewPlugin/JsvPlayer/version.js +5 -5
  169. package/utils/JsViewVueTools/JsvImpactTracer.js +113 -0
  170. package/utils/JsViewVueTools/JsvRefTaker.js +35 -0
  171. package/utils/JsViewVueTools/index.js +20 -0
  172. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +11 -1
  173. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserQrcode.vue +8 -4
  174. package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserTextureAnim.vue +203 -14
  175. package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +2 -2
  176. package/utils/JsViewVueWidget/JsvApic/JsvApic.vue +2 -2
  177. package/utils/JsViewVueWidget/JsvFilterView.vue +59 -51
  178. package/utils/JsViewVueWidget/JsvGrid.vue +139 -41
  179. package/utils/JsViewVueWidget/JsvInput/Cursor.vue +4 -2
  180. package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +13 -12
  181. package/utils/JsViewVueWidget/JsvMaskClipDiv.vue +3 -1
  182. package/utils/JsViewVueWidget/JsvNativeSharedDiv.vue +8 -17
  183. package/utils/JsViewVueWidget/JsvNinePatch.vue +1 -1
  184. package/utils/JsViewVueWidget/JsvPosterDiv.vue +37 -7
  185. package/utils/JsViewVueWidget/JsvPosterImage.vue +34 -13
  186. package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +39 -53
  187. package/utils/JsViewVueWidget/JsvQrcode/JsvQrcode.vue +1 -1
  188. package/utils/JsViewVueWidget/JsvSpray/JsvSpray.vue +13 -10
  189. package/utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue +282 -285
  190. package/utils/JsViewVueWidget/JsvSpriteAnim/index.js +2 -3
  191. package/utils/JsViewVueWidget/JsvSwiper/JsvSwiper.vue +6 -1
  192. package/utils/JsViewVueWidget/JsvSwiper3D/JsvSwiper.vue +6 -1
  193. package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +142 -61
  194. package/utils/JsViewVueWidget/JsvTextureAnim/index.js +9 -5
  195. package/utils/JsViewVueWidget/JsvTransparentDiv.vue +7 -8
  196. package/utils/JsViewVueWidget/JsvVideo.vue +9 -12
  197. package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +141 -0
  198. package/utils/JsViewVueWidget/JsvVisibleSensor/index.js +9 -0
  199. package/utils/JsViewVueWidget/index.js +42 -0
  200. package/samples/AdvanceMetroWidget/App.vue +0 -123
  201. package/samples/AdvanceMetroWidget/Frame.vue +0 -102
  202. package/samples/AdvanceMetroWidget/Item.vue +0 -63
  203. package/samples/AdvanceMetroWidget/data.js +0 -137
  204. package/samples/ClassNameDemo/App.vue +0 -119
  205. package/samples/ClassNameDemo/components/ContentItem.vue +0 -253
  206. package/samples/ClassNameDemo/components/LoadingView.vue +0 -43
  207. package/samples/ClassNameDemo/components/TitleView.vue +0 -24
  208. package/samples/ClassNameDemo/data.js +0 -24
  209. package/samples/FlowMultiWidget/App.vue +0 -91
  210. package/samples/FlowMultiWidget/assets/nine_patch_focus.png +0 -0
  211. package/samples/FlowMultiWidget/components/Block.vue +0 -107
  212. package/samples/FlowMultiWidget/components/FlowPage.vue +0 -60
  213. package/samples/FlowMultiWidget/components/Item.vue +0 -103
  214. package/samples/FlowMultiWidget/components/MenuItem.vue +0 -72
  215. package/samples/FlowMultiWidget/components/MyMenu.vue +0 -90
  216. package/samples/FlowMultiWidget/data.js +0 -446
  217. package/samples/HashHistory/views/BasePage.vue +0 -19
  218. package/samples/HashHistory/views/SubPageFirst.vue +0 -10
  219. package/samples/HashHistory/views/SubPageSecond.vue +0 -10
  220. package/samples/SimpleWidgetDemo/assets/bg.jpg +0 -0
  221. package/samples/SimpleWidgetDemo/assets/coupon_content.png +0 -0
  222. package/samples/SimpleWidgetDemo/assets/coupon_left.png +0 -0
  223. package/samples/SimpleWidgetDemo/assets/coupon_mid.png +0 -0
  224. package/samples/SimpleWidgetDemo/assets/coupon_right.png +0 -0
  225. package/samples/SimpleWidgetDemo/assets/focus_border.png +0 -0
  226. package/samples/SimpleWidgetDemo/assets/holder_logo.png +0 -0
  227. package/samples/SimpleWidgetDemo/assets/jrbm.png +0 -0
  228. package/samples/SimpleWidgetDemo/assets/line_left.png +0 -0
  229. package/samples/SimpleWidgetDemo/assets/line_mid.png +0 -0
  230. package/samples/SimpleWidgetDemo/assets/line_right.png +0 -0
  231. package/samples/SimpleWidgetDemo/assets/loading.png +0 -0
  232. package/samples/SimpleWidgetDemo/assets/logo.png +0 -0
  233. package/samples/SimpleWidgetDemo/assets/mcjx.png +0 -0
  234. package/samples/SimpleWidgetDemo/assets/tao.png +0 -0
  235. package/samples/SimpleWidgetDemo/assets/tmall.png +0 -0
  236. package/samples/SimpleWidgetDemo/data.js +0 -124
  237. package/utils/JsViewEngineWidget/MetroWidget/ContentView.vue +0 -63
  238. package/utils/JsViewEngineWidget/MetroWidget/DivWrapper.vue +0 -51
  239. package/utils/JsViewEngineWidget/MetroWidget/ItemView.vue +0 -213
  240. package/utils/JsViewEngineWidget/MetroWidget/RootView.vue +0 -154
@@ -1,32 +1,24 @@
1
- <script>
2
- export default {
3
- props: {
4
- data: Object,
5
- query: Object,
6
- onEdge: Function,
7
- onAction: Object,
8
- },
9
- data() {
10
- return {
11
- focus: false,
12
- };
13
- },
14
- methods: {
15
- onFocus() {
16
- this.focus = true;
17
- },
18
- onBlur() {
19
- this.focus = false;
20
- },
21
- },
22
- created() {
23
- this.onAction.register("onFocus", this.onFocus);
24
- this.onAction.register("onBlur", this.onBlur);
25
- this.onAction.register("onClick", () => {
26
- console.log("cchtest item on click ", this.data);
27
- });
28
- },
1
+ <script setup>
2
+ import { ref } from "vue";
3
+ const props = defineProps({
4
+ data: Object,
5
+ query: Object,
6
+ onEdge: Function,
7
+ onAction: Object,
8
+ });
9
+ const focus = ref(false);
10
+
11
+ const onFocus = () => {
12
+ focus.value = true;
13
+ };
14
+ const onBlur = () => {
15
+ focus.value = false;
29
16
  };
17
+ props.onAction.register("onFocus", onFocus);
18
+ props.onAction.register("onBlur", onBlur);
19
+ props.onAction.register("onClick", () => {
20
+ console.log("cchtest item on click ", data);
21
+ });
30
22
  </script>
31
23
 
32
24
  <template>
@@ -36,5 +28,5 @@ export default {
36
28
  height: 90,
37
29
  backgroundImage: focus ? data.focusUrl : data.url,
38
30
  }"
39
- />
31
+ ></div>
40
32
  </template>
@@ -1,33 +1,28 @@
1
- <script>
2
- import QRCode from "jsview/utils/JsViewVueWidget/JsvQrcode";
3
- export default {
4
- components: { QRCode },
5
- data() {
6
- return {
7
- value: "http://www.baidu.com/",
8
- size: 400,
9
- fgColor: "#0000FF",
10
- bgColor: "#ffff00",
11
- level: "H", // ,容错级别,分别是L(7%)、M(15%)、Q(25%)、H(30%),
12
- includeImage: true,
13
- imageH: 64,
14
- imageW: 64,
15
- imageSrc:
16
- "http://oss.image.51vtv.cn/homepage/20191224/0fdcdc8b258fe7baac16b73f58f8989d.jpg",
17
- tipsInfo: `功能:二维码展示可配置项:1.前景色
1
+ <script setup>
2
+ import { JsvQrcode } from "jsview";
3
+ import { ref } from "vue";
4
+ import { useRouter } from "vue-router";
5
+
6
+ const router = useRouter();
7
+ const value = "http://www.baidu.com/";
8
+ const size = 400;
9
+ const fgColor = "#0000FF";
10
+ const bgColor = "#ffff00";
11
+ const level = "H"; // ,容错级别,分别是L(7%)、M(15%)、Q(25%)、H(30%),
12
+ const includeImage = true;
13
+ const imageH = 64;
14
+ const imageW = 64;
15
+ const imageSrc =
16
+ "http://oss.image.51vtv.cn/homepage/20191224/0fdcdc8b258fe7baac16b73f58f8989d.jpg";
17
+ const tipsInfo = `功能:二维码展示可配置项:1.前景色
18
18
  2.背景色
19
19
  3.指定小图标
20
- 4.容错级别:'L', 'M', 'Q', 'H'`,
21
- };
22
- },
23
- methods: {
24
- onKeyDown(ev) {
25
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
26
- this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
27
- }
28
- return true;
29
- },
30
- },
20
+ 4.容错级别:'L', 'M', 'Q', 'H'`;
21
+ const onKeyDown = (ev) => {
22
+ if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
23
+ router.go(-1); // 有router时,是从DemoHomepage进入,回退
24
+ }
25
+ return true;
31
26
  };
32
27
  </script>
33
28
 
@@ -55,7 +50,7 @@ export default {
55
50
  {{ tipsInfo }}
56
51
  </div>
57
52
  <div :style="{ left: 200, top: 100 }">
58
- <QRCode
53
+ <jsv-qrcode
59
54
  :value="value"
60
55
  :size="size"
61
56
  :fgColor="fgColor"
@@ -2,121 +2,92 @@
2
2
  * @Author: ChenChanghua
3
3
  * @Date: 2022-01-25 09:56:46
4
4
  * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2022-01-25 10:23:53
5
+ * @LastEditTime: 2022-07-08 18:09:10
6
6
  * @Description: file content
7
7
  -->
8
- <script>
8
+ <script setup>
9
9
  import coin from "./coin.mp3";
10
10
  import lose from "./lose.mp3";
11
- import bgm from "./bgmusic.mp3";
12
- import { JsvSoundPool } from "jsview/utils/JsViewVueWidget/JsvSoundPool";
13
- import { jJsvRuntimeBridge } from "jsview/utils/JsViewVueTools/JsvRuntimeBridge";
11
+ import bgmusic from "./bgmusic.mp3";
12
+ import { JsvSoundPool, jJsvRuntimeBridge } from "jsview";
13
+ import { onMounted, onBeforeUnmount, ref } from "vue";
14
+ import { useRouter } from "vue-router";
14
15
 
15
- export default {
16
- setup() {
17
- return {
18
- soundPool: null,
19
- coinController1: null,
20
- coinController2: null,
21
- loseController1: null,
22
- loseController2: null,
23
- bgm,
24
- };
25
- },
26
- created() {
27
- this.soundPool = new JsvSoundPool(10);
28
- this.soundPool.request(
29
- `url(${coin})`,
30
- null,
31
- 1,
32
- (state, audioController) => {
33
- console.log("cchtest load succeed", audioController);
34
- if (state === 0) {
35
- this.coinController1 = audioController;
36
- }
16
+ const router = useRouter();
17
+ const soundPool = new JsvSoundPool(10);
18
+ let coinController1 = null;
19
+ let coinController2 = null;
20
+ let loseController1 = null;
21
+ let loseController2 = null;
22
+ let bgm = ref(null);
23
+ const _onKeyDown = (ev) => {
24
+ if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
25
+ router.go(-1); // 有router时,是从DemoHomepage进入,回退
26
+ return true;
27
+ }
28
+ switch (ev.keyCode) {
29
+ case 37:
30
+ if (loseController1) {
31
+ loseController1.play();
37
32
  }
38
- );
39
- this.soundPool.request(
40
- `url(${coin})`,
41
- null,
42
- 1,
43
- (state, audioController) => {
44
- if (state === 0) {
45
- this.coinController2 = audioController;
46
- this.coinController2.setLoop(0);
47
- }
33
+ break;
34
+ case 38:
35
+ if (coinController1) {
36
+ coinController1.play();
48
37
  }
49
- );
50
-
51
- this.soundPool.request(
52
- `url(${lose})`,
53
- null,
54
- 1,
55
- (state, audioController) => {
56
- if (state === 0) {
57
- this.loseController1 = audioController;
58
- }
59
- }
60
- );
61
- this.soundPool.request(
62
- `url(${lose})`,
63
- null,
64
- 1,
65
- (state, audioController) => {
66
- if (state === 0) {
67
- this.loseController2 = audioController;
68
- }
69
- }
70
- );
71
- },
72
- methods: {
73
- _onKeyDown(ev) {
74
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
75
- this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
76
- return true;
38
+ break;
39
+ case 39:
40
+ if (loseController2) {
41
+ loseController2.play();
77
42
  }
78
- switch (ev.keyCode) {
79
- case 37:
80
- if (this.loseController1) {
81
- this.loseController1.play();
82
- }
83
- break;
84
- case 38:
85
- if (this.coinController1) {
86
- this.coinController1.play();
87
- }
88
- break;
89
- case 39:
90
- if (this.loseController2) {
91
- this.loseController2.play();
92
- }
93
- break;
94
- case 40:
95
- if (this.coinController2) {
96
- this.coinController2.play();
97
- }
98
- break;
99
- case 13:
100
- this.$refs.bgm?.play();
101
- break;
43
+ break;
44
+ case 40:
45
+ if (coinController2) {
46
+ coinController2.play();
102
47
  }
103
- return true;
104
- },
105
- },
106
- mounted() {
107
- // 调试接口,对接JSCenter平台去掉启动图的处理
108
- jJsvRuntimeBridge.notifyPageLoaded();
109
- },
110
- beforeUnmount() {
111
- this.coinController1 = null;
112
- this.coinController2 = null;
113
- this.loseController1 = null;
114
- this.loseController2 = null;
115
- this.soundPool.destroy();
116
- this.$refs.bgm?.pause();
117
- this.$refs.bgm?.unload();
118
- },
48
+ break;
49
+ case 13:
50
+ bgm.value?.play();
51
+ break;
52
+ }
53
+ return true;
119
54
  };
55
+ soundPool.request(`url(${coin})`, null, 1, (state, audioController) => {
56
+ console.log("cchtest load succeed", audioController);
57
+ if (state === 0) {
58
+ coinController1 = audioController;
59
+ }
60
+ });
61
+ soundPool.request(`url(${coin})`, null, 1, (state, audioController) => {
62
+ if (state === 0) {
63
+ coinController2 = audioController;
64
+ coinController2.setLoop(0);
65
+ }
66
+ });
67
+
68
+ soundPool.request(`url(${lose})`, null, 1, (state, audioController) => {
69
+ if (state === 0) {
70
+ loseController1 = audioController;
71
+ }
72
+ });
73
+ soundPool.request(`url(${lose})`, null, 1, (state, audioController) => {
74
+ if (state === 0) {
75
+ loseController2 = audioController;
76
+ }
77
+ });
78
+
79
+ onMounted(() => {
80
+ jJsvRuntimeBridge.notifyPageLoaded();
81
+ });
82
+ onBeforeUnmount(() => {
83
+ coinController1 = null;
84
+ coinController2 = null;
85
+ loseController1 = null;
86
+ loseController2 = null;
87
+ soundPool.destroy();
88
+ bgm.value?.pause();
89
+ bgm.value?.unload();
90
+ });
120
91
  </script>
121
92
 
122
93
  <template>
@@ -157,7 +128,7 @@ export default {
157
128
  `[确定]: 播放背景音乐\n[左]: 播放失败音乐1\n[右]: 播放失败音乐2\n[上]: 播放硬币音乐1\n[下]: 播放硬币音乐2`
158
129
  }}
159
130
  </div>
160
- <audiotrack ref="bgm" :src="bgm" loop="loop" />
131
+ <audiotrack ref="bgm" :src="bgmusic" loop="loop" />
161
132
  </div>
162
133
  </jsv-focus-block>
163
134
  </template>
@@ -2,11 +2,11 @@
2
2
  * @Author: ChenChanghua
3
3
  * @Date: 2021-10-13 11:19:26
4
4
  * @LastEditors: ChenChanghua
5
- * @LastEditTime: 2021-10-18 14:21:18
5
+ * @LastEditTime: 2022-07-08 17:09:58
6
6
  * @Description: file content
7
7
  -->
8
8
  <script>
9
- import JsvSpray from "jsview/utils/JsViewVueWidget/JsvSpray";
9
+ import { JsvSpray } from "jsview";
10
10
  import snow from "./assets/snow.png";
11
11
  const sprayOk = {
12
12
  type: 0,
@@ -114,7 +114,7 @@ export default {
114
114
  }
115
115
  return true;
116
116
  },
117
- }
117
+ },
118
118
  };
119
119
  </script>
120
120
 
@@ -158,11 +158,13 @@ export default {
158
158
  </div>
159
159
  </div>
160
160
  <div :style="{ top: 20, left: 400 }">
161
- <div :style="{
162
- width: 40,
163
- height: 40,
164
- animation: 'cycle 3s linear infinite',
165
- }">
161
+ <div
162
+ :style="{
163
+ width: 40,
164
+ height: 40,
165
+ animation: 'cycle 3s linear infinite',
166
+ }"
167
+ >
166
168
  <jsv-spray :pointRes="`url(${snow})`" :sprayStyle="sprayCycle" />
167
169
  </div>
168
170
  <div
@@ -26,8 +26,7 @@
26
26
  -->
27
27
 
28
28
  <script>
29
- import JsvSpriteAnim from "../../utils/JsViewVueWidget/JsvSpriteAnim/JsvSpriteAnim.vue";
30
- import { SpriteController } from "../../utils/JsViewVueWidget/JsvSpriteAnim/SpriteController";
29
+ import { SpriteController, JsvSpriteAnim } from "jsview";
31
30
  import spriteImage from "./images/egg_break.png";
32
31
  import config_json from "./images/egg_break.json";
33
32
  export default {
@@ -22,120 +22,105 @@
22
22
  * 2. 变更文字内容,将触发控件重绘,但不会重新解析styles
23
23
  -->
24
24
 
25
- <script lang="ts">
26
- import { Options, Vue } from "vue-class-component";
25
+ <script setup>
27
26
  import RenderLeft from "./RenderLeft.vue";
28
27
  import RenderRight from "./RenderRight.vue";
29
28
  import RenderCenter from "./RenderCenter.vue";
30
29
  import RenderOneLine from "./RenderOneLine.vue";
31
- import {
32
- JsvTextStyleClass,
33
- JsvStyleClass,
34
- } from "jsview/utils/JsViewVueTools/JsvStyleClass.js";
30
+ import { JsvTextStyleClass, JsvStyleClass } from "jsview";
31
+ import { ref } from "vue";
32
+ import { useRouter } from "vue-router";
35
33
 
36
- @Options({
37
- components: {
38
- RenderLeft,
39
- RenderRight,
40
- RenderCenter,
41
- RenderOneLine,
42
- },
43
- })
44
- export default class App extends Vue {
45
- constructor(props: any) {
46
- super(props);
47
- }
48
-
49
- private offsetX: any = 0;
50
- private offsetY: any = 0;
51
- private onLineText = "abcdefghigk";
52
- private text: any = `静夜思 --唐李白
34
+ const router = useRouter();
35
+ let offsetX = ref(0);
36
+ let offsetY = ref(0);
37
+ const onLineText = "abcdefghigk";
38
+ const text = `静夜思 --唐李白
53
39
  床前明月光,疑是地上霜;
54
40
  举头望明月,低头思故乡。`;
55
- private text_latex: String = `静夜思 --唐李白
41
+ const text_latex = `静夜思 --唐李白
56
42
  床前\\textcolor{#FF0000}{明月光},疑是地上霜;
57
43
  举头\\textcolor{#0000FF}{望明月},低头思故乡。`;
58
- private sLayoutSet: any = new JsvStyleClass({
59
- width: 400,
60
- height: 300,
61
- backgroundColor: "rgba(255,255,0,0.5)",
62
- });
63
- private sFontSetLeft40Top: any = new JsvTextStyleClass({
64
- fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
65
- textAlign: "left",
66
- lineHeight: "40px",
67
- });
68
- private sFontSetLeft40Center: any = new JsvTextStyleClass({
69
- fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
70
- textAlign: "left",
71
- lineHeight: "40px",
72
- });
73
- private sFontSetLeft40Bottom: any = new JsvTextStyleClass({
74
- fontSize: "30px",
75
- textAlign: "left",
76
- lineHeight: "40px",
77
- });
78
- private sFontSetLeft80: any = new JsvTextStyleClass({
79
- fontSize: "30px",
80
- textAlign: "left",
81
- lineHeight: "80px",
82
- });
83
- private sFontSetCenter40: any = new JsvTextStyleClass({
84
- fontSize: "30px",
85
- textAlign: "center",
86
- lineHeight: "40px",
87
- });
88
- private sFontSetCenter80: any = new JsvTextStyleClass({
89
- fontSize: "30px",
90
- textAlign: "center",
91
- lineHeight: "80px",
92
- });
93
- private sFontSetRight40: any = new JsvTextStyleClass({
94
- fontSize: "30px",
95
- textAlign: "right",
96
- lineHeight: "80px",
97
- });
98
- private sFontSetRight80: any = new JsvTextStyleClass({
99
- fontSize: "30px",
100
- textAlign: "right",
101
- lineHeight: "80px",
102
- });
103
- private sStyleToken: String = "v1.0";
104
- private rootRef: any = null;
105
- private moveCount: any = 0;
44
+ const sLayoutSet = new JsvStyleClass({
45
+ width: 400,
46
+ height: 300,
47
+ backgroundColor: "rgba(255,255,0,0.5)",
48
+ });
49
+ const sFontSetLeft40Top = new JsvTextStyleClass({
50
+ fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
51
+ textAlign: "left",
52
+ lineHeight: "40px",
53
+ });
54
+ const sFontSetLeft40Center = new JsvTextStyleClass({
55
+ fontSize: "30px", // 测试 30 和 '30px' 两种写法的兼容性
56
+ textAlign: "left",
57
+ lineHeight: "40px",
58
+ });
59
+ const sFontSetLeft40Bottom = new JsvTextStyleClass({
60
+ fontSize: "30px",
61
+ textAlign: "left",
62
+ lineHeight: "40px",
63
+ });
64
+ const sFontSetLeft80 = new JsvTextStyleClass({
65
+ fontSize: "30px",
66
+ textAlign: "left",
67
+ lineHeight: "80px",
68
+ });
69
+ const sFontSetCenter40 = new JsvTextStyleClass({
70
+ fontSize: "30px",
71
+ textAlign: "center",
72
+ lineHeight: "40px",
73
+ });
74
+ const sFontSetCenter80 = new JsvTextStyleClass({
75
+ fontSize: "30px",
76
+ textAlign: "center",
77
+ lineHeight: "80px",
78
+ });
79
+ const sFontSetRight40 = new JsvTextStyleClass({
80
+ fontSize: "30px",
81
+ textAlign: "right",
82
+ lineHeight: "80px",
83
+ });
84
+ const sFontSetRight80 = new JsvTextStyleClass({
85
+ fontSize: "30px",
86
+ textAlign: "right",
87
+ lineHeight: "80px",
88
+ });
89
+ const sStyleToken = "v1.0";
90
+ const rootRef = ref(null);
91
+ const moveCount = ref(0);
106
92
 
107
- onKeyDown(ev: any) {
108
- if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
109
- this.$router?.go(-1); // 有router时,是从DemoHomepage进入,回退
110
- return true;
111
- }
112
- switch (ev.keyCode) {
113
- case 37:
114
- this.offsetX += 30;
115
- this.moveCount++;
116
- break;
117
- case 39:
118
- this.offsetX -= 30;
119
- this.moveCount++;
120
- break;
121
- case 38:
122
- this.offsetY += 30;
123
- this.moveCount++;
124
- break;
125
- case 40:
126
- this.offsetY -= 30;
127
- this.moveCount++;
128
- break;
129
- }
93
+ const onKeyDown = (ev) => {
94
+ if (ev.keyCode == 8 || ev.keyCode == 27 || ev.keyCode == 10000) {
95
+ router.go(-1); // 有router时,是从DemoHomepage进入,回退
130
96
  return true;
131
97
  }
132
- onFocus() {
133
- console.log("TextBox getFocus");
134
- }
135
- onBlur() {
136
- console.log("TextBox loseFocus");
98
+ switch (ev.keyCode) {
99
+ case 37:
100
+ offsetX.value += 30;
101
+ moveCount.value++;
102
+ break;
103
+ case 39:
104
+ offsetX.value -= 30;
105
+ moveCount.value++;
106
+ break;
107
+ case 38:
108
+ offsetY.value += 30;
109
+ moveCount.value++;
110
+ break;
111
+ case 40:
112
+ offsetY.value -= 30;
113
+ moveCount.value++;
114
+ break;
137
115
  }
138
- }
116
+ return true;
117
+ };
118
+ const onFocus = () => {
119
+ console.log("TextBox getFocus");
120
+ };
121
+ const onBlur = () => {
122
+ console.log("TextBox loseFocus");
123
+ };
139
124
  </script>
140
125
 
141
126
  <template>
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
2
+ import { JsvTextBox } from "jsview";
3
3
  export default {
4
4
  props: {
5
5
  text: String,
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
2
+ import { JsvTextBox } from "jsview";
3
3
  export default {
4
4
  props: {
5
5
  text: String,
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
2
+ import { JsvTextBox } from "jsview";
3
3
  export default {
4
4
  props: {
5
5
  text: String,
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
2
+ import { JsvTextBox } from "jsview";
3
3
  export default {
4
4
  props: {
5
5
  text: String,
@@ -2,8 +2,7 @@
2
2
  * 当TextData数据中有blur为0(不显示阴影)时,为了测试会报“StyleFormatCheck.js?058c:447 textShadow: blur shadow above 0(now=2 2 0 #00FF00)”错误
3
3
  -->
4
4
  <script>
5
- import JsvTextBox from "jsview/utils/JsViewVueWidget/JsvTextBox.vue";
6
- import { JsvTextStyleClass } from "jsview/utils/JsViewVueTools/JsvStyleClass";
5
+ import { JsvTextStyleClass, JsvTextBox } from "jsview";
7
6
 
8
7
  export default {
9
8
  components: {
@@ -1,8 +1,9 @@
1
1
  <script>
2
- import { jJsvRuntimeBridge } from "jsview/utils/JsViewVueTools/JsvRuntimeBridge";
3
- import JsvTextureAnim from "jsview/utils/JsViewVueWidget/JsvTextureAnim";
4
- import { getKeyFramesGroup } from "jsview/utils/JsViewVueTools/JsvDynamicKeyFrames";
5
-
2
+ import {
3
+ jJsvRuntimeBridge,
4
+ getKeyFramesGroup,
5
+ JsvTextureAnim,
6
+ } from "jsview";
6
7
  import img from "./assets/php2.png";
7
8
  import swipLight from "./assets/swipLight.png";
8
9
 
@@ -319,15 +320,17 @@ export default {
319
320
  </div>
320
321
 
321
322
  <!-- 说明文字 -->
322
- <div :style="{
323
- left: 100,
324
- top: 620,
325
- width: 1920,
326
- height: 200,
327
- fontSize: 30,
328
- color: '#000000'
329
- }">
330
- {{"1. 注意圆角\n2. 红色半透明的view为标准, 图片的动画需要与其一致"}}
323
+ <div
324
+ :style="{
325
+ left: 100,
326
+ top: 620,
327
+ width: 1920,
328
+ height: 200,
329
+ fontSize: 30,
330
+ color: '#000000',
331
+ }"
332
+ >
333
+ {{ "1. 注意圆角\n2. 红色半透明的view为标准, 图片的动画需要与其一致" }}
331
334
  </div>
332
335
  </jsv-focus-block>
333
336
  </template>