低代码从0到1创建小程序项目详解流程

目录
  • 1 搭建开发工具
  • 2 创建项目
  • 3 功能开发
  • 4 后端实现
  • 总结

我们使用代码编程的时候,前端是写标签,后端是写if/else、for循环来执行逻辑处理。

那低代码如何体系化的学习呢?这里我们按照代码方式学习做个对照。

1 搭建开发工具

一般如果我们使用微信开发者工具,开发小程序需要安装工具。低码工具不需要安装,是在线进行编程。但和开发者工具一样,低码也是需要绑定小程序的。我们在开发者工具里一般是需要配置自己小程序的appid,如果使用了云开发的,还需要开通云开发。

我们使用低码开发需要在小程序认证那块,绑定自己的小程序。

我这里一个绑定成功了,一个绑定失败了。失败的原因是小程序和我们的低码账号不是同主体,意思是必须以你自己的微信号申请,不能绑定别人的小程序。

2 创建项目

我们使用微信开发者工具,打开工具的时候就要求创建项目,所谓的创建项目是在你本地新建一个文件夹,然后按照小程序项目的要求生成对应的目录结构。比如有js、json、wxml、wxss等。

低码中我们讲的创建项目是指创建应用,一个应用就相当于一个项目。不同于小程序,低码的外延更广,可以创建PC端的项目,也可以创建移动端的项目。移动端的项目不仅可以创建小程序,也可以创建H5。

而且比小程序方便的是,低码是可以根据模板创建项目的。所谓的模板是指事先已经开发好的项目,就像我们从github上clone一样。当你clone完毕后整个工程的源代码就都下载到了本地。低码中依据模板新建是将做好的项目安装到你自己的空间里。这样你就有了一套成熟的模板,可以在此基础上进行修改。这样做无疑大大的提高了开发效率。

3 功能开发

微信小程序独创了一套语法,分别是wxjs、wxml、wxss。如果我们希望开发难免增加了不少难度,因为又得单独学习一套语法。低码的话组件是使用的react,低码编辑器里是用的javascript。后台方法是用的云函数,学习nodejs即可。总体你只要学会了Js开发低码应用是没啥问题的。

低码中也有页面的概念,但是是可视化创建的。

页面开发的时候完全是可视化的拖拽,并不需要学习啥语法知识

如果需要给组件设置事件的,可以使用平台方法,也可以使用自定义方法

自定义方法是按照Js语法进行编程

export default {
  async onAppLaunch(launchOpts) {
    //console.log('---------> LifeCycle onAppLaunch', launchOpts)
    const { OPENID, FROM_OPENID } = await app.utils.getWXContext()
    let userId = FROM_OPENID || OPENID
    if (!userId) {
      const { wedaId } = await app.cloud.getUserInfo()
      userId = wedaId
    }
    app.dataset.state.openid = userId
    console.log(app.dataset.state.openid)
    const result = await app.cloud.callModel({
      name: 'user_h4la7ee',
      methodName: 'wedaGetRecords',
      params: {
        "where": [
          {
            "key": "openid",
            "rel": "eq",
            "val": app.dataset.state.openid
          }
        ]
      }, // 方法入参
    });
    console.log(result.total)
    if(result.total ===1){
      app.dataset.state.islogin = true
      app.dataset.state.imageUrl = result.records[0].imageUrl
      app.dataset.state.nickName = result.records[0].nickName
    }
    console.log(app.dataset.state.islogin,app.dataset.state.imageUrl,app.dataset.state.nickName)
    const adminresult = await app.cloud.callModel({
      name: 'admin_qohkmr5',
      methodName: 'wedaGetRecords',
      params: {
        "where": [
          {
            "key": "openid",
            "rel": "eq",
            "val": app.dataset.state.openid
          }
        ]
      }, // 方法入参
    });
    console.log(app.dataset.state.openid)
    console.log(adminresult)
    if(adminresult.total===1){
      app.dataset.state.isadmin = true
    }
    console.log("isadmin",app.dataset.state.isadmin)
  },
  onAppShow(appShowOpts) {
    //console.log('---------> LifeCycle onAppShow', appShowOpts)
  },
  onAppHide() {
    //console.log('---------> LifeCycle onAppHide')
  },
  onAppError(options) {
    //console.log('---------> LifeCycle onAppError', options)
  },
  onAppPageNotFound(options) {
    //console.log('---------> LifeCycle onAppPageNotFound', options)
  },
  onAppUnhandledRejection(options) {
    //console.log('---------> LifeCycle onAppUnhandledRejection', options)
  }
}

4 后端实现

