1import { paramMock } from "./utils" 2 3export function mockWindow() { 4 const windowPropertiesMock = { 5 brightness: '[PC preview] unknow brightness', 6 isFullScreen: '[PC preview] unknow isFullScreen', 7 isKeepScreenOn: '[PC preview] unknow isKeepScreenOn', 8 isPrivacyMode: '[PC preview] unknow isPrivacyMode', 9 touchable: '[PC preview] unknow touchable', 10 focusable: '[PC preview] unknow focusable', 11 isLayoutFullScreen: '[PC preview] unknow isLayoutFullScreen', 12 isDimBehind: '[PC preview] unknow isDimBehind', 13 isTransparent: '[PC preview] unknow isTransparent', 14 isRoundCorner: '[PC preview] unknow isRoundCorner' 15 } 16 const AvoidAreaMock = { 17 left: '[PC preview] unknow Rect.left Rect.top Rect.right Rect.bottom', 18 top: '[PC preview] unknow Rect.left Rect.top Rect.right Rect.bottom', 19 right: '[PC preview] unknow Rect.left Rect.top Rect.right Rect.bottom', 20 bottom: '[PC preview] unknow Rect.left Rect.top Rect.right Rect.bottom' 21 22 } 23 const windowMock = { 24 setBrightness: function (...args) { 25 console.warn("Window.setBrightness interface mocked in the Previewer. How this interface works on the" + 26 " Previewer may be different from that on a real device.") 27 const len = args.length 28 if (typeof args[len - 1] === 'function') { 29 args[len - 1].call(this, paramMock.businessErrorMock) 30 } else { 31 return new Promise((resolve) => { 32 resolve() 33 }) 34 } 35 }, 36 setBackgroundColor: function (...args) { 37 console.warn("Window.setBackgroundColor interface mocked in the Previewer. How this interface works on the" + 38 " Previewer may be different from that on a real device.") 39 const len = args.length 40 if (typeof args[len - 1] === 'function') { 41 args[len - 1].call(this, paramMock.businessErrorMock) 42 } else { 43 return new Promise((resolve) => { 44 resolve() 45 }) 46 } 47 }, 48 setFullScreen: function (...args) { 49 console.warn("Window.setFullScreen interface mocked in the Previewer. How this interface works on the" + 50 " Previewer may be different from that on a real device.") 51 const len = args.length 52 if (typeof args[len - 1] === 'function') { 53 args[len - 1].call(this, paramMock.businessErrorMock) 54 } else { 55 return new Promise((resolve) => { 56 resolve() 57 }) 58 } 59 }, 60 setKeepScreenOn: function (...args) { 61 console.warn("Window.setKeepScreenOn interface mocked in the Previewer. How this interface works on the" + 62 " Previewer may be different from that on a real device.") 63 const len = args.length 64 if (typeof args[len - 1] === 'function') { 65 args[len - 1].call(this, paramMock.businessErrorMock) 66 } else { 67 return new Promise((resolve) => { 68 resolve() 69 }) 70 } 71 }, 72 setSystemBarProperties: function (...args) { 73 console.warn("Window.setSystemBarProperties interface mocked in the Previewer. How this interface works on the" + 74 " Previewer may be different from that on a real device.") 75 const len = args.length 76 if (typeof args[len - 1] === 'function') { 77 args[len - 1].call(this, paramMock.businessErrorMock) 78 } else { 79 return new Promise((resolve) => { 80 resolve() 81 }) 82 } 83 }, 84 getProperties: function (...args) { 85 console.warn("Window.getProperties interface mocked in the Previewer. How this interface works on the" + 86 " Previewer may be different from that on a real device.") 87 const len = args.length 88 if (typeof args[len - 1] === 'function') { 89 args[len - 1].call(this, paramMock.businessErrorMock, windowPropertiesMock) 90 } else { 91 return new Promise((resolve) => { 92 resolve(windowPropertiesMock) 93 }) 94 } 95 }, 96 on: function (...args) { 97 console.warn("Window.on interface mocked in the Previewer. How this interface works on the Previewer may be" + 98 " different from that on a real device.") 99 const len = args.length 100 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock) 101 }, 102 off: function (...args) { 103 console.warn("Window.off interface mocked in the Previewer. How this interface works on the Previewer may be" + 104 " different from that on a real device.") 105 const len = args.length 106 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock) 107 }, 108 setSystemBarEnable: function (...args) { 109 console.warn("Window.setSystemBarEnable interface mocked in the Previewer. How this interface works on the" + 110 " Previewer may be different from that on a real device.") 111 const len = args.length 112 if (typeof args[len - 1] === 'function') { 113 args[len - 1].call(this, paramMock.businessErrorMock) 114 } else { 115 return new Promise((resolve) => { 116 resolve() 117 }) 118 } 119 }, 120 setTransparent: function (...args) { 121 console.warn("Window.setTransparent interface mocked in the Previewer. How this interface works on the" + 122 " Previewer may be different from that on a real device.") 123 const len = args.length 124 if (typeof args[len - 1] === 'function') { 125 args[len - 1].call(this, paramMock.businessErrorMock) 126 } else { 127 return new Promise((resolve) => { 128 resolve() 129 }) 130 } 131 }, 132 setWindowType: function (...args) { 133 console.warn("Window.setWindowType interface mocked in the Previewer. How this interface works on the" + 134 " Previewer may be different from that on a real device.") 135 const len = args.length 136 if (typeof args[len - 1] === 'function') { 137 args[len - 1].call(this, paramMock.businessErrorMock) 138 } else { 139 return new Promise((resolve) => { 140 resolve() 141 }) 142 } 143 }, 144 setPrivacyMode: function (...args) { 145 console.warn("Window.setPrivacyMode interface mocked in the Previewer. How this interface works on the" + 146 " Previewer may be different from that on a real device.") 147 const len = args.length 148 if (typeof args[len - 1] === 'function') { 149 args[len - 1].call(this, paramMock.businessErrorMock) 150 } else { 151 return new Promise((resolve) => { 152 resolve() 153 }) 154 } 155 }, 156 setTouchable: function (...args) { 157 console.warn("Window.setTouchable interface mocked in the Previewer. How this interface works on the" + 158 " Previewer may be different from that on a real device.") 159 const len = args.length 160 if (typeof args[len - 1] === 'function') { 161 args[len - 1].call(this, paramMock.businessErrorMock) 162 } else { 163 return new Promise((resolve) => { 164 resolve() 165 }) 166 } 167 }, 168 setFocusable: function (...args) { 169 console.warn("Window.setFocusable interface mocked in the Previewer. How this interface works on the" + 170 " Previewer may be different from that on a real device.") 171 const len = args.length 172 if (typeof args[len - 1] === 'function') { 173 args[len - 1].call(this, paramMock.businessErrorMock) 174 } else { 175 return new Promise((resolve) => { 176 resolve() 177 }) 178 } 179 }, 180 setLayoutFullScreen: function (...args) { 181 console.warn("Window.setLayoutFullScreen interface mocked in the Previewer. How this interface works on the" + 182 " Previewer may be different from that on a real device.") 183 const len = args.length 184 if (typeof args[len - 1] === 'function') { 185 args[len - 1].call(this, paramMock.businessErrorMock) 186 } else { 187 return new Promise((resolve) => { 188 resolve() 189 }) 190 } 191 }, 192 getAvoidArea: function (...args) { 193 console.warn("Window.getAvoidArea interface mocked in the Previewer. How this interface works on the" + 194 " Previewer may be different from that on a real device.") 195 const len = args.length 196 if (typeof args[len - 1] === 'function') { 197 args[len - 1].call(this, paramMock.businessErrorMock, AvoidAreaMock) 198 } else { 199 return new Promise((resolve) => { 200 resolve(AvoidAreaMock) 201 }) 202 } 203 }, 204 setDimBehind: function (...args) { 205 console.warn("Window.setDimBehind interface mocked in the Previewer. How this interface works on the" + 206 " Previewer may be different from that on a real device.") 207 const len = args.length 208 if (typeof args[len - 1] === 'function') { 209 args[len - 1].call(this, paramMock.businessErrorMock) 210 } else { 211 return new Promise((resolve) => { 212 resolve() 213 }) 214 } 215 }, 216 loadContent: function (...args) { 217 console.warn("Window.loadContent interface mocked in the Previewer. How this interface works on the" + 218 " Previewer may be different from that on a real device.") 219 const len = args.length 220 if (typeof args[len - 1] === 'function') { 221 args[len - 1].call(this, paramMock.businessErrorMock) 222 } else { 223 return new Promise((resolve) => { 224 resolve() 225 }) 226 } 227 }, 228 hide: function (...args) { 229 console.warn("Window.hide interface mocked in the Previewer. How this interface works on the" + 230 " Previewer may be different from that on a real device.") 231 const len = args.length 232 if (typeof args[len - 1] === 'function') { 233 args[len - 1].call(this, paramMock.businessErrorMock) 234 } else { 235 return new Promise((resolve) => { 236 resolve() 237 }) 238 } 239 }, 240 show: function (...args) { 241 console.warn("Window.show interface mocked in the Previewer. How this interface works on the" + 242 " Previewer may be different from that on a real device.") 243 const len = args.length 244 if (typeof args[len - 1] === 'function') { 245 args[len - 1].call(this, paramMock.businessErrorMock) 246 } else { 247 return new Promise((resolve) => { 248 resolve() 249 }) 250 } 251 }, 252 isShowing: function (...args) { 253 console.warn("Window.isShowing interface mocked in the Previewer. How this interface works on the" + 254 " Previewer may be different from that on a real device.") 255 const len = args.length 256 if (typeof args[len - 1] === 'function') { 257 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramBooleanMock) 258 } else { 259 return new Promise((resolve) => { 260 resolve(paramMock.paramBooleanMock) 261 }) 262 } 263 }, 264 destroy: function (...args) { 265 console.warn("Window.destroy interface mocked in the Previewer. How this interface works on the" + 266 " Previewer may be different from that on a real device.") 267 const len = args.length 268 if (typeof args[len - 1] === 'function') { 269 args[len - 1].call(this, paramMock.businessErrorMock) 270 } else { 271 return new Promise((resolve) => { 272 resolve() 273 }) 274 } 275 }, 276 setOutsideTouchable: function (...args) { 277 console.warn("Window.setOutsideTouchable interface mocked in the Previewer. How this interface works on the" + 278 " Previewer may be different from that on a real device.") 279 const len = args.length 280 if (typeof args[len - 1] === 'function') { 281 args[len - 1].call(this, paramMock.businessErrorMock) 282 } else { 283 return new Promise((resolve) => { 284 resolve() 285 }) 286 } 287 }, 288 } 289 global.systemplugin.window = { 290 getTopWindow: function (...args) { 291 console.warn("window.getTopWindow interface mocked in the Previewer. How this interface works on the Previewer" + 292 " may be different from that on a real device.") 293 const len = args.length 294 if (typeof args[len - 1] === 'function') { 295 args[len - 1].call(this, paramMock.businessErrorMock, windowMock) 296 } else { 297 return new Promise((resolve, reject) => { 298 resolve(windowMock) 299 }) 300 } 301 }, 302 create: function (...args) { 303 console.warn("Window.create interface mocked in the Previewer. How this interface works on the" + 304 " Previewer may be different from that on a real device.") 305 const len = args.length 306 if (typeof args[len - 1] === 'function') { 307 args[len - 1].call(this, paramMock.businessErrorMock, windowMock) 308 } else { 309 return new Promise((resolve, reject) => { 310 resolve(windowMock) 311 }) 312 } 313 }, 314 find: function (...args) { 315 console.warn("Window.find interface mocked in the Previewer. How this interface works on the" + 316 " Previewer may be different from that on a real device.") 317 const len = args.length 318 if (typeof args[len - 1] === 'function') { 319 args[len - 1].call(this, paramMock.businessErrorMock, windowMock) 320 } else { 321 return new Promise((resolve, reject) => { 322 resolve(windowMock) 323 }) 324 } 325 }, 326 } 327}