微信小程序怎么制作自己的小程序?手把手带你入门(适合新手小白观看)

news2025/1/29 8:26:01

  对于初学者来说,制作一款微信小程序总感觉高大上,又害怕学不会。不过,今天我就用最简单、最有耐心的方式,一步一步给大家讲清楚!让你知道微信小程序的制作,居然可以这么轻松(希望你别吓跑啊!)。文中还加了实战经验,网友案例,看完你也能轻松上手。

  一:萌新也能搞定?做个小程序听起来真的没那么难!

  说起微信小程序,我真的一开始觉得,那不都是那些程序员大神才会搞的吗?不过后来我发现,其实它很“贴心”地给咱们普通人也准备好了小工具。没有技术基础?没关系!谁说小白不能做出一个自己的小程序?

  最简单的做法就是,微信小程序有一套“零代码”的搭建平台,如:微信官方开发者工具,都比较适合新手。

  总结一句话:先放下“自己做不来”的焦虑,只要工具选得好,不会写代码的小伙伴一样能搞定!至于细节嘛,咱们慢慢来讲。

  二:准备工作超简单,啥都不会也没事!

  咳咳!先来和大家聊聊小程序的前期准备工作。有时候,刚入门最大的困难就是“不知道从哪里开始”,真是气死我这种急性子了!

  注册微信小程序账号

  打开微信公众平台 → 小程序 → 注册一个新的小程序账号。需要用邮箱哦!(不要问为啥,注册啥都要邮箱,咱也不懂,哈哈~)

  小程序名称和简介

  这个时候就要稍微想一想了,咱们的程序是用来做什么的?取一个有意思的名字,然后写一句话简介,比如 “同城吃喝玩乐推荐” 或者 “记账小助手”。这个好像是最简单但又最让人纠结的一步,真怕取完了觉得俗!

  拿到 AppID(超重要!)

  小程序后台会给你一个 AppID,后面使用工具、发布的时候都用得上,记得保存。

  注意: 就到这一步,大部分小白还在“无从下手”的困惑中,如果你卡壳了,别怕,慢慢跟着来,看完你就有感觉啦!

  三:工具选得好,胜过努力造轮子!

  接下来就是真正的“搭建小程序”步骤了,注意!我们讲的是零代码玩法(程序猿大神请略过,我这里超简单~)。

  1. 用第三方工具快速生成小程序

  像杰建云,它提供了超多模板,选一个你喜欢的风格,简单编辑内容,你的小程序就能出来了!基本就是拖拽模块 → 填充文字、图片 → 发布,真的不用写代码!

  真实案例分享: 网上上有个博主@小豆豆分享说,她用一个美食推荐模板,半天时间就做好了“附近宝藏餐厅地图”小程序,流畅又好看,真是佩服她的效率!

  2. 使用微信开发者工具试试基础版

  不过如果你更喜欢做个“属于自己的风格”,还是推荐你试试微信官方提供的开发者工具。虽然听起来稍微复杂,但只要你跟着文档来,其实也能慢慢摸懂!

以下是一个使用微信开发者工具搭建简单小程序的代码示例,实现一个显示待办事项列表的小程序,支持添加和删除待办事项:

1. app.js(小程序入口文件)

javascript

// app.js
App({
  onLaunch: function () {
    // 小程序初始化时执行的操作
  },
  globalData: {
    // 可以在这里定义全局数据,方便在多个页面共享数据
  }
})

这个文件主要用于小程序的初始化设置以及定义全局数据,在这个简单示例中,暂未使用到复杂的全局数据操作,但在实际开发中,比如存储用户登录信息、全局配置等场景会很有用。

2. app.json(小程序全局配置文件)

json

{
  "pages": [
    "pages/index/index"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#000000",
    "navigationBarTitleText": "待办事项",
    "navigationBarTextStyle": "white"
  }
}

pages 数组指定了小程序的页面路径,这里只有一个首页 pages/index/indexwindow 对象则用于设置小程序窗口的一些属性,如导航栏背景颜色、标题文字颜色和背景文字样式等,让小程序界面有一个基本的样式设定。

3. pages/index/index.wxml(首页结构文件)

html

<!-- pages/index/index.wxml -->
<view class="container">
  <view class="input-area">
    <input placeholder="输入待办事项" bindinput="onInput" />
    <button bindtap="addTodo">添加</button>
  </view>
  <view class="todo-list">
    <block wx:for="{{todoList}}" wx:key="index">
      <view class="todo-item">
        <text>{{item}}</text>
        <button bindtap="deleteTodo" data-index="{{index}}">删除</button>
      </view>
    </block>
  </view>
