微信小程序|搭建一个博客小程序

news2025/1/22 17:47:29

文章目录

    • 一、文章前言
    • 二、创建小程序
    • 三、功能开发
      • (1)首页
      • (2)领域页
      • (3)博客详情页
      • (4)个人中心页

一、文章前言

此文主要通过小程序搭建一个博客系统,实现博客的一些基础功能,也可以当做备忘录或者空间动态使用。

二、创建小程序

  1. 访问微信公众平台,点击账号注册。

在这里插入图片描述

  1. 选择小程序,并在表单填写所需的各项信息进行注册。

在这里插入图片描述
在这里插入图片描述

  1. 在开发管理选择开发设置,将AppID及AppSecret复制出来进行存储。

在这里插入图片描述

  1. 下载安装微信web开发者工具并创建一个新的项目,填入上图所复制的AppId。

在这里插入图片描述
在这里插入图片描述

三、功能开发

(1)首页

  1. 在实现首页这个页面前,先把tabbar配置好。

在这里插入图片描述
在这里插入图片描述

    "tabBar": {
        "color": "#666666",
        "selectedColor": "#FF0000",
        "borderStyle": "white",
        "list": [
            {
                "pagePath": "pages/index/index",
                "text": "首页",
                "iconPath": "/images/003.png",
                "selectedIconPath": "/images/004.png"
            },
            {
                "pagePath": "pages/field/index",
                "text": "领域",
                "iconPath": "/images/016.png",
                "selectedIconPath": "/images/013.png"
            },
            {
                "pagePath": "pages/center/index",
                "text": "我的",
                "iconPath": "/images/014.png",
                "selectedIconPath": "/images/01.png"
            }
        ]
    }
  1. tabbar配置好后,进行首页的设计,大体包括轮播图,文章推荐列表等元素。轮播图需要用到swiper组件,文章推荐列表可以通过view将数据进行渲染即可。

在这里插入图片描述

<view style="">
  <swiper class="screen-swiper round-dot" indicator-dots="true" circular="true" autoplay="true" interval="5000" duration="500">
    <swiper-item>
      <image src="../../images/banner2.png" mode="aspectFill"  style="border-radius:30rpx;"></image>
    </swiper-item>
</view>
<view class="cu-bar bg-white solid-bottom margin-top">
  <view class='action'>
    <text class='cuIcon-titles text-orange '></text> 文章推荐
  </view>
</view>
<view class="cu-card case no-card solid-bottom" bindtap="detail">
  <view class="cu-item shadow">
    <view class="image">
      <image src="../../images/banner3.jpg" mode="widthFix"></image>
      <view class="cu-tag bg-blue">原力计划</view>
      <view class="cu-bar bg-shadeBottom">
        <text class="text-cut">如何使用小程序搭建个人博客系统</text>
      </view>
    </view>
    <view class="cu-list menu-avatar">
      <view class="cu-item">
        <view class="cu-avatar round lg" style="background-image:url(../../images/cat.jpg);"></view>
        <view class="content flex-sub">
          <view class="text-grey">摔跤猫子</view>
          <view class="text-gray text-sm flex justify-between">
            刚刚
            <view class="text-gray text-sm">
              <text class="cuIcon-attentionfill margin-lr-xs"></text> 10
              <text class="cuIcon-appreciatefill margin-lr-xs"></text> 20
              <text class="cuIcon-messagefill margin-lr-xs"></text> 30
            </view>
          </view>
        </view>
      </view>
    </view>
  </view>
</view>

(2)领域页

  1. 领域页主要是根据不同的领域展示不同的内容,这个页面主要用到scroll-view。

在这里插入图片描述

  1. 在data中先将领域类型定义好,在页面进行渲染,实现一个切换滚动的效果。

在这里插入图片描述

在这里插入图片描述

    /**
     * 页面的初始数据
     */
    data: {
      index:0,
      TabCur:0,
      fieldArray:['综合','C/C++','云原生','人工智能','前沿技术','软件工程','后端','Java','JavaScript','PHP','Python','区块链']
    },
<scroll-view scroll-x class="bg-white nav" scroll-with-animation scroll-left="{{scrollLeft}}">
  <view class="cu-item {{index==TabCur?'text-green cur':''}}" wx:for="{{fieldArray}}" wx:key bindtap="tabSelect" data-id="{{index}}">
    {{item}}
  </view>