小程序一般只能解决前端交互的功能,后端你必须自己开发功能,安装到服务器上还需要暴露接口。但是一般我们的后台服务都是需要鉴权的,不可能像网站一样公开使用。低代码提供了后端的云函数,直接使用就可以。如果官方提供的不满足要求,还可以自己编写代码

使用 npm 包 request 发送http请求, 详细使用文档可以参考
https://github.com/request/request#readme

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
module.exports =async function (params, context) {
  // params 即为入参定义的结构, 可以在 request 的请求配置中使用 params
  try {
    console.log("cloud",params.templateid)
    const result = await cloud.openapi.subscribeMessage.send({
        "touser": params.openid,
        "page": 'my',
        "lang": 'zh_CN',
        "data": {
          "thing2": {
            "value": params.thing2
          },
          "date3": {
            "value": params.date3
          }
        },
        "templateId": params.templateId,
        "miniprogramState": 'trial'
      })
    console.log("result",result)
    return result
  } catch (err) {
    return err
  }
};

总结

我们今天用了一定的篇幅概要的介绍了一下使用低码是如何从0到1构建应用的。当然就像我开篇讲的,如果想要熟练开发出应用,找一套体系化的教程,外加老师的辅助还是有必要的。那些想跨行业进入软件开发领域的,不防尝试一下低码的解决方案,希望能给你带来不一样的体验。

