国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

分享一個(gè)讓 uniapp 微信小程序支持 EventSource 的方法

這篇具有很好參考價(jià)值的文章主要介紹了分享一個(gè)讓 uniapp 微信小程序支持 EventSource 的方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

微信小程序不支持

EventSource(SSE)是一種HTML5標(biāo)準(zhǔn),旨在提供一種方式來在Web應(yīng)用中實(shí)現(xiàn)異步通信和事件處理。

然而,根據(jù)現(xiàn)有的信息,uni-app并沒有直接支持EventSource,這意味著開發(fā)者需要尋找其他技術(shù)或替代方案來實(shí)現(xiàn)類似的效果。

盡管有些主流瀏覽器支持SSE,但小程序目前還不能兼容這個(gè)API,這可能是由于微信平臺(tái)對(duì)新技術(shù)的兼容性考慮或是開發(fā)生態(tài)的限制。文章來源地址http://www.zghlxwxcb.cn/news/detail-853665.html

一個(gè)替代實(shí)現(xiàn)方式

class EventSource {
    constructor(url, retryTime = 0) {
        this.url = url;
        this.retryTime = retryTime;
        this.listeners = {};
        this.requestTask = null
        this.connect()
    }

    connect() {
        this.requestTask = wx.request({
            url: this.url,
            enableChunked: true,
            responseType: 'text',
            method: 'GET',
            timeout: 300e3,
            success: res => {
                this.emit('success', res)
                if (this.retryTime > 0) {
                    setTimeout(() => {
                        this.connect()
                    }, this.retryTime)
                }
            },
            fail: () => {
            }
        });
        this.requestTask.onHeadersReceived(res => {
            this.emit('open', res);
        })
        this.requestTask.onChunkReceived(res => this.handleChunk(res))
    }

    handleChunk(res) {
        const arrayBuffer = res.data;
        const uint8Array = new Uint8Array(arrayBuffer);
        let data = uni.arrayBufferToBase64(uint8Array)
        data = new Buffer(data, 'base64')
        data = data.toString('utf8')
        const lines = data.split("\n\n")
        // console.log('data', data, lines)
        lines.forEach(line => {
            if (!line.trim()) {
                return
            }
            const [key, value] = line.trim().split(':');
            if (key === 'data') {
                const data = line.substring(5).trim();
                try {
                    const json = JSON.parse(data);
                    this.emit('message', {
                        data: JSON.stringify(json)
                    })
                } catch (e) {
                    this.emit('error', 'Api.EventSource.ParseError:' + e)
                }
            } else {
                this.emit('error', 'Api.EventSource.ParseFail:' + line)
            }
        })
    }

    addEventListener(event, callback) {
        if (!this.listeners[event]) {
            this.listeners[event] = []
        }
        this.listeners[event].push(callback)
    }

    emit(event, data) {
        if (this.listeners[event]) {
            this.listeners[event].forEach(callback => {
                callback(data)
            });
        }
    }

    close() {
        if (this.requestTask) {
            this.requestTask.abort()
        }
    }
}

