@shijiu/jsview-vue 0.9.631 → 1.9.628
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.
- package/dom/bin/jsview-browser-debug-dom.min.js +1 -1
- package/dom/bin/jsview-dom.min.js +1 -1
- package/dom/{target_core_revision.js → target_core_revision.mjs} +6 -6
- package/index.d.ts +1 -0
- package/index.js +1 -10
- package/loader/jsview-main.js +1 -1
- package/loader/loader.js +0 -1
- package/package.json +3 -3
- package/patches/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +17225 -2182
- package/patches/node_modules/@vue/compiler-sfc/dist/jsview-css-to-js.js +10 -12
- package/patches/node_modules/@vue/compiler-sfc/dist/jsview-style-format.js +5 -1
- package/patches/node_modules/@vue/compiler-sfc/dist/jsview-style-types.js +6 -1
- package/patches/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +6972 -7050
- package/patches/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js +221 -117
- package/patches/node_modules/postcss-js/objectifier.js +4 -4
- package/samples/Basic/App.vue +2 -2
- package/samples/Basic/components/FontStyle.css +1 -1
- package/samples/Basic/components/anim/AnimGroup.vue +4 -4
- package/samples/Basic/components/div/DivGroup1.vue +4 -4
- package/samples/Basic/components/div/DivGroup2.vue +5 -5
- package/samples/Basic/components/img/ImageGroup.vue +2 -2
- package/samples/Basic/components/panel/Panel1.vue +6 -6
- package/samples/Basic/components/panel/Panel2.vue +2 -2
- package/samples/Basic/components/text/TextGroup1.vue +4 -4
- package/samples/Basic/components/text/TextGroup2.vue +2 -2
- package/samples/Basic/components/text/TextOverflow.vue +2 -2
- package/samples/DemoHomepage/App.vue +1 -1
- package/samples/DemoHomepage/components/BodyFrame.vue +0 -2
- package/samples/DemoHomepage/router.js +36 -51
- package/samples/DemoHomepage/views/Homepage.vue +9 -5
- package/samples/HashHistory/router.js +6 -6
- package/samples/Input/App.vue +17 -8
- package/samples/Input/InputPanel.vue +11 -18
- package/samples/MetroWidgetDemos/PingPong/App.vue +3 -3
- package/samples/MetroWidgetDemos/PingPong/AppPage.vue +2 -17
- package/samples/MetroWidgetDemos/PingPong/AppTab.vue +10 -3
- package/samples/MetroWidgetDemos/PingPong/{TabItem.vue → Item.vue} +10 -2
- package/samples/MetroWidgetDemos/PingPong/ViewSwiper.vue +2 -2
- package/samples/Preload/App.vue +11 -16
- package/samples/SprayView/App.vue +2 -2
- package/samples/TextureAnimation/App2.vue +14 -42
- package/samples/VideoDemo/App.vue +2 -2
- package/samples/VisibleSensorDemo/App.vue +25 -92
- package/scripts/jsview-post-install.js +5 -5
- package/scripts/jsview-run-android.js +12 -11
- package/utils/JsViewEngineWidget/JsvFocusBlock.vue +56 -52
- package/utils/JsViewEngineWidget/JsvFocusManager.js +1 -1
- package/utils/JsViewPlugin/JsvPlayer/JsvMedia.js +2 -36
- package/utils/JsViewPlugin/JsvPlayer/JsvPlayer.vue +0 -14
- package/utils/JsViewPlugin/JsvPlayer/index.js +1 -8
- package/utils/JsViewPlugin/JsvPlayer/version.js +4 -4
- package/utils/JsViewVueTools/JsvHashHistory.js +12 -12
- package/utils/JsViewVueTools/index.d.ts +5 -1
- package/utils/JsViewVueTools/index.js +1 -2
- package/utils/JsViewVueWidget/BrowserDebugWidget/BrowserPreload.vue +1 -11
- package/utils/JsViewVueWidget/JsvActorMove/JsvActorMove.vue +2 -2
- package/utils/JsViewVueWidget/JsvInput/Cursor.vue +2 -4
- package/utils/JsViewVueWidget/JsvInput/JsvInput.vue +12 -13
- package/utils/JsViewVueWidget/JsvPreload/JsvPreload.vue +41 -37
- package/utils/JsViewVueWidget/JsvTextureAnim/JsvTextureAnim.vue +8 -1
- package/utils/JsViewVueWidget/JsvVisibleSensor/JsvVisibleSensor.vue +1 -1
- package/utils/index.d.ts +3 -0
- package/utils/index.js +10 -0
- package/dom/jsv-browser-debug-dom.js_1 +0 -8
- package/dom/jsv-dom.js_1 +0 -6
- package/dom/jsv-forge-define.js_1 +0 -6
- package/patches/node_modules/@babel/preset-env/lib/available-plugins.js +0 -219
- package/patches/node_modules/@vue/cli-plugin-typescript/index.js +0 -100
- package/patches/node_modules/@vue/cli-service/lib/commands/serve.js +0 -395
- package/patches/node_modules/@vue/cli-service/lib/config/app.js +0 -272
- package/patches/node_modules/@vue/cli-service/lib/config/assets.js +0 -70
- package/patches/node_modules/@vue/cli-service/lib/config/base.js +0 -212
- package/patches/node_modules/vue-loader/dist/resolveScript.js +0 -70
- package/samples/Collision/App.vue +0 -452
- package/samples/ImpactStop/App.vue +0 -435
- package/samples/TextureAnimation/assets/light.png +0 -0
- package/samples/TextureAnimation/assets/light2.png +0 -0
- package/utils/JsViewVueTools/JsvImpactTracer.js +0 -113
|
@@ -64,47 +64,45 @@ if (props.name && props.name.indexOf(".") >= 0) {
|
|
|
64
64
|
'". name must not contains "."'
|
|
65
65
|
);
|
|
66
66
|
}
|
|
67
|
-
let actionCallback = {};
|
|
68
|
-
let fDivRef = ref(null);
|
|
69
67
|
|
|
70
68
|
//methods
|
|
71
|
-
|
|
72
|
-
return toRaw(
|
|
69
|
+
function getName() {
|
|
70
|
+
return toRaw(_fDivRef.value)?.FocusNodeRef.getName();
|
|
73
71
|
};
|
|
74
72
|
|
|
75
|
-
|
|
76
|
-
let focusNode = toRaw(
|
|
73
|
+
function getNamespace() {
|
|
74
|
+
let focusNode = toRaw(_fDivRef.value)?.FocusNodeRef;
|
|
77
75
|
if (focusNode?.AsHub) {
|
|
78
76
|
// hub的getHub返回的是自己
|
|
79
|
-
focusNode = toRaw(
|
|
77
|
+
focusNode = toRaw(_fDivRef.value)?.FocusNodeRef.GetParentPage();
|
|
80
78
|
}
|
|
81
79
|
const namespace = focusNode.getName();
|
|
82
80
|
return namespace !== ".__AppRoot__" ? namespace : "";
|
|
83
81
|
};
|
|
84
82
|
|
|
85
|
-
|
|
86
|
-
const focusNode = toRaw(
|
|
83
|
+
function findBlockByName(name) {
|
|
84
|
+
const focusNode = toRaw(_fDivRef.value)?.FocusNodeRef.getNodeByName(name);
|
|
87
85
|
return focusNode?.jsvVueComponent;
|
|
88
86
|
};
|
|
89
87
|
|
|
90
|
-
|
|
91
|
-
toRaw(
|
|
88
|
+
function requestFocus(passToChild) {
|
|
89
|
+
toRaw(_fDivRef.value)?.FocusNodeRef.requestFocus(passToChild);
|
|
92
90
|
};
|
|
93
91
|
|
|
94
|
-
|
|
95
|
-
toRaw(
|
|
92
|
+
function returnFocusToParent() {
|
|
93
|
+
toRaw(_fDivRef.value)?.FocusNodeRef.ReturnFocusToParent();
|
|
96
94
|
};
|
|
97
95
|
|
|
98
|
-
|
|
99
|
-
toRaw(
|
|
96
|
+
function bubbleCustomerEvent(ev) {
|
|
97
|
+
toRaw(_fDivRef.value)?.FocusNodeRef.bubbleCustomerEvent(ev);
|
|
100
98
|
};
|
|
101
99
|
|
|
102
|
-
|
|
103
|
-
toRaw(
|
|
100
|
+
function debugPrintFocusChain() {
|
|
101
|
+
toRaw(_fDivRef.value)?.FocusNodeRef.printFocusNodeList();
|
|
104
102
|
};
|
|
105
103
|
|
|
106
|
-
|
|
107
|
-
toRaw(
|
|
104
|
+
function debugPrintLastFocus() {
|
|
105
|
+
toRaw(_fDivRef.value)?.FocusNodeRef.printGlobalLastFocus();
|
|
108
106
|
};
|
|
109
107
|
|
|
110
108
|
const exportObject = {
|
|
@@ -117,47 +115,48 @@ const exportObject = {
|
|
|
117
115
|
debugPrintFocusChain,
|
|
118
116
|
debugPrintLastFocus,
|
|
119
117
|
};
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
|
|
119
|
+
function _mountToFocusSystem() {
|
|
120
|
+
const focusNode = toRaw(_fDivRef.value)?.FocusNodeRef;
|
|
122
121
|
|
|
123
122
|
// 保存self,find用, 通过exportObject代表自己的instance
|
|
124
123
|
focusNode.jsvVueComponent = exportObject;
|
|
125
124
|
|
|
126
125
|
// 注册回调函数
|
|
127
|
-
|
|
126
|
+
_actionCallback.onDispatchKeyDown =
|
|
128
127
|
props.onDispatchKeyDown || props.onAction?.onDispatchKeyDown;
|
|
129
|
-
if (
|
|
128
|
+
if (_actionCallback.onDispatchKeyDown) {
|
|
130
129
|
focusNode.setDispatchKeyDown(_onDispatchKeyDown);
|
|
131
130
|
}
|
|
132
|
-
|
|
131
|
+
_actionCallback.onDispatchKeyUp =
|
|
133
132
|
props.onDispatchKeyUp || props.onAction?.onDispatchKeyUp;
|
|
134
|
-
if (
|
|
133
|
+
if (_actionCallback.onDispatchKeyUp) {
|
|
135
134
|
focusNode.setDispatchKeyUp(_onDispatchKeyUp);
|
|
136
135
|
}
|
|
137
|
-
|
|
138
|
-
if (
|
|
136
|
+
_actionCallback.onKeyDown = props.onKeyDown || props.onAction?.onKeyDown;
|
|
137
|
+
if (_actionCallback.onKeyDown) {
|
|
139
138
|
focusNode.setOnKeyDown(_onKeyDown);
|
|
140
139
|
}
|
|
141
|
-
|
|
142
|
-
if (
|
|
140
|
+
_actionCallback.onKeyUp = props.onKeyUp || props.onAction?.onKeyUp;
|
|
141
|
+
if (_actionCallback.onKeyUp) {
|
|
143
142
|
focusNode.setOnKeyUp(_onKeyUp);
|
|
144
143
|
}
|
|
145
|
-
|
|
146
|
-
if (
|
|
144
|
+
_actionCallback.onFocus = props.onFocus || props.onAction?.onFocus;
|
|
145
|
+
if (_actionCallback.onFocus) {
|
|
147
146
|
focusNode.setOnFocus(_onFocus);
|
|
148
147
|
}
|
|
149
|
-
|
|
150
|
-
if (
|
|
148
|
+
_actionCallback.onBlur = props.onBlur || props.onAction?.onBlur;
|
|
149
|
+
if (_actionCallback.onBlur) {
|
|
151
150
|
focusNode.setOnBlur(_onBlur);
|
|
152
151
|
}
|
|
153
152
|
|
|
154
|
-
|
|
153
|
+
_actionCallback.onCustomerEvent =
|
|
155
154
|
props.onCustomerEvent || props.onAction?.onCustomerEvent;
|
|
156
|
-
if (
|
|
155
|
+
if (_actionCallback.onCustomerEvent) {
|
|
157
156
|
focusNode.setOnCustomerEvent(_onCustomerEvent);
|
|
158
157
|
}
|
|
159
158
|
// 建立父子关系链
|
|
160
|
-
let self = toRaw(
|
|
159
|
+
let self = toRaw(_fDivRef.value);
|
|
161
160
|
let parent = self.parentElement;
|
|
162
161
|
while (parent) {
|
|
163
162
|
if (self.FocusNodeRef.GetParentPage()) {
|
|
@@ -174,32 +173,35 @@ const _mountToFocusSystem = () => {
|
|
|
174
173
|
}
|
|
175
174
|
};
|
|
176
175
|
|
|
177
|
-
|
|
176
|
+
function _onDispatchKeyDown(ev) {
|
|
178
177
|
ev.ownerNode = exportObject;
|
|
179
|
-
return
|
|
178
|
+
return _actionCallback?.onDispatchKeyDown(ev) || false;
|
|
180
179
|
};
|
|
181
|
-
|
|
180
|
+
function _onDispatchKeyUp(ev) {
|
|
182
181
|
ev.ownerNode = exportObject;
|
|
183
|
-
return
|
|
182
|
+
return _actionCallback?.onDispatchKeyUp(ev) || false;
|
|
184
183
|
};
|
|
185
|
-
|
|
184
|
+
function _onKeyDown(ev) {
|
|
186
185
|
ev.ownerNode = exportObject;
|
|
187
|
-
return
|
|
186
|
+
return _actionCallback?.onKeyDown(ev) || false;
|
|
188
187
|
};
|
|
189
|
-
|
|
188
|
+
function _onKeyUp(ev) {
|
|
190
189
|
ev.ownerNode = exportObject;
|
|
191
|
-
return
|
|
190
|
+
return _actionCallback?.onKeyUp(ev) || false;
|
|
192
191
|
};
|
|
193
|
-
|
|
194
|
-
|
|
192
|
+
function _onFocus() {
|
|
193
|
+
_actionCallback?.onFocus(exportObject);
|
|
195
194
|
};
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
function _onBlur() {
|
|
196
|
+
_actionCallback?.onBlur(exportObject);
|
|
198
197
|
};
|
|
199
|
-
|
|
200
|
-
return
|
|
198
|
+
function _onCustomerEvent(ev) {
|
|
199
|
+
return _actionCallback?.onCustomerEvent(ev) || false;
|
|
201
200
|
};
|
|
202
201
|
|
|
202
|
+
let _actionCallback = {};
|
|
203
|
+
let _fDivRef = ref(null);
|
|
204
|
+
|
|
203
205
|
onMounted(() => {
|
|
204
206
|
_mountToFocusSystem();
|
|
205
207
|
|
|
@@ -209,7 +211,7 @@ onMounted(() => {
|
|
|
209
211
|
});
|
|
210
212
|
|
|
211
213
|
onBeforeUnmount(() => {
|
|
212
|
-
const focusNode = toRaw(
|
|
214
|
+
const focusNode = toRaw(_fDivRef.value)?.FocusNodeRef;
|
|
213
215
|
focusNode?.onUnMount();
|
|
214
216
|
if (focusNode?.jsvVueComponent) {
|
|
215
217
|
focusNode.jsvVueComponent = undefined;
|
|
@@ -220,7 +222,9 @@ defineExpose(exportObject);
|
|
|
220
222
|
</script>
|
|
221
223
|
|
|
222
224
|
<template>
|
|
223
|
-
|
|
225
|
+
<div>
|
|
226
|
+
<fdiv ref="_fDivRef" :fname="name" :new-namespace="namespace">
|
|
224
227
|
<slot></slot>
|
|
225
228
|
</fdiv>
|
|
229
|
+
</div>
|
|
226
230
|
</template>
|
|
@@ -13,7 +13,7 @@ export class JsvFocusManager {
|
|
|
13
13
|
constructor() {}
|
|
14
14
|
|
|
15
15
|
install(app, ...options) {
|
|
16
|
-
console.log("JsvFocusManager install");
|
|
16
|
+
// console.log("JsvFocusManager install");
|
|
17
17
|
if (typeof options[0] !== "string") {
|
|
18
18
|
throw new Error(
|
|
19
19
|
"JsvFocusManager Error: 2nd argument is required. Such as: app.use(FocusManager, '#app')"
|
|
@@ -206,7 +206,6 @@ class JsvBaseMedia {
|
|
|
206
206
|
timeUpdateLess: false,
|
|
207
207
|
rate: 1.0,
|
|
208
208
|
volume: 1.0,
|
|
209
|
-
chromaKey: null,
|
|
210
209
|
};
|
|
211
210
|
|
|
212
211
|
this.local = {
|
|
@@ -342,10 +341,6 @@ class JsvBaseMedia {
|
|
|
342
341
|
if(this.state["aspectRatio"] !== "origin"){
|
|
343
342
|
this.setState("aspectRatio", this.state["aspectRatio"], "string");
|
|
344
343
|
}
|
|
345
|
-
|
|
346
|
-
if(this.state["chromaKey"]){
|
|
347
|
-
this.setState("chromaKey", this.state["chromaKey"], "string");
|
|
348
|
-
}
|
|
349
344
|
}
|
|
350
345
|
|
|
351
346
|
onVisibilityChangeCallBack(){
|
|
@@ -1159,33 +1154,12 @@ class JsvBaseMedia {
|
|
|
1159
1154
|
* @param {double} time,值为从当前时间计算向前移动了多长时间,单位秒。
|
|
1160
1155
|
*/
|
|
1161
1156
|
setTimeShift(time){
|
|
1162
|
-
logTrace("setTimeShift, key="+this.key+", time
|
|
1157
|
+
logTrace("setTimeShift, key="+this.key+", time"+time);
|
|
1163
1158
|
if(this.playerCreate && this.appVisible){
|
|
1164
1159
|
window.jsvPlayerBridge.setTimeShift(this.key, time);
|
|
1165
1160
|
}
|
|
1166
1161
|
}
|
|
1167
1162
|
|
|
1168
|
-
/**
|
|
1169
|
-
* 设置色度抠像参数,只支持扣绿。
|
|
1170
|
-
* 参考格式:{color: 0x30FF30, colorDistance: 0.15, edgeDistance: 0.4, greenOffset: 0.05}
|
|
1171
|
-
* @param {JSON object} chromaKey,抠像参数,JSON Object包含的参数如下:
|
|
1172
|
-
* color,色值,int类型,为抠图色值范围的中心点,格式为0xRRGGBB。
|
|
1173
|
-
* colorDistance,float类型,色域范围,范围0-1.0。
|
|
1174
|
-
* edgeDistance,float类型,alpha透明度距离,范围colorDistance-1.0,从colorDistance到edgeDistance的alpha值从1.0-0线性递减。
|
|
1175
|
-
* greenOffset,float类型,红蓝差值,范围0-1.0。
|
|
1176
|
-
*/
|
|
1177
|
-
setChromaKey(chromaKey){
|
|
1178
|
-
logTrace("setChromaKey, key="+this.key+", chroma key="+JSON.stringify(chromaKey));
|
|
1179
|
-
this.setState("chromaKey", JSON.stringify(chromaKey), "string");
|
|
1180
|
-
}
|
|
1181
|
-
|
|
1182
|
-
setDebugMode(mode){
|
|
1183
|
-
logTrace("setDebugMode, key="+this.key+", mode="+mode);
|
|
1184
|
-
if(typeof window.jsvPlayerBridge !== "undefined"){
|
|
1185
|
-
return window.jsvPlayerBridge.setDebugMode(this.key, mode);
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
1163
|
/**
|
|
1190
1164
|
* 私有接口,外部不需要调用此接口。
|
|
1191
1165
|
*/
|
|
@@ -1312,7 +1286,7 @@ function getJsvPlayerCapabilitySet(){
|
|
|
1312
1286
|
* 支持三个属性:1、total:总的播放器个数;2、hardware:硬解播放器个数;3、软解播放器个数,如果硬解播放器个数不满足需求,会根据cpu能力确定是否提供软解播放器。
|
|
1313
1287
|
* */
|
|
1314
1288
|
function setJsvPlayerNumber(videoType, num){
|
|
1315
|
-
logTrace("setPlayerNumber, videoType="+videoType+", num="+num);
|
|
1289
|
+
logTrace("setPlayerNumber, key="+this.key+", videoType="+videoType+", num="+num);
|
|
1316
1290
|
if(typeof window.jsvPlayerBridge !== "undefined"){
|
|
1317
1291
|
return window.jsvPlayerBridge.setPlayerNumber(videoType, num);
|
|
1318
1292
|
}else{
|
|
@@ -1320,13 +1294,6 @@ function setJsvPlayerNumber(videoType, num){
|
|
|
1320
1294
|
}
|
|
1321
1295
|
}
|
|
1322
1296
|
|
|
1323
|
-
function setJsvPlayerDebugMode(mode){
|
|
1324
|
-
logTrace("setDebugMode, mode="+mode);
|
|
1325
|
-
if(typeof window.jsvPlayerBridge !== "undefined"){
|
|
1326
|
-
return window.jsvPlayerBridge.setDebugMode(null, mode);
|
|
1327
|
-
}
|
|
1328
|
-
}
|
|
1329
|
-
|
|
1330
1297
|
export {
|
|
1331
1298
|
JsvMediaVideo,
|
|
1332
1299
|
JsvMediaAudio,
|
|
@@ -1340,5 +1307,4 @@ export {
|
|
|
1340
1307
|
logWarning,
|
|
1341
1308
|
logDebug,
|
|
1342
1309
|
logTrace,
|
|
1343
|
-
setJsvPlayerDebugMode,
|
|
1344
1310
|
}
|
|
@@ -54,16 +54,6 @@ export default {
|
|
|
54
54
|
* 属性,String类型,视频显示比例,origin原始比例显示,full全屏显示,x:y按照指定比例显示。
|
|
55
55
|
*/
|
|
56
56
|
videoAspectRatio: {type: String, default: "origin"},
|
|
57
|
-
/**
|
|
58
|
-
* 属性,JSON Object类型,色度抠像参数,包含color,colorDistance,edgeDistance,greenOffset四个参数,
|
|
59
|
-
* 参考格式:{color: 0x30FF30, colorDistance: 0.15, edgeDistance: 0.4, greenOffset: 0.05}
|
|
60
|
-
* color,色值,int类型,为抠图色值范围的中心点,格式为0xRRGGBB。
|
|
61
|
-
* colorDistance,float类型,色域范围,范围0-1.0。
|
|
62
|
-
* edgeDistance,float类型,alpha透明度距离,范围colorDistance-1.0,从colorDistance到edgeDistance的alpha值从1.0-0线性递减。
|
|
63
|
-
* greenOffset,float类型,红蓝差值,范围0-1.0。
|
|
64
|
-
* 目前只支持扣绿。
|
|
65
|
-
*/
|
|
66
|
-
chromaKey: {type: Object, default: null},
|
|
67
57
|
/**
|
|
68
58
|
* 回调函数,播放结束时通过此回调接口通知。
|
|
69
59
|
*/
|
|
@@ -272,10 +262,6 @@ export default {
|
|
|
272
262
|
if(this.videoAspectRatio !== "origin"){
|
|
273
263
|
this.video.videoAspectRatio = this.videoAspectRatio;
|
|
274
264
|
}
|
|
275
|
-
|
|
276
|
-
if(this.chromaKey && this.chromaKey !== ""){
|
|
277
|
-
this.video.setChromaKey(this.chromaKey)
|
|
278
|
-
}
|
|
279
265
|
//}else{
|
|
280
266
|
if(!first_create){
|
|
281
267
|
this.video.setHoleID(this.holeId);
|
|
@@ -2,13 +2,10 @@
|
|
|
2
2
|
import * as JsvPlayer from "./JsvPlayer.vue";
|
|
3
3
|
import { globalLoadJsvPlayerPlugin as initPlugin } from "./JsvMedia.js"
|
|
4
4
|
import { getJsvPlayerCapabilitySet as getCapabilitySet } from "./JsvMedia.js"
|
|
5
|
-
import { setJsvPlayerDebugMode as setDebugMode } from "./JsvMedia.js"
|
|
6
5
|
let _JsvPlayer = JsvPlayer;
|
|
7
6
|
|
|
8
7
|
let globalLoadJsvPlayerPlugin = initPlugin;
|
|
9
8
|
let getJsvPlayerCapabilitySet = getCapabilitySet;
|
|
10
|
-
let setJsvPlayerDebugMode = setDebugMode;
|
|
11
|
-
|
|
12
9
|
if (window.JsvWidgetWrapperGroup?.BrowserJsvPlayer) {
|
|
13
10
|
// 浏览器版本
|
|
14
11
|
_JsvPlayer = window.JsvWidgetWrapperGroup.BrowserJsvPlayer;
|
|
@@ -22,10 +19,6 @@ if (window.JsvWidgetWrapperGroup?.BrowserJsvPlayer) {
|
|
|
22
19
|
getJsvPlayerCapabilitySet = () => {
|
|
23
20
|
return null;
|
|
24
21
|
}
|
|
25
|
-
|
|
26
|
-
setJsvPlayerDebugMode = () => {
|
|
27
|
-
console.log("Set debug mode");
|
|
28
|
-
}
|
|
29
22
|
}
|
|
30
23
|
|
|
31
24
|
let component = _JsvPlayer.default;
|
|
@@ -34,5 +27,5 @@ export default component;
|
|
|
34
27
|
export {
|
|
35
28
|
globalLoadJsvPlayerPlugin, // 全局初始化播放器插件处理
|
|
36
29
|
getJsvPlayerCapabilitySet, //获取设备能力集
|
|
37
|
-
|
|
30
|
+
|
|
38
31
|
}
|
|
@@ -2,16 +2,16 @@ let PluginInfo={
|
|
|
2
2
|
// downloadUrl:"http://192.168.0.63:8080/plugin/JsvPlayer-164.zip", //插件下载地址
|
|
3
3
|
packageName:"com.qcode.jsvplayer",
|
|
4
4
|
name:"播放器插件",
|
|
5
|
-
version:"1.6.
|
|
6
|
-
versionCodeMin:
|
|
7
|
-
versionCodeMax:
|
|
5
|
+
version:"1.6.6", //插件需要的版本号
|
|
6
|
+
versionCodeMin:166,
|
|
7
|
+
versionCodeMax:166,
|
|
8
8
|
bridgeName:"jsvPlayerBridge", //插件bridge注册到jsview的名称
|
|
9
9
|
className:"com.qcode.jsvplayer.JsvPlayer", //插件初始化类名称
|
|
10
10
|
initMethod:"createInstance", //插件初始化方法
|
|
11
11
|
listener:"top.JsvPlayerPluginLoadResult", //插件加载结果回调
|
|
12
12
|
listener2: "top.JsvPlayerPluginStatus",
|
|
13
13
|
// debug:true,
|
|
14
|
-
md5:"
|
|
14
|
+
md5:"b08edbe68f22ba93855a2016d9372858"
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
// 不要用export default,update-env脚本不能解析
|
|
@@ -5,10 +5,10 @@ class JsvHashHistory {
|
|
|
5
5
|
if(window.jsvIsBrowserDebug) {
|
|
6
6
|
this.#history = createWebHashHistory(base)
|
|
7
7
|
} else {
|
|
8
|
-
this.#history = this
|
|
8
|
+
this.#history = this._createMockHashHistory(base);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
get location() {
|
|
13
13
|
return this.#history.location;
|
|
14
14
|
}
|
|
@@ -31,24 +31,24 @@ class JsvHashHistory {
|
|
|
31
31
|
|
|
32
32
|
replace(to, data) {
|
|
33
33
|
this.#history.replace(to, data);
|
|
34
|
-
this
|
|
34
|
+
this._updateLocation(this.#history.location);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
push(to, data) {
|
|
38
38
|
this.#history.push(to, data);
|
|
39
|
-
this
|
|
39
|
+
this._updateLocation(this.#history.location);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
go(delta, triggerListeners) {
|
|
43
43
|
this.#history.go(delta, triggerListeners);
|
|
44
|
-
this
|
|
44
|
+
this._updateLocation(this.#history.location);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
destroy() {
|
|
48
48
|
this.#history.destroy();
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
_createMockHashHistory(base) {
|
|
52
52
|
// 抄 createWebHashHistory 作业
|
|
53
53
|
base = location.host ? base || location.pathname + location.search : '';
|
|
54
54
|
if (!base.includes('#'))
|
|
@@ -60,7 +60,7 @@ class JsvHashHistory {
|
|
|
60
60
|
this.baseURL = window.location.origin + base;
|
|
61
61
|
|
|
62
62
|
const history = createMemoryHistory(base)
|
|
63
|
-
const initHash = this
|
|
63
|
+
const initHash = this._getInitHash();
|
|
64
64
|
if(initHash) {
|
|
65
65
|
// 已设置hash,替换到hash页面
|
|
66
66
|
history.replace({
|
|
@@ -69,13 +69,13 @@ class JsvHashHistory {
|
|
|
69
69
|
});
|
|
70
70
|
} else {
|
|
71
71
|
// 未设置hash定位,追加hash根的显示
|
|
72
|
-
this
|
|
72
|
+
this._updateLocation(null);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
return history;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
_getInitHash() {
|
|
79
79
|
let initHash;
|
|
80
80
|
|
|
81
81
|
// 抓取history hash在启动过程中的变更, 用于warmUp/warmLoad不一致的情况。
|
|
@@ -94,7 +94,7 @@ class JsvHashHistory {
|
|
|
94
94
|
return initHash;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
_updateLocation(location) {
|
|
98
98
|
if(!window.jsvIsBrowserDebug) {
|
|
99
99
|
const url = new window.JsView.Dom.UrlRef(
|
|
100
100
|
location ? this.baseURL + location : this.baseURL,
|
|
@@ -107,8 +107,8 @@ class JsvHashHistory {
|
|
|
107
107
|
#history;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
function
|
|
110
|
+
function jsvCreateHashHistory(base) {
|
|
111
111
|
return new JsvHashHistory(base)
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
export {
|
|
114
|
+
export { jsvCreateHashHistory }
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
// 添加jsvCreateHashHistory的声明
|
|
2
|
+
export declare function jsvCreateHashHistory(): RouterHistory;
|
|
3
|
+
|
|
4
|
+
|
|
1
5
|
declare module '@shijiu/jsview-vue/utils/JsViewVueTools/JsvRuntimeBridge' {
|
|
2
6
|
export const jJsvRuntimeBridge: {
|
|
3
7
|
notifyPageLoaded();
|
|
@@ -10,4 +14,4 @@ declare module 'jsview/utils/JsViewVueTools/JsvRuntimeBridge' {
|
|
|
10
14
|
}
|
|
11
15
|
}
|
|
12
16
|
|
|
13
|
-
declare module '*.js'
|
|
17
|
+
declare module '*.js'
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: ChenChanghua
|
|
3
3
|
* @Date: 2022-07-05 14:09:55
|
|
4
4
|
* @LastEditors: ChenChanghua
|
|
5
|
-
* @LastEditTime: 2022-
|
|
5
|
+
* @LastEditTime: 2022-07-06 11:03:34
|
|
6
6
|
* @Description: file content
|
|
7
7
|
*/
|
|
8
8
|
|
|
@@ -16,5 +16,4 @@ export * from "./JsvRefTaker.js";
|
|
|
16
16
|
export * from "./JsvStyleClass.js";
|
|
17
17
|
export * from "./DebugContentShellJBridge.js";
|
|
18
18
|
export * from "./DebugTool.js";
|
|
19
|
-
export * from "./JsvImpactTracer.js";
|
|
20
19
|
export { default as DefaultKeyCodeMap } from "./DefaultKeyMap.js";
|
|
@@ -10,8 +10,6 @@ export default {
|
|
|
10
10
|
setup() {
|
|
11
11
|
return {
|
|
12
12
|
preloadResultMap: {},
|
|
13
|
-
downloadResultMap: {},
|
|
14
|
-
downloadUrlList: [],
|
|
15
13
|
unmountStatus: {unmount:false}
|
|
16
14
|
};
|
|
17
15
|
},
|
|
@@ -72,19 +70,16 @@ export default {
|
|
|
72
70
|
},
|
|
73
71
|
getDownloadList() {
|
|
74
72
|
this.downloadStateList = new Array(this.downloadList.length).fill(false);
|
|
75
|
-
this.downloadUrlList = new Array(this.downloadStateList.length);
|
|
76
73
|
let downloadListData = this.downloadList;
|
|
77
74
|
for (let i = 0; i < downloadListData.length; i++) {
|
|
78
75
|
if (!downloadListData[i].url) {
|
|
79
76
|
this.downloadStateList[i] = true;
|
|
80
|
-
this.downloadUrlList[i] = "invalid";
|
|
81
77
|
// downloadListData.splice(i, 1);
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
this._DownloadViewList = downloadListData.map((item, index) => {
|
|
85
81
|
if (!item.url) {
|
|
86
82
|
this.downloadStateList[index] = true;
|
|
87
|
-
this.downloadUrlList[index] = "invalid";
|
|
88
83
|
return null;
|
|
89
84
|
}
|
|
90
85
|
const image = new Image();
|
|
@@ -96,11 +91,6 @@ export default {
|
|
|
96
91
|
}
|
|
97
92
|
|
|
98
93
|
this.downloadStateList[index] = true;
|
|
99
|
-
this.downloadUrlList[index] = item.url;
|
|
100
|
-
this.downloadResultMap[item.url] = {
|
|
101
|
-
width: image.width,
|
|
102
|
-
height: image.height
|
|
103
|
-
}
|
|
104
94
|
console.log(`pre download succeed ${item.url}`);
|
|
105
95
|
if (this.onDownloadDone) {
|
|
106
96
|
let downloadNum = 0;
|
|
@@ -108,7 +98,7 @@ export default {
|
|
|
108
98
|
downloadNum += item ? 1 : 0;
|
|
109
99
|
});
|
|
110
100
|
if (downloadNum == this.downloadStateList.length) {
|
|
111
|
-
this.onDownloadDone?.(
|
|
101
|
+
this.onDownloadDone?.();
|
|
112
102
|
}
|
|
113
103
|
}
|
|
114
104
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: ChenChanghua
|
|
3
3
|
* @Date: 2021-10-20 17:21:21
|
|
4
4
|
* @LastEditors: ChenChanghua
|
|
5
|
-
* @LastEditTime:
|
|
5
|
+
* @LastEditTime: 2021-11-18 16:45:05
|
|
6
6
|
* @Description: file content
|
|
7
7
|
-->
|
|
8
8
|
|
|
@@ -48,7 +48,7 @@ export default {
|
|
|
48
48
|
if (this.refDefine) {
|
|
49
49
|
const type = typeof this.refDefine;
|
|
50
50
|
if (type === "object") {
|
|
51
|
-
|
|
51
|
+
type.current = this.$refs.element;
|
|
52
52
|
} else if (type === "function") {
|
|
53
53
|
this.refDefine(this.$refs.element);
|
|
54
54
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: ChenChanghua
|
|
3
3
|
* @Date: 2022-01-20 10:37:01
|
|
4
4
|
* @LastEditors: ChenChanghua
|
|
5
|
-
* @LastEditTime: 2022-
|
|
5
|
+
* @LastEditTime: 2022-01-20 17:07:17
|
|
6
6
|
* @Description: file content
|
|
7
7
|
-->
|
|
8
8
|
<script>
|
|
@@ -39,9 +39,7 @@ export default {
|
|
|
39
39
|
this.visible = show;
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
|
-
mounted() {
|
|
43
|
-
this.startBlink();
|
|
44
|
-
},
|
|
42
|
+
mounted() {},
|
|
45
43
|
beforeUnmount() {
|
|
46
44
|
this._cleanInterval();
|
|
47
45
|
},
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @Author: ChenChanghua
|
|
3
3
|
* @Date: 2022-01-20 10:35:56
|
|
4
4
|
* @LastEditors: ChenChanghua
|
|
5
|
-
* @LastEditTime: 2022-
|
|
5
|
+
* @LastEditTime: 2022-02-21 10:17:42
|
|
6
6
|
* @Description: file content
|
|
7
7
|
-->
|
|
8
8
|
<script>
|
|
@@ -228,9 +228,9 @@ export default {
|
|
|
228
228
|
!ifDigital(add_text) &&
|
|
229
229
|
this.type === InputType.NUMBER
|
|
230
230
|
) {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
231
|
+
console.log(
|
|
232
|
+
`onTextChanged add text failed, add_text:${add_text}, when input type is number!`
|
|
233
|
+
);
|
|
234
234
|
if (this.editControlView) {
|
|
235
235
|
this.editControlView.updateCursorOffset(
|
|
236
236
|
this.fullString,
|
|
@@ -255,7 +255,7 @@ export default {
|
|
|
255
255
|
|
|
256
256
|
// 1:shown 0:hidden
|
|
257
257
|
_onStatusChanged(status) {
|
|
258
|
-
|
|
258
|
+
console.log("OnStatusChanged status", status);
|
|
259
259
|
},
|
|
260
260
|
|
|
261
261
|
_getStringWithFont(str) {
|
|
@@ -327,7 +327,7 @@ export default {
|
|
|
327
327
|
|
|
328
328
|
add(string) {
|
|
329
329
|
if (this.type === InputType.NUMBER && !ifDigital(string)) {
|
|
330
|
-
|
|
330
|
+
console.log(`The input data:${string} is not number`);
|
|
331
331
|
return;
|
|
332
332
|
}
|
|
333
333
|
const pre_full_str = this.fullString;
|
|
@@ -573,9 +573,8 @@ export default {
|
|
|
573
573
|
},
|
|
574
574
|
|
|
575
575
|
onFocus() {
|
|
576
|
-
|
|
576
|
+
console.log("Input Focus");
|
|
577
577
|
this.isFocus = true;
|
|
578
|
-
this.$refs.cursor?.startBlink();
|
|
579
578
|
if (this.editControlView && !this.readonly) {
|
|
580
579
|
this.editControlView.showIme(
|
|
581
580
|
this.type,
|
|
@@ -587,7 +586,7 @@ export default {
|
|
|
587
586
|
|
|
588
587
|
onBlur() {
|
|
589
588
|
this.isFocus = false;
|
|
590
|
-
|
|
589
|
+
console.log("Input Blur");
|
|
591
590
|
if (this.editControlView && !this.readonly) {
|
|
592
591
|
this.editControlView.hideIme();
|
|
593
592
|
}
|
|
@@ -605,7 +604,9 @@ export default {
|
|
|
605
604
|
}
|
|
606
605
|
this.clearCursorPauseTimer();
|
|
607
606
|
this.cursorPauseTimeoutToken = setTimeout(() => {
|
|
608
|
-
this.$refs.cursor
|
|
607
|
+
if (this.$refs.cursor) {
|
|
608
|
+
this.$refs.cursor?.startBlink();
|
|
609
|
+
}
|
|
609
610
|
}, 500);
|
|
610
611
|
},
|
|
611
612
|
onKeyDown(keyEvent) {
|
|
@@ -730,9 +731,7 @@ export default {
|
|
|
730
731
|
this.textWidth = cur_position > this.width ? cur_position : this.width;
|
|
731
732
|
this.textLeft = this._calculateSlide("", this.value, this.value.length);
|
|
732
733
|
},
|
|
733
|
-
mounted() {
|
|
734
|
-
this.$refs.cursor?.startBlink();
|
|
735
|
-
},
|
|
734
|
+
mounted() {},
|
|
736
735
|
beforeUnmount() {
|
|
737
736
|
if (this.editControlViewId != -1) {
|
|
738
737
|
const view_store = ForgeExtension.RootActivity
|