从零基础开始开发自己的第一个微信小程序

这篇具有很好参考价值的文章主要介绍了从零基础开始开发自己的第一个微信小程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

内容介绍

通过本篇blog,你可以熟悉从零开始,搭建小程序开发环境,并运行起自己的第一个小程序。

小程序开发步骤

1、 注册账号
2、 下载开发工具搭建开发环境
3、 创建工程,编写代码
4、 手机上查看效果
通过以上四步就能创建属于自己的小程序了。

注册微信小程序账号

注册完成后是这样的
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

下载开发工具搭建开发环境

小程序开发工具下载地址

下载对应的稳定版本即可,如下图
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

下载并安装好工具后,打开工具需要扫码登入,登入后界面如下图
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

创建工程编写代码

点击+ 创建新项目
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释
这里的APPID需要去“开发设置”界面查看
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

里面有很多模板可以选择,我选择了一个To do的模板
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

它会提示 没有设置云开发相关的设置的错误提示,暂时不用管,程序一样能跑,只能没有后端,不能保存数据,不能与后端交互。 这里选择真机调试,然后用自己的微信扫下二维码,就能在手机上看到自己的第一个小程序了。
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

手机上查看效果

真机运行结果如下:

错误提示”当前小程序没有配置云开发环境请在envList.js 中配置你的云开发环境“ 点击确定即可。

从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

前端界面还是可以操作的,可以填写代办事项的相关属性,只是不能上传保存。
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

工程里的文件作用介绍

微信小程序的工程文件主要由以下几个部分组成:

app.js:小程序的入口文件,用于注册小程序实例,并监听小程序的生命周期事件。

App({
  async onLaunch() {
    this.initcloud()

    this.globalData = {
      // 用于存储待办记录的集合名称
      collection: 'todo',
      // 最大文件上传数量
      fileLimit: 2
    }
  },

  flag: false,
  /**
   * 初始化云开发环境(支持环境共享和正常两种模式)
   */
  async initcloud() {
    const shareinfo = wx.getExtConfigSync() // 检查 ext 配置文件
    const normalinfo = require('./envList.js').envList || [] // 读取 envlist 文件
    if (shareinfo.envid != null) { // 如果 ext 配置文件存在,环境共享模式
      this.c1 = new wx.cloud.Cloud({ // 声明 cloud 实例
        resourceAppid: shareinfo.appid,
        resourceEnv: shareinfo.envid,
      })
      // 装载云函数操作对象返回方法
      this.cloud = async function () {
        if (this.flag != true) { // 如果第一次使用返回方法,还没初始化
          await this.c1.init() // 初始化一下
          this.flag = true // 设置为已经初始化
        }
        return this.c1 // 返回 cloud 对象
      }
    } else { // 如果 ext 配置文件存在,正常云开发模式
      if (normalinfo.length != 0 && normalinfo[0].envId != null) { // 如果文件中 envlist 存在
        wx.cloud.init({ // 初始化云开发环境
          traceUser: true,
          env: normalinfo[0].envId
        })
        // 装载云函数操作对象返回方法
        this.cloud = () => {
          return wx.cloud // 直接返回 wx.cloud
        }
      } else { // 如果文件中 envlist 不存在,提示要配置环境
        this.cloud = () => {
          wx.showModal({
            content: '当前小程序没有配置云开发环境,请在 envList.js 中配置你的云开发环境', 
            showCancel: false
          })
          throw new Error('当前小程序没有配置云开发环境,请在 envList.js 中配置你的云开发环境')
        }
      }
    }
  },

  // 获取云数据库实例
  async database() {
    return (await this.cloud()).database()
  },

  // 上传文件操作封装
  async uploadFile(cloudPath, filePath) {
    return (await this.cloud()).uploadFile({
      cloudPath,
      filePath
    })
  },

  // 下载文件操作封装
  async downloadFile(fileID) {
    return (await this.cloud()).downloadFile({
      fileID
    })
  },

  // 获取用户唯一标识,兼容不同环境模式
  async getOpenId() {
    const {
      result: {
        openid,
        fromopenid
      }
    } = await (await this.cloud()).callFunction({
      name: 'getOpenId'
    }).catch(e => {
      let flag = e.toString()
      flag = flag.indexOf('FunctionName') == -1 ? flag : '请在cloudfunctions文件夹中getOpenId上右键,创建部署云端安装依赖,然后再次体验'
      wx.hideLoading()
      wx.showModal({
        content: flag, // 此提示可以在正式时改为 "网络服务异常,请确认网络重新尝试!"
        showCancel: false
      })
      throw new Error(flag)
    })
    if (openid !== "") return openid
    return fromopenid
  }
})