</view>

在这个页面结构中,有一个输入框和添加按钮用于添加待办事项。通过 wx:for 指令循环遍历 todoList 数组来展示已有的待办事项,每个待办事项后面都有一个删除按钮,用于删除对应的事项。

4. pages/index/index.wxss(首页样式文件)

css

/* pages/index/index.wxss */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20rpx;
}

.input-area {
  display: flex;
  margin-bottom: 20rpx;
}

input {
  flex: 1;
  border: 1rpx solid #ccc;
  border-radius: 5rpx;
  padding: 10rpx;
}

button {
  margin-left: 10rpx;
  padding: 10rpx 20rpx;
  background-color: #007aff;
  color: white;
  border-radius: 5rpx;
}

.todo-list {
  width: 100%;
}

.todo-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1rpx solid #ccc;
  padding: 10rpx 0;
}

此样式文件主要对首页的布局和元素样式进行了设置,如让容器内元素居中显示、输入框和按钮的样式调整、待办事项列表的样式以及每个待办事项项的布局样式等,使页面看起来更加美观和有条理。

5. pages/index/index.js(首页逻辑文件)

javascript

// pages/index/index.js
Page({
  data: {
    todoList: []
  },
  onInput: function (e) {
    // 输入框内容改变时触发,这里暂未做特殊处理,只是接收输入内容
    this.inputValue = e.detail.value;
  },
  addTodo: function () {
    if (this.inputValue) {
      const newTodoList = this.data.todoList.concat(this.inputValue);
      this.setData({
        todoList: newTodoList
      });
      this.inputValue = "";
    }
  },
  deleteTodo: function (e) {
    const index = e.currentTarget.dataset.index;
    const newTodoList = this.data.todoList.filter((_, i) => i!== index);
    this.setData({
      todoList: newTodoList
    });
  }
})

在首页逻辑文件中,data 里定义了 todoList 数组用于存储待办事项。onInput 函数获取输入框的输入内容并存储在 inputValue 变量中。addTodo 函数在点击添加按钮且输入框有内容时,将新的待办事项添加到 todoList 数组并更新页面数据,同时清空输入框。deleteTodo 函数根据点击删除按钮时传递的索引值,从 todoList 数组中删除对应的事项并更新页面。

在微信开发者工具中创建一个新的小程序项目后,将上述代码分别放置在对应的文件位置,就可以运行这个简单的待办事项小程序了。它能够实现待办事项的添加和删除功能,用户可以在输入框输入待办事项后点击添加按钮将其添加到列表中,点击列表中每个事项后面的删除按钮则可以删除该事项。

  对比一下:

  第三方平台 → 简单省事,适合新手。

  官方开发工具 → 自定义更强大,但是上手稍慢。

  看到这里,可能有同学开始慌:哪个更适合我?没事,我觉得第三方先练手,微信工具后面再慢慢琢磨,一步一个脚印。

  四、上传发布是不是很复杂?别慌,带你走一遍!

  哈哈,这可能是小程序制作最让人忐忑的一步了!传说中,“发布”是不是会失败?我试了几次,结果还是挺顺利的。虽然发布前确实有点小紧张,但搞清楚流程其实特别简单:

  审核流程

  第一步,把刚制作好的小程序文件提交到微信开发者后台。

  等微信那边审核一下,看有没有啥违规内容。一般2-3个工作日内都会有结果。(唉,有时候总想催审!)

  测试再发布

  在测试版里,你可以让朋友试一试小程序,看它表现如何!然后再正式上线。小程序发布后,会生成一个专属二维码,扫描就可以访问啦!

  真心建议: 有朋友吐槽说第一次审核被驳回,好尴尬!主要原因是她“图片不清晰”又没打好标签,所以,大家一定要检查检查再提交!

  说实话,刚开始摸索小程序时,我还是挺怕麻烦的。但亲手操作一遍之后,我突然发现小程序就像做手工,步骤都拆得很细,你跟着一步步做,真的不难。

  个人建议:

  新手们先找现成工具试试,花2小时整一个简单版本的小程序,你就知道成功的“爽感”是什么!

  如果你对细节要求更高,再慢慢研究官方文档,把小程序打磨得更精致。

  我们在网上上看到有网友分享,她因为这个过程做出了一个“植物养护日记”的小程序,发布后引来了好多朋友点赞,一路上也让她找到了自信!这个是不是也能给你一点小激励?

  好了,到这里,微信小程序制作的全过程我已经分享给你啦!从零开始到基本操作,是不是觉得没那么遥远了?制作小程序其实和玩拼图差不多,只要工具选对,做起来很轻松。

  我觉得呀,微信小程序不仅仅是个“工具”,它还挺适合大学生用来练手,比如:

  做一个校园活动报名工具,帮大家轻松统计数据;

  打造一个分享日常心得的小程序,记录生活中的美好时刻;

  甚至试一试创业,做个“校园失物招领平台”也挺有意义的!

  看完我的分享,别光顾着收藏!大胆去试试,真心希望下一次你们能和我分享属于你的小程序小故事。别怕搞砸,手把手做一遍后,你会发现自己又学到了新技能!

  做小程序的体验就像“种下一颗小种子”,让它长成你喜欢的模样。这次小程序简单入门攻略到这里了,如果还有疑问,评论区见呀!一起慢慢摸索更好玩的操作!

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

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

