因为项目需要用到小程序,自己想写个从零到有的微信小程序专题,记录学习心得。

目录

1.微信小程序简介

2.注册小程序

3.安装开发工具

4.小程序初始化目录介绍


1.微信小程序简介

微信小程序这个词可以分解为“微信”和“小程序”两部分

(1),其中“微信”可以理解为“微信中的”,指的是小程序的执行环境;当然微信在提供执行环境的同时也延长了用户使用微信的时间。

(2),“小程序”是说它首先是程序,然后具备轻便的特征。小程序并不像其他应用那样,它不需要安装,而是通过扫描二维码等打开后直接执行;用完以后也不需要卸载。这就是所谓用完即走的原则。

2.注册小程序

在创建小程序之前,首先需要注册小程序账号

用没有注册过微信公众平台的邮箱注册一个微信公众号

3.安装开发工具

第一步:下载微信小程序开发者工具并安装,下载路径:

https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

进到下载界面后,根据自己的操作系统选择相应的链接进行下载,下载完成后进行安装。

博主这里选择的是开发版64位

第二步:安装登录工具

开发者工具安装完成后我们就可以将其打开,初次打开会需要用微信扫码登录,如下图,用手机微信扫一扫后确认登录就可以了。

第三步:选择一个项目类型,我们这里选择小程序

##第四步:创建一个项目

选择项目类型成功后,会弹出创建项目的窗口,如下图:

小程序的 AppID 相当于小程序平台的一个身份证,可登录自己的小程序平台→开发→开发设置获取

4.小程序初始化目录介绍

我们点击编辑器,可以看到这个项目

接下来介绍页面文件构成

微信小程序中的每一个页面的【路径+页面名】都需要写在 app.json 的 pages 中,且 pages 中的第一个页面是小程序的首页。

每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js、index.wxml、index.wxss、index.json。.js后缀的文件是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,.wxml后缀的文件是页面结构文件。

直接上图

上码

index.wxml 是页面的结构文件:

<!--index.wxml-->
<view class="container"><!-- 用户 openid --><view class="userinfo"><button open-type="getUserInfo" bindgetuserinfo="onGetUserInfo"class="userinfo-avatar"style="background-image: url({{avatarUrl}})"></button><view><text>爱码士xlz</text>
</view>
</view> <view class="text-title"><text>Hello world</text>
</view>
</view>

本例中使用了<view/><button/><text/>来搭建页面结构,绑定数据和交互处理函数。

index.js 是页面的脚本文件,在这个文件中我们可以监听并处理页面的生命周期函数、获取小程序实例,声明并处理数据,响应页面交互事件等。