到了這里,關(guān)于分享一個(gè)讓 uniapp 微信小程序支持 EventSource 的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uniapp 微信小程序分享海報(bào)

    下面是一個(gè)Uniapp微信小程序分享海報(bào)的簡(jiǎn)單示例: 在Uniapp項(xiàng)目中創(chuàng)建一個(gè)新的頁面,用于展示要分享的內(nèi)容和生成海報(bào)。例如,我們可以在新頁面中顯示一張圖片和一些文本。 在頁面中引入以下兩個(gè)Uniapp組件:canvas和image。canvas用于生成海報(bào),image用于預(yù)覽和下載海報(bào)。示例

    2024年02月11日
    瀏覽(163)
  • uniapp 微信小程序分享、分享朋友圈功能

    uniapp 微信小程序分享、分享朋友圈功能

    頁內(nèi)自定義分享按鈕 當(dāng)頁面js上沒有添加事件“onShareAppMessage”,右上角‘…’不會(huì)出現(xiàn)“轉(zhuǎn)發(fā)”事件。 如果有事件,但是沒有定義事件內(nèi)容的話,轉(zhuǎn)發(fā)的卡片則是當(dāng)前頁面的截屏信息。 官方文檔:https://uniapp.dcloud.io/api/plugins/share?id=onshareappmessage 方式1:小程序右上角原生菜

    2024年02月16日
    瀏覽(95)
  • uniApp配置微信分享 uniApp跳轉(zhuǎn)微信小程序

    uniApp配置微信分享 uniApp跳轉(zhuǎn)微信小程序

    最近在做uniApp時(shí)需要跳轉(zhuǎn)微信小程序進(jìn)行支付,以為和跳轉(zhuǎn)支付寶小程序支付一樣簡(jiǎn)單結(jié)果讓我發(fā)狂,跳轉(zhuǎn)微信代碼其實(shí)很簡(jiǎn)單就是下面這一段,但是要配置一大推東西 提示:plus為App端默認(rèn)的系統(tǒng)參數(shù),不用引入或者其他操作 ? ? ? ? ? ?ios跳轉(zhuǎn)跳轉(zhuǎn)微信小程序還需要配置

    2024年02月09日
    瀏覽(97)
  • uniapp微信小程序使用分享功能

    uniapp微信小程序使用分享功能

    實(shí)現(xiàn)效果為如下所示的小程序分享功能: 本項(xiàng)目是一個(gè)使用uniapp搭建的微信小程序,上線后點(diǎn)擊右上角的…,發(fā)現(xiàn)其中的發(fā)送給朋友和分享到朋友圈是如下圖所示的灰色不能點(diǎn)擊: 那么,如何設(shè)置微信小程序的分享功能呢? 第一步:在onLoad方法中寫wx.showShareMenu方法,設(shè)置

    2024年02月11日
    瀏覽(97)
  • UNIAPP 微信小程序?qū)崿F(xiàn)分享功能

    UNIAPP 微信小程序?qū)崿F(xiàn)分享功能

    默認(rèn)情況下點(diǎn)擊微信小程序調(diào)試器無法實(shí)現(xiàn)分享功能,如下圖 ?此時(shí)需要設(shè)置如下操作,個(gè)人默認(rèn)習(xí)慣是在 utils文件下 創(chuàng)建 share.js 文件 并寫入代碼 內(nèi)容如下 然后打開main.js 修改如下 設(shè)置完成后再點(diǎn)擊右上角的分享就打開了 回到組件內(nèi) 如果需要通過按鈕實(shí)現(xiàn)分享功能? 參考

    2024年02月04日
    瀏覽(88)
  • uniapp 微信小程序?qū)崿F(xiàn)小程序分享好友

    我們可以使用 onShareAppMessage 的方法對(duì) button 按鈕進(jìn)行觸發(fā) HTML代碼

    2024年02月02日
    瀏覽(92)
  • uniapp - [微信小程序] 詳細(xì)動(dòng)態(tài)設(shè)置分享轉(zhuǎn)發(fā)時(shí)的參數(shù),實(shí)現(xiàn)點(diǎn)擊按鈕元素后 “手動(dòng)觸發(fā)“ 動(dòng)態(tài)設(shè)置參數(shù)并調(diào)起轉(zhuǎn)發(fā)分享給好友(列表上每一個(gè)分享按鈕,單獨(dú)設(shè)置分享轉(zhuǎn)發(fā)參數(shù),每次都是不同的分享參數(shù))

    uniapp - [微信小程序] 詳細(xì)動(dòng)態(tài)設(shè)置分享轉(zhuǎn)發(fā)時(shí)的參數(shù),實(shí)現(xiàn)點(diǎn)擊按鈕元素后 “手動(dòng)觸發(fā)“ 動(dòng)態(tài)設(shè)置參數(shù)并調(diào)起轉(zhuǎn)發(fā)分享給好友(列表上每一個(gè)分享按鈕,單獨(dú)設(shè)置分享轉(zhuǎn)發(fā)參數(shù),每次都是不同的分享參數(shù))

    網(wǎng)上都是直接寫死(默認(rèn)不變)的分享參數(shù),有時(shí)候需要?jiǎng)討B(tài)賦值分享的標(biāo)題、圖片等,本文,這時(shí)候就不行了。 【如果需要原生微信小程序的教程,請(qǐng)?jiān)L問:這篇文章】 本文 實(shí)現(xiàn)了在 uniapp 微信小程序端開發(fā)中,動(dòng)態(tài)設(shè)置分享的參數(shù)(并與右上角膠囊點(diǎn)擊的分享共存,互

    2024年02月14日
    瀏覽(166)
  • uniapp 微信小程序 動(dòng)態(tài)分享 帶參數(shù)

    uniapp 微信小程序 動(dòng)態(tài)分享 帶參數(shù)

    uniapp 微信小程序 有動(dòng)態(tài)參數(shù)的那種 微信小程序分享有兩種分享。 第一種:就是右上角自帶的菜單分享 第二種: button按鈕通過open-type=\\\"share\\\" 點(diǎn)擊分享 通常我們分享默認(rèn)都是分享本頁面 然后帶一些分享參數(shù)比如說id uid等 直接放在url地址后面就可以了, 那如果我們使用 按鈕

    2024年02月11日
    瀏覽(158)
  • uniapp微信小程序全局分享和自定義頁面分享

    uniapp?實(shí)現(xiàn)微信小程序的全局 轉(zhuǎn)發(fā)給好友/分享到朋友圈 的功能。主要使用?Vue.js 的 全局混入?概念。 1.在項(xiàng)目根目錄創(chuàng)建mixins文件夾,然后創(chuàng)建全局分享的 js 文件。mixins/share.js? 2.在項(xiàng)目的?main.js?文件中引入該 share.js 文件并使用?Vue.mixin()?方法將之全局混入: 3.自定義頁

    2024年02月13日
    瀏覽(96)
  • uniapp微信小程序生成分享海報(bào)(模板自取)

    uniapp微信小程序生成分享海報(bào)(模板自取)

    uniapp微信小程序生成分享海報(bào)模板 1、模板自取 2、可自行按需求更改調(diào)整 3、效果圖如下: 生成前? ----- 生成后的圖 需知: 博主的實(shí)現(xiàn)效果是先把需要生成的圖片排版成靜態(tài)頁面,再點(diǎn)擊生成海報(bào)-----通過canvas生成海報(bào)?。。?? ? ? ? ? ?不需要這樣效果話可以省略第一步

    2024年02月14日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包