相关文章

EventBus事件总线的使用以及优缺点

EventBus EventBus &#xff08;事件总线&#xff09;是一种组件通信方法&#xff0c;基于发布/订阅模式&#xff0c;能够实现业务代码解耦&#xff0c;提高开发效率 发布/订阅模式 发布/订阅模式是一种设计模式&#xff0c;当一个对象的状态发生变化时&#xff0c;所有依赖…

vim如何设置自动缩进

:set autoindent 设置自动缩进 :set noautoindent 取消自动缩进 &#xff08;vim如何使设置自动缩进永久生效&#xff1a;vim如何使相关设置永久生效-CSDN博客&#xff09;

LongLoRA:高效扩展大语言模型上下文长度的微调方法

论文地址&#xff1a;https://arxiv.org/abs/2309.12307 github地址&#xff1a;https://github.com/dvlab-research/LongLoRA 1. 背景与挑战 大语言模型&#xff08;LLMs&#xff09;通常在预定义的上下文长度下进行训练&#xff0c;例如 LLaMA 的 2048 个 token 和 Llama2 的…

NoSQL使用详解

文章目录 NoSQL使用详解一、引言二、NoSQL数据库的基本概念三、NoSQL数据库的分类及使用场景1. 键值存储数据库示例代码&#xff08;Redis&#xff09;&#xff1a; 2. 文档存储数据库示例代码&#xff08;MongoDB&#xff09;&#xff1a; 3. 列存储数据库4. 图数据库 四、使用…

《FreqMamba: 从频率角度审视图像去雨问题》学习笔记

paper&#xff1a;FreqMamba: Viewing Mamba from a Frequency Perspective for Image Deraining GitHub&#xff1a;GitHub - aSleepyTree/FreqMamba 目录 摘要 1、介绍 2、相关工作 2.1 图像去雨 2.2 频率分析 2.3 状态空间模型 3、方法 3.1 动机 3.2 预备知识 3…

试用ChatGPT开发一个大语言模型聊天App

参考官方文档&#xff0c;安装android studio https://developer.android.com/studio/install?hlzh-cn 参考这个添加permission权限&#xff1a; https://blog.csdn.net/qingye_love/article/details/14452863 参考下面链接完成Android Studio 给项目添加 gradle 依赖 ht…

第30周:文献阅读

目录 摘要 Abstract 文献阅读 问题引入 方法论 堆叠集成模型 深度学习模型 创新点 堆叠模型 敏感性和不确定性分析 优化模型 实验研究 数据集 水质指数WQI的计算 模型的构建与训练 模型性能评估 敏感性和不确定性分析 结论 摘要 本文聚焦于利用深度学习算…

The just sharing principle: advice for advice givers

原文 A while ago I wrote about how Only you know what’s best for your application. That’s because only you fully understand the context within which you are making technical decisions. Any advice need to filtered through that context in order to determi…

【PVE】PVE部署磁盘阵列

什么是磁盘阵列&#xff1f; 磁盘阵列是一种存储技术&#xff0c;通过将多个物理磁盘组合成一个逻辑存储单元&#xff0c;提供数据冗余和/或性能提升。它的核心目的是提高数据的可靠性、可用性和访问速度。磁盘阵列可以由专用硬件或软件实现。 PVE部署磁盘阵列并加入虚拟机 …

FlinkSql使用中rank/dense_rank函数报错空指针