</scroll-view>
  1. 在页面定义view,先实现博客列表的样式,大致有封面图、标题、简介、浏览、点赞、评论数等标识。

在这里插入图片描述

<view class="cu-card article solid-bottom no-card">
  <view class="cu-item shadow">
    <view class="title">
      <view class="text-cut">一文教你从01了解区块链技术</view>
    </view>
    <view class="content">
      <image src="../../images/banner1.png" mode="aspectFill"></image>
      <view class="desc">
        <view class="text-content">区块链采用分布式的存储架构,区块链的数据完整保存在区块链网络的所有节点上。</view>
        <view>
          <view class="text-gray text-sm">
              <text class="cuIcon-attentionfill margin-lr-xs"></text> 5
              <text class="cuIcon-appreciatefill margin-lr-xs"></text> 10
              <text class="cuIcon-messagefill margin-lr-xs"></text> 25
            </view>
        </view>
      </view>
    </view>
  </view>
</view>

(3)博客详情页

  1. 在首页以及领域页的博客列表增加点击事件,提供跳转进去博客详情页的入口。

在这里插入图片描述

    detail(){
      wx.navigateTo({
        url: '/pages/detail/index',
      })
    },
  1. 博客详情页可以使用富文本渲染的方式,也可以通过基本标签的方式将数据进行渲染。

在这里插入图片描述

  1. 大体实现博客图片、博客内容以及底部的收藏及评价的入口。
<view class="cu-card article solid-bottom no-card">
  <view class="cu-item ">
    <view class="title">
      <view class="text-cut">如何使用小程序搭建个人博客系统</view>
    </view>
  </view>
  <view style="width:750rpx;padding:0 24rpx 24rpx 24rpx ;background:white;">
    <image src="../../images/banner3.jpg" style="width:702rpx;" mode="widthFix"></image>
  </view>
</view>
<view class="cu-bar bg-white">
  <view class='action'>
    <text class='cuIcon-titles text-orange '></text> 前言
  </view>
</view>
<view class='bg-white padding-xl'>
  <view class='text-content'>
    <view>如何使用小程序搭建个人博客系统</view>
    <view class='margin-top-sm'>此文主要教大家如何通过小程序搭建个人博客系统,操作简单,易于上手。</view>
    <view class='margin-top-sm'>大家在阅读此文的时候,可以跟着文章的顺序一步一步来开发。</view>
    <view class='margin-top-sm'>中途遇到报错或者有什么不懂的地方可以在下方评论区留言或者私信博主。</view>
  </view>
</view>
<view class="cu-bar foot input">
  <view class="action">
    <text class="cuIcon-favorfill text-red"></text>
  </view>
  <input class="solid-bottom" placeholder="说点什么吧" maxlength="300" ></input>
  <view class="cu-btn bg-green shadow" >评论</view>
</view>

(4)个人中心页

  1. 个人中心需要获取微信用户头像及昵称等信息并用于展示。

在这里插入图片描述

  <view class="topHead">
    <!-- 左侧容器 -->
    <view class="topLeft">
      <!-- 头像 -->
      <view class="headBox">
        <open-data type="userAvatarUrl"  class="user-img"></open-data>
      </view>
      <!-- 昵称  -->
      <view class="teamIcon">
        <open-data type="userNickName"  class="user-nickname"></open-data>
        <view class="uIcon">
          <image src="../../images/head.png" class="uIconImg">
          </image>
          <view class="teamTitle">小程序用户</view>
        </view>
      </view>
    </view>
    <!-- 右侧容器 -->
    <view class="rightBox">
    </view>
  </view>
  1. 在下方增加一些快捷菜单,提供跳转其他模块的入口,大家可以根据自己的需求进行定义设计。

