国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah applet WeChat Pembangunan program mini 微信小程序開(kāi)發(fā)錄音機(jī)、音頻播放、動(dòng)畫(huà)

微信小程序開(kāi)發(fā)錄音機(jī)、音頻播放、動(dòng)畫(huà)

Mar 17, 2018 pm 01:14 PM
Program mini perakam Pembangunan program

本文主要和大家分享微信小程序開(kāi)發(fā)錄音機(jī)、音頻播放、動(dòng)畫(huà),希望能幫助到大家。

1.為了進(jìn)來(lái)看得清楚.剛開(kāi)始沒(méi)有加載音頻列表.代碼往前挪一挪即可.


2.按住 錄音按鈕的時(shí)候會(huì)出現(xiàn)麥克風(fēng).中間的麥克風(fēng)是個(gè)幀動(dòng)畫(huà).

其實(shí)就是用js控制圖片顯示隱藏.沒(méi)啥好說(shuō)的.這里值得說(shuō)一說(shuō)的是錄音.微信的錄音API后,如果錄音時(shí)間太短,會(huì)錄音失敗.所以fail的時(shí)候還是需要處理一下.錄音時(shí)間的限制和微信語(yǔ)音是一樣的.60秒.


3.我在錄音完成后才加載列表.

下圖就是從微信存儲(chǔ)的文件里獲取到的列表信息.有儲(chǔ)存路徑,創(chuàng)建時(shí)間,文件大小.

這里的文件可能不只是音頻.這里我沒(méi)做判斷.下面的路徑都是wx:file//store_...

我也去找了下.在Tencent/micromsg/wxafiles/wx..../這一級(jí)目錄就能找到了.

時(shí)間是格式化之后的.文件大小是B,轉(zhuǎn)成KB如下.


手機(jī)目錄如下.但是打開(kāi)之后播放不了.目前原因不明.



下面是文件全名稱.

1.tempFilePath : 錄音之后的臨時(shí)文件.第二次進(jìn)入小程序就不能正常使用了.

2.savedFilePath :持久保存的文件路徑.值得注意的是微信只給100M的儲(chǔ)存空間.還是盡早上傳到后臺(tái)吧.



4.播放錄音音頻.

點(diǎn)擊item就能聽(tīng)到你的聲音了.別被自己嚇住.哈哈.


上代碼:

1.index.wxml

<!--index.wxml-->  
<scroll-view>  
	<view wx:if="{{voices}}" class="common-list" style="margin-bottom:120rpx;">  
		<block  wx:for="{{voices}}">  
		    <view class="board">  
		        <view class="cell"  >  
		            <view class="cell-bd" data-key="{{item.filePath}}" bindtap="gotoPlay" >   
		                <view  class="date">存儲(chǔ)路徑:{{item.filePath}}</view>  
		                <view  class="date" >存儲(chǔ)時(shí)間:{{item.createTime}}</view>  
		                <view  class="date">音頻大小:{{item.size}}KB</view>  
		            </view>      
		        </view>  
		    </view>  
		</block>  
	</view>  
</scroll-view>   
<view  wx:if="{{isSpeaking}}"  class="speak-style">  
	<image class="sound-style" src="../../images/voice_icon_speech_sound_1.png" ></image>  
	<image wx:if="{{j==2}}" class="sound-style" src="../images/voice_icon_speech_sound_2.png" ></image>  
	<image wx:if="{{j==3}}" class="sound-style" src="../images/voice_icon_speech_sound_3.png" ></image>  
	<image wx:if="{{j==4}}" class="sound-style" src="../images/voice_icon_speech_sound_4.png" ></image>  
	<image wx:if="{{j==5}}"class="sound-style" src="../images/voice_icon_speech_sound_5.png" ></image>  
</view>  
<view class="record-style">  
	<button class="btn-style" bindtouchstart="touchdown" bindtouchend="touchup">按住 錄音</button>  
</view>


2.index.wxss

/**index.wxss**/  
.speak-style{  
    position: relative;  
    height: 240rpx;  
    width: 240rpx;  
    border-radius: 20rpx;  
    margin: 50% auto;  
    background: #26A5FF;  
}  
.item-style{  
    margin-top: 30rpx;  
    margin-bottom: 30rpx;  
}  
.text-style{  
    text-align: center;  
  
}  
.record-style{  
    position: fixed;  
    bottom: 0;  
    left: 0;  
    height: 120rpx;  
    width: 100%;  
}  
.btn-style{  
  margin-left: 30rpx;  
  margin-right: 30rpx;  
}  
  
