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

【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設(shè)備信息并進行控制

這篇具有很好參考價值的文章主要介紹了【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設(shè)備信息并進行控制。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、 前言

筆者在這先簡單介紹一下自己的整個系統(tǒng),以好讓各位朋友能夠快速了解這篇文章對自己是否有幫助。

1.1 OntNET+硬件方面: STM32F103C8T6 + ESP01S

通過MQTT協(xié)議(筆者是直接給ESP01S刷了MQTT的AT固件,這種方法簡單方便)將采集到的光照、設(shè)備電量和開鎖信息上傳到OneNET平臺(這個過程就是向云平臺你所創(chuàng)建設(shè)備發(fā)布主題),并且也要訂閱云平臺你所創(chuàng)建設(shè)備的主題,這樣你的STM32才能收到云平臺下發(fā)的指令。

教程

視頻教程可參考:新版onenet利用stm32+esp8266接入指南 筆者這部分也是參考這位老師的,她這個接入的視頻教程沒有問題,她這個系列還有其它的視頻,有部分采用的是http協(xié)議的并且是老版OneNET,但其思想是相通的可借鑒。
注意: 她的微信小程序連接云平臺的教程和云平臺下發(fā)指令的教程,實踐有問題,我會在后續(xù)部分詳細說明。云平臺創(chuàng)建設(shè)備,和數(shù)據(jù)上云參考此up,微信小程序連接云平臺和指令下發(fā)建議參考下面博主的教程。

文本教程 可參考下面這位博主的文章,
1.使用新版OneNET創(chuàng)建MQTT設(shè)備遠程控制單片機,OneNET創(chuàng)建設(shè)備,我是跟著上面up做的,但這個文章看后感覺沒有問題。
2.ESP8266-01s入門:AT指令講解、上云與MQTT通信教程,AT指令部分很詳細。
3.使用微信小程序和OneNET平臺MQTT實現(xiàn)51/STM32單片機遠程智能控制和數(shù)據(jù)通信教程 ,他這個教程里ESP8266指令接收與處理ESP8266_ReceiveCmd() 函數(shù)我在實踐時有問題,后續(xù)在相應部分會詳細說明。

1.2 微信小程序方面

4.通過微信小程序獲取oneNET設(shè)備數(shù)據(jù)教程,這部分我也是參考了上面up和這位博主的教程,實踐發(fā)現(xiàn)up的教程有點小問題主要是獲取和推送所用的API方面在新版不適用,,這里用到的API都可以O(shè)neNET的官方文檔和API調(diào)試頁面找到。小程序效果如下圖。
微信小程序連接新版onenet,嵌入式外設(shè),微信小程序,stm32,小程序,c語言,筆記,單片機,嵌入式硬件

二、STM32代碼部分修改

  1. 首先要在esp01s的初始化里,加入對云平臺設(shè)備主題進行訂閱的命令。即第7條命令,命令里要修改產(chǎn)品ID和設(shè)備名稱,具體的文本教程有。
    注意 不先進行訂閱,后續(xù)小程序進行POST時就會報錯。
/**
 * @brief   初始化ESP8266
 * @param   無
 * @retval  無
 */