到此这篇关于低代码从0到1创建小程序项目详解流程的文章就介绍到这了,更多相关0到1实现小程序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JS定时器实现数值从0到10来回变化

    效果:数值从0到10来回变化 代码: var a=0 var timer1,timer2; function add(){ a++; console.log(a); if(a>=10){ clearInterval(timer1); timer2=setInterval(sub,200); } } function sub(){ a--; console.log(a); if(a<=0){ clearInterval(timer2); timer1=setInterval(add,200);

  • 微信小程序HTTP请求从0到1封装

    前言 作为一个前端开发者,从最开始的js.jQuery一把梭,后来的vue.react.angular等MVVM.MVC框架,我们在开发工程中都离不开HTTP库的使用. HTTP库 1.jQuery的$.ajax 调用了XMLHttpRequest对象,封装在相关函数在配置项中,一旦传入了必需选项,则直接调用相应的send()方法进行数据的请求 2.Axios 基于Promise的请求库,通过判断XMLHTTPRequest对象存在与否,来支持客户端和node服务端发送请求,封装的很不错的HTT

  • 从0到1搭建element后台框架优化篇(打包优化)

    前言 hello,咱又见了~~嘻嘻.本次主要来说说这个打包优化的问题.一个vue项目从开发到上线必须得经历打包过程,一个项目的打包优化与否都决定了你这个项目的运行速度以及用户体验.本次主要是针对vue.config,js的配置进行优化.项目地址 开发环境与生产环境 开发环境与生产环境的配置也是开发中的必不可少的一环.本项目是由vue-cli3开发,vue-cli3深度集成了webpack,如果不熟悉vue-cli3可以先去官网看看相关配置. 开发环境 在项目根目录下新建.env.developm

  • 从0到1搭建Element的后台框架的方法步骤

    由于最近公司要开发一个后台管理系统,查阅了很多vue框架,本人觉得element简洁,方便,于是选择它作为我们的首选框架,并分享给大家,如果您觉得有需要改进的地方可以提出来一起探讨,Github地址.本文篇幅比较长,希望同学们可以耐心的读下去,如有不懂可以下方留言 一.初始化项目 首先全局安装的vue框架,这里是用的npm包管理工具来安装的,如果你的网不是很好的话可以先安装淘宝镜像 npm install -g cnpm -registry=https://registry.npm.taobao

  • JS实现环形进度条(从0到100%)效果

    最近公司项目中要用到这种类似环形进度条的效果,初始就从0开始动画到100%结束.动画结果始终会停留在100%上,并不会到因为数据的关系停留在一半. 如图 代码如下 demo.html <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content=

  • 低代码从0到1创建小程序项目详解流程

    目录 1 搭建开发工具 2 创建项目 3 功能开发 4 后端实现 总结 我们使用代码编程的时候,前端是写标签,后端是写if/else.for循环来执行逻辑处理. 那低代码如何体系化的学习呢?这里我们按照代码方式学习做个对照. 1 搭建开发工具 一般如果我们使用微信开发者工具,开发小程序需要安装工具.低码工具不需要安装,是在线进行编程.但和开发者工具一样,低码也是需要绑定小程序的.我们在开发者工具里一般是需要配置自己小程序的appid,如果使用了云开发的,还需要开通云开发. 我们使用低码开发需要在

  • Python Flask 搭建微信小程序后台详解

    前言: 近期需要开发一个打分的微信小程序,涉及到与后台服务器的数据交互,因为业务逻辑相对简单,故选择Python的轻量化web框架Flask来搭建后台程序.因为是初次接触小程序,经过一番摸索和尝试,个人觉得的微信小程序与后台的交互有点像ajax,所以有ajax开发经验的同学开发小程序应该很容易上手,因为本文着重讲解后台程序的搭建,所以,微信小程序的前端开发将一笔带过,有兴趣学习小程序前端语言的同学可移步网易云课堂的一套快速入门课程<轻松玩转微信小程序>. 分三步讲解微信小程序与Python后台

  • 如何用python GUI(tkinter)写一个闹铃小程序(思路详解)

    事情的起因是帮助一个朋友写一个程序,来控制他们单位的铃声,平时竟然是手动打铃(阔怕) 事情的第一步:理清思路.需要用到python的几个知识:1.tkinter一些函数控件,2.控件和函数之间的联系(主用TreeView控件),3.读写数据入txt文档(高级版可换为数据库),4.数据的类的封装. 需要其他方面的知识:1.简单设计界面布局,2.确保程序易于使用的不反人类细节. 考虑清楚后,那么我开始学习一下相关知识. (1)python中作为面向对象的一份子,Class(类)和Instance(实

  • 微信小程序 video详解及简单实例

    微信小程序 video详解 在小程序火热的今天,作为IT行业的一员,我也来凑了一下热闹,话不多说了,接下来看看视频上传,和跨页面获取值的相关案例吧!! 视频上传部分代码: 视频播放 随机颜色的产生: 颜色页面的选择: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 使用apifm-wxapi快速开发小程序过程详解

    前言 我们要开发小程序,基本上都要涉及到以下几个方面的工作: 1.购买服务器,用来运行后台及接口程序: 2.购买域名,小程序中需要通过域名来调用服务器的数据: 3.购买 SSL 证书,小程序强制需要 https 的地址,传统无证书不加密的 http 请求微信不支持: 4.后台程序员开发后台程序,这样才能登录后台进行商品管理.订单维护.资金财务管理等等: 5.后台程序员开发小程序可用的 restfull api 接口或者是 websocket 接口: 6.开发的后台及接口程序的安全性.功能性.稳定

  • 微信小程序 slider 详解及实例代码

    微信小程序slider 相关文章: 微信小程序 Button 微信小程序 radio 微信小程序 slider 微信小程序 switch 微信小程序 textarea 微信小程序 picker-view 微信小程序 picker 微信小程序 label 微信小程序 input 微信小程序 form 微信小程序 checkbox 实现效果图: 滑动选择器 属性名 类型 默认值 说明 min Number 0 最小值 max Number 100 最大值 step Number 1 步长,取值必须大

  • 微信小程序 action-sheet详解及实例代码

    微信小程序 开发文档,相关文章: 微信小程序  action-sheet 微信小程序 modal 微信小程序 toast 微信小程序 loading 微信小程序  action-sheet 属性名 类型 默认值 说明 hidden Boolean true 是否隐藏 bindchange EventHandle   点击背景或action-sheet-cancel按钮时触发change事件,不携带数据 action-sheet-item 底部菜单表的子选项. action-sheet-cance

  • 微信小程序 toast 详解及实例代码

    微信小程序 开发文档,相关文章: 微信小程序  action-sheet 微信小程序 modal 微信小程序 toast 微信小程序 loading 微信小程序 toast ​消息提示框 属性名 类型 默认值 说明 duration Float 1500 hidden设置false后,触发bindchange的延时,单位毫秒 hidden Boolean false 是否隐藏 bindchange EventHandle   duration延时后触发 示例代码: <view class="

  • 微信小程序  action-sheet详解及实例代码

    微信小程序 开发文档,相关文章: 微信小程序  action-sheet 微信小程序 modal 微信小程序 toast 微信小程序 loading 微信小程序  action-sheet 属性名 类型 默认值 说明 hidden Boolean true 是否隐藏 bindchange EventHandle   点击背景或action-sheet-cancel按钮时触发change事件,不携带数据 action-sheet-item 底部菜单表的子选项. action-sheet-cance

  • 微信小程序 loading 详解及实例代码

    微信小程序 开发文档,相关文章: 微信小程序  action-sheet 微信小程序 modal 微信小程序 toast 微信小程序 loading 微信小程序 loading 属性名 类型 默认值 说明 hidden Boolean false 是否隐藏 示例代码: <view class="body-view"> <loading hidden="{{hidden}}"> 加载中... </loading> <butto

随机推荐