.sound-style{  
  position: absolute;  
  width: 74rpx;  
  height:150rpx;  
  margin-top: 45rpx;  
  margin-left: 83rpx;  
}  
  
  
.board {  
  overflow: hidden;  
  border-bottom: 2rpx solid #26A5FF;    
}  
/*列布局*/  
.cell{  
    display: flex;  
    margin: 20rpx;  
}  
.cell-hd{  
    margin-left: 10rpx;  
    color: #885A38;  
}  
.cell .cell-bd{  
    flex:1;  
    position: relative;  
     
}  
/**只顯示一行*/  
.date{  
    font-size: 30rpx;  
    text-overflow: ellipsis;   
    white-space:nowrap;  
    overflow:hidden;   
}


3.index.js

//index.js  
//獲取應(yīng)用實(shí)例  
var app = getApp()  
Page({  
  data: {  
    j: 1,//幀動(dòng)畫(huà)初始圖片  
    isSpeaking: false,//是否正在說(shuō)話  
    voices: [],//音頻數(shù)組  
  },  
  onLoad: function () {  
  },  
  //手指按下  
  touchdown: function () {  
    console.log("手指按下了...")  
    console.log("new date : " + new Date)  
    var _this = this;  
    speaking.call(this);  
    this.setData({  
      isSpeaking: true  
    })  
    //開(kāi)始錄音  
    wx.startRecord({  
      success: function (res) {  
        //臨時(shí)路徑,下次進(jìn)入小程序時(shí)無(wú)法正常使用  
        var tempFilePath = res.tempFilePath  
        console.log("tempFilePath: " + tempFilePath)  
        //持久保存  
        wx.saveFile({  
          tempFilePath: tempFilePath,  
          success: function (res) {  
            //持久路徑  
            //本地文件存儲(chǔ)的大小限制為 100M  
            var savedFilePath = res.savedFilePath  
            console.log("savedFilePath: " + savedFilePath)  
          }  
        })  
        wx.showToast({  
          title: &#39;恭喜!錄音成功&#39;,  
          icon: &#39;success&#39;,  
          duration: 1000  
        })  
        //獲取錄音音頻列表  
        wx.getSavedFileList({  
          success: function (res) {  
            var voices = [];  
            for (var i = 0; i < res.fileList.length; i++) {  
              //格式化時(shí)間  
              var createTime = new Date(res.fileList[i].createTime)  
              //將音頻大小B轉(zhuǎn)為KB  
              var size = (res.fileList[i].size / 1024).toFixed(2);  
              var voice = { filePath: res.fileList[i].filePath, createTime: createTime, size: size };  
              console.log("文件路徑: " + res.fileList[i].filePath)  
              console.log("文件時(shí)間: " + createTime)  
              console.log("文件大小: " + size)  
              voices = voices.concat(voice);  
            }  
            _this.setData({  
              voices: voices  
            })  
          }  
        })  
      },  
      fail: function (res) {  
        //錄音失敗  
        wx.showModal({  
          title: &#39;提示&#39;,  
          content: &#39;錄音的姿勢(shì)不對(duì)!&#39;,  
          showCancel: false,  
          success: function (res) {  
            if (res.confirm) {  
              console.log(&#39;用戶點(diǎn)擊確定&#39;)  
              return  
            }  
          }  
        })  
      }  
    })  
  },  
  //手指抬起  
  touchup: function () {  
    console.log("手指抬起了...")  
    this.setData({  
      isSpeaking: false,  
    })  
    clearInterval(this.timer)  
    wx.stopRecord()  
  },  
  //點(diǎn)擊播放錄音  
  gotoPlay: function (e) {  
    var filePath = e.currentTarget.dataset.key;  
    //點(diǎn)擊開(kāi)始播放  
    wx.showToast({  
      title: &#39;開(kāi)始播放&#39;,  
      icon: &#39;success&#39;,  
      duration: 1000  
    })  
    wx.playVoice({  
      filePath: filePath,  
      success: function () {  
        wx.showToast({  
          title: &#39;播放結(jié)束&#39;,  
          icon: &#39;success&#39;,  
          duration: 1000  
        })  
      }  
    })  
  }  
})  
//麥克風(fēng)幀動(dòng)畫(huà)  
function speaking() {  
  var _this = this;  
  //話筒幀動(dòng)畫(huà)  
  var i = 1;  
  this.timer = setInterval(function () {  
    i++;  
    i = i % 5;  
    _this.setData({  
      j: i  
    })  
  }, 200);  
}

注意:

1.錄音的音頻默認(rèn)是存在本地的臨時(shí)路徑下.第二次進(jìn)入小程序無(wú)法正常使用,可以存持久,但是本地文件大小的限制是100M,最好還是上傳后臺(tái).

2.錄音的時(shí)間不能太短.否則會(huì)失敗;也不能超過(guò)60秒.到了60秒會(huì)自動(dòng)停止錄音.

3.音頻播放不能同時(shí)播放多個(gè)音頻.看文檔.微信小程序 播放音頻文檔

1.為了進(jìn)來(lái)看得清楚.剛開(kāi)始沒(méi)有加載音頻列表.代碼往前挪一挪即可.


2.按住 錄音按鈕的時(shí)候會(huì)出現(xiàn)麥克風(fēng).中間的麥克風(fēng)是個(gè)幀動(dòng)畫(huà).

其實(shí)就是用js控制圖片顯示隱藏.沒(méi)啥好說(shuō)的.這里值得說(shuō)一說(shuō)的是錄音.微信的錄音API后,如果錄音時(shí)間太短,會(huì)錄音失敗.所以fail的時(shí)候還是需要處理一下.錄音時(shí)間的限制和微信語(yǔ)音是一樣的.60秒.


3.我在錄音完成后才加載列表.

下圖就是從微信存儲(chǔ)的文件里獲取到的列表信息.有儲(chǔ)存路徑,創(chuàng)建時(shí)間,文件大小.

這里的文件可能不只是音頻.這里我沒(méi)做判斷.下面的路徑都是wx:file//store_...

我也去找了下.在Tencent/micromsg/wxafiles/wx..../這一級(jí)目錄就能找到了.

時(shí)間是格式化之后的.文件大小是B,轉(zhuǎn)成KB如下.


手機(jī)目錄如下.但是打開(kāi)之后播放不了.目前原因不明.



下面是文件全名稱.

1.tempFilePath : 錄音之后的臨時(shí)文件.第二次進(jìn)入小程序就不能正常使用了.

2.savedFilePath :持久保存的文件路徑.值得注意的是微信只給100M的儲(chǔ)存空間.還是盡早上傳到后臺(tái)吧.



4.播放錄音音頻.

點(diǎn)擊item就能聽(tīng)到你的聲音了.別被自己嚇住.哈哈.




上代碼:

1.index.wxml

<!--index.wxml-->  
<scroll-view>  
	<view wx:if="{{voices}}" class="common-list" style="margin-bottom:120rpx;">  
		<block  wx:for="{{voices}}">  
		    <view class="board">  
		        <view class="cell"  >  
		            <view class="cell-bd" data-key="{{item.filePath}}" bindtap="gotoPlay" >   
		                <view  class="date">存儲(chǔ)路徑:{{item.filePath}}</view>  
		                <view  class="date" >存儲(chǔ)時(shí)間:{{item.createTime}}</view>  
		                <view  class="date">音頻大小:{{item.size}}KB</view>  
		            </view>      
		        </view>  
		    </view>  
		</block>  
	</view>  
</scroll-view>   
<view  wx:if="{{isSpeaking}}"  class="speak-style">  
	<image class="sound-style" src="../../images/voice_icon_speech_sound_1.png" ></image>  
	<image wx:if="{{j==2}}" class="sound-style" src="../images/voice_icon_speech_sound_2.png" ></image>  
	<image wx:if="{{j==3}}" class="sound-style" src="../images/voice_icon_speech_sound_3.png" ></image>  
	<image wx:if="{{j==4}}" class="sound-style" src="../images/voice_icon_speech_sound_4.png" ></image>  
	<image wx:if="{{j==5}}"class="sound-style" src="../images/voice_icon_speech_sound_5.png" ></image>  
</view>  
<view class="record-style">  
	<button class="btn-style" bindtouchstart="touchdown" bindtouchend="touchup">按住 錄音</button>  
</view>

2.index.wxss

/**index.wxss**/  
.speak-style{  
    position: relative;  
    height: 240rpx;  
    width: 240rpx;  
    border-radius: 20rpx;  
    margin: 50% auto;  
    background: #26A5FF;  
}  
.item-style{  
    margin-top: 30rpx;  
    margin-bottom: 30rpx;  
}  
.text-style{  
    text-align: center;  
  
}  
.record-style{  
    position: fixed;  
    bottom: 0;  
    left: 0;  
    height: 120rpx;  
    width: 100%;  
}  
.btn-style{  
  margin-left: 30rpx;  
  margin-right: 30rpx;  
}  
  
.sound-style{  
  position: absolute;  
  width: 74rpx;  
  height:150rpx;  
  margin-top: 45rpx;  
  margin-left: 83rpx;  
}  
  
  
.board {  
  overflow: hidden;  
  border-bottom: 2rpx solid #26A5FF;    
}  
/*列布局*/  
.cell{  
    display: flex;  
    margin: 20rpx;  
}  
.cell-hd{  
    margin-left: 10rpx;  
    color: #885A38;  
}  
.cell .cell-bd{  
    flex:1;  
    position: relative;  
     
}  
/**只顯示一行*/  
.date{  
    font-size: 30rpx;  
    text-overflow: ellipsis;   
    white-space:nowrap;  
    overflow:hidden;   
}


3.index.js

//index.js  
//獲取應(yīng)用實(shí)例  
var app = getApp()  
Page({  
  data: {  
    j: 1,//幀動(dòng)畫(huà)初始圖片  
    isSpeaking: false,//是否正在說(shuō)話  
    voices: [],//音頻數(shù)組  
  },  
  onLoad: function () {  
  },  
  //手指按下  
  touchdown: function () {  
    console.log("手指按下了...")  
    console.log("new date : " + new Date)  
    var _this = this;  
    speaking.call(this);  
    this.setData({  
      isSpeaking: true  
    })  
    //開(kāi)始錄音  
    wx.startRecord({  
      success: function (res) {  
        //臨時(shí)路徑,下次進(jìn)入小程序時(shí)無(wú)法正常使用  
        var tempFilePath = res.tempFilePath  
        console.log("tempFilePath: " + tempFilePath)  
        //持久保存  
        wx.saveFile({  
          tempFilePath: tempFilePath,  
          success: function (res) {  
            //持久路徑  
            //本地文件存儲(chǔ)的大小限制為 100M  
            var savedFilePath = res.savedFilePath  
            console.log("savedFilePath: " + savedFilePath)  
          }  
        })  
        wx.showToast({  
          title: &#39;恭喜!錄音成功&#39;,  
          icon: &#39;success&#39;,  
          duration: 1000  
        })  
        //獲取錄音音頻列表  
        wx.getSavedFileList({  
          success: function (res) {  
            var voices = [];  
            for (var i = 0; i < res.fileList.length; i++) {  
              //格式化時(shí)間  
              var createTime = new Date(res.fileList[i].createTime)  
              //將音頻大小B轉(zhuǎn)為KB  
              var size = (res.fileList[i].size / 1024).toFixed(2);  
              var voice = { filePath: res.fileList[i].filePath, createTime: createTime, size: size };  
              console.log("文件路徑: " + res.fileList[i].filePath)  
              console.log("文件時(shí)間: " + createTime)  
              console.log("文件大小: " + size)  
              voices = voices.concat(voice);  
            }  
            _this.setData({  
              voices: voices  
            })  
          }  
        })  
      },  
      fail: function (res) {  
        //錄音失敗  
        wx.showModal({  
          title: &#39;提示&#39;,  
          content: &#39;錄音的姿勢(shì)不對(duì)!&#39;,  
          showCancel: false,  
          success: function (res) {  
            if (res.confirm) {  
              console.log(&#39;用戶點(diǎn)擊確定&#39;)  
              return  
            }  
          }  
        })  
      }  
    })  
  },  
  //手指抬起  
  touchup: function () {  
    console.log("手指抬起了...")  
    this.setData({  
      isSpeaking: false,  
    })  
    clearInterval(this.timer)  
    wx.stopRecord()  
  },  
  //點(diǎn)擊播放錄音  
  gotoPlay: function (e) {  
    var filePath = e.currentTarget.dataset.key;  
    //點(diǎn)擊開(kāi)始播放  
    wx.showToast({  
      title: &#39;開(kāi)始播放&#39;,  
      icon: &#39;success&#39;,  
      duration: 1000  
    })  
    wx.playVoice({  
      filePath: filePath,  
      success: function () {  
        wx.showToast({  
          title: &#39;播放結(jié)束&#39;,  
          icon: &#39;success&#39;,  
          duration: 1000  
        })  
      }  
    })  
  }  
})  
//麥克風(fēng)幀動(dòng)畫(huà)  
function speaking() {  
  var _this = this;  
  //話筒幀動(dòng)畫(huà)  
  var i = 1;  
  this.timer = setInterval(function () {  
    i++;  
    i = i % 5;  
    _this.setData({  
      j: i  
    })  
  }, 200);  
}



注意:

1.錄音的音頻默認(rèn)是存在本地的臨時(shí)路徑下.第二次進(jìn)入小程序無(wú)法正常使用,可以存持久,但是本地文件大小的限制是100M,最好還是上傳后臺(tái).

2.錄音的時(shí)間不能太短.否則會(huì)失敗;也不能超過(guò)60秒.到了60秒會(huì)自動(dòng)停止錄音.

3.音頻播放不能同時(shí)播放多個(gè)音頻.看文檔.微信小程序 播放音頻文檔

相關(guān)推薦:

微信小程序模擬下拉菜單開(kāi)發(fā)實(shí)例

微信小程序開(kāi)發(fā)彈出框?qū)崿F(xiàn)方法

微信小程序?qū)崿F(xiàn)錄音后上傳文件方法詳細(xì)

