精华内容
下载资源
问答
  • 微信云开发实战 开通微信云开发 新建函数 调试 上传并部署 触发器 本地调试所需环境

    1. 开通微信云开发

    首先需要准备以下环境
    
    • 微信小程序(含真实AppID)
    • 小程序开发工具

    2. 新建云函数

    在小程序项目根目录找到 project.config.json 文件,新增 cloudfunctionRoot 字段,指定云函数的本地根目录,如下:

    {
       "cloudfunctionRoot": "./functions/"
    }
    

    然后在小程序下建立对应的目录./functions/
    完成后该目录会如下显示:
    在这里插入图片描述
    右键点击functions目录,选择“新建Node.js云函数”,输入云函数名称(例如:newTest),然后等待数秒,右上角会提示如下:
    在这里插入图片描述
    此时云函数就自动上传并部署在远程服务端上了,新建的newTest目录及结构就会变成如下所示:
    在这里插入图片描述
    打开index.js,会看到官方提供的的云函数样例。

    3. 本地调试

    本地调试云函数,相当于在本地搭建了一套云函数服务端,可以直接调用本地的云函数进行测试
    

    右键点击云函数,选择“开启云函数本地调试”。会进入云函数本地调试页面。如下图所示:
    在这里插入图片描述
    此时点击右边的开启本地测试,会提示:node modules 未安装,是否忽略并继续?
    在这里插入图片描述
    点击确定,会弹出报错窗口。
    解决方法如下:

    • 首先,你要先安装好node
    • 然后右键点击云函数,选择“在外部终端窗口打开”
    • 输入 npm install,等待安装
    • 安装成功后会在云函数目录下多出一个目录“node_modules”
    • 此时再重新打开本地调试,则会显示如下:
      在这里插入图片描述
      此时本地调试就已经开启了,但是云函数还没有被调用,这里调用云函数有两种方式,第一种是默认的模拟器触发:就是直接在代码中调用云函数,则会直接调用本地的进行测试。第二种就是手动触发,操作如下:
    • 请求方式选择手动触发
    • 点击下方的“调用”按钮
    • 观察中间的console窗口,会提示函数触发执行的日志,则执行成功!

    4. 上传并部署

    当我们新建云函数的时候,工具就会自动同步本地云函数到线上。
    可以在云函数里的index.js中编写逻辑代码,编写完后需要更新部署到线上,则右键选择“上传并部署,云端安装依赖”。这样,云函数就部署到线上了。

    5. 云数据库

    	微信云开发提供的JSON 数据库很简单,这里直接引用官方原话
    

    数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。
    关系型数据库和 JSON 数据库的概念对应关系如下表:

    关系型文档型
    数据库 database数据库 database
    表 table集合 collection
    行 row记录 record / doc
    列 column字段 field

    如下图:我们点击“+”号,在当前环境新建一张表“goods”
    在这里插入图片描述
    下面列表中会显示已经建好的表,我们选中刚刚新增的“goods”,点击新增记录,如下图:
    在这里插入图片描述
    弹出的页面如下,文档id就是记录的主键,我们用系统默认的不需要修改。
    在这里插入图片描述
    点击下边的“+”号,第一个字段我们输入name,值为“小米手机”;继续点击下面的“+”号,追加字段:value,值为2999。点击确定。
    在这里插入图片描述
    一条记录就添加好了,结果如下:
    在这里插入图片描述
    同学们可能发现,我从创建表名到添加记录,中间并没有设计表结构的过程,而是通过添加记录直接生成了表数据,这时有同学可能会想,如果我再添加一条结构不一样的记录会怎样?马上试试:
    在这里插入图片描述
    这次我添加了三个字段的记录,也添加成功了,说明小程序云开发json数据库并不强制要求每条记录的数据结构一致。

    	在小程序端拉取云数据库数据,js代码如下:
    
    //初始化云函数的sdk,这里需要填写你的环境ID,可以在环境设置里看到环境ID
    wx.cloud.init({env:'这里填环境ID'})
    
    const db = wx.cloud.database()//这里还没有拉取数据
    const watcher = db.collection('goods')
    const promise = watcher.get();//这里异步获取数据
    promise.then(res=>{
      console.log(res)
    });
      
    

    执行结果如下:
    在这里插入图片描述

    6. 云函数调用

    现在我们修改一下之前的云函数,使其能够获取我们刚刚新建的数据库记录

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    cloud.init()
    // 1. 获取数据库引用
    const db = cloud.database()
    // 云函数入口函数
    exports.main = async (event, context) => {
      // get 方法会触发网络请求,往数据库取数据, 返回promise对象
      const promise = db.collection('goods').get()
      // 必须等待请求返回后才return
      return promise.then(res=>{
        return res
      })
    }
    

    本地调试一下,成功会返回如下信息
    在这里插入图片描述

    接下来我们编写小程序端调用的代码:
    

    在util目录下新建一个cloudFS.js,专门用来调用云函数,代码如下:

    //初始化云函数的sdk,这里需要填写你的环境ID,可以在环境设置里看到环境ID
    wx.cloud.init({env:'这里填环境ID'})
    
    const test=()=>{
      wx.cloud.callFunction({
        name: 'newTest'
      }).then(res=>{console.log(res)})
    }
    
    module.exports = {
      test:test,
    }
    

    在页面js中调用这个方法:

    var util = require('../../utils/cloudFS.js')
    Page({
      test:function(){
        util.test()
      },
    })
    

    wxml的代码:

    <view ><button style="margin:100rpx;" type="primary" bindtap="test">测试</button></view>
    

    点击“测试”按钮即可调用云函数,控制台打印结果如下:
    在这里插入图片描述

    提示:云函数更新后记得重新上传部署到服务端哦
    
    展开全文
  • 1. 实现第一个小程序页面 2. 了解云开发的基础知识:函数、数据库 3. 引入第三方UI组件库:wei-ui、vant

    主页面

    为了测试与开发方便,暂时不区分客户端与服务端。增设一个主页面判断用户身份。根据身份的不同,显示不同的功能入口。如果是管理员,则显示管理端、客户端两个入口(方便测试)。如果非管理员,只能进入客户端。如下图所示:

    我们需要做以下工作:

    • 增加一个页面并将其作为主页面
    • 增加判断用户身份的云端函数
    • 设置存储用户信息的数据表

    通过增设这个页面功能,我们将接触熟悉几乎所有小程序开发涉及的知识。万事开头难,我们将会最大化的利用开发工具生成的Demo。所以,请先保留工程那些工具自动生成的碍眼的各种文件。

    入口页面

    虽然我们可以通过在工程浏览器的文件夹上的右键菜单中选择直接创建新页面,还是建议大家先为该页面新建一个文件夹,然后在该文件夹中创建页面。暂且将新加入的页面命名为mainPage,在该文件夹下新建页面index。

    有些时候怎么做都可以的时候,观察下官方给的demo能让你更好的做出选择。

    在这里插入图片描述
    程序所有的页面都在app.json中的pages字段注册。这里我们加入将自己前面建立的页面路径(mainPage/index),并将其放在第一的位置,它将作为程序启动后第一个页面出现。
    在这里插入图片描述

    云函数与云数据库

    程序所有的数据都保存在云端数据库中。即便没有从事过web开发,对于XML、JSOn之类的数据也应该不陌生。云数据库集合中的每条记录都是一个 JSON 格式的对象。对于有过关系型数据库使用经验,但第一次接触该数据的人,可以对照文档快速理解,下图给出几处常见术语的对比:
    在这里插入图片描述

    为了实现用户的身份识别与必要信息存储,我们在云开发控制台中新建两个集合:
    在这里插入图片描述

    • admin 程序初始配置,由开发人员控制。其中的admins字段保存了所有管理员的身份ID(手动录入)
    • users 存储已登陆过的用户信息

    为记录增加字段时,可以指定类型。比如,管理员字段就是包含了用户openid的数组
    在这里插入图片描述
    demo包含了获取用户openid的示例,将其值填入admins字段。这样openid在这个数组中的用户就能作为管理员使用该小程序了。
    在这里插入图片描述

    代码实现

    小程序不是完整的js运行环境,具体支持情况请参考腾讯的官方文档JavaScript 支持情况(我没有javascript语言的背景,也不打算系统学习它。如果报错,换一种代码实现方式对我来说更快捷)。WXMLWXSS和HTML、CSS虽然很像,但确实不能等同。因为我没有其中任何一种语言的基础,反而没有什么困扰。文章给出关键代码实现,完整的项目请参考本软件在github的提交。

    云端实现

    这里我们通过修改cloudfuntions目录下的login函数来实现。该函数实现从admin集合读取管理员的openid列表,判断当前用户是否管理员。然后检查users集合,如果没有该用户的记录,就补充创建。

    // 云函数模板
    // 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”
    
    const cloud = require('wx-server-sdk')
    
    // 初始化 cloud
    cloud.init({
      // API 调用都保持和云函数当前所在环境一致
      env: cloud.DYNAMIC_CURRENT_ENV
    })
    
    const db = cloud.database()
    exports.main = async (request) => {
      console.log(request)
      const wxContext = cloud.getWXContext()
      //判断用户类型
      var res = await db.collection('admin').limit(1).get()
      var data = res.data[0]
      var index = data['admins'].findIndex(item => item == wxContext.OPENID)
      var user = index != -1 ? 'admin' : 'user'
      //用户信息注册
      const userCol = db.collection('users')
      res = await userCol.where({
        openid: wxContext.OPENID
      }).get()
      if (res.data.length == 0) {//新用户
        await userCol.add({
          data: {
            info: {
              avatarUrl: request.userInfo.avatarUrl,
              nickName: request.userInfo.nickName
            },
            openid: wxContext.OPENID
          }
        }).catch(console.error)
      } else {
        if (res.data[0].info.avatarUrl != request.userInfo.avatarUrl
          || res.data[0].info.nickName != request.userInfo.nickName) {
          await userCol.where({
            openid: wxContext.OPENID
          }).update({
            info: {
              avatarUrl: request.userInfo.avatarUrl,
              nickName: request.userInfo.nickName
            }
          }).catch(console.error)
        }
      }
      //返回信息
      return {
        success: true,
        data: {
          user: user,
          openid: wxContext.OPENID
        }
      }
    }
    

    对于异步函数,常见有callback、promise两种调用方式。小程序的官方文档也多采用这两种方式举例。但如果有多层调用的话,这种嵌套就比多层for嵌套的可读性还要差。因此,除非有需要函数要以非阻塞方式被调用,一般使用await来代替callback、promise。

    小程序端实现

    建议大致浏览下官方关于框架的文档中关于注册页面、页面生命周期、WXML、简易双向绑定的说明。

    一个页面的实现代码大致如下:

    Page({
      data: {
        text: "This is page data."
      },
      onLoad: function(options) {
        // Do some initialize when page load.
      },
      onShow: function() {
        // Do something when page show.
      },
      onReady: function() {
        // Do something when page ready.
      },
      onHide: function() {
        // Do something when page hide.
      },
      onUnload: function() {
        // Do something when page close.
      },
      onPullDownRefresh: function() {
        // Do something when pull down.
      },
      onReachBottom: function() {
        // Do something when page reach bottom.
      },
      onShareAppMessage: function () {
        // return custom share data when user share.
      },
      onPageScroll: function() {
        // Do something when page scroll
      },
      onResize: function() {
        // Do something when page resize
      },
      onTabItemTap(item) {
        console.log(item.index)
        console.log(item.pagePath)
        console.log(item.text)
      },
      // Event handler.
      viewTap: function() {
        this.setData({
          text: 'Set some data for updating view.'
        }, function() {
          // this is setData callback
        })
      },
      customData: {
        hi: 'MINA'
      }
    })
    

    页面渲染或者加载都会使用data作为数据源。data中的数据必须是可以转成JSON的类型,如字符串,数字,布尔值,对象,数组等。具体说明请参考官方关于页面的文档

    通过Button组件调用wx.getUserInfo会弹出用户权限申请:
    在这里插入图片描述

    注意我们不能通过直接调用该接口弹出授权请求。参考官方文档:在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调(详见《公告》)。在用户已授权的情况下调用此接口,可成功获取用户信息。要使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息

    这里我们保存通过该函数获取的头像图片链接和昵称。通过wx.cloud.callFunction来调用我们前面实现的login云函数。参数中的name字段的值为云函数的名称,这是通过云函数的package.json文件中的name字段来设定的(虽然一般情况下云函数文件夹的名称跟云函数名称保持一致):
    在这里插入图片描述

         // 获取用户信息
        let self = this
        wx.getUserInfo({
          success: async function (res) {
            console.debug(res)
            var userInfo = res.userInfo
            var nickName = userInfo.nickName
            var avatarUrl = userInfo.avatarUrl
            self.setData({
              login: true,
              avatarUrl: avatarUrl,
              userInfo: userInfo
            })
            var ret = await wx.cloud.callFunction({
              name: 'login',
              data: {
                userInfo: {
                  nickName: nickName,
                  avatarUrl: avatarUrl
                }
              }
            })
            console.debug(ret)
            self.setData({
              _openid : ret.result.data.openid
            })
    
            if (ret.result.data.user == "admin") {//user
              self.setData({
                isAdmin: true
              })
            } 
          }
        })
    

    页面的数据保存在页面js文件的data数据段中。

    • 如果要使UI能反应这些数据变化,要以this.setData()的方式更改数据。直接赋值(比如:this.data.nickName='昵称更改了)是不能刷新UI的,还会造成UI和实际数据不一致 。另外要注意的是,如果要在以callback或者promise风格的匿名函数中调用setData,要提前保留this的值。因为该处的this已经并非指代该页面对象了。
      在这里插入图片描述
    • 对于那些不影响界面的变量,命名时要以下划线开头,比如 _openid

    授权后的程序界面如下图所示:
    在这里插入图片描述
    index.wxml:

    关于WXML文件,请参考微信开放文档

    <view>
      <view class="userinfo">
        <button open-type="getUserInfo" bindgetuserinfo="onGetUserInfo" class="userinfo-avatar"
          style="background-image: url({{avatarUrl}})" size="default"></button>
        <view class="userinfo-nickname-wrapper">
          <button class="userinfo-nickname">点击头像登陆</button>
        </view>
      </view>
      <button class="simple-button" wx:if="{{isAdmin}}" bindtap="onSelectedAdmin">管理员</button>
      <button class="simple-button" bindtap="onSelectedCustomer">客户</button>
    </view>
    

    index.wxss:

    .userinfo {
      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 {
      padding-left: 120rpx;
    }
    
    .userinfo-avatar {
      width: 100rpx;
      height: 100rpx;
      margin: 20rpx;
      border-radius: 50%;
      background-size: cover;
      background-color: white;
    }
    
    .userinfo-avatar[size] {
      width: 100rpx;
    }
    
    .userinfo-avatar:after { 
      border: none;
    }
    .userinfo-nickname {
      font-size: 32rpx;
      color: #007aff;
      background-color: white;
      background-size: cover;
      text-align: left;
      padding-left: 0;
      margin-left: 10px;
    }
    
    .userinfo-nickname::after {
      border: none;
    }
    
    .userinfo-nickname-wrapper {
      flex: 1;
    }
    .simple-button{
      border : 2px solid #007aff;
      margin-top: 10px;
    }
    

    虽然只是加入了一个简单的页面,但几乎涉及了小程序开发所需要的所有知识(可把我这个web开发白板折腾的不轻)

    • 知道如何去查官方文档,而且知道官方文档没那么严谨,好几个地方会涉及同一个知识点,却没有一处能说完整。
    • 了解web开发的常识,比如HTML、CSS、Javascript的基础知识。
    • 通过云函数及其调用,实现前后端(客户端、服务端)交互。
    • 使用Json云数据库。

    选择UI组件库

    从上面的实现一个简单页面的代码可以看出,对于可视化程序,相当大的难度和工作量都在界面上。我没打算成为CSS的专家,甚至没打算去系统学习它。因此迫切希望能找到合适的UI库,这不但能降低UI设计门槛,减轻负担,还能减少编码量。选择的原则:

    • 尽量使用腾讯官方提供的界面库
    • 如果非要选择第三方界面库,那就选个尽量小的

    WeUI

    官方名片:这是一套基于样式库weui-wxss开发的小程序扩展组件库,同微信原生视觉体验一致的UI组件库,由微信官方设计团队和小程序团队为微信小程序量身设计,令用户的使用感知更加统一。项目地址
    在这里插入图片描述

    它还有个好处就是支持扩展库引入,不占用小程序包体积

    Vant

    官方名片:Vant 是有赞前端团队开源的移动端组件库,于 2016 年开源,已持续维护 4 年时间。Vant 对内承载了有赞所有核心业务,对外服务十多万开发者,是业界主流的移动端组件库之一。
    在这里插入图片描述
    以上UI组件库,大家可通过扫描二维码后体验。

    整合UI组件库

    微信小程序开发支持使用npm安装第三方库

    但是实际操作时有问题,比如,如果使用npm安装了vant、以扩展库方式引入weui,无论怎么设置都有冲突,百度了一圈子,不少人遇到类似问题,但试用了不少别人解决问题的方法,我这里没解决,这可能跟不熟悉npm有关。

    但为了避免不必要的麻烦,以copy文件的方式(官方第二种方式)使用vant:
    在这里插入图片描述
    vant 的源代码可以从这里下载。这里我们将其放在工程的miniprogram/components文件夹中:
    在这里插入图片描述

    以扩展包的方式引入weui

    这种方式引入weui非常简单,只需要在app.json中增加:
    “useExtendedLib”: {
    “weui”: true
    }
    在这里插入图片描述

    接下来

    我们会利用本次的知识和导入的UI组件库实现管理端的主界面,并实现商品信息的管理功能,如下:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 微信小程序云开发超详细实战攻略

    千次阅读 2021-01-25 10:44:14
    项目一 新闻类小程序 项目二 投票小程序 项目三 通讯录小程序 项目四 报修类小程序 项目五 网上书城小程序 ...详细教程见:微信小程序云开发超详细实战攻略https://item.jd.com/13038316.html ...

    项目一 新闻类小程序

    项目二 投票小程序

    项目三 通讯录小程序

    项目四 报修类小程序

    项目五 网上书城小程序

    项目六 会议室预约助手小程序

    项目七 车牌识别小程序

     

    详细教程见:微信小程序云开发超详细实战攻略https://item.jd.com/13038316.html

     

    展开全文
  • 在开发过程中,我就在想,如何与打算或者刚上手微信小程序开发的朋友实时分享心得与经验。这就是我写这个系列的初衷。但本系列不打算成为相关语言、平台、工具的基础性教程,而是着眼于如何利用新平台实现功能。因此...

    关于本系列

    偶然的机会需要给人做一个团购类的微信小程序。我虽然是一名老程序员,但对web类开发从不感兴趣,也从未涉足。从开始的不知如何下手到入门后的想当然,闹了不少笑话,吃了不少苦头。在开发过程中,我就在想,如何与有类似开发背景或者刚入手的朋友实时分享心得与经验。但本系列不打算成为相关语言、平台、工具的基础性教程,也无意梳理腾讯的官方文档,而是从一个Web小白的角度着眼于如何使用新平台新语言实现功能。本系列不假设读者有任何HTML、CSS、Javascript或者其他任何Web开发、学习经验,但熟悉一种编程语言以及有过实际开发经历,会对系列中出现的体会和抱怨有更多共鸣。

    项目源码下载:思辰非微商城(随文章实时更新)

    工具与平台

    微信开发者工具

    腾讯提供了专门的微信开发者工具,可以从该链接下载:
    微信开发者工具

    Visual studio code 也有提供的微信小程序开发的插件,但集成度和易用性跟腾讯提供的专有工具相比还是有差距。

    小程序账号

    腾讯的开发工具使用时需要微信扫码登录:
    在这里插入图片描述
    可在此处注册账号。大家按照提示走流程即可。需要注意的是,每个邮箱只能申请一个小程序,而这个小程序账号如果超过一段时间不用(比如半年),就会被挂起。

    小程序的注册信息(比如原始ID、名称)一定要牢记,即便如此,后面的找回、注销也很繁琐。 当然,不在乎像个囚犯一样手举身份证拍照的大心脏除外

    在这里插入图片描述

    云开发

    小程序也分前端、后端(client、server),我们自己不提供服务器,使用腾讯提供的云开发服务免费版作为后端支持就足够了。
    在这里插入图片描述

    在这里插入图片描述

    辅助开发工具

    由于本人没有Javascript语言的使用经验,又不打算从头学习这门语言,所以需要一款快捷的工具来验证自己的想法(使用新语言基本靠猜)。推荐使用visual studio code、node.js
    在这里插入图片描述

    开发平台

    在这里插入图片描述

    创建项目

    创建项目时,选中云开发支持,在AppID下拉框中选中要使用的AppID。

    在这里插入图片描述

    如果用一个微信号绑定了多个小程序账号,AppID的下拉框可能不会列出所有账号的AppID,可以在小程序的用户中心中的开发管理->开发设置中得到,然后直接粘贴到上面的AppID输入框。

    在这里插入图片描述
    新建的云开发程序不是我们通常使用开发工具建立的空工程,而类似一个云开发学习的向导。我对小程序云开发的基础知识就是从这里开始的。默认Ctrl+B编译后在模拟器中会出现程序主界面。
    在这里插入图片描述

    云函数

    此时我们点击主界面中的获取openid,会出现错误。因为cloudfuntions中的函数需要在云端安装才能起作用。

    • 首先在这个文件夹上右键,通过名称选择云开发环境
    • 在函数文件夹上右键,选择第三项,就是在云端安装依赖。

    不建议第二项,上传所有文件不但慢,而且不可避免要修改,但我们做源码管理的时候,一般不会把除源代码外的依赖库也纳入,这就很难在不同的开发环境保持一致。

    在这里插入图片描述
    openid是普通的开发者不用大费周章能拿到的用户的唯一标识。原来我也想过获取用户的电话号码,以此来区分不同用户。折腾了大半天,最后发现普通的开发者没有权限得到这个“特权”,也没资格申请(腾讯你好歹在API文档也说一下啊)。
    在这里插入图片描述

    接下来

    像使用任何其他语言、平台开发一样,后面我们也需要选择类库,配置软件运行环境。顺便并做出程序的主界面。

    展开全文
  • 李艺《微信小程序全栈开发实战》(第一章)双线程运行机制小程序的特点及开发能力小程序的特点小程序的开发能力开发小程序的一般流程小程序的运行机制小程序双线程视图的持续更新是如何实现的使用setData可能会遇到...
  • 实现商品信息的录入与获取。涉及函数、数据库、存储、页面数据交换、浮动组件、运行中组件大小位置控制等知识。
  • 微信小程序云开发实战:网上商城(四) 前言 本节我们来实现商品展示页面。代码下载 服务端代码实现 上节提到要生成上图所示的商品画面,那我们的商品比原来多需要两个属性: 类别 是否属于推荐商品 具体实现时,...
  • 零基础入门小程序云开发云函数
  • 本章主要内容:什么是小程序云开发的作用,如何建立自己的小程序
  • 我们在页面上进行数据展示的时候,无论是pc端还是移动端,很多情况下需要展示很多很多条的数据。 比如商城,商品的数量是非常多的。但是在我们从后台获取数据的...下面我们利用微信小程序云开发实现一下数据的分页。
  • 微信小程序实战小程序介绍初衷图片预览技术云开发优势:问题汇总瀑布流导航条scroll-view 下拉刷新详情页:轮播图原点在图片下方显示 小程序介绍 开发用来记录文章,以及blog。配以图文的方式,简单直接展示,并附...
  • 基于云开发微信小程序实战教程(二) 最近刚开发了款小程序,在开发过程中发现,基于云开发的教程资源不是很多,而且很不详细。所以边实战边总结了下云开发的简单教程,希望对你有所帮助。 具体的代码在这里,...
  • 1-1 微信小程序商业级实战-课程导学。 (13:23) 1-2 2019年更新(P1)内容概要(重要) (10:09) 1-3 优先自己开发 (02:13) 1-4 临时补充:关于appkey的申请(重要) (00:46) 1-5 appkey的申请 (05:06) 1-6 课程维护说明...
  • 有时候管理员需要把数据库中的数据导出来,方便管理员...(4) 把生成的excel文件上传到存储,供微信小程序端下载浏览。 通过node-xlsx类库把数据写入数据库 可以使用node-xlsx中的xlsx.build([{name: excelname, d
  • 目录云开发的优势云开发的工具和准备1.开通云开发服务2.找到云开发的环境 ID3.指定小程序的云开发环境4....注册微信小程序 开发者工具:小程序开发者工具下载地址 技术文档:云开发官方文档 注意 小程序的ID(A
  • 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。 文件 必须 作用 app.js 是 小程序逻辑 app.json 是 小程序公共配置 app.wxss 否 小程序公共样式表 一个小程序页面由四个文件组成,...
  • 基于微信小程序云开发的校园类平台

    千次阅读 多人点赞 2021-02-05 15:23:38
    前端使用ColorUI,后端使用微信小程序云开发。 现在已经上线发布,并且长期运营维护。 大家可以直接在微信小程序中搜索校园海滨,在线体验功能。 主要推荐给三类人群: 1.打算干程序员这行的,已经学完微信小程序...
  • ——/2020-Python+微信小程序开发实战/ ├──微信小程序课件 | └──微信小程序课件.rar 28.04M ├──001 day1-01 小程序介绍.mp4 15.34M ├──002 day1-02 小程序环境搭建.mp4 88.74M ├──003 day1-03 全局...
  • 小程序的特点及开发能力 1.相比传统应用,有以下特点 与Web相比,首先入口不同。 主要都是基于传统的前端技术,以JavaScript语言为主。 与App相比,学习门槛和开发成本都比较低,可以快速上手。 不需要下载和安装,...
  • order页面1、order页面解构 1、order页面解构
  • 微信小程序,小程序的一种...微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普
  • 作者:BingeZhacsdn.net/zwb19940216/article/details/810231911. 前言现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小...
  • 课程目录 代码 第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 课件 第1章.pptx 第2章.pptx ...微信小程序-云开发(函数).mp4 33.微信小程序-云开发(函数数据库).mp4 http://www.52xxit.com/thread-4213-1-1.html
  • 开发实战篇之七前言1、picker选择器组件 前言 实战篇内容参考: 1、Lin Ui开源组件源码分析。https://doc.mini.talelin.com/ 2、开发过程遇到问题。 1、picker选择器组件
  • 开发实战篇之八前言1、list选择器组件 前言 实战篇内容参考: 1、Lin Ui开源组件源码分析。https://doc.mini.talelin.com/ 2、开发过程遇到问题。 1、list选择器组件
  • 开发实战篇之六前言 前言 实战篇内容参考: 1、分页组件开发 2、开发过程遇到问题。
  • 小程序注册流程 1、注册方法 在微信公众平台官网首页(mp.weixin.qq.com)点击右上角的“立即注册”按钮。 2、选择注册的帐号类型 选择“小程序”,点击“查看类型区别”可查看不同类型帐号的区别和优势。 3、填写...
  • ①alt+鼠标滚轮 ②ctrl+shift+→ ③ctrl+c ③shift+end ④backspace ③ctrl+v
  • 音乐微信小程序,提供源码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,033
精华内容 12,413
关键字:

微信小程序云开发实战

微信小程序 订阅