在这里插入图片描述

  <view class="cu-list menu card-menu margin-top-xl margin-bottom-xl shadow-lg radius">
    <view class="cu-item arrow">
      <view class="content" bindtap="CopyLink">
        <text class="cuIcon-notice text-red"></text>
        <text class="text-grey">我的消息</text>
      </view>
    </view>
    <view class="cu-item arrow">
      <view class="content" bindtap="CopyLink">
        <text class="cuIcon-favor text-yellow"></text>
        <text class="text-grey">我的收藏</text>
      </view>
    </view>
    <view class="cu-item arrow">
      <navigator class="content" url="/pages/about/log/log" hover-class="none">
        <text class="cuIcon-footprint text-green"></text>
        <text class="text-grey">历史足迹</text>
      </navigator>
    </view>
    <view class="cu-item arrow">
      <view class="content" bindtap="showQrcode">
        <text class="cuIcon-appreciatefill text-red"></text>
        <text class="text-grey">赞赏支持</text>
      </view>
    </view>
    <view class="cu-item arrow">
      <navigator class="content" url="/pages/about/test/list" hover-class="none">
        <text class="cuIcon-creativefill text-orange"></text>
        <text class="text-grey">问题反馈</text>
      </navigator>
    </view>
  </view>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AD环境下域用户的离线缓存登录

缓存登录主要是为了解决当公司域控制器发生故障联系不上DC或用户拿笔记本电脑回家不拔VPN的情况下&#xff0c;依然能够登录到系统&#xff0c;进行办公。如果用户登录的时候联系不到DC&#xff0c;那么就凭用户登录时输入的用户名和密码去缓存中校验&#xff0c;如果能联系上D…

如果在学习spring的时候没看过这份学习笔记+源码剖析,真的亏大了!

Spring 是一个开源的设计层面框架&#xff0c;它解决的是业务逻辑层和其他各层的松耦合问题&#xff0c;因此它将面向接口的编程思想贯穿整个系统应用。包括在此基础上衍生的 Spring MVC、 Spring Boot 、Spring Cloud 等&#xff0c;在现在企业中的应用越来越广泛。因此对于 S…

YOLOv7移植经验分享

目录 一、背景 二、环境 2.1 服务器环境 2.2 SDK环境 2.3 docker环境 三、移植开发 3.1 模型迁移 3.2 算法迁移 四、部署 一、背景 YOLOv7在 5 FPS 到 160 FPS 范围内的速度和准确度都超过了所有已知的目标检测器&#xff0c;并且在 GPU V100 上 30 FPS 或更高的所有…

python基于OCR深度学习实现商品配料表识别

1、概述 当前人民和国家对食品安全十分重视&#xff0c;但商家为了保证食品长时间储存&#xff0c;味道鲜美&#xff0c;在食品中添加超量或对人有严重危害得食品添加剂&#xff0c;严重危害到人民的安全&#xff0c;我们以方便面为例&#xff0c;一包方便面最多可有25种食品添…

十年开发老手,深度解析企业用人标准为何越来越高?!

涛哥作为一个10多年的开发老手&#xff0c;经历过很多场面试&#xff0c;也面试过很多人&#xff0c;这么多年下来&#xff0c;切身体会到企业的用人标准越来越高&#xff0c;企业对开发工程师的要求也越来越"过分"。所以涛哥今天就借此机会&#xff0c;我们一起来分…

如何制定有效的项目计划,提高团队执行力

项目风险来源有很多&#xff0c;项目日程紧张&#xff0c;导致质量下降风险上升&#xff1b;甲方变更&#xff0c;管理者对变动控制不足&#xff1b;项目太大。 虽然从来不可能完全消除项目风险&#xff0c;但可以将危害减到最小。 一、确认项目计划 项目计划是一个项目启动…

SpringBoot读取properties中配置的List集合

实体类 Data NoArgsConstructor AllArgsConstructor Accessors(chain true) public class Person {private String name;private String age;private String content; } Component//将该类交由Spring管理 ConfigurationProperties(prefix "project") //自定义.pro…

【附源码】计算机毕业设计JAVA演唱会购票系统

【附源码】计算机毕业设计JAVA演唱会购票系统 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA myba…

听我一句劝好吗?放下那些老掉牙的性能优化笔记吧!又不是没有新的,跟不上时代的学了也没法直接用呀!

性能概述 公司投入人力物力成本开发出的程序&#xff0c;如果出现程序瘫痪、界面停顿、抖动、响应迟缓等问题&#xff0c;会大大降低用户体验&#xff0c;损失大量用户。对于上述问题&#xff0c;都是需要性能调优来解决的问题。 程序性能主要表现在代码的执行速度、软件系统…