void ESP8266_Init(void)
{
    ESP8266_Clear();
    delay_xms(100);

    /* 確認AT命令可以正確發(fā)送并得到響應 */
    printf("0. AT\r\n");
    while (ESP8266_SendCmd("AT\r\n", "OK"))
        delay_xms(100);

    /* 重啟ESP8266 */
    printf("1. AT+RST\r\n");
    while (ESP8266_SendCmd("AT+RST\r\n", ""))
        delay_xms(100);

    /* 設(shè)置Wi-Fi模式 */
    printf("2. CWMODE 設(shè)置Wi-Fi模式\r\n");    
    while (ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))
        delay_xms(100);

    /* 打開DHCP */
    printf("3. AT+CWDHCP 打開DHCP\r\n");
    while (ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK"))
        delay_xms(100);

    /* 配置Wi-Fi連接 */
    printf("4. CWJAP 配置Wi-Fi連接\r\n");
    while (ESP8266_SendCmd(ESP8266_WIFI_INFO, "GOT IP"))
        delay_xms(100);

    /* 設(shè)置MQTT登錄用戶信息 */
    printf("5. MQTTUSERCFG 設(shè)置MQTT登錄用戶信息\r\n");
    while (ESP8266_SendCmd(ESP8266_USERCFG_INFO, "OK"))
        delay_xms(100);

    /* 發(fā)起向指定MQTT服務器的連接 */
    printf("6. MQTTCONN 發(fā)起向指定MQTT服務器的連接\r\n");
    while (ESP8266_SendCmd(ESP8266_ONENET_INFO, "OK"))
        delay_xms(100);

    /* 訂閱指定的MQTT主題 */
    printf("7. MQTTSUB 訂閱指定Topic\r\n");
    while (ESP8266_SendCmd("AT+MQTTSUB=0,\"$sys/78peC*h6uT/l*ck/thing/property/set\",0\r\n", "OK"))
        delay_xms(100);

    printf("7. ESP8266 Init OK\r\n");
}
  1. 要修改文本教程博主extractJsonValue()函數(shù) 該函數(shù)主要是從接收的字符串里提取我們需要的信息。如果碰到錯誤可以把里面的變量值都打印出來看一下,很容易就可以找出問題所在。
/**
 * @brief  從JSON字符串中提取出指定鍵的值
 * @param  *buffer 包含JSON的字符串
 * @param  *key 指定查找的鍵值
 * @param  *value 儲存查找的鍵值
 * @param  valueMaxLen 變量緩沖區(qū)的最大長度
 * @retval 無
 */
void extractJsonValue(const char *buffer, const char *key, char *value, size_t valueMaxLen)
{
    const char *jsonStart, *jsonEnd, *keyStart, *keyValueEnd;
    size_t keyValueLength;
    size_t keyLength = strlen(key);

    char keyPattern[20];                   /* 預留足夠的空間存儲 key 和查找格式串 */
    sprintf(keyPattern, "\"%s\"", key);   /* 構(gòu)建查找模式串,即 "key": */
    
    /* 查找JSON字符串的開頭 */
    jsonStart = strchr(buffer, '{');
    if (jsonStart == NULL)
        return;

    /* 查找JSON字符串的結(jié)尾 */
    jsonEnd = strrchr(jsonStart, '}');
    if (jsonEnd == NULL)
        return;

    /* 查找鍵 */
    keyStart = strstr(jsonStart, keyPattern);
    if (keyStart == NULL)
        return;

    /* 查找鍵值的結(jié)束 括號 ,確定鍵值的結(jié)束位置 */
    keyValueEnd = strchr(keyStart, '}');
    if (keyValueEnd == NULL || keyValueEnd > jsonEnd)
        return;

    /* 根據(jù)鍵值的起始和結(jié)束位置,計算鍵值的長度 */
    keyValueLength = keyValueEnd - keyStart;

    /* 拷貝鍵值到value緩沖區(qū)中 */
    if (keyValueLength < valueMaxLen)
    {
        strncpy(value, keyStart, keyValueLength);
        value[keyValueLength] = '\0';   /* 添加字符串終止字符\0 */
    }
    else
    {
        /* 如果提供的緩沖區(qū)不夠大,那么可以根據(jù)實際情況處理,這里簡單地截斷字符串 */
        strncpy(value, keyStart, valueMaxLen - 1);
        value[valueMaxLen - 1] = '\0';   /* 添加字符串終止字符\0 */
    }
}

