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

微信小程序開發(fā)實(shí)例——人臉識(shí)別開放平臺(tái)

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序開發(fā)實(shí)例——人臉識(shí)別開放平臺(tái)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

綜述

之前我們有講到在做一些深度學(xué)習(xí)圖像算法開發(fā)時(shí),為了更好的將算法效果展示出來,經(jīng)常需要開發(fā)一些演示Demo應(yīng)用,使用在線C/S交互式應(yīng)用開發(fā)(類似于百度、騰訊、阿里的開放平臺(tái))。C代表Client(客戶端),S代表Server(服務(wù)端),也就是UI處理與底層處理分離的方式,兩端的連接交互媒介就是Http網(wǎng)絡(luò)請(qǐng)求。像這里的算法演示在C端主要實(shí)現(xiàn)界面顯示、交互、發(fā)送請(qǐng)求與圖像繪制,S端主要是實(shí)現(xiàn)請(qǐng)求接收與返回、算法推理。C端主要包含移動(dòng)端App/網(wǎng)頁/小程序,S端就是后臺(tái)算法運(yùn)行服務(wù)器,本文主要介紹C端應(yīng)用實(shí)例(微信小程序人臉識(shí)別開放平臺(tái))的開發(fā)。

條件準(zhǔn)備

前面既然提到是C/S開放,那么這兩者是缺一不可的。C就是我們本文要講的,S代表后端服務(wù),在這里主要實(shí)現(xiàn)的是人臉檢測(cè)/五官定位/比對(duì)算法http請(qǐng)求接收接口,用以接收處理前端發(fā)來的算法請(qǐng)求。

服務(wù)器

請(qǐng)求地址:局域網(wǎng)/廣域網(wǎng)

請(qǐng)求協(xié)議(可以根據(jù)需要自行定義)

以下是我自己定義的協(xié)議:

人臉檢測(cè)請(qǐng)求協(xié)議
  Request:
  {
      "command": "detection",// 算法類型
      "image": imageBase64Str,// 待檢測(cè)圖片base64字符串碼
      "max_face_num": 1,// 最大檢測(cè)人臉數(shù)
      "image_url": "",// 待檢測(cè)圖片URL
      "face_attribute": 1,// 是否進(jìn)行人臉屬性檢測(cè)
      "face_quality": 1// 是否進(jìn)行人臉質(zhì)量檢測(cè)
  }
  Response:
  {
      "face_num": 1,//人臉個(gè)數(shù)
      "face_list": [
                      {
                          "location": {//人臉位置
                              "x1": 132,
                              "y1": 305,
                              "x2": 259,
                              "y2": 493
                          },
                          "score": 0.999789,
                          "attributes": {//人臉屬性
                              "mask": 0,//是否戴口罩
                              "eyeopen": 1,//是否睜眼
                              "expression": 0,//是否正常表情
                              "yaw": 5,//偏轉(zhuǎn)角
                              "pitch": 6,//俯仰角
                              "roll": 7//翻滾角
                          },
                          "quality": {
                              "brightness": 0,//亮度是否合格
                              "blur": 0,//清晰度是否合格
                              "occlusion": {//人臉7區(qū)域遮擋情況
                                  "left_eye": 1,
                                  "right_eye": 1,
                                  "nose": 1,
                                  "mouth": 1,
                                  "left_cheek": 1,
                                  "right_cheek": 1,
                                  "chin": 1
                              }
                          }
                      }
                  ],
    "request_id": "123456" //請(qǐng)求ID        
}
人臉五官定位請(qǐng)求協(xié)議
Request:
{
    "command": "landmark",// 算法類型
    "image": image base64,// 待檢測(cè)圖片base64字符串碼
    "image_url": "",// 待檢測(cè)圖片URL
    "max_face": 1// 最大檢測(cè)人臉數(shù)
}
Response
{
    "face_num": 1,//人臉個(gè)數(shù)
    "face_list": [
      {
        "landmark": [//人臉關(guān)鍵點(diǎn)坐標(biāo)位置
          {
            "x": 50,
            "y": 108
          },
          {
            "x": 49,
            "y": 114
          },
          ......
          {
            "x": 71,
            "y": 111
          },
          {
            "x": 109,
            "y": 110
          }
        ]
      }
    ],
    "request_id": "123456"http://請(qǐng)求ID
}
人臉比對(duì)請(qǐng)求協(xié)議
Request:
{
    "command": "compare",// 算法類型
    "image1": image base64,// 待檢測(cè)圖片1 base64字符串碼
    "image2": image base64,// 待檢測(cè)圖片2 base64字符串碼
    "image_url1": "",// 待檢測(cè)圖片1 URL
    "image_url2": "",// 待檢測(cè)圖片2 URL
    "quality_control": 0// 是否進(jìn)行人臉質(zhì)量控制
}
Response:
{
    "score": 99,//相似度分?jǐn)?shù)(0~100)
    "request_id": "123456",//請(qǐng)求ID
    "error": 0 //錯(cuò)誤碼
}