Atas ialah kandungan terperinci 微信小程序開(kāi)發(fā)錄音機(jī)、音頻播放、動(dòng)畫(huà). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Bagaimana untuk merakam audio penstriman pada pengedaran Linux Ubuntu Bagaimana untuk merakam audio penstriman pada pengedaran Linux Ubuntu Feb 25, 2024 pm 03:46 PM

Bagaimana untuk merakam audio dalam Ubuntu dan pengedaran Linux yang lain? Jika anda ingin merakam alih suara melalui mikrofon komputer anda, anda boleh menggunakan Perakam Suara GNOME atau Audacity. Menggunakan Perakam GNOME adalah mudah dan mudah difahami, tetapi fungsinya agak terhad. Bagi Audacity, ia mungkin berasa agak sukar pada sentuhan pertama, tetapi ia mempunyai banyak fungsi rakaman lanjutan. Walau bagaimanapun, kami tidak akan membincangkan perkara ini secara mendalam dalam tutorial ini. Perakam Suara GNOME boleh digunakan dengan mikrofon. Selain itu, terdapat alat yang dipanggil Perakam Suara yang bukan sahaja menggunakan input mikrofon tetapi juga merakam muzik penstriman. Dalam tutorial ini, kami akan menunjukkan kepada anda langkah-langkah berikut tentang cara merakam bunyi dengan Perakam Suara GNOME, menggunakan AudioR