数据结构之快速排序(重点)

快速排序 算法所需 一个基准点 左边是比其小的数&#xff0c;右边是比其大的数 先使所指的元素作为基准元素low 用一个piviot存储49 然后进行比遍历操作 就是high向左移动(high–)&#xff0c;到第一个比piviot小的元素进行一个data[low]data[high] 然后进行low&#xff0c;找…

基于最低水平面的三维装箱问题的启发式算法

⭐️ 前言 小编之前写过一篇博文&#xff1a;求解三维装箱问题的启发式深度优先搜索算法(python)&#xff0c;详述了基于空间选择的三维装箱算法。本文考虑了一个事实&#xff1a;在某些情况下&#xff0c;我们在摆放物品时&#xff0c;总是优先选择较低的平面&#xff0c;基于…

LIN通讯

LIN通讯 一、LIN通讯的背景与意义 随着汽车电子的发展&#xff0c;汽车上的电子零件正在逐渐地增加。而电子零件的增加也导致更多的设备&#xff08;传感器、执行器、电子控制器&#xff09;需要加入汽车的局部网络&#xff0c;这些零件的增加还会带来配线的增加&#xff0c;…

java-springboot基于机器学习得心脏病预测系统 的设计与实现-计算机毕业设计

项目介绍 基于机器学习得心脏病预测系统通过对机器学习心脏病数据大数据分析统计系统的建设以实现机器学习心脏病数据分析统计功能。通过对心脏疾病变化市场的充分研究&#xff0c;结合自身技术储备情况&#xff0c;设计并开发了一套基于SpringBoot后台框架、Mybaits数据库映射…

web课程设计网页规划与设计---公司网站(5页 带下拉菜单)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 CSS&#…

动态规划算法学习二:最长公共子序列

文章目录前言一、问题描述二、DP实现1、最优子结构性质*****2、状态表示*****3、状态递归方程*****4、计算最优值*****5、代码实现&#xff1a;输出最长公共子序列6、代码实现&#xff1a;输出最优解前言 一、问题描述 列举X的所有子序列&#xff0c;然后检查它是否也是Y的子序…

Java设计模式很难吗,这篇带你熟悉设计模式

3.1 概述 可以发现&#xff0c;设计模式好像都是类似的。越看越感觉都着不多。其实都是类似面向接口编程的一种体现&#xff0c;只不过侧重点不一样或者说要体现的结果不一样。 3.2 使用场景 问题一&#xff1a;应对可能变化的对象实现 方案&#xff1a;间接创建 模式&…

pycharm远程连接服务器

遇到的问题&#xff1a; 在服务器上配环境 流程&#xff1a; 先安装anaconda&#xff08;去其官网下载个脚本文件到服务器上&#xff0c;然后启动脚本即可&#xff09; bash Anaconda3-5.3.1-Linux-x86_64.sh然后创建 python环境 conda create -n pytorch python3.10去pyt…

【Linux】搞懂进程地址空间

文章目录1、从程序地址空间开始1.1 在C/C中看到的地址实际是&#xff1f;1.2 感性理解虚拟地址空间2、进程地址空间2.1 进程地址空间是怎样被描述的&#xff1f;2.2 进程地址空间和内存的关系2.3 为什么需要进程地址空间&#xff1f;1、从程序地址空间开始 1.1 在C/C中看到的地…

并发:线程状态

java的线程状态分为六种 新建 NEW 当一个线程对象被创建&#xff0c;但是还没有调用start方法时处于新建状态 此时未与操作系统底层线程关联 可运行 RUNNABLE 调用了start方法&#xff0c;就会由新建进入可运行状态 此时与底层线程关联&#xff0c;由操作系统调度执行 &…

python就是学不会怎么办?

编程从来都不是只看&#xff0c;只照葫芦画瓢就能学会的学科要想学会&#xff0c;必须是要有你个人是思考的&#xff0c;学会掌握编程逻辑&#xff0c;在学的过程中想为什么这么写&#xff0c;应该怎么去实现这个功能&#xff0c;拆分为几步不断的实操练习才能让你真的掌握知识…