问题描述 在flink1.16(甚至以前的版本)中&#xff0c;使用rank()或者dense_rank()进行排序时&#xff0c;某些场景会导致报错空指针NPE(NullPointerError) 报错内容如下 该报错没有行号/错误位置&#xff0c;无法排查 现状 目前已经确认为bug&#xff0c;根据github上的PR日…

Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat

目录 ?编辑 一、Ubuntu22.04介绍 二、Ubuntu与Centos的区别 三、基于VMware安装Ubuntu Server 22.04 下载 VMware安装 1.创建新的虚拟机 2.选择类型配置 3.虚拟机硬件兼容性 4.安装客户机操作系统 5.选择客户机操作系统 6.命名虚拟机 7.处理器配置 8.虚拟机内存…

一个基于Python+Appium的手机自动化项目~~

本项目通过PythonAppium实现了抖音手机店铺的自动化询价&#xff0c;可以直接输出excel&#xff0c;并带有详细的LOG输出。 1.excel输出效果: 2. LOG效果: 具体文件内容见GitCode&#xff1a; 项目首页 - douyingoods:一个基于Pythonappium的手机自动化项目&#xff0c;实现了…

ubuntu 更新24LTS中断导致“系统出错且无法恢复,请联系系统管理员”

22LTS to 24LTS 更新过程中手jian把更新程序controlC导致的。 解决 目前企图完成更新来恢复&#xff0c;重启后有软件包冲突&#xff0c;sudo apt upgrade报冲突。无法进行。 将原来source.list重新 sudo dpkg --configure -a sudo apt install -f 这些都不管用。还是显示gno…

(2025,DeepSeek-R1-Zero,DeepSeek-R1,两阶段强化学习,两阶段监督微调,蒸馏,冷启动数据)通过强化学习激励 LLM 的推理能力

DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 目录 0. 摘要 1. 简介 1.1 贡献 1.2 评测结果总结 2. 方法 2.1 概述 2.2 DeepSeek-R1-Zero&#xff1a;基础模型上的强化学习 2.2.1. 强化学习算法 2.2.2. 奖励建模 2.2.3. 训练…

k8s支持自定义field-selector spec.hostNetwork过滤

好久没写博客啦&#xff0c;年前写一个博客就算混过去啦&#x1f602; 写一个小功能&#xff0c;对于 Pod&#xff0c;在没有 label 的情况下&#xff0c;支持 --field-selector spec.hostNetwork 查询 Pod 是否为 hostNetwork 类型&#xff0c;只为了熟悉 APIServer 是如何构…

图漾相机搭配VisionPro使用简易教程

1.下载并安装VisionPro软件 请自行下载VisonPro软件。 VisionPro 9.0/9.5/9.6版本经测试&#xff0c;可正常打开图漾相机&#xff0c;建议使用图漾测试过的版本。 2.下载PercipioCameraForVisionPro软件包 使用浏览器下载&#xff1a;https://gitee.com/percipioxyz/camport3…

【MFC】C++所有控件随窗口大小全自动等比例缩放源码(控件内字体、列宽等未调整) 20250124

MFC界面全自动等比例缩放 1.在初始化里 枚举每个控件记录所有控件rect 2.在OnSize里&#xff0c;根据当前窗口和之前保存的窗口的宽高求比例x、y 3.枚举每个控件&#xff0c;根据比例x、y调整控件上下左右,并移动到新rect struct ControlInfo {CWnd* pControl;CRect original…

【2024年华为OD机试】 (C卷,200分)- 机器人走迷宫(JavaScriptJava PythonC/C++)

一、问题描述 题目描述 房间由X * Y的方格组成&#xff0c;每个方格用坐标(x, y)描述。机器人从(0, 0)出发&#xff0c;只能向东或向北前进&#xff0c;出口在(X-1, Y-1)。房间中有一些墙壁&#xff0c;机器人不能经过。有些方格是陷阱&#xff08;B&#xff09;&#xff0c;…

DAY01 面向对象回顾、继承、抽象类

学习目标 能够写出类的继承格式public class 子类 extends 父类{}public class Cat extends Animal{} 能够说出继承的特点子类继承父类,就会自动拥有父类非私有的成员 能够说出子类调用父类的成员特点1.子类有使用子类自己的2.子类没有使用,继承自父类的3.子类父类都没有编译报…

leetcode刷题记录(八十一)——236. 二叉树的最近公共祖先

&#xff08;一&#xff09;问题描述 236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09;236. 二叉树的最近公共祖先 - 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科 [https://baike.baidu.com/item/%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B…