//index.js
const app = getApp()Page({data: {avatarUrl: './user-unlogin.png',userInfo: {},logged: false,takeSession: false,requestResult: ''},onLoad: function() {if (!wx.cloud) {wx.redirectTo({url: '../chooseLib/chooseLib',})return}// 获取用户信息wx.getSetting({success: res => {if (res.authSetting['scope.userInfo']) {// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框wx.getUserInfo({success: res => {this.setData({avatarUrl: res.userInfo.avatarUrl,userInfo: res.userInfo})}})}}})},onGetUserInfo: function(e) {if (!this.logged && e.detail.userInfo) {this.setData({logged: true,avatarUrl: e.detail.userInfo.avatarUrl,userInfo: e.detail.userInfo})}},onGetOpenid: function() {// 调用云函数wx.cloud.callFunction({name: 'login',data: {},success: res => {console.log('[云函数] [login] user openid: ', res.result.openid)app.globalData.openid = res.result.openidwx.navigateTo({url: '../userConsole/userConsole',})},fail: err => {console.error('[云函数] [login] 调用失败', err)wx.navigateTo({url: '../deployFunctions/deployFunctions',})}})},// 上传图片doUpload: function () {// 选择图片wx.chooseImage({count: 1,sizeType: ['compressed'],sourceType: ['album', 'camera'],success: function (res) {wx.showLoading({title: '上传中',})const filePath = res.tempFilePaths[0]// 上传图片const cloudPath = 'my-image' + filePath.match(/\.[^.]+?$/)[0]wx.cloud.uploadFile({cloudPath,filePath,success: res => {console.log('[上传文件] 成功:', res)app.globalData.fileID = res.fileIDapp.globalData.cloudPath = cloudPathapp.globalData.imagePath = filePathwx.navigateTo({url: '../storageConsole/storageConsole'})},fail: e => {console.error('[上传文件] 失败:', e)wx.showToast({icon: 'none',title: '上传失败',})},complete: () => {wx.hideLoading()}})},fail: e => {console.error(e)}})},})

index.wxss 是页面的样式表:

/**index.wxss**/page {background: #f6f6f6;display: flex;flex-direction: column;justify-content: center;
}
.userinfo, .uploader, .tunnel {margin-top: 40rpx;height: 140rpx;width: 100%;background: #fff;border: 1px solid rgba(0, 0, 0, 0.1);border-left: none;border-right: none;display: flex;flex-direction: row;align-items: center;transition: all 300ms ease;
}.userinfo-avatar {width: 100rpx;height: 100rpx;margin: 20rpx;border-radius: 50%;background-size: cover;background-color: white;
}.userinfo-avatar:after {border: none;
}.userinfo-nickname {font-size: 32rpx;color: #007aff;background-color: white;background-size: cover;
}.userinfo-nickname::after {border: none;
}.uploader, .tunnel {height: auto;padding: 0 0 0 40rpx;flex-direction: column;align-items: flex-start;box-sizing: border-box;
}.uploader-text, .tunnel-text {width: 100%;line-height: 52px;font-size: 34rpx;color: #007aff;
}.uploader-container {width: 100%;height: 400rpx;padding: 20rpx 20rpx 20rpx 0;display: flex;align-content: center;justify-content: center;box-sizing: border-box;border-top: 1px solid rgba(0, 0, 0, 0.1);
}.uploader-image {width: 100%;height: 360rpx;
}.tunnel {padding: 0 0 0 40rpx;
}.tunnel-text {position: relative;color: #222;display: flex;flex-direction: row;align-content: center;justify-content: space-between;box-sizing: border-box;border-top: 1px solid rgba(0, 0, 0, 0.1);
}.tunnel-text:first-child {border-top: none;
}.tunnel-switch {position: absolute;right: 20rpx;top: -2rpx;
}.disable {color: #888;
}.service {position: fixed;right: 40rpx;bottom: 40rpx;width: 140rpx;height: 140rpx;border-radius: 50%;background: linear-gradient(#007aff, #0063ce);box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);display: flex;align-content: center;justify-content: center;transition: all 300ms ease;
}.service-button {position: absolute;top: 40rpx;
}.service:active {box-shadow: none;
}.request-text {padding: 20rpx 0;font-size: 24rpx;line-height: 36rpx;word-break: break-all;
}
.text-title{
margin-top: 50%;
}
.text-title text{font-size: 96rpx;font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}

index.json 是页面的配置文件:

​ 页面的配置文件是非必要的。当有页面的配置文件时,配置项在该页面会覆盖 app.json 的 window 中相同的配置项。如果没有指定的页面配置文件,则在该页面直接使用 app.json 中的默认配置。

{"pages": ["pages/index/index","pages/userConsole/userConsole","pages/storageConsole/storageConsole","pages/databaseGuide/databaseGuide","pages/addFunction/addFunction","pages/deployFunctions/deployFunctions","pages/chooseLib/chooseLib"],"window": {"backgroundColor": "#F6F6F6","backgroundTextStyle": "light","navigationBarBackgroundColor": "#F6F6F6","navigationBarTitleText": "爱码士xlz","navigationBarTextStyle": "black"}
}

app.json对应的参数在后面的博客具体介绍

好了,Hello World就出来了,做小程序就这么简单,现在,你是不是也准备跃跃欲试小程序了呢?

可点击预览,扫码后即可在微信客户端中体验

小程序账号注册完整流程参考博客:https://blog.csdn.net/linsongbin1/article/details/79780763

零基础微信小程序开发心得----注册微信小程序相关推荐

  1. 零基础一天学会开发制作一个微信小程序【附源码】

    时至如今,微信已然成为一个全民通用的工具,相应的微信小程序开发已经是一个热门的开发项目. 小程序的前端代码和web是极其相似的,wxml和html.wxss和css以及js,现在还经常将wxss读作c ...

  2. 小程序开发心得分享:优质小程序制作平台推荐

    当今,小程序已经成为许多企业和个人推广业务的首选方式.然而,对于缺乏开发能力的人们来说,制作一个高品质的小程序仍然是一个难题.这时,小程序制作平台应运而生.这些平台将小程序制作过程工具化,使得繁琐的代 ...

  3. 微信小程序开发学习1(小程序的入门知识)

    微信小程序开发学习1(小程序的入门知识) 1.制定学习目标: 能够知道如何创建小程序项目 能够清楚小程序项目的基本组成结构 能够知道小程序页面的几个组成部分 能够知道小程序中常见的组件如何使用 能够知 ...

  4. 【微信小程序开发(云壁纸小程序教程)】

    微信小程序开发(云壁纸小程序教程) 1. 准备 HBuilder X 和 微信开发者工具 2. 进入网站注册小程序 3. 点击发行,这时候就用到微信开发者工具 1. 准备 HBuilder X 和 微 ...

  5. 2019小程序赚钱全攻略:零基础搭建、引爆、变现你的小程序

    最近在知乎有个问题爆红: 抖出无数人的心酸经历: 无论买什么东西,都会不由自主跟每天的饭钱作对比-- 父亲做手术,我却负担不起昂贵的止疼药-- 老公出轨,却因为没钱不敢离婚,怕抢不到孩子的抚养权-- ...

  6. 视频教程-微信小程序开发培训教程-微信开发

    微信小程序开发培训教程 本人计算机专业,毕业工作已经10多年,从事过的行业有,安防,通讯,Gps定位,信息统计分析,互联网电商等,从事过的职位. 代码工程师(使用过的语言C#,PHP,Java),Ap ...

  7. 【Web前端开发】《零基础入门学习Web开发》(HTML5CSS3)(小甲鱼)

    1 P1:凉凉好像挺厉害的奥?      听完了! 2 P2:HTML是用来描述网页的一种语言 官方:超文本标记语言   Hyper Text Markup Language 使用标签来描述网页    ...

  8. 基于微信小程序开发的仿微信demo

    (本文参考自github/liujians,地址:https://github.com/liujians/weApp) 作者声明: 基于微信小程序开发的仿微信demo  整合了ionic的样式库和we ...

  9. java 注册探探账号_零基础手把手教你开发探探类社交软件Tinder

    原标题:零基础手把手教你开发探探类社交软件Tinder 目录介绍 1.关于项目App整体架构 1.1项目整体架构 1.1.1 目前项目使用架构 1.1.2 目前常见的架构 1.1.3 MVP架构优点及 ...

最新文章

  1. java handler类_java——Handler类
  2. 25 进程同步之Event
  3. 【考研保研直通车】C9高校考研真题
  4. BZOJ1251 序列终结者
  5. NHibernate之旅(4):探索查询之条件查询(Criteria Query)
  6. mysql master-user_【MySQL】MySQL5.6数据库基于binlog主从(Master/Slave)同步安装与配置详解...
  7. bootstrap中表格、修饰图片、浮动、背景框、提示框及关闭提示框、元素淡入淡出及jQuery中操作类名
  8. 第 7 章 MybatisPlus 插件
  9. Ajax-图书管理系统数据提交
  10. 数据分析五板斧与里面的屠龙刀(下)
  11. 表格列隐藏_WPS表格(Excel)基础编辑
  12. Golang 实现文件内容差异比较
  13. zemax双胶合消色差透镜设计
  14. c语言地心坐标转当地水平坐标,中国2000坐标系与地心参心坐标系转换实现
  15. 小米5月10日发布会--miui8
  16. 自定义Android Switch控件
  17. 二元二次方程例题_二元二次方程组练习题及答案
  18. 【毕业设计】深度学习抽烟行为检测算法研究与实现 - python opencv YOLO
  19. linux使用百度网盘(bypy)
  20. 【VisionMaster】二次开发之第三方库的使用

热门文章

  1. 网管软件的概念及划分
  2. 半导体物理实验 03 - | 高频光电导法测少子寿命
  3. unity个人版去logo
  4. 2018年汽车行业面临大革新,供应商们该何去何从?
  5. SnapdragonCamera源码分析(一)CameraActivity
  6. SnapdragonCamera源码分析
  7. leetcode - 467. Unique Substrings in Wraparound String
  8. 织梦dedecms如何做到真正的随机调取文章
  9. gh0st 内核代码分析
  10. 软阈值(soft-thresholding)函数