以上三個(gè)條件可以自己搭建,也可以購買第三方的服務(wù)。

開發(fā)所用關(guān)鍵技術(shù)(接口)

圖片文件選擇與數(shù)據(jù)獲取

我們?cè)谠L問開放平臺(tái)時(shí)經(jīng)常需要找一些自己的圖片進(jìn)行測(cè)試,所以就需要這樣一個(gè)方法來實(shí)現(xiàn)

如下代碼:

wx.chooseImage({
    success: function(csi) {
        //獲取圖片緩存地址
        var tempFilePaths = csi.tempFilePaths
        imageUrl = tempFilePaths[0]
        //獲取圖片信息
        wx.getImageInfo({
            src: imageUrl,
            success (gii) {
                //根據(jù)圖片拍攝方向獲取圖片的寬高
                if(gii.orientation=="up" || gii.orientation=="down" || gii.orientation=="up-mirrored" || gii.orientation=="down-mirrored"){
                    imageWidth = gii.width
                    imageHeight = gii.height
                }else{
                    imageWidth = gii.height
                    imageHeight = gii.width
                }
                //獲取圖片Base64碼,一般網(wǎng)絡(luò)請(qǐng)求發(fā)送的圖片數(shù)據(jù)均是該格式數(shù)據(jù)
                let imageBase64 = wx.getFileSystemManager().readFileSync(imageUrl, "base64")
            }
        })
    }
})
圖片算法處理網(wǎng)絡(luò)請(qǐng)求

在獲取到圖片數(shù)據(jù)后,就需要將圖片數(shù)據(jù)發(fā)送到后端進(jìn)行算法處理請(qǐng)求來獲取算法運(yùn)行結(jié)果

如下代碼:

wx.request({
    url: 'http://123.45.67.89:8080/face', //局域網(wǎng)接口地址(也可以是廣域網(wǎng)/https地址)
    data: {
        "command": "detect",// 算法類型
        "image": imageBase64Str,// 待檢測(cè)圖片base64字符串碼
        "max_face_num": 1,// 最大檢測(cè)人臉數(shù)
        "image_url": "",// 待檢測(cè)圖片URL
        "face_attribute": 1,// 是否進(jìn)行人臉屬性檢測(cè)
        "face_quality": 1// 是否進(jìn)行人臉質(zhì)量檢測(cè)
    },
    header: {
        'content-type': 'application/json' // 請(qǐng)求頭
    },
    method: "POST",// 請(qǐng)求方式
    timeout: 5000,// 請(qǐng)求超時(shí)
    dataType: "json",
    success (response) {
        // 請(qǐng)求成功處理
        // 打印返回結(jié)果
        console.log("face detect success:\n" + JSON.stringify(response, null ,2)) 
        ......
    },
    fail(res) {
        // 請(qǐng)求失敗處理
        // 打印返回結(jié)果
        console.log("face detect fail:\n" + JSON.stringify(res, null ,2))
        //請(qǐng)求失敗提示
        wx.showToast({
            title: '請(qǐng)求失敗:' + res.errMsg,
            icon: 'none',
            duration: 2000
        })
    },
    complete(res) {
        // 請(qǐng)求完成處理
        console.log("face detect complete.")
    }
})
圖片算法處理結(jié)果人臉框繪制