Bangunkan applet WeChat menggunakan Python Bangunkan applet WeChat menggunakan Python Jun 17, 2023 pm 06:34 PM

Dengan populariti teknologi Internet mudah alih dan telefon pintar, WeChat telah menjadi aplikasi yang sangat diperlukan dalam kehidupan orang ramai. Program mini WeChat membenarkan orang ramai menggunakan program mini secara langsung untuk menyelesaikan beberapa keperluan mudah tanpa memuat turun dan memasang aplikasi. Artikel ini akan memperkenalkan cara menggunakan Python untuk membangunkan applet WeChat. 1. Persediaan Sebelum menggunakan Python untuk membangunkan applet WeChat, anda perlu memasang perpustakaan Python yang berkaitan. Adalah disyorkan untuk menggunakan dua perpustakaan wxpy dan itchat di sini. wxpy ialah mesin WeChat

Laksanakan kesan flip kad dalam program mini WeChat Laksanakan kesan flip kad dalam program mini WeChat Nov 21, 2023 am 10:55 AM

Melaksanakan kesan flipping kad dalam program mini WeChat Dalam program mini WeChat, melaksanakan kesan flipping kad ialah kesan animasi biasa yang boleh meningkatkan pengalaman pengguna dan daya tarikan interaksi antara muka. Yang berikut akan memperkenalkan secara terperinci cara melaksanakan kesan khas flipping kad dalam applet WeChat dan memberikan contoh kod yang berkaitan. Pertama, anda perlu menentukan dua elemen kad dalam fail susun atur halaman program mini, satu untuk memaparkan kandungan hadapan dan satu untuk memaparkan kandungan belakang Kod sampel khusus adalah seperti berikut: &lt;!--index.wxml-. -&gt;&l

