123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- export default Behavior({
- created: function () {
- this.checkInitShare();
- },
- methods: {
- checkInitShare() {
- wx.xrScene = undefined;
- if (!this.scene) {
- setTimeout(() => {
- this.checkInitShare()
- }, 100);
- return;
- }
- if (this.scene.ar) {
- if (this.scene.ar.ready) {
- this.initARTrackerState(this.scene);
- } else {
- this.scene.event.add('ar-ready', () => this.initARTrackerState(this.scene));
- }
- }
- if (!this.scene.share.supported) {
- console.warn('Not support xr-frame share system now!');
- return;
- }
- this.sharing = false;
- wx.xrScene = this.scene;
- },
- initARTrackerState(scene) {
- const xrFrameSystem = wx.getXrFrameSystem();
- scene.dfs(() => {}, undefined, true, el => {
- const comp = el.getComponent(xrFrameSystem.ARTracker);
- if (comp) {
- if (typeof comp.state === 'number') {
- this.triggerEvent('arTrackerState', {state: comp.state, error: comp.errorMessage});
- el.event.add('ar-tracker-state', tracker => {
- this.triggerEvent('arTrackerState', {state: tracker.state, error: tracker.errorMessage});
- });
- }
- return true;
- }
- });
- }
- }
- })
|