我們?cè)谀玫秸?qǐng)求結(jié)果以后如果只是打印reponse數(shù)據(jù)并不能直觀感受算法處理效果,這時(shí)如果能將結(jié)果通過圖像繪制將人臉位置顯示出來將是不錯(cuò)的處理方式

如下代碼:

wx.createSelectorQuery()
    .select('#canvas_preview')//顯示控件
    .fields({ node: true, size: true })
    .exec((scvs) => {
    // 獲取控件像素尺寸
    const dom = scvs[0]
    const canvas = dom.node
    const ctx = canvas.getContext('2d')
    const dpr = wx.getSystemInfoSync().pixelRatio
    canvas.width = dom.width * dpr
    canvas.height = dom.height * dpr
    ctx.scale(dpr, dpr)
    const canvasMaxWidth = dom.width
    const canvasMaxHeight = dom.height
    // 獲取圖像縮放比例,保證圖片在控件內(nèi)完全顯示
    const widthAdjustPara = canvasMaxWidth / imageWidth
    const heightAdjustPara = canvasMaxHeight / imageHeight
    var currentAdjustPara = 1
    if(widthAdjustPara<1 || heightAdjustPara<1) {
        currentAdjustPara = (widthAdjustPara <= heightAdjustPara ? widthAdjustPara : heightAdjustPara)
    }
    const canvasCurrentWidth = (currentAdjustPara===1 ? imageWidth : (imageWidth * currentAdjustPara))
    const canvasCurrentHeight = (currentAdjustPara===1 ? imageHeight : (imageHeight * currentAdjustPara))
    // 在控件內(nèi)繪制原圖
    var img =  canvas.createImage()
    img.src = imageUrl
    img.onload = function () {
        // 居中繪制
        ctx.drawImage(
            img, 
            (canvasMaxWidth-canvasCurrentWidth)/2 + 1, // image x start
            (canvasMaxHeight-canvasCurrentHeight)/2 + 1, // image y start
            canvasCurrentWidth, canvasCurrentHeight // image dst w, h
        )
        // 檢測(cè)到人臉繪制人臉框(從返回?cái)?shù)據(jù)reponseData中獲取人臉框位置信息)
        if(isDetected){
            for (var i = 0; i < reponseData.data.face_num; i++) {
                var x1 = reponseData.data.face_list[i].location.x1
                var y1 = reponseData.data.face_list[i].location.y1
                var x2 = reponseData.data.face_list[i].location.x2
                var y2 = reponseData.data.face_list[i].location.y2
                ctx.strokeStyle = '#00e5ff' // 繪制線顏色
                // 矩形繪制
                ctx.rect(
                    (canvasMaxWidth-canvasCurrentWidth)/2 + x1 * currentAdjustPara, // rect left value
                    (canvasMaxHeight-canvasCurrentHeight)/2 + y1 * currentAdjustPara, // rect top value
                    (x2-x1) * currentAdjustPara, (y2-y1) * currentAdjustPara // rect w, h
                )
            }
            ctx.stroke()
        }
    }
})
圖片算法處理結(jié)果人臉關(guān)鍵點(diǎn)繪制

我們?cè)谀玫秸?qǐng)求結(jié)果以后如果只是打印reponse數(shù)據(jù)并不能直觀感受算法處理效果,這時(shí)如果能將結(jié)果通過圖像繪制將人臉關(guān)鍵點(diǎn)位置顯示出來將是不錯(cuò)的處理方式

如下代碼:

