微信小程式新聞網站列表頁

来源:https://www.cnblogs.com/chenyingying0/archive/2020/03/23/12556083.html
-Advertisement-
Play Games

在app.json中可以設置所有文件的頭部導航顏色 (是window屬性的子屬性) 在具體頁面可以單獨設置該頁面的導航顏色 (直接寫該屬性,不需要寫window屬性) 查看官方文檔,可以看到好多全局屬性 而頁面配置會覆蓋部分window配置 在post.json中添加: { "navigationB ...


在app.json中可以設置所有文件的頭部導航顏色

(是window屬性的子屬性)

 

 

 

 

在具體頁面可以單獨設置該頁面的導航顏色

(直接寫該屬性,不需要寫window屬性)

 

 

 

 

 查看官方文檔,可以看到好多全局屬性

 

 

 

而頁面配置會覆蓋部分window配置

 

 

 

 

在post.json中添加:

{
  "navigationBarTitleText":"文與字"
}

可以實現導航的文字

 

 

在小程式中,有些時候使用絕對路徑會報錯,比如import

因此當你使用絕對路徑報錯時,可以嘗試換成相對路徑,也許問題就解決了。

 

js中的data屬於單向數據綁定,data中改變的數據,在wxml中會自動更新

但是在wxml中改變的數據,不會同步更新到js中(可以通過事件來完成同步)

示例:

在posts.js的data中定義date

 

 

在posts.wxml中使用雙花括弧綁定數據

 

 

顯示

 

 

setData方法綁定數據

通常從伺服器載入的數據會放到onload函數中

 

 

在post.wxml中,使用雙花括弧綁定數據

<!--pages/posts/posts.wxml-->
<view>
  <swiper indicator-dots="true" interval="5000" autoplay="true">
    <swiper-item><image src="/images/wx.png"></image></swiper-item>
    <swiper-item><image src="/images/vr.png"></image></swiper-item>
    <swiper-item><image src="/images/iqiyi.png"></image></swiper-item>
  </swiper>  
</view>
<view class="post-container">
  <view class="post-author-date">
   <image src="{{avatar}}" class="post-author"></image>
   <text class="post-date">{{date}}</text>
  </view>
  <text class="post-title">{{title}}</text>
  <image src="{{imgSrc}}" class="post-img"></image>
  <text class="post-content">{{content}}</text>
  <view class="post-like">
    <image src="/images/icon/chat.png" class="post-like-img"></image>
    <text class="post-like-font">{{collection}}</text>
    <image src="/images/icon/view.png" class="post-like-img"></image>
    <text class="post-like-font">{{reading}}</text>
  </view>
</view>

完成綁定

 

 

雙花括弧裡面還可以進行一些運算,比如拼接字元串

 

 

 

 

數據加減

 

 

 

 

條件渲染wx-if

wx-if的值,如果轉換為true,則元素顯示;轉換為false,則元素不顯示

通常會放一個變數,在js中定義好變數

 

 

給元素添加wx:if判斷,false代表不顯示

 

 

 

 

列表渲染wx-for

首先在onload函數中定義好數據,一般是數組形式的

 

 

然後使用this.setData把數據傳遞到data中

要註意的是!傳遞的數據必須是js對象!如果是數組,記得加上key轉換為對象形式

 

 

在wxml中,給要迴圈的部分用block包起來,wx:for 屬性值填寫數據的key,wx:for-item里是迴圈的每一項的別名

 

 

另一種比較簡單的數組轉對象的方法:

這是ES6的對象簡寫方法,相當於{post_content: post_content}

小程式是支持es6語法的

 

 

 

 

 

另外,wx:for-item="item" 是可以刪除的,迴圈的每一項預設的別名就是item

如果你使用的別名不是item,則必須在該屬性中指明

 

 

獲取索引:

 

 當然,如果不指定的話,預設索引就是index

 

 

小程式的事件機制——捕捉與回調

實現點擊按鈕跳轉到另一個頁面

這是app.json,預設顯示的是welcome.wxml

 

 

 

 

如果要實現點擊按鈕,跳轉到另一個頁面,就需要用到小程式里的事件

查看官方文檔

 

 這裡我們要用到的事件是:tap

 

 

在welcome.wxml 中,給元素添加事件

屬性值是自定義的函數名

 

 

函數就寫在welcome.js裡面

navicateTo是用來跳轉的方法

 

 

跳轉之後可以看到控制台會有警告

 

 一般來說只要使用了wx:for迴圈就會有這個警告,不用去管它

如果非要處理,就加上wx:key隨便給個值就行

 

 這樣就不會有警告了

 

使用navicateTo進行跳轉,跳轉成功之後,頁面上面有個返回箭頭,點擊可以返回上一頁

 

 

redirectTo 也是可以用來跳轉的,區別就是跳轉之後沒有返回按鈕

 

 

 

 

使用navicateTo跳轉新頁面,原來的頁面會執行onhide,隱藏,因此能夠返回

使用redirectTo跳轉新頁面,原來的頁面會執行onunload,卸載,因此無法返回

可以在welcome.js里添加兩個函數列印查看

 

 

查看文檔

 

 可以看到有很多回調

 

 

當然,針對歡迎頁面來說,使用redirectTo會更好一些,因為歡迎界面一般只在打開時出現,且不會再回去

 

catch與bind

綁定事件除了bind,也可以使用catch

區別:

bind 事件冒泡

只點擊父元素時,觸發父元素事件,不觸發子元素事件

同時點擊父元素和子元素時,先觸發子元素事件,後觸發父元素事件

 

 

 

 

 

 

catch 事件捕獲

只點擊父元素時,觸發父元素事件,不觸發子元素事件

同時點擊父元素和子元素時,只觸發子元素事件,不會冒泡到父元素

 

 

 

 

 

 

將業務數據分離到單獨的數據文件中

新建data目錄,創建posts-data.js,把所有數據統一定義在裡面

小程式里按住alt+shif+f可以快速將代碼格式化,如果忘了快捷鍵可以按F1查看所有快捷鍵

使用module.exports導出數據

var local_database = [
    {
        date: "Sep 18 2016",
        title: "正是蝦肥蟹壯時",
        imgSrc: "/images/post/crab.png",
        avatar: "/images/avatar/1.png",
        content: "菊黃蟹正肥,品嘗秋之味。徐志摩把,“看初花的荻蘆”和“到樓外樓吃蟹”,併列為秋天來杭州不能錯過的風雅之事;用林妹妹的話講是“螯封嫩玉雙雙滿,",
        reading: "112",
        collection: "96",
        headImgSrc: "/images/post/crab.png",
        author: "林白衣",
        dateTime: "24小時前",
        detail: "菊黃蟹正肥,品嘗秋之味。徐志摩把“看初花的荻蘆”和“到樓外樓吃蟹”併列為秋天來杭州不能錯過的風雅之事;用林妹妹的話講是“螯封嫩玉雙雙滿,殼凸紅脂塊塊香”;在《世說新語》里,晉畢卓更是感嘆“右手持酒盃,左手持蟹螯,拍浮酒船中,便足了一生矣。”漫漫人生長路,美食與愛豈可辜負?於是作為一個吃貨,突然也很想回味一下屬於我的味蕾記憶。記憶中的秋蟹,是家人的味道,瀰漫著濃濃的親情。\n\n是誰來自山川湖海,卻囿於晝夜,廚房與愛? 是母親,深思熟慮,聰明耐心。吃蟹前,總會拿出幾件工具,煞有介事而樂此不疲。告訴我們螃蟹至寒,需要佐以薑茶以祛寒,在配備的米醋小碟里,亦添入姜絲與紫蘇,前者驅寒後者增香。泡好菊花茶,歲月靜好,我們靜等。",
        postId: 0,
        music: {
          url: "http://music.163.com/song/media/outer/url?id=142604.mp3",
            title: "夜夜夜夜-齊秦",
            coverImg: "http://y.gtimg.cn/music/photo_new/T002R150x150M000001TEc6V0kjpVC.jpg?max_age=2592000"
        }
    },
    {
        title: "比利·林恩的中場故事",
        content: "一 “李安是一位絕不會重覆自己的導演,本片將極富原創性李安眾所矚目的新片《比利林恩漫長的中場休息》,正式更名《半場無戰事》。",
        imgSrc: "/images/post/bl.png",
        reading: 62,
        detail: "一 “李安是一位絕不會重覆自己的導演,本片將極富原創性”李安眾所矚目的新片《比利林恩漫長的中場休息》,正式更名《半場無戰事》。預告片首次曝光後,被視作是明年奧斯卡種子選手。該片根據同名暢銷書改編。原著小說榮獲美國國家圖書獎。也被BBC評為21世紀最偉大的12本英文小說之一。影片講述一位19歲德州男孩的比利·林恩入伍參加伊戰,在一次交火中他大難不死,意外與戰友成為大眾的關註焦點,並被塑造成英雄。之後他們返回國內,在橄欖球賽中場休息時授勛。這名戰爭英雄卻面臨前所未有的心靈煎熬……李安為什麼選中這部電影來拍?因為李安想要挑戰前所未有的技術難題:以120幀每秒的速度、4K、3D技術全面結合,來掀起一場電影視覺革命。什麼意思?所謂“電影是24格每秒的謊言”,其中的24格,就是幀數。",
        collection: 92,
        dateTime: "24小時前",
        headImgSrc: "/images/post/bl.png",
        author: "迷的城",
        date: "Nov 20 2016",
        avatar: "/images/avatar/1.png",
        postId: 1,
        music: {
          url: "http://music.163.com/song/media/outer/url?id=108220.mp3",
            title: "鬼迷心竅-李宗盛",
            coverImg: "http://y.gtimg.cn/music/photo_new/T002R150x150M000002xOmp62kqSic.jpg?max_age=2592000"
        }
    },
    {
        //按住alt + shift + F 可以格式化代碼樣式
        title: "當我們在談論經濟學時,我們在談論什麼?",
        content: "引言在我跟學生課後交流時,以及我在知乎上閱讀有關“經濟”問題的論題時,經常會遇到這樣的情況:...",
        detail: "1 引言\n\n在我跟學生課後交流時,以及我在知乎上閱讀有關“經濟”問題的論題時,經常會遇到這樣的情況:有些人套用“經濟理論“的知識去解釋現實中發生的經濟事件,結果發現很多事情講不通,或者發現”理論告訴我們的“與現實發生的是相反的。也有學生經常跟我說:經濟學有什麼用?為了說明這個,我經常從兩個方面來進行解釋,嘗試用我個人所擅長的解決問題的視角和他們能夠聽懂的方法來說明經濟學是什麼,它的作用邊界在哪裡:\r\n\n2 ”簡筆素描“與”油畫肖像“我們給人畫肖像畫,可以用簡筆素描,也可以用油畫肖像。油畫肖像可以在最大程度上保存了人物的各方面的細節和特點,而簡筆素描則忽略了很多細節。儘管簡筆素描忽略了人物的許多細節,但我們仍舊能夠很容易的認出畫中的人物是誰。為什麼?因為這種方法保留了人物最顯著的特征,以至於我們可以忽略其次要特征而對人物做出判定。\n\n2.1 ”簡筆素描“對於絕大多數的非經濟學專業大眾而言(經濟學相關專業碩士學歷以上),人們所接觸到的經濟學都是初級微觀經濟學。所謂的初級微觀經濟學,對於經濟問題的”畫法“就是一種”簡筆素描“。比如初級微觀經濟學教材中廣為使用的這種一元一次需求函數:y=bx+a,需求量的唯一變數是產品價格。但僅憑直覺我們就可以斷言,現實中影響需求量的因素絕不止價格這一種,因此我們可以認為這個模型對經濟問題的描述是失真的。然而但這種失真卻是必要的和有意義的,其意義在與它利於揭示價格對於需求的影響,而不在於否定影響需求的其他因素——",
        imgSrc: "/images/post/sls.jpg",
        headImgSrc: "/images/post/sls.jpg",
        reading: 62,
        collection: 92,
        author: "知乎",
        date: "Nov 12 2016",
        dateTime: "三天前",
        avatar: "/images/avatar/3.png",
        postId: 2,
        music: {
          url: "http://music.163.com/song/media/outer/url?id=27538254.mp3",
            title: "女兒情-萬曉利",
            coverImg: "http://y.gtimg.cn/music/photo_new/T002R150x150M000004Wv5BO30pPc0.jpg?max_age=2592000"
        }
    },
    {
        title: "微信·小程式開發工具安裝指南",
        content: "這兩天閑來無事,也安裝了 “微信摺疊”的開發工具來玩一下。以下是一些小道消息及使用體驗,過兩天我會寫一篇文章以開發者的角度來詳細評價微信小程式",
        imgSrc: "/images/post/xiaolong.jpg",
        reading: 102,
        detail: "這兩天閑來無事,也安裝了 “微信摺疊”的開發工具來玩一下。以下是一些小道消息及使用體驗,過兩天我會寫一篇文章以開發者的角度來詳細評價微信小程式:微信小程式不能開發游戲類、直播類功能,小程式每個人關註的上限是20個(還不確定,不過我相信這是真的,這次公佈的API里並沒有視頻組件。微信太大,蘋果要有所顧忌,但是微信也要做出相應的讓步)微信目前有沒有同蘋果商談好,還是個未知數,畢竟會對AppStore有一定的衝擊。拋棄了大量的javascript組件後,這個生態體系變得相當的封閉,微信解釋肯定是:為了更好的性能提升。那麼我們拭目以待。小程式的入口是微信里的三級菜單,就是在“Tab欄發現里的游戲下麵加入一個“小程式”。反正,這一欄里的購物和游戲我是從來沒點進去過的。以騰訊的尿性,小程式同服務號一樣,其關係鏈及重要功能的開放程度會因“人”而異。對,優質的介面只會開放給騰訊的兒子們(滴滴呀、京東呀)",
        collection: 92,
        dateTime: "24小時前",
        headImgSrc: "/images/post/xiaolong.jpg",
        author: "貓是貓的貓",
        date: "Nov 20 2016",
        avatar: "/images/avatar/5.png",
        postId: 3,
        music: {
          url: "http://music.163.com/song/media/outer/url?id=108119.mp3",
            title: "戀戀風塵-老狼",
            coverImg: "http://y.gtimg.cn/music/photo_new/T002R150x150M000001VaXQX1Z1Imq.jpg?max_age=2592000",
        }
    },
    {
        title: "從視覺到觸覺 這款VR手套能給你真實觸感",
        content: "8月29日消息,據國外媒體VentureBeat報道,一家名為Dexta Robotics的公司最近發佈了一款有望變革虛擬現實手部追蹤與交互方式的新產品",
        imgSrc: "/images/post/vr.png",
        reading: 102,
        detail: "消息,據國外媒體VentureBeat報道,一家名為Dexta Robotics的公司最近發佈了一款有望變革虛擬現實手部追蹤與交互方式的新產品。該產品名為“Dexmo”,它是一款像手套那樣戴在手上使用的未來主義外骨骼。它內置大量的元件,能夠與VR體驗進行交互,可幫助你感覺握在你的雙手的虛擬物體。Dexmo據Dexta稱,“Dexmo是一款針對你的雙手的機械外骨骼。它能夠捕捉你的手部運動,以及提供即時的力反饋。有了Dexmo,你可以感受到虛擬物體的大小、形狀和堅硬度。你可以接觸數字世界。”市面上已經有數款產品旨在處理虛擬現實中的手部交互,也有相關的產品即將要進入市場。例如,頗受歡迎的HTC Vive頭盔配有一副控制器,其控制器能夠使得追蹤系統看到你的雙手,讓你可以用它們來在特定體驗中與物體進行交互。今年晚些時候,Oculus將開始出貨類似的手部控制產品Oculus Touch。10月,索尼也將開始出貨配備兩個PlayStation Move手部控制器的PS VR。Leap Motion甚至更進一步:利用感測器來追蹤手指和手部的運動。",
        collection: 26,
        dateTime: "24小時前",
        headImgSrc: "/images/post/vr.png",
        author: "深白色",
        date: "Nov 20 2016",
        avatar: "../../../images/avatar/3.png",
        postId: 4,
        music: {
          url: "http://music.163.com/song/media/outer/url?id=188204.mp3",
            title: "沉默是金-張國榮",
            coverImg: "http://y.gtimg.cn/music/photo_new/T002R150x150M000003at0mJ2YrR2H.jpg?max_age=2592000"
        }
    },
    {
        title: "愛奇藝創維開展戰略合作,合力佈局開放娛樂生態",
        content: "愛奇藝和創維分別作為國內領先的線上視頻品牌",
        imgSrc: "/images/iqiyi.png",
        reading: 96,
        detail: "愛奇藝和創維分別作為國內領先的線上視頻品牌和家電品牌。雙方一直銳意創新,為用戶提供優質的服務體驗和產品體驗。據悉,愛奇藝與創維將展開從資本到VIP會員服務等各方面的深入合作。籍由此次合作,愛奇藝將戰略投資創維旗下擁有高端互聯網電視品牌的酷開公司。從下一財年開始,創維旗下互聯網電視將通過銀河互聯網電視集成播控平臺,預置VIP會員服務及相關內容。這種捆綁終端與VIP內容的全新銷售模式,將大幅提升互聯網電視終端用戶的體驗,給予用戶更多優質內容的選擇。",
        collection: 26,
        dateTime: "21小時前",
        headImgSrc: "/images/iqiyi.png",
        author: "深白色",
        date: "Nov 20 2016",
        avatar: "../../../images/avatar/5.png",
        postId: 5,
        music: {
          url: "http://music.163.com/song/media/outer/url?id=152428.mp3",
            title: "朋友-譚詠麟",
            coverImg: "http://y.gtimg.cn/music/photo_new/T002R150x150M000004eGsCN3SUheO.jpg?max_age=2592000"
        }
    },
];

var mydata="cyy";

//導出數據(可以同時導出多個數據)
module.exports = {
    postList: local_database,
    cyy:mydata
}

 

使用require載入JS模塊文件(必須是相對路徑,不能是絕對路徑!!!)

在posts.js中,使用require引入剛纔的數據posts-data.js,然後用一個變數來接收導出的數據

列印出來可以查看獲取到的數據

 

 

 

 

完整的posts.js代碼

// pages/posts/posts.js
var postsData=require("../../data/posts-data.js");//引入數據
console.log(postsData);

Page({

  /**
   * 頁面的初始數據
   */
  data: {
    date:"Mar 23 2020"
  },

  /**
   * 生命周期函數--監聽頁面載入
   */
  onLoad: function (options) {
    this.setData({ 
      post_key:postsData.postList
      });//將數據傳遞到data中
  }

})

 

template 模板的使用

提取出可重覆使用的模塊

在posts目錄下新建目錄post-item,然後在目錄中創建post-item-template.wxml和post-item-template.wxss

 

 

post-item-template.wxml

定義模板,name屬性是模板名

<template name="postItem">
  <view class="post-container">
    <view class="post-author-date">
    <image src="{{item.avatar}}" class="post-author"></image>
    <text class="post-date">{{item.date}}</text>
    </view>
    <text class="post-title">{{item.title}}</text>
    <image src="{{item.imgSrc}}" class="post-img"></image>
    <text class="post-content">{{item.content}}</text>
    <view class="post-like">
      <image src="/images/icon/chat.png" class="post-like-img"></image>
      <text class="post-like-font">{{item.collection}}</text>
      <image src="/images/icon/view.png" class="post-like-img"></image>
      <text class="post-like-font">{{item.reading}}</text>
    </view>
  </view>
</template>

 

使用import導入模板文件,可以是絕對路徑也可以是相對路徑

 

調用模板時,is屬性指定模板名,data屬性傳入數據

<!--pages/posts/posts.wxml-->
<import src="post-item/post-item-template.wxml" />

<view>
  <swiper indicator-dots="true" interval="5000" autoplay="true">
    <swiper-item><image src="/images/wx.png"></image></swiper-item>
    <swiper-item><image src="/images/vr.png"></image></swiper-item>
    <swiper-item><image src="/images/iqiyi.png"></image></swiper-item>
  </swiper>  
</view>

<block wx:for="{{post_key}}">
  <template is="postItem" data="{{item}}" />
</block>

 

實際上template只是占位符,在運行時會被替換

因此雖然模板中沒有樣式,但是頁面里是有樣式的

可以在控制臺中查看

 

 

現在需要把頁面中的相關樣式也分離到模板樣式中

把posts.wxss中的相關代碼拷貝到post-item-template.wxss

.post-container{
  display: flex;
  flex-direction: column;
  margin-top:20rpmx;
  margin-bottom:40rpx;
  background:#fff;
  border-top:1px solid #ededed;
  border-bottom:1px solid #ededed;
  padding-bottom:10rpx;
}
.post-author-date{
  margin:10rpx 0 20rpx 10rpx;
  display: flex;
  align-items: center;
}
.post-author{
  height:60rpx;
  width:60rpx;
}
.post-date{
  margin-left:20rpx;
  font-size:26rpx;
}
.post-title{
  font-size:34rpx;
  font-weight:600;
  margin-bottom:20rpx;
  margin-left:20rpx;
  color:#333;
}
.post-img{
  width:100%;
  height:340rpx;
  margin-bottom:15rpx;
}
.post-content{
  font-size:28rpx;
  color:#666;
  letter-spacing: 2rpx;
  margin:0 0 20rpx 20rpx;
}
.post-like{
  font-size:26rpx;
  margin-left:20rpx;
  display: flex;
  align-items: center;
}
.post-like-img{
  width:32rpx;
  height:32rpx;
  margin-right:16rpx;

 

然後在posts.wxss中引入模板樣式

使用@import

/* pages/posts/posts.wxss */
@import "post-item/post-item-template.wxss";

swiper{
  width:100%;
  height:600rpx;
}
swiper image{
  width:100%;
  height:600rpx;
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 第一個就是使用優化查詢的方法。這個在前期的內容中有具體說明,這裡不再做說明。 第二、這裡簡要說明一個以下幾個方法: 主從複製、讀寫分離、負載均衡 目前,大部分的主流關係型資料庫都提供了主從複製的功能,通過配置兩台(或多台)資料庫的主從關係,可以將一臺資料庫伺服器的數據更新同步到另一臺伺服器上。網站可 ...
  • 學習自《劍破冰山 Oracle開發藝術》第五章 報表開發之擴展GROUP BY對於簡單group by語句很難對複雜維度進行分析,難以達到實際生產的複雜報表需求,group by的擴展特性就需要了,union語句也可以達到需求但是sql複雜且效率低1 rollup多維彙總rollup,分組先進行常規... ...
  • [toc] mysql自動生成大量數據 為了學習驗證高性能mysql,自動生成大量的數據做測試。內容來源於網路。 創建隨機數字生成 DELIMITER $$ CREATE DEFINER= @`% random_num`( ) RETURNS int(5) BEGIN DECLARE i INT D ...
  • mysql嚴格模式下 , 不允許給blob text geomtry json列增加預設值 可以使用 select @@sql_mode 查看當前模式 , 例如下麵這樣 mysql> select @@sql_mode -> ;+ +| @@sql_mode |+ +| STRICT_TRANS_T ...
  • 迷茫是什麼,迷茫就是大事幹不了,小事不想乾,能力配不上欲望,才華配不上夢想。 150+Flutter組件詳細介紹地址: "http://laomengit.com/" 前言 我在Flutter未正式發佈之前就開始學習了,因為 系統,隨著5G的發展,物聯網將會迎來爆髮式的增長,目前的市場上還沒有一款物 ...
  • 1. Android 7.1真機安裝調試apk時報錯,解析安裝包失敗 原因:sdk版本不支持7.1版本,需要調整minSdkVersion等參數,支持低版本 解決方法: android { compileSdkVersion 28 buildToolsVersion "29.0.3" default ...
  • 新聞/News 1. "Android 11有新玩法:雙擊手機背部截屏/進入多任務界面" 1. "Android 11 DP2證實了類似AirDrop的附近文件分享功能" 1. "谷歌發佈Camera Go:即使入門機也能有出色肖像模式" 1. "Android高級防護功能已限制非Play商店的應用 ...
  • 一、練習一個3D播放器 1.註意點:動畫中如果有和預設樣式同名的屬性,會覆蓋預設樣式中同名的屬性 2.在編寫動畫的時候,固定不變的值寫在前面,需要變化的值寫在後面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <titl ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...