app.json:小程序的全局配置文件,用于配置页面路径、窗口样式、网络请求等全局设置。

{
  "pages": [
    "pages/list/index",
    "pages/add/index",
    "pages/file/index",
    "pages/edit/index",
    "pages/detail/index"
  ],
  "window": {
    "backgroundColor": "#F6F6F6",
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#F6F6F6",
    "navigationBarTitleText": "云开发待办",
    "navigationBarTextStyle": "black"
  },
  "sitemapLocation": "sitemap.json",
  "style": "v2"
}

app.wxss:小程序的全局样式文件,定义小程序中所有页面的公共样式。

/* 引入 weui 组件 */
@import './miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss';

page {
  --footer-height: 10vh;
  --button-size: 16vw;
  --button-color: #353535;
  --button-icon-size: 6vw;
}

page {
  background: #f6f6f6;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  min-height: 100vh;
  overflow-x: hidden;
}

button {
  background: initial;
}

button:focus {
  outline: 0;
}

button::after {
  border: none;
}

.form-group {
  width: calc(100% - 40px);
  margin: 10px 20px;
  border-radius: 10px;
  background: white;
}

.form-group_label {
  align-self: flex-start;
  margin-left: 20px;
  color: #8D8D8D;
  font-size: 15px;
}

.form-group_label:not(:first-child) {
  margin-top: 20px;
}

.form-cell {
  padding: 20px 15px;
}

.form-cell:not(:last-child) {
  border-bottom: rgba(0, 0, 0, 0.05) solid 1px;
}