wx.createSelectorQuery()
    .select('#canvas_preview')//顯示控件
    .fields({ node: true, size: true })
    .exec((scvs) => {
    // 獲取控件像素尺寸
    const dom = scvs[0]
    const canvas = dom.node
    const ctx = canvas.getContext('2d')
    const dpr = wx.getSystemInfoSync().pixelRatio
    canvas.width = dom.width * dpr
    canvas.height = dom.height * dpr
    ctx.scale(dpr, dpr)
    const canvasMaxWidth = dom.width
    const canvasMaxHeight = dom.height
    // 獲取圖像縮放比例,保證圖片在控件內(nèi)完全顯示
    const widthAdjustPara = canvasMaxWidth / imageWidth
    const heightAdjustPara = canvasMaxHeight / imageHeight
    var currentAdjustPara = 1
    if(widthAdjustPara<1 || heightAdjustPara<1) {
        currentAdjustPara = (widthAdjustPara <= heightAdjustPara ? widthAdjustPara : heightAdjustPara)
    }
    const canvasCurrentWidth = (currentAdjustPara===1 ? imageWidth : (imageWidth * currentAdjustPara))
    const canvasCurrentHeight = (currentAdjustPara===1 ? imageHeight : (imageHeight * currentAdjustPara))
    // 在控件內(nèi)繪制原圖
    var img =  canvas.createImage()
    img.src = imageUrl
    img.onload = function () {
        ctx.drawImage(
            img, 
            (canvasMaxWidth-canvasCurrentWidth)/2 + 1, // image x start
            (canvasMaxHeight-canvasCurrentHeight)/2 + 1, // image y start
            canvasCurrentWidth, canvasCurrentHeight // image dst w, h
        )
        // 檢測(cè)到人臉繪制人臉關(guān)鍵點(diǎn)(從返回?cái)?shù)據(jù)reponseData中獲取人臉關(guān)鍵點(diǎn)位置信息)
        if(isDetected){
            var dot_radius = 1 //繪制點(diǎn)半徑
            for (var i = 0; i < reponseData.data.face_num; i++) {
                var pointNum = reponseData.data.face_list[i].landmark.length
                for (var j = 0; j < pointNum; j++) {
                    var x = reponseData.data.face_list[i].landmark[j].x
                    var y = reponseData.data.face_list[i].landmark[j].y
                    ctx.beginPath()
                    ctx.fillStyle = "#00FFFF" // 繪制點(diǎn)顏色
                    // 圓點(diǎn)繪制
                    ctx.arc(
                        (canvasMaxWidth-canvasCurrentWidth)/2 + x * currentAdjustPara, 
                        (canvasMaxHeight-canvasCurrentHeight)/2 + y * currentAdjustPara, 
                        dot_radius, 0, 2 * Math.PI, true
                    )
                    ctx.closePath()
                    ctx.fill()
                } 
            }
        }
    }
})
圖片算法處理結(jié)果人臉屬性列表顯示

我們?cè)谀玫秸?qǐng)求結(jié)果以后如果只是打印reponse數(shù)據(jù)會(huì)顯得比較亂,如果能通過列表整理的方式顯示出來將是不錯(cuò)的選擇

如下代碼:

index.js

