tag HTML

標籤
貢獻646
756
06:37 AM · Oct 27 ,2025

@HTML / 博客 RSS 訂閱

兔子先森 - uniapp微信小程序長按功能

現在要實現一個按鈕長按的功能,大概有如下幾個要點: 1、長按按鈕,按鈕覆蓋整個輸入框 2、長按的過程中移動手指,判斷手指移動的位置是否在按鈕內 3、長按鬆開,按鈕還原 按鈕結構如下: view id="audio-full" :class="[ 'audio-full', isLongpress 'touch-longpress'

vue.js , uniapp , HTML , 前端 , Javascript

收藏 評論

兔子先森 - 流式輸出-建立SSE連接-01

什麼是流式輸出 流式輸出,也稱為流式傳輸,指的是服務器持續地將數據推送到客户端,而不是一次性發送完畢。這種模式下,連接一旦建立,服務器就能實時地發送更新給客户端。 人話講就是跟接口建立連接,只要接口不斷開,服務器就能實時的把信息發送給前端,AI流式輸出中,接口每次返回一小段話,前端拿到後流式渲染即可。 有點類似websocket,但SSE是單向的 fetch-event-source

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - 流式輸出-流式渲染-02

現在有很多框架實現了流式渲染,我在這裏例舉幾個: React框架 ● Ant-Design-X Vue框架 ● Element-Plus-X ● MateChat (PC/H5雙端兼容) H5移動端 ● ChatUI-React 這裏以MateChat框架做示例,MateChat是一個獨立的AI對話組件,不與其它UI框架關聯,可直接引入項目使用。 一般的流式渲染分兩種

vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - 一個手寫的vue3錄音組件,支持錄音波紋、外觀自定義調節

該組件有兼容問題,MAC上不可用,需注意,這裏僅用來做記錄,如需音頻功能,可使用Recorder.js,方案很成熟。 組件如下: template div class="container" ref="container" canvas id="visualizer" ref="canvas"/canvas /div /template script setup lang=

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - 前端Audio常用API

1、實例化new AudioContext(); 2、AudioContext.decodeAudioData解析音頻 3、創建AudioBufferSourceNode接口source 4、給AudioBufferSourceNode接口提供Buffer用以播放:source.buffer = buffer 5、播放結束後開啓下一輪播放: source.onended =

react , vue.js , HTML , 前端 , Javascript

收藏 評論

水冗水孚 - React中使用map+area標籤實現img圖片特定區域標記功能(可用Photoshop精準拾取對應點位)

需求描述 前段時間,工作中筆者接到了一個有意思的需求 就是給圖片做特定的交互效果 圖片中有幾個特殊區域 當用户hover特殊區域的時候,高亮 點擊特殊區域的時候,彈框給到一些提示信息 效果圖和線上演示 線上效果演示地址:https://ashuai.site/reactExamples/imagePoint 技術方案選擇 這個需求如果圖片中的特定區域都是矩形 我們完全可以直接

react , jquery插件 , Css , jquery , HTML

收藏 評論

雲輕雨細 - SEO合規指南:正確的鏈接屬性設置!

本文系轉載,轉載鏈接: SEO合規指南:鏈接中的sponsored+nofollow組合! 前言 在SEO領域,搜索引擎對鏈接的使用有明確規則。如果你沒有正確標註付費鏈接、沒分清sponsored與nofollow的用法,就可能會被搜索引擎判定為“操縱排名”,導致網站降權甚至被移除索引。 今天就給大家分享一下 sponsored 屬性與 nofollow 屬性的用法,合規避坑。 一、sponsor

seo , HTML

收藏 評論

兔子先森 - 前端recorder-core實時錄音並繪製波形,blob常規數據格式

npm:https://www.npmjs.com/package/recorder-core npm install recorder-core 這裏是常規錄音,每次結束後返回完整音頻blob,中間返回,並且結束後關閉音頻錄製並清空緩存 下面是一個vue3+ts+arco.design的案例,直接複製到項目中運行即可 template div class="snow-page"

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - 前端H5錄音實時幀回調-波形配置- Recorder.js

在H5端我們必須使用canvas作為容器來顯示波紋效果,這在官網上有詳細説明 這裏我定義了一個waveConfig變量用作波形的配置,具體的參數下文寫的很詳細,需要注意一點,compatibleCanvas參數綁定的是canvas容器,而且得是在canvas掛載後才能綁定。 // 創建音頻可視化圖形繪製對象 waveConfig.compatibleCanvas = recw

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - PC瀏覽器端-PCM錄音+實時幀回調+流式上傳-Recorderjs

看到這裏的時候一定要理解並運行上文的《前端H5錄音實時幀回調-波形配置- Recorder.js》,這樣對Recorder有個概念。 1、通過onProcess回調可實現錄音的實時處理,onProcess的buffers參數內容為pcm數組(16位 LE小端模式 Little Endian),能直接流式的將數據進行上傳; 2、onProcess內的buffers參數為所有的PCM集合,

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - PC瀏覽器端-MP3錄音+實時幀回調+流式上傳-Recorderjs

看到這裏的時候一定要理解並運行上文的《前端recorder-core實時錄音並繪製波形,blob常規數據格式》,這樣對Recorder有個概念。 在創建錄音對象的時候有一個takeoffEncodeChunk回調,該回調為實時編碼環境,會接管編碼器輸出。 當編碼器實時編碼出一塊有效的二進制音頻數據時實時回調此方法,也就是説每次獲取到有效的二進制音頻數據takeoffEncodeChun

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - unaipp內使用pinia以及持久化緩存

