【Chapter3】微信小程序基础知识


一、简介

这里主要简要讲制作小程序需要实现了解的内容,由于网上的相关资料很多,这里我只做归纳和整理。在具备这些基础认知之后,就可以自己动手捣鼓啦

二、内容

1、组成

1.1 云端部分:

login是自带的云函数,runDB是我自己创建的云函数。login函数可以获取用户的openid,runDB可以操作数据库,比如增删改添等,后面文章会讲到
在这里插入图片描述

1.2 页面部分:

里面的images放置图片;pages是小程序的页面,里面一定有个index的页面,这里是小程序的开始页面(进入页面);app的是全局的东西。
在这里插入图片描述

1.3 自定义组件:

componts可以创建自己定义的组件,后面的文章会讲到


2、变量

2.1 全局变量

全局变量放置在app.js文件中,注意赋值方式为冒号,会一直保存直到关闭程序

 this.globalData = {
      //用户id
      openid:'',
 }

在其他页面使用全局变量需要先实例化,将这句代码写入page的js文件里

const app = getApp()

//使用全局变量
var tempt = app.globalData.openid
2.2 局部变量

会一直保存直到页面关闭

Page({
  data: {
    openid:'',
  },
})

把全局变量的值赋给局部变量

this.setData({
         openid:app.globalData.openid,
        })

使用局部变量

var tempt = this.data.openid
2.3 变量

这里顺便讲数据类型,其实很简单,使用的也只有几种:string、number(部分int、float这些)、boolen、array、object、date……object经常是res返回的数据

var tempt = '', //string
var tempt = false, //boolen
var tempt = 0, //number
var tempt = [], //array
var tempt = Date.now() , //date

3、语句

3.1 在wxml中
//判断语句
wx:if = "{{true}}"

//循环语句
wx:for = "{{list}}}" wx:key = "{{item}}"
3.2 在js中

与C语言一样

//判断语句
if(true){

}else{

}

//循环语句
for(var i = 0; i < number , i++){

}
3.3 数组操作
  • 使用concat合并数组
var tempt = []
for (var i = 0; i < res.result.data.length; i++) {
   tempt = tempt.concat(res.result.data[i].topicID)
 }
  • 使用push合并数组
    这样没用到,大家网上搜索一下他们的不同吧,很简单。

  • 获取数组长度(尤其是判断 res.data 是否为空,经常使用)
    如果res为空,结果是0。这个相当好用,不能使用res.data.length,因为如果数据不为空,res.data就会变成 res.data[index].length!

云函数获取数据库返回

Object.keys(res.result.data).length

数据库返回

Object.keys(res.data).length
3.4 注释

小程序不支持递归操作,如果要的话只能

var tempt = 0
for (var i = 0; i < number; i++) {
   //操作
   if( i == number-1 ){
   		tempt = 1
   	}
}

if( tempt == 1){
	for (var i = 0; i < number; i++) {
	 //操作
	}
}
//以此类推,有点头疼哦

不然就要叠加几层,代码比较乱,最后就不要叠太多层了。

在后面数据库只能一次取20个值,云函数操作一次可取100个值,就会碰到这个头疼的问题了

for (var i = 0; i < number; i++) {
   //操作
   if( i == number-1 ){
		for (var i = 0; i < number; i++) {
		 //操作
		 // ……
		}
   	}
}

如果这样写,无效.tempt会一直是 5。(啊这个大坑)

var tempt = 0
for (var i = 0; i < 5; i++) {
   //操作
	tempt++
}
for (var i = 0; i < 5; i++) {
 //操作
 	tempt++
}

//……


最后还是例行一段:

最近用了一周写了一个仿知乎的小程序,将会陆续整理,包括前端页面设计与后端逻辑、数据库和云函数操作等,以及自己遇到的坑。之前也没有学过javascript和数据库,css和html大概知道,用了一天看数据库、php、vue,后来为了设计美观,用一早上看css和html,就可以开始做了,所以算是零基础的新手训练哦。感兴趣就关注吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现微信小程序支付,首先需要进行以下准备工作: 1. 申请微信小程序账号,申请成功后可以获取到AppID(小程序ID)和AppSecret(小程序密钥)。请确保申请的类型为企业性质,否则无法接入微信支付。 完成准备工作后,可以按照以下步骤进行微信小程序支付的操作: 1. 小程序端调用wx.requestPayment方法,传入以下参数: - timeStamp:时间戳,表示当前时间 - nonceStr:随机字符串,用于生成签名 - package:统一下单接口返回的prepay_id参数值 - signType:签名类型,目前支持HMAC-SHA256和MD5,默认为MD5 - paySign:签名,用于验证请求的合法性 2. 在服务端调用统一下单接口,该接口会返回预支付交易会话标识prepay_id等信息,在小程序端使用该prepay_id进行支付。 3. 小程序端获取到prepay_id后,通过wx.requestPayment方法发起支付请求。 4. 用户在弹出的支付界面中进行支付操作,完成支付后会返回支付结果。 5. 小程序端可以通过支付结果通知接口,获取支付结果的通知。根据通知中的结果进行相应的处理。 需要注意的是,相关参数(如appid、appsecret、prepay_id等)都属于私密信息,应保存在服务端,不应在客户端保存或暴露。 请参考以下文档了解更多关于微信支付的接口和签名算法: - 微信支付商户平台:https://pay.weixin.qq.com - 微信公众平台:https://mp.weixin.qq.com - 微信支付接口:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/payment/wx.requestPayment.html - 统一下单接口:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1 - 支付结果通知接口:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7&index=8 - 签名算法:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值