Alipay melancarkan program mini 'Chinese Character Picking-Rare Characters' untuk mengumpul dan menambah pustaka aksara yang jarang ditemui Alipay melancarkan program mini 'Chinese Character Picking-Rare Characters' untuk mengumpul dan menambah pustaka aksara yang jarang ditemui Oct 31, 2023 pm 09:25 PM

Menurut berita dari laman web ini pada 31 Oktober, pada 27 Mei tahun ini, Ant Group mengumumkan pelancaran "Projek Pemilihan Watak Cina", dan baru-baru ini membawa kemajuan baharu: Alipay melancarkan program mini "Pemilihan Watak Cina-Watak Biasa" untuk mengumpul koleksi daripada masyarakat Watak nadir menambah pustaka aksara jarang dan memberikan pengalaman input yang berbeza untuk aksara jarang untuk membantu memperbaik kaedah input aksara jarang dalam Alipay. Pada masa ini, pengguna boleh memasukkan applet "Watak Tidak Biasa" dengan mencari kata kunci seperti "Pengambilan aksara Cina" dan "aksara jarang". Dalam program mini, pengguna boleh menghantar gambar aksara jarang yang belum dikenali dan dimasukkan oleh sistem Selepas pengesahan, jurutera Alipay akan membuat entri tambahan ke dalam perpustakaan fon. Laman web ini mendapati bahawa pengguna juga boleh mengalami kaedah input pemisahan perkataan terkini dalam program mini Kaedah input ini direka untuk perkataan yang jarang dengan sebutan yang tidak jelas. Pembongkaran pengguna