三、微信小程序修改的部分

  1. 獲取云平臺數(shù)據(jù)時要使用以下API,并且要把產(chǎn)品ID和設(shè)備名稱都放進去** url: “https://iot-api.heclouds.com/thingmodel/query-device-property?product_id=你的產(chǎn)品ID&device_name=設(shè)備名稱”**
 /* 獲取OneNET云平臺設(shè)備數(shù)據(jù) */
    get_info() {
        /* 發(fā)起 HTTPS 網(wǎng)絡請求 獲取設(shè)備參數(shù) */
        wx.request({
            /* 網(wǎng)址、產(chǎn)品ID、設(shè)備名 */
            url: "https://iot-api.heclouds.com/thingmodel/query-device-property?product_id=78pevkh6uT&device_name=lck",

            header: {
                /* 用戶鑒權(quán)信息 */
                "authorization": "你的鑒權(quán)信息"
            },
           
            method: "GET",   /* HTTP 請求方法:獲取 */
            success: res => {
                // console.log("獲取成功", res)
                this.setData({
                   LockState: res.data.data[0].value,
                   battery_state: res.data.data[1].value,
                   sunlight: res.data.data[3].value,
                })
                // console.log("LockState:", this.data.LockState)
                // console.log("battery_state:", this.data.battery_state)
                // console.log("sunlight:", this.data.sunlight)
            }
        });
  1. 使用微信小程序向云平臺推送數(shù)據(jù),并下發(fā)到設(shè)備時,要使用以下API,同時要確保設(shè)備在線,并訂閱了此主題??梢允褂迷破脚_的設(shè)備調(diào)試進行模擬。url: ‘https://iot-api.heclouds.com/thingmodel/set-device-desired-property’
 // 以下數(shù)據(jù)和URL應根據(jù)實際情況進行修改
            wx.request({
                url: 'https://iot-api.heclouds.com/thingmodel/set-device-desired-property',
                method: 'POST',
                header: {
                    /* 用戶鑒權(quán)信息 */
                    "authorization": "鑒權(quán)信息"
                },
                data: {
                    "product_id": "產(chǎn)品ID",
                    "device_name": "設(shè)備名稱",
                    "params": {
                        "屬性標識符": 1   /* 使用傳入的ledValue設(shè)置LED的狀態(tài) */
                    }
                },
                success: res =>{
                    console.log("成功",res)
                  }
            });

如果有問題可以在評論區(qū)進行交流、討論。

四、小筆記(個人雜記)

4.1 OneNETOneNET物聯(lián)網(wǎng)開放平臺

OneNET物聯(lián)網(wǎng)開放平臺是中國移動打造的面向產(chǎn)業(yè)互聯(lián)和智慧生活應用的物聯(lián)網(wǎng)PaaS平臺,OneNET支持適配各種網(wǎng)絡環(huán)境和協(xié)議類型,可實現(xiàn)各種傳感器和智能硬件的快速接入,提供豐富的API和應用模板以支撐各類行業(yè)應用和智能硬件的開發(fā),有效降低物聯(lián)網(wǎng)應用開發(fā)和部署成本,滿足物聯(lián)網(wǎng)領(lǐng)域設(shè)備連接、智能化改造、協(xié)議適配、數(shù)據(jù)存儲、數(shù)據(jù)安全以及大數(shù)據(jù)分析等等平臺級服務需求。
微信小程序連接新版onenet,嵌入式外設(shè),微信小程序,stm32,小程序,c語言,筆記,單片機,嵌入式硬件

產(chǎn)品優(yōu)勢

  1. 設(shè)備快速開發(fā)
    支持MQTT、CoAP、LwM2M、HTTP等多種行業(yè)主流標準協(xié)議及私有協(xié)議接入;支持2G、4G、NB-IoT、Wi-Fi、藍牙、Thread等多種通訊模組接入能力,提供設(shè)備端SDK及基于模組的接入能力,幫助開發(fā)者快速實現(xiàn)設(shè)備接入和產(chǎn)品智能化開發(fā)。
  2. 一站式應用開發(fā)
    提供通用領(lǐng)域服務和行業(yè)業(yè)務建?;A(chǔ)模型,幫助開發(fā)者在線快速構(gòu)建云上應用和進行應用托管;提供和物APP,用戶不必關(guān)注底層實現(xiàn),只需通過配置專屬交互控制界面,即可完成智能家居場景APP應用開發(fā),提高應用開發(fā)效率。
  3. 高效數(shù)據(jù)處理
    提供高可靠的實時消息云服務,保障開發(fā)者業(yè)務穩(wěn)定運行,提供規(guī)則引擎、場景聯(lián)動等能力,幫助開發(fā)者靈活定義設(shè)備數(shù)據(jù)的解析過濾規(guī)則、存儲、輸出等,降低用戶數(shù)據(jù)處理成本。
  4. 增值服務升級
    提供遠程升級OTA、位置定位LBS、消息隊列MQ、數(shù)字可視化View、人工智能AI等增值能力,助力開發(fā)者產(chǎn)品升級;以強大的OneNET生態(tài)為基礎(chǔ),打通國內(nèi)外產(chǎn)品線上線下渠道,助力產(chǎn)品快速出貨和流量變現(xiàn)。以上引自官方文檔。

4.2 MQTT協(xié)議

MQTT(Message Queuing Telemetry Transport) 是一個輕量級的、基于發(fā)布/訂閱模型的消息協(xié)議,專為低帶寬和不穩(wěn)定網(wǎng)絡環(huán)境設(shè)計,廣泛用于物聯(lián)網(wǎng)設(shè)備之間的通信。
在MQTT中,設(shè)備可以作為發(fā)布者發(fā)送消息,或者作為訂閱者接收特定主題(Topic)的消息。這個模型允許多個設(shè)備共享特定的數(shù)據(jù)點并響應相應的變化。
MQTT設(shè)備使用這一協(xié)議,通過輕量級的消息交換,實現(xiàn)設(shè)備間的有效通訊和數(shù)據(jù)傳輸。

  1. 在OneNET平臺上使用MQTT進行設(shè)備通信時,設(shè)備充當MQTT客戶端,通過發(fā)布(publish)消息到平臺,或者訂閱(subscribe)平臺消息來實現(xiàn)與云端的雙向通信。
  2. 利用MQTT設(shè)備進行數(shù)據(jù)上傳的步驟通常包括:
  • 設(shè)備注冊:在OneNET平臺注冊設(shè)備,獲取設(shè)備ID等必要信息。
  • MQTT連接:設(shè)備使用MQTT協(xié)議與OneNET建立連接,完成認證。
  • 數(shù)據(jù)上傳:設(shè)備發(fā)布消息到指定的Topic,將數(shù)據(jù)上傳到云平臺。
  • 命令下發(fā)及控制:云平臺可發(fā)布消息給設(shè)備,設(shè)備訂閱對應Topic以接收命令或控制信息。
  • 實時監(jiān)控:開發(fā)者或用戶利用平臺提供的應用程序接口(API),實現(xiàn)數(shù)據(jù)監(jiān)控和設(shè)備管理。
    OneNET的MQTT服務使得IoT設(shè)備能夠以一種穩(wěn)定且高效的方式與云端資源進行交互,使得管理和操作變得更加簡單靈活。

4.3 MQTT與HTTP區(qū)別

MQTT設(shè)備與HTTP設(shè)備在連接OneNET云平臺時使用的協(xié)議不同,各自有著不同的特點和適用場景。以下是兩者的主要區(qū)別:文章來源地址http://www.zghlxwxcb.cn/news/detail-856900.html

MQTT:

  1. 輕量級協(xié)議:MQTT設(shè)計簡潔,數(shù)據(jù)包小,適用于帶寬有限的情況。
  2. 節(jié)省能源:設(shè)備可以長時間保持連接狀態(tài),但不會頻繁發(fā)送數(shù)據(jù),適合用電池供電的設(shè)備。
  3. 支持離線消息:通過“遺囑消息”等機制,即使設(shè)備離線也能保證一定程度的消息傳遞。
  4. 低延遲:基于發(fā)布/訂閱機制,可以快速響應和分發(fā)消息,幾乎實時的通訊體驗。
  5. 支持多對一和一對多通訊:一個主題可以有多個訂閱者,適用于廣播和分布式消息通訊。

HTTP:

  1. 基于請求/響應模式:客戶端發(fā)起請求,服務器回應請求,沒有長期連接狀態(tài)。
  2. 更加通用和普遍:HTTP作為互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議,被絕大多數(shù)網(wǎng)絡應用支持。
  3. 連接簡單:HTTP的無狀態(tài)特性使得每次通信簡潔明了,但每次交互都需要重新建立連接。
  4. 相對較高的功耗和延遲:因為需要頻繁的連接建立和斷開,對能量消耗和通信延遲有影響。
    在物聯(lián)網(wǎng)應用中,選擇MQTT還是HTTP通常取決于特定的需求和場景。如果需要低功耗、持續(xù)連接、低延遲及大量設(shè)備間通信的應用,MQTT是更好的選擇。而對于偶爾傳送數(shù)據(jù)或者和現(xiàn)有Web服務進行交互的應用,HTTP可能更為合適。
    OneNET云平臺提供了對這兩種協(xié)議的支持,以滿足不同物聯(lián)網(wǎng)項目的需求。開發(fā)者可以根據(jù)具體情況選擇最適合的通信方式。

到了這里,關(guān)于【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設(shè)備信息并進行控制的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • ESP32連接到oneNET云平臺,傳數(shù)據(jù)到微信小程序

    ESP32連接到oneNET云平臺,傳數(shù)據(jù)到微信小程序

    學習物聯(lián)網(wǎng)的同學們在進行畢業(yè)設(shè)計時都需要面對一個共同的問題:如何使用傳感器獲取數(shù)據(jù)并將其上傳至云平臺,然后通過微信小程序訪問云平臺數(shù)據(jù)。在這個過程中,恰巧在課程設(shè)計中接觸到了ESP32,發(fā)現(xiàn)它內(nèi)置藍牙和WiFi模塊, 這不是天生的上傳云平臺圣體嗎? 因此,

    2024年04月15日
    瀏覽(25)
  • 微信小程序+esp8266NodeMcu(cp2102)+onenet物聯(lián)平臺(二)

    微信小程序+esp8266NodeMcu(cp2102)+onenet物聯(lián)平臺(二)

    目錄 一、搭建環(huán)境 1、esp8266NodeMcu(cp2102)驅(qū)動安裝 ?2、為esp8266NodeMcu搭建Arduino開發(fā)環(huán)境 3、安裝PubSubClient庫 二、編寫代碼 上一篇文章微信小程序+esp8266NodeMcu(cp2102)+onenet物聯(lián)平臺(一)介紹了onenet平臺注冊及設(shè)備連接,接下來介紹,如何使用Arduino IDE編寫代碼,控制esp8266,使用

    2024年02月01日
    瀏覽(19)
  • STM32+ESP8266+DHT11通過MQTT協(xié)議連接新版ONENET云平臺上傳數(shù)據(jù)

    STM32+ESP8266+DHT11通過MQTT協(xié)議連接新版ONENET云平臺上傳數(shù)據(jù)

    項目講解視頻 新版 云平臺搭建視頻演示 單片機代碼修改演示視頻 APP參數(shù)修改 實物演示 前段時間ONENET云平臺進行了升級更新,此前平臺的多協(xié)議接入(包含舊版MQTT、HTTP、EDP、Modbus、TCP透傳等)接口已經(jīng)隱藏,后續(xù)應該會下架,為了能夠后續(xù)繼續(xù)使用ONENET云平臺,就需要學

    2024年02月09日
    瀏覽(35)
  • 新版onenet平臺安全鑒權(quán)的確定與使用

    新版onenet平臺安全鑒權(quán)的確定與使用

    ? 根據(jù)onenet官方更新的文檔:平臺提供開放的API接口,用戶可以通過HTTP/HTTPS調(diào)用,進行設(shè)備管理,數(shù)據(jù)查詢,設(shè)備命令交互等操作,在API的基礎(chǔ)上,根據(jù)自己的個性化需求搭建上層應用。 ? ?為提高API訪問安全性,OneNET API的鑒權(quán)參數(shù)作為header的authorization參數(shù)存在。 安全鑒權(quán)

    2024年02月04日
    瀏覽(13)
  • 物聯(lián)網(wǎng)實踐教程(終章):微信小程序結(jié)合OneNET平臺MQTT實現(xiàn)51/STM32單片機智能控制與溫度等數(shù)據(jù)實時顯示【微信小程序篇】

    物聯(lián)網(wǎng)實踐教程(終章):微信小程序結(jié)合OneNET平臺MQTT實現(xiàn)51/STM32單片機智能控制與溫度等數(shù)據(jù)實時顯示【微信小程序篇】

    本項目教程總共分為四節(jié) 1.創(chuàng)建OneNET新版MQTT設(shè)備:為微信小程序與單片機通信打基礎(chǔ)(微信小程序通信單片機前置任務) 2.ESP8266-01s入門:燒錄AT固件與OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信單片機前置任務) 3.物聯(lián)網(wǎng)實踐教程:微信小程序結(jié)合OneNET平臺MQTT實

    2024年02月03日
    瀏覽(38)
  • 【OneNet】| stm32+esp8266-01s—— OneNet初體驗 | 平臺注冊及設(shè)備創(chuàng)建 | demo使用

    【OneNet】| stm32+esp8266-01s—— OneNet初體驗 | 平臺注冊及設(shè)備創(chuàng)建 | demo使用

    系列文章目錄 失敗了也挺可愛,成功了就超帥。 最近準備耍下 Onenet平臺 。下載了官方demo 遇到幾個問題 1、創(chuàng)建接入設(shè)備 因為平臺網(wǎng)頁界面更新了 一些創(chuàng)建接口找不到 網(wǎng)上的資料都是舊版網(wǎng)頁上的 搞了一番才找到 2、跑Demo時 串口打印亂碼 故此分享下希望可以對你有幫助

    2024年02月03日
    瀏覽(31)
  • 【Arduino UNO R3使用esp8266-01s連接onenet云平臺

    【Arduino UNO R3使用esp8266-01s連接onenet云平臺

    注意 : 1、電源接口一定是純凈的3.3V電壓(此電源最好沒有串并聯(lián)其他元器件)否則可能出現(xiàn)電壓不穩(wěn)定,無法成功連接。 2、第一次wifi模塊第一次使用需要 手動配置熱點 ,連接成功之后才可將完整的程序代碼燒錄進arduino開發(fā)板。 測試連接esp826601s代碼段 : (手動配置熱

    2023年04月16日
    瀏覽(44)
  • 修復微信小程序獲取頭像的bug,微信小程序新版頭像API使用

    修復微信小程序獲取頭像的bug,微信小程序新版頭像API使用

    接著我之前發(fā)布的一篇文章:微信小程序上傳頭像的臨時路徑,持久化保存到服務器與數(shù)據(jù)庫(nodejs后臺開發(fā))_盒子貓君的博客-CSDN博客 今天我就來解決掉之前的問題吧! 從之前的后臺報錯來看,獲取到的tempFilePath值和avatarUrl的值相同,都是http://tmp,不過頭像都已經(jīng)上傳成

    2024年02月07日
    瀏覽(102)
  • 微信小程序AR:通過Kivicube平臺零代碼實現(xiàn)小程序AR效果

    微信小程序AR:通過Kivicube平臺零代碼實現(xiàn)小程序AR效果

    今天給大家分享一個使用第三方平臺:Kivicube( Kivicube-WebXR在線制作平臺 ),快速生成小程序AR的方法。 話不多說,先看實現(xiàn)效果: https://www.bilibili.com/video/BV1rT4y1o7r2/?spm_id_from=333.999.0.0vd_source=5108e7673f643b30c736dfd0b36e622a 整體的思路是先準備一個glb格式的3D模型,再在第三方平臺

    2023年04月14日
    瀏覽(41)
  • 微信小程序新版渲染引擎Skyline的使用詳解

    微信小程序新版渲染引擎Skyline的使用詳解

    今年年初,在官方文檔上看到小程序團隊要推出一款性能逼近原生的渲染引擎Skyline,就一直在關(guān)注。剛好最近打算做一款新的閱讀小程序,作為一名獨立開發(fā)者,對于性能和用戶體驗的追求是永無止境的,于是我決定用純Skyline打造這款小程序。 當然,這個項目里面所用到的

    2024年02月07日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包