.form-cell.inline {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

pages文件夹:该文
件夹包含了小程序的所有页面,每个页面通常由四个文件组成:
从零基础开始开发自己的第一个微信小程序,前端,微信小程序,零基础,目录结构,文件解释

.js文件:页面的逻辑文件,用于处理页面的数据和交互逻辑。
.wxml文件:页面的结构文件,使用类似HTML的标记语言定义页面的结构。
.wxss文件:页面的样式文件,用于定义页面的样式。
.json文件:页面的配置文件,用于配置当前页面的一些特殊设置,如导航栏标题、下拉刷新等。
utils文件夹:该文件夹用于存放小程序的工具类文件,如封装的网络请求、工具函数等。

project.config.json:项目配置文件,用于配置小程序的项目信息、编译配置等。

其他资源文件:小程序开发中可能会使用到的其他资源文件,如图片、字体等。

这些文件组成了微信小程序的工程结构,开发者可以根据需要进行修改和扩展。在开发过程中,主要关注的是页面文件(包括逻辑、结构、样式和配置)以及全局配置文件,通过编写和修改这些文件来实现小程序的功能和界面展示。

总结

微信小程序的开发相对来说是比较方便的。微信小程序使用的是前端开发技术,主要是基于HTML、CSS和JavaScript,如果你熟悉这些技术,上手开发小程序会比较容易。

以下是一些微信小程序开发的便利之处:

  1. 开发工具:微信提供了一套完整的开发工具,包括开发者工具和调试工具,可以方便地进行代码编写、调试和预览。

  2. 文档和教程:微信官方提供了详细的开发文档和教程,包括开发指南、API文档和示例代码,可以帮助开发者快速入门并解决问题。

  3. 前端技术:微信小程序使用的是前端开发技术,相对于其他平台可能更为熟悉和广泛使用。许多前端开发人员已经具备了相关的技能和经验,可以快速上手进行开发。

  4. 市场和用户:微信拥有庞大的用户基础,小程序可以直接在微信内使用,无需用户下载和安装,方便用户访问和使用。

  5. 开放能力:微信小程序提供了丰富的开放能力,包括访问微信用户的个人信息、支付、地理位置、摄像头等,可以实现更多的功能和交互体验。

当然,具体开发的难易程度还是会受到个人的技术水平和项目的复杂性等因素的影响。但总体来说,微信小程序的开发是相对方便和高效的,适合初学者和有一定前端开发经验的开发者。文章来源地址https://www.toymoban.com/news/detail-625343.html

到了这里,关于从零基础开始开发自己的第一个微信小程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始的第十七届智能车主板电源电路解读/设计1(基础四轮组别)

            作为一个参加过一年智能汽车的选手(下图是我第一次比赛的母板),当我再次重画电路的时候,仍然是对电路中的元器件作用不是很了解,于是决定开始去了解自己设计的电路而不是只是套用别人现有的设计。         所以作为我学习的记录也抱着分享经验

    2023年04月09日
    浏览(87)
  • 微信小程序云开发基础版也开始收费了

    之前把菜谱小程序的爬虫服务由SpringBoot迁移为了基于Node.js的微信云开发,原因是当时想为本来配置就不高的云服务器腾出一点地方,想当初云开发基础版还是免费的,因为基础版确实适合用来学习和测试,它的配额也不是很高,完美的满足了我。 然而今天我在B站菜谱小程序

    2024年02月11日
    浏览(50)
  • 【微信小程序】从零开始搭建微信小程序项目

    建议开发者在准备开发/学习小程序前都应该首先前往微信公众平台注册一个小程序账号。开发者可移步微信公众平台 https://mp.weixin.qq.com ,点击【账号分类】下的【小程序】,在小程序注册页面点击【前往注册】按照要求注册小程序账号。 详细流程请查看官方文档:https://

    2024年02月03日
    浏览(51)
  • 从零开始,以 Python 框架 Flask 为基础开发一个开源的对话系统 Building a RealTime Chatbot Using Flask and TensorFlow

    作者:禅与计算机程序设计艺术 在今年的爆炸性增长中,基于聊天机器人的应用已经越来越广泛。这其中包括电子商务、虚拟助手、智能客服等。许多优秀的平台都提供现成的聊天机器人服务,如微软小冰、图灵机器人、Facebook 的聊天机器人、Amazon Alexa 等。但是如果需要自

    2024年02月06日
    浏览(66)
  • 你的第一个微信小游戏,教你从0开始制作小游戏(一)

    微信开放文档 Cocos引擎_游戏开发引擎 发布流程就是先在cocos中编写你的游戏,然后生成对应的软件包,再到微信开发者工具上传到微信小程序平台。 Cocos是典型的组件节点式的开发,3.x版本之前的语言是js,ts都可以。3.x版本之后就只能用ts。 Introduction · Cocos Creator使用手册

    2024年02月12日
    浏览(55)
  • 在WIN从零开始在QMUE上添加一块自己的开发板(二)

    笔者这篇博客作为平时学习时的笔记记录,如有不对还望指正,本博客大量借鉴资料,笔者只是拾人牙慧的小屁孩。 QEMU是一种通用的开源计算机仿真器和虚拟器。而QUME内置支持了一些开发板,我们可以基于这些内置的板子来做操作系统等软件的配置,但是实际市面上很多板

    2024年01月21日
    浏览(45)
  • 在WIN从零开始在QMUE上添加一块自己的开发板(一)

    笔者这篇博客作为平时学习时的笔记记录,如有不对还望指正,本博客大量借鉴资料,笔者只是拾人牙慧的小屁孩。 QEMU是一种通用的开源计算机仿真器和虚拟器。而QUME内置支持了一些开发板,我们可以基于这些内置的板子来做操作系统等软件的配置,但是实际市面上很多板

    2024年01月21日
    浏览(41)
  • 如何从零开始开发一个小程序

    申请账号 小程序注册页 开发设置 登录 小程序后台 ,我们可以点击左侧菜单 “开发”-“开发管理”,点击后正文上方点击 “开发设置” ,就看到小程序的 AppID(小程序ID) 了 。 小程序的 AppID 相当于小程序平台的一个身份证,后续你会在很多地方要用到 AppID (注意这里要区别

    2024年02月10日
    浏览(63)
  • 【Web3 系列开发教程——创建你的第一个 NFT(3)】开始创建 NFT

    本文将引导你使用以太坊和星际文件系统 (IPFS) 编写和部署不可替代 (ERC721) 代币智能合约。 星际文件系统 IPFS 是一个旨在 实现文件的分布式存储、共享和持久化的网络传输协议 。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点构成一个分布式文件系统。它是

    2023年04月08日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包