vue3版本的uniapp內置pinia,無需額外引入,有了pinia後就不需要App.vue內的globalData了,pinia還是響應式的,更好、更強大 main.js內配置 import App from './App' // #ifndef VUE3 import Vue from 'vue' import './uni.promisify.adaptor' Vue.co

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - uniapp微信小程序AI對話SSE流式輸出

微信小程序版本,主要針對AI對話的流式輸出,這裏主要有兩個要點 **1、如何流式渲染 2、如何建立SSE連接** 我們先從看得見的渲染開始着手,能渲染出來後再建立SSE做流式輸出 流式渲染 這裏使用uniapp插件市場的:zero-markdown-view 插件市場搜索直接下載導入到項目裏就可以用了 頁面使用: zero-markdown-view :theme-c

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - uniapp自動滾動到底,上滑取消置底-錨點滾動

主要通過scroll-view組件來實現,比手動js獲取高度、判斷啥的更方便,而且官方支持 滾動到底 實現思路,通過錨點滾動實現,官方支持 view id="chat-main" scroll-view class="chat-main-inner" :lower-threshold="15" :scroll-into-view="targetId" scroll-y="t

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - uniapp微信小程序流式錄音-PCM

uniapp在微信小程序中使用Record.js 先安裝核心依賴 npm install recorder-core 然後插件市場下載插件 頁面結構,我們需要一個canvas元素來承載波形的繪製,canvas需要設置大小,下面的代碼可以直接複製使用 template view class="recorder-box" canvas type

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - VueZone-H5開發模板的一些常用功能

官網:https://vue-zone.github.io/docs/ github:https://github.com/vue-zone/vue3-vant-mobile 這是一個開源的vue3+vite的H5模板,多端設備兼容方式為 px - vw 和 rem 已接入過項目,親測好用,沒有過多配置,拉代碼啓動就能用了。 你可以把它當成一個已經搭好的架子,你只需要往裏面

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - uni.connectSocket與@microsoft/signalr連接

之前做web頁面的時候,前後端用的@microsoft/signalr庫做長連接,現在微信小程序不支持signalr庫的直接使用,uniapp微信小程序的websocket長連接只能用uni.connectSocket,所以我們要用uni.connectSocket實現與signalr庫的長連接。 頁面結構 view button @click="onLink"啓動連接/bu

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - uni.connectSocket真機調試報錯open fail:_code:20,_msg:Invalid HTTP

在微信開發者工具上uni.connectSocket的連接是正常的,一旦到真機預覽就連接報錯了,不管是真機預覽還是體驗版真機都會報錯。 真機報錯如下:open fail:_code:20,_msg:Invalid HTTP 最後在查找各種資料發現websocket的url不能包含特殊字符,必須轉碼才可以 比如我下面在url上拼接了一個token,這個token可能包含特殊字符(

react , vue.js , HTML , 前端 , Javascript

收藏 評論

大丸子 - 使用 Python 將 PowerPoint 轉換為 HTML 網頁

在工作中,我們經常需要將 PowerPoint 演示文稿分享給同事或者嵌入到網站中。然而,如果直接發送 PPT 文件,不僅需要接收方安裝 PowerPoint,還可能存在兼容性問題。將演示文稿導出為 HTML 網頁是一種很好的解決方案,它可以直接在瀏覽器中查看,既方便分享,又便於在網站或培訓平台上展示。 手動將 PPT 導出為 HTML 文件可能比較繁瑣,尤其是需要保持原有排版和樣式時。藉助 Fr

ppt , powerpoint , 轉換 , HTML , Python

收藏 評論

兔子先森 - 前端封裝一個流式音頻自動播放的類

這個類會根據websocket返回的base64音頻數據自動緩存播放,你可以修改緩衝音頻時長,可以播放和暫停 import { base64ToArrayBuffer } from '@/utils/AudioTools'; class AudioPlay { // AudioContext audioContext: AudioContext | any = null; // Au

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - 封裝uniapp微信小程序流式語音播放類

uniapp微信小程序端的websocket返回的base64音頻數據自動緩存播放,你可以修改緩衝隊列數,可以播放和暫停 class AudioPlay { constructor() { // createInnerAudioContext this.audioContext = uni.createInnerAudioContext();

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - axios多個baseURL封裝+vite跨域代理多個baseURL連接

公共封裝 import axios from 'axios'; import { MessagePlugin } from 'tdesign-vue-next'; import { getStorageToken } from '@/utils/index'; const api1 = axios.create({ baseURL: '/api1' }); const api2 = axio

react , vue.js , HTML , 前端 , Javascript

收藏 評論

兔子先森 - vite全局自動導入函數,全局函數

globalProperties全局函數掛載 在vue3項目中,一般使用globalProperties實現全局函數掛載 import { createApp } from "vue"; import "@/style.css"; import App from "@/App.vue"; const app = createApp(App); // 這裏掛載 app.config.globa

react , vue.js , HTML , 前端 , Javascript

收藏 評論

雲輕雨細 - Typecho 博客統計腳本怎麼裝?同步 / 異步 + Head/Body 選擇指南

本文系轉載,轉載鏈接:Typecho 博客統計腳本怎麼裝?同步 / 異步 + Head/Body 選擇指南 前言 給 Typecho 博客裝統計腳本時,選 “同步還是異步”“放 Head 還是 Body”,不同的方式會直接影響頁面加載速度和數據準確性。今天就從原理到實操,再根據各大統計工具的官方安裝方案,來統一拆解一下在什麼時候用什麼方式會更好。 一、同步 vs 異步 給博客裝統計腳本,本質是 “

typecho , HTML , 前端

收藏 評論