当前位置: 首页 > news >正文

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

文章目录

    • 一、文章前言
    • 二、创建小程序
    • 三、功能开发
      • (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>

相关文章:

  • Spring:AOP通知获取数据(13)
  • 使用 Spring Boot 设置 Hibernate Envers
  • 【数据结构】带头节点双向循环链表
  • 原来 GitHub 不仅能学代码,还有这些东西
  • 【动手学深度学习】softmax回归的从零开始实现(PyTorch版本)(含源代码)
  • 为了摸鱼,我开发了一个工具网站
  • Qt编写ERP库存库房发货电子看板
  • 「PAT乙级真题解析」Basic Level 1086 就不告诉你 (问题分析+完整步骤+伪代码描述+提交通过代码)
  • Python函数详解(三)——函数的参数传递进阶
  • 渗透测试CTF-图片隐写的详细教程2(干货)
  • Python3,os模块还可以这样玩,自动删除磁盘文件,非必要切勿操作。
  • 视频分析:走路看手机行为
  • 国内家具行业数据浅析
  • 聚观早报 | 推特临时培训员工应对世界杯;世界杯足球内置传感器
  • Spring Boot——yml和properties详解
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • Android组件 - 收藏集 - 掘金
  • Angularjs之国际化
  • classpath对获取配置文件的影响
  • Git学习与使用心得(1)—— 初始化
  • js如何打印object对象
  • mysql中InnoDB引擎中页的概念
  • Node + FFmpeg 实现Canvas动画导出视频
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 官方解决所有 npm 全局安装权限问题
  • 汉诺塔算法
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 算法---两个栈实现一个队列
  • 无服务器化是企业 IT 架构的未来吗?
  • 线上 python http server profile 实践
  • 异步
  • FaaS 的简单实践
  • Java总结 - String - 这篇请使劲喷我
  • Prometheus VS InfluxDB
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #define 用法
  • #QT(串口助手-界面)
  • $.ajax()方法详解
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (一)Neo4j下载安装以及初次使用
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)Oracle存储过程编写经验和优化措施
  • (转)创业家杂志:UCWEB天使第一步
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .Net 垃圾回收机制原理(二)
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .py文件应该怎样打开?