Page({
  data: {
    systemInfo: {}, // 界面信息
    isHiddenTable: false, //是否隱藏檢測(cè)結(jié)果列表
    scrollToView: "0", //滑動(dòng)控件位置
    resultListData:[], // 人臉檢測(cè)結(jié)果列表
  },
  ......  
)
//拿到響應(yīng)結(jié)果后的處理    
if(data.data.face_num===1){ //單人臉情況
    that.setData({
        userInfo:{
            tips:'單人臉檢測(cè)結(jié)果'
        },
        isHiddenTable: false,//是否隱藏結(jié)果列表
        scrollToView: "單人臉檢測(cè)結(jié)果",
        resultListData:[
            {"attribute":"坐標(biāo)","valuetext":data.data.face_list[0].location.x1 + "  " 
             + data.data.face_list[0].location.y1 + "  " 
             + data.data.face_list[0].location.x2 + "  " 
             + data.data.face_list[0].location.y2
            },
            {"attribute":"口罩","valuetext":data.data.face_list[0].attributes.mask===0 ? "無" : "有"},
            {"attribute":"睜眼","valuetext":data.data.face_list[0].attributes.eyeopen===0 ? "否" : "是"},
            {"attribute":"表情","valuetext":data.data.face_list[0].attributes.expression===0 ? "正常" : "夸張"},
            {"attribute":"姿態(tài)","valuetext":data.data.face_list[0].attributes.yaw + "  "
             + data.data.face_list[0].attributes.pitch + "  "
             + data.data.face_list[0].attributes.roll
            },
            {"attribute":"亮度","valuetext":data.data.face_list[0].quality.brightness===0 ? "正常" : "異常"},
            {"attribute":"模糊","valuetext":data.data.face_list[0].quality.blur===0 ? "否" : "是"},
            {"attribute":"遮擋","valuetext":data.data.face_list[0].quality.occlusion.left_eye===0 
             && data.data.face_list[0].quality.occlusion.right_eye===0
             && data.data.face_list[0].quality.occlusion.nose===0
             && data.data.face_list[0].quality.occlusion.mouth===0
             && data.data.face_list[0].quality.occlusion.chin===0
             && data.data.face_list[0].quality.occlusion.left_cheek===0
             && data.data.face_list[0].quality.occlusion.right_cheek===0 ? "無" : "有"
            }
        ]
    })
}

index.wxml

<scroll-view class="userinfo-tips-scroll-view" style="width:{{canvasViewWidth}}px; height:{{canvasViewHeight/2}}px; display:flex; justify-content:center" scroll-y="true" scroll-top="{{scrollToView}}">
    <text class="userinfo-tips" style="display:flex; justify-content:center">{{userInfo.tips}}</text>
    <view class="table" hidden="{{isHiddenTable}}">
        <view class="tr bg-w">
            <view class="th">屬性</view>
            <view class="th">結(jié)果值</view>
        </view>
        <block wx:for="{{resultListData}}" wx:key="{[attribute]}">
            <view class="tr bg-g" wx:if="{{index % 2 == 0}}">
                <view class="td">{{item.attribute}}</view>
                <view class="td">{{item.valuetext}}</view>
            </view>
            <view class="tr" wx:else>
                <view class="td">{{item.attribute}}</view>
                <view class="td">{{item.valuetext}}</view>
            </view>
        </block>
    </view>
</scroll-view>
功能切換導(dǎo)航欄定義

為了便于不同功能之間的切換演示,我們需要引入導(dǎo)航欄功能

如下代碼:

index,js

Page({
  data: {
    systemInfo: {}, // 界面信息
    navbar: ['人臉檢測(cè)', '人臉五官', '人臉比對(duì)'], // 功能界面選項(xiàng)列表
    currentNavbar: '0', //界面選項(xiàng)ID
    isHiddenTable: false, //是否隱藏檢測(cè)結(jié)果列表
    scrollToView: "0", //滑動(dòng)控件位置
    resultListData:[], // 人臉檢測(cè)結(jié)果列表
    compareResultData:[], //人臉比對(duì)結(jié)果列表  
  }
......  
)

index.wxml文章來源地址http://www.zghlxwxcb.cn/news/detail-789815.html

<!--index.wxml-->
<view class="navbar">
<!-- wx:for-index="idx" -->
  <view class="navbar-item" wx:for="{{navbar}}" wx:for-index="idx" data-idx="{{idx}}" bindtap="swichNav">
    <text class="navbar-text {{currentNavbar==idx ? 'active' : ''}}">{{item}}</text>
  </view>
</view>
<!-- 人臉檢測(cè)功能欄 -->
<view class="hot-item-container {{currentNavbar==0 ? '' : 'hidden'}}">
<!-- 人臉檢測(cè)主界面代碼 -->
</view>
<!-- 人臉五官功能欄 -->
<view class="hot-item-container {{currentNavbar==1 ? '' : 'hidden'}}">
<!-- 人臉五官主界面代碼 -->
</view>
<!-- 人臉比對(duì)功能欄 -->
<view class="hot-item-container {{currentNavbar==2 ? '' : 'hidden'}}">
<!-- 人臉比對(duì)主界面代碼 -->
</view>

效果展示

微信小程序人臉識(shí)別,微信小程序,小程序,Powered by 金山文檔
微信小程序人臉識(shí)別,微信小程序,小程序,Powered by 金山文檔
微信小程序人臉識(shí)別,微信小程序,小程序,Powered by 金山文檔

到了這里,關(guān)于微信小程序開發(fā)實(shí)例——人臉識(shí)別開放平臺(tái)的文章就介紹完了。如果您還想了解更多內(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)文章

  • 微信小程序用什么工具開發(fā)(微信小程序開發(fā)工具介紹)

    微信小程序用什么工具開發(fā)(微信小程序開發(fā)工具介紹)

    有很多人在開發(fā)小程序之前都會(huì)去了解微信小程序開發(fā)工具,想知道微信小程序用什么工具開發(fā)。時(shí)至今日,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,現(xiàn)在開發(fā)微信小程序也能使用多種不同的工具,讓我們來了解一下吧。 一、微信開發(fā)者工具 這是微信官方提供的微信小程序開發(fā)工具,可以

    2024年02月11日
    瀏覽(95)
  • [微信小程序] 認(rèn)識(shí)微信小程序及開發(fā)環(huán)境搭建

    ? 微信公眾平臺(tái)首頁 https://mp.weixin.qq.com ? 微信公眾平臺(tái)測(cè)試帳號(hào)系統(tǒng) https://open.weixin.qq.com/connect/qrconnect?appid=wx39c379788eb1286ascope=snsapi_loginredirect_uri=http%3A%2F%2Fmp.weixin.qq.com%2Fdebug%2Fcgi-bin%2Fsandbox%3Ft%3Dsandbox%2Flogin ? 1、微信公眾平臺(tái)提供的帳號(hào)模式 ? 2、各類型帳號(hào)的應(yīng)用場(chǎng)景 餐廳

    2024年02月08日
    瀏覽(37)
  • uniapp調(diào)用微信小程序人臉識(shí)別步驟

    template script

    2024年02月16日
    瀏覽(21)
  • 【微信小程序】如何上傳uniApp開發(fā)的微信小程序?

    【微信小程序】如何上傳uniApp開發(fā)的微信小程序?

    微信開發(fā)者工具下載鏈接 Hbuilder X下載鏈接 掃碼 選中賬號(hào) 登錄成功: ps: 如果之前沒有權(quán)限但是已經(jīng)登錄此賬號(hào),需要在獲取到權(quán)限后重新登錄一次?? ps: 不選中 運(yùn)行時(shí)是否壓縮代碼 有可能代碼包不包含插件大小過大,導(dǎo)致上傳失敗?? 小程序性能優(yōu)化指南 操作1 操作

    2024年02月09日
    瀏覽(856)
  • 微信小程序:實(shí)現(xiàn)微信小程序應(yīng)用首頁開發(fā) (本地生活首頁)

    微信小程序:實(shí)現(xiàn)微信小程序應(yīng)用首頁開發(fā) (本地生活首頁)

    小程序應(yīng)用頁面開發(fā) 1、創(chuàng)建項(xiàng)目并配置項(xiàng)目目錄結(jié)構(gòu) 創(chuàng)建項(xiàng)目我相信大家都會(huì),不會(huì)的可以csdn搜索即可 這里我們需要對(duì)項(xiàng)目目錄進(jìn)行修改配置 在 app.json 文件中的 pages 數(shù)組中添加三個(gè)頁面,如上圖所示,然后我們將其他默認(rèn)的兩個(gè)進(jìn)行刪除,然后左側(cè)目錄 pages 文件夾中的

    2024年02月19日
    瀏覽(22)
  • 【微信小程序 | 實(shí)戰(zhàn)開發(fā)】配置微信小程序APPID并快速接入

    【微信小程序 | 實(shí)戰(zhàn)開發(fā)】配置微信小程序APPID并快速接入

    你是否想要掌握人工智能的最新技術(shù)和應(yīng)用?你是否想要成為未來社會(huì)的創(chuàng)新者和領(lǐng)導(dǎo)者?你是否想要和全球的優(yōu)秀導(dǎo)師和同學(xué)一起學(xué)習(xí)和交流?如果你的答案是肯定的,那么歡迎來到床長人工智能教程網(wǎng)站,這里是你實(shí)現(xiàn)夢(mèng)想的起點(diǎn)! 個(gè)人名片: ?? 作者簡(jiǎn)介:一名大一在

    2024年01月24日
    瀏覽(22)
  • 前端開發(fā)——微信小程序

    前端開發(fā)——微信小程序

    使用的開發(fā)平臺(tái)為——微信開發(fā)者工具(點(diǎn)擊此處鏈接)? 依次點(diǎn)擊【工具】-【下載】-【穩(wěn)定版更新日志】,找到適合的版本,進(jìn)行下載安裝。 注冊(cè)微信小程序(點(diǎn)擊注冊(cè)鏈接),注意注冊(cè)的是”小程序“。 根據(jù)注冊(cè)提示完成后,進(jìn)入以下界面: 在側(cè)邊欄點(diǎn)擊【開發(fā)】-

    2024年02月03日
    瀏覽(18)
  • 微信小程序云開發(fā)

    微信小程序云開發(fā)

    1.小程序云開發(fā),讓前端程序員擁有后端的能力 2.包含:云函數(shù)(nodejs)、云數(shù)據(jù)庫(mogodb)、云存儲(chǔ) 3.前端寫好函數(shù)-上傳到云服務(wù)器 實(shí)現(xiàn)自定義云部署 4.前端去調(diào)用云函數(shù),間接通過云函數(shù)對(duì)數(shù)據(jù)庫的操作 5.前端-全棧 1.創(chuàng)建集合 2.添加記錄 ? 1.云id 來自云開發(fā)-概覽-環(huán)境

    2024年02月04日
    瀏覽(20)
  • 微信小程序 - 云開發(fā)

    微信小程序 - 云開發(fā)

    小程序·云開發(fā)是微信團(tuán)隊(duì)聯(lián)合騰訊云推出的專業(yè)的小程序開發(fā)服務(wù)。 開發(fā)者可以使用云開發(fā)快速開發(fā)小程序、小游戲、公眾號(hào)網(wǎng)頁等,并且原生打通微信開放能力。 開發(fā)者無需搭建服務(wù)器,可免鑒權(quán)直接使用平臺(tái)提供的API進(jìn)行業(yè)務(wù)開發(fā) 小程序 云開發(fā)又簡(jiǎn)稱tcb,是微信官方

    2024年04月08日
    瀏覽(30)
  • 微信小程序云開發(fā)|基于微信小程序?qū)崿F(xiàn)房產(chǎn)中介平臺(tái)系統(tǒng)

    微信小程序云開發(fā)|基于微信小程序?qū)崿F(xiàn)房產(chǎn)中介平臺(tái)系統(tǒng)

    作者主頁:編程千紙鶴 作者簡(jiǎn)介:Java、前端、Python開發(fā)多年,做過高程,項(xiàng)目經(jīng)理,架構(gòu)師 主要內(nèi)容:Java項(xiàng)目開發(fā)、畢業(yè)設(shè)計(jì)開發(fā)、面試技術(shù)整理、最新技術(shù)分享 收藏點(diǎn)贊不迷路? 關(guān)注作者有好處 文末獲得源碼 項(xiàng)目編號(hào):BS-XCX-012 語言環(huán)境:微信小程序 開發(fā)工具:微信開

    2024年04月25日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包