Bolehkah program kecil menggunakan tindak balas? Bolehkah program kecil menggunakan tindak balas? Dec 29, 2022 am 11:06 AM

Program mini boleh menggunakan react. Cara menggunakannya: 1. Laksanakan pemapar berdasarkan "react-reconciler" dan jana DSL 2. Buat komponen program mini untuk menghuraikan dan membuat DSL 3. Pasang npm dan laksanakan Build; npm dalam alat; 4. Perkenalkan pakej ke halaman anda sendiri, dan kemudian gunakan API untuk menyelesaikan pembangunan.

Cara uniapp mencapai penukaran pantas antara program mini dan H5 Cara uniapp mencapai penukaran pantas antara program mini dan H5 Oct 20, 2023 pm 02:12 PM

Bagaimana uniapp boleh mencapai penukaran pantas antara program mini dan H5 memerlukan contoh kod khusus Dalam beberapa tahun kebelakangan ini, dengan perkembangan Internet mudah alih dan populariti telefon pintar, program mini dan H5 telah menjadi bentuk aplikasi yang sangat diperlukan. Sebagai rangka kerja pembangunan merentas platform, uniapp boleh dengan cepat merealisasikan penukaran antara program kecil dan H5 berdasarkan set kod, meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan cara uniapp boleh mencapai penukaran pantas antara program mini dan H5, dan memberikan contoh kod khusus. 1. Pengenalan kepada uniapp unia

Ajar anda cara menggunakan mesej templat akaun awam dalam program mini (dengan idea terperinci) Ajar anda cara menggunakan mesej templat akaun awam dalam program mini (dengan idea terperinci) Nov 04, 2022 pm 04:53 PM

Artikel ini membawakan kepada anda beberapa isu berkaitan tentang program mini WeChat terutamanya cara menggunakan mesej templat akaun dalam program mini. Saya harap ia dapat membantu semua orang.

Tutorial menulis program sembang mudah dalam Python Tutorial menulis program sembang mudah dalam Python May 08, 2023 pm 06:37 PM

Idea pelaksanaan x01 Penubuhan pelayan Pertama, pada bahagian pelayan, soket digunakan untuk menerima mesej Setiap kali permintaan soket diterima, utas baharu dibuka untuk menguruskan pengedaran dan penerimaan mesej Pada masa yang sama, terdapat pengendali untuk menguruskan semua Thread, dengan itu merealisasikan pemprosesan pelbagai fungsi ruang sembang Penubuhan pelanggan x02 adalah lebih mudah daripada pelayan Fungsi pelanggan hanya untuk menghantar dan menerima mesej, dan untuk memasukkan aksara tertentu mengikut peraturan tertentu. Ini membolehkan penggunaan fungsi yang berbeza, di sisi pelanggan, anda hanya perlu menggunakan dua utas, satu didedikasikan untuk menerima mesej, dan yang lain didedikasikan untuk menghantar mesej adalah kerana, hanya

See all articles