• 开发一个小程序到底有多难?

    作者:广力云微信阅读: 时间:2021-09-29 13:32:22

    定制小程序请写私人信件。

    本人允许维权骑士追究和维权我发表文章的版权行为。未经本人许可,不得擅自转载或用于其他商业用途。

    开发疫情信息申报的微信小程序

    疫情以来,学校和公司、哪个机构每天统计班级同学和公司员工的健康状况,每天收集活动场所、健康代码、健康宝的屏幕截图等信息。很多机构还在使用excle的表格统计,非常的麻烦,现在用微信小程序实现一个非常好用的系统,用来统计健康状况。后台可直接导出表格信息。

    程序可能是这样的:


    后台支持导出信息:

    支持查看每个人的健康二维码等

    虽然这个demo非常简单,但是却把基本的操作都走了一遍,读者可了解学习的我总结了一下就是:

    1、如何使用云开发quickstart

    2、如何引入小程序的外部组件库,实现更好看的样式。

    3、如何操作小程序云数据库存储、查询、crud等。

    4、如何使用小程序的云存储(以上传图像、健康代码为例)

    准备

    可以参考我以前发表的手机号码的归属地查询小程序:


    action=step1
    个人开发的话,虽然一个人名下可以有五个小程序,但一个邮箱只能对应管理一个小程序。如果你想开发多个,你必须使用更多的邮箱。非常麻烦。
    按流程注册完成后,AppID(小程序ID)这个ID很重要。需要在IDE创建项目和项目上线。


  • 2、开发人员工具IDE
    developers.qq.com/minipran/devers/developers.weixin.qin.qq.com/min/minin/mininin/mindevevever/deverandeveloanan.haderan.han.han.hanandertandertin.copantin.cotitin.an.coranan.anderanderan.an.copanderan.cotinanderan.cotin/minanderanderan/minderantinanan.ceranderanin.cotin.an.cotin.can.coanantin.coplindererertintintintitin.coran.corantintitintintin.coran.cotinan.cerererererereran.con.cotin.cerantin.cererereran.cereran.cereran.con/mintintin.cererererererererererantintintin.微信的IDE界面还行,但是拓展功能很差,快捷键支持的也不多,不是特别好用 。我大致描绘区域

  • json和js大家都很熟悉了,微信小程序用json存储数据或是写配置信息等。js用于写JavaScript。好奇的是wxml,wxss到底是什么,大家对HTML都很熟悉,那么,wxcss的模式。实际上wxml就是html,而wxss就是写样式的css。 wxml也有类似vue的那种{{}}绑定数据的方法。wxss增加了一个rpx的计量单位,方便手机操作。我发现这套模式对有的原生html写法 有很多不兼容的地方,还得考虑安卓和ios的兼容性问题等。如果我们只是做demo的话,暂时不学习这些东西,作为HTML电脑CSS吧。遇到具体问题具体解决吧。
    微信小程序有一个主配置文件就是app.json,我们可以看出来是配置index和背景样式之类的东西,这里我们暂时不用改这些。

    开发过程

    1、新项目

    新项目,在申请账户、开发中申请的AppID中输入。

    与上次不同,这次需要使用数据库,请务必检查小程序的云开发。

    新完成后,云开发QuickStart的项目已经写了上传图像、操作数据库等简单的例子。我们可以看看样本是如何实现这个功能的。

    这是云开发的快速启动指南,其中展示了如何使用云开发的三个基本能力:

    -数据库:可以在小程序的前端操作,也可以在云函数中阅读的JSON文件类型数据库

    -文件存储:在小程序的前端直接上传/下载云文件,在云开发控制台可视化管理

    -云函数:云运行的代码,微信私有协议的自然鉴定权,开发人员只需要编写业务逻辑代码source=1940ef5c",width="1582"th/>

    二、数据库配置

    因为这次主要是需要进行增删改查的数据库操作,所以需要使用云开发模式,首先需要了解微信的云数据库。

    云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于相关数据中的表),集合可以看作JSON数组,数组中的每个对象都是记录,记录的格式是JSON对象。如果你不明白,你需要花半个小时学习JSON。

    接下来需要了解数据库的openid字段。

    每个记录都有一个字段,只有一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段,一个字段。需要特别注意的是,在管理方(控制台和云函数)中创建的没有_openid的字段是管理者创建的记录。开发商可以定制_id,但不能定制和修改_openid_openid

    <>

    因此,在开发过程中需要openid进行直接数据库操作。在cloudfunctions目录下,右键login文件夹上传并部署所有文件

    在云开发中,可以操作数据库。

    我们新建user_info集合(表)存储申报数据:

    三、引进WeUI

    为了美观,引进了样式的组件库。

    WeUI是与微信本地视觉体验一致的基础风格库,微信官方设计团队为微信内的网页和微信小程序设计,使用户的使用感觉更加统一。

    在weui主页上可以看到具体的样式库,基本上和微信的本地一样。

    主页:https://weui.io


    如何使用呢?在github上下载master版本的weui组件:https://github.com/Tencent/weui-wxss?from=timeline&isappinstalled=0&utm_source=tuicool&utm_medium=referral

    将weui.wxss的样式文件复制到项目的根目录下,直接拖动

    四、首页

    新建首页并在app.json配置文件中的pages声明,注意首页需要放置。

    wxml页面:

    表格:

    newclass=“weui-cell_hd”,选择决定了这个项目。选择了source=1940ef5c,并且选择了width="828"/>
    nethonethonetclass="weui-cell_hd">nabel_activell_active"source=1940ef5c“尤雷斯·width=“725”/>

    按钮

    五、上传图片功能实现

    微信提供云存储功能,我直接贴上实现代码,供参考。本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演$/)[0]n wx.cloud.uploadFile({n cloudPath,n filePath,n success: res => {n console.log('[健康码上传] 成功:', res)n wx.showToast({n icon: 'none',n title: '上传成功',n })n app.globalData.fileID = res.fileIDn app.globalData.cloudPath = cloudPathn app.globalData.imagePath = filePathn that.setData({n file_ID: res.fileIDn })n },n fail: e => {n console.error('[健康码上传] 失败:', e)n wx.showToast({n icon: 'none',n title: '上传失败',n })n },n complete: () => {n wx.hideLoading()n }n })n ​n },n fail: e => {n console.error(e)n }n })n },

    文件的云端生成路径即为const cloudPath = 'my-image' that.wxuuid() filePath.match(/.. ?$/p>

    that.wxuid为图片生成唯一的优秀标志:that.wxuid,为图片生成唯一的优秀标志:优秀标志,为图片生成优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,标志,标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,优秀标志,标志,标志,标志,标志,优秀标志,标志,标志,标志,标志,标志,标志,标志,标志,优秀标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标志,标 |0x8,1);/bits6-7ofthock_hock_hock_hors[23]=“-------------------------------source=1940ef5c" width="1180" />

    六、信息存储实现

    表单已经实现,现在需要实现将信息存入数据库,我们这里除了页面上的姓名、年龄、所在地、健康状况的存储信息外,还需要一个申报时间submit_time和个人上传的健康码的存储路径。

    下面有数据项目,openid隐藏。

    {node>{notthid:1b05c8285f0bfd9000196252f414,发展了《北京市海淀区xxx小区xx,notwort战争开始了
    《2020-07-13T06:27:37.67Z》本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演,本期表演
    |this.data.age==this.this.data.age==。
    | this.data.adress == '' 
    | this.data.healthy == '') {n         wx.showToast({n             icon: 'none',n             title: '请将信息全部填写完成'n         })n         return;n     }n     const db = wx.cloud.database()n     db.collection('user_info').add({n         data: {n             username: this.data.username,n             age: this.data.age,n             adress: this.data.adress,n             healthy: this.data.healthy,n             file_ID: this.data.file_ID,n             submit_time: new Date()n         },n         success: res => {n             // 在返回结果中会包含新创建的记录的 _idn             wx.showToast({n                 title: '申报成功',n             })n             console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id);n             console.log(res);n         },n         fail: err => {n             wx.showToast({n                 icon: 'none',n                 title: '新增记录失败'n             })n             console.error('[数据库] [新增记录] 失败:', err)n         }n     })n },

    同时,还增加了必填的校验,如果不上传就申报会有提示并且返回:

    页面需要更改:

    在js页面添加一个onShow的函数,读者可自行了解这些函数的声明周期。onShow在每次新页面加载都会重写请求。初中英语:初中英语:初中英语:初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语,初中英语


    结语

    这个demo非常简单,但是基本的操作已经进行了一次,读者可以理解学习的我总结了

    1、如何使用云开发quickstart

    2、如何引进小程序的外部组件库

    3、如何操作小程序云数据库存储、查询、crud等。

    4、如何使用小程序的云存储(这里以上传照片、健康代码为例)

    实际上在这里学习,根据业务和系统的复杂性,大部分功能都可以根据这些技术实现。我建议您参考上一个手机号码的归属地查询小程序。https://zhuanlan.zhihu.com/p/12634047了解基本概念后再学习。

    交流和源代码可以关注微信号公众信号。

    开发小程序很难说,简单也很简单。具体取决于采用什么模式开发。

    总的来说,有三种模式:

    第一种模式,基于源代码开发。

    第二种模式,主要应用模板,辅以简单的编辑配置。

    第三种模式基于模板,通过工具进行修正、制作,完成开发。

    对于大多数人来说,我推荐第三种模式。

    第一个是源代码开发模式,难易度最高。适合经验丰富的代码农家的初级代码农家,如果没有熟练地玩这个模式需要很大的工夫的移动互联网开发基础的人,基本上建议放弃这个总模式。

    这类模式涉及到的工具,又要分成两部分来说。小程序,跟其他互联网应用(Web应用、android App或iOS App等)一样,由前端和后端两部分构成。在源开发模式下,小程序的前后端通常需要使用不同的工具来开发。

    基于源代码开发小程序前端的工具:首次推进微信公式开发者工具的其他互换js、HTML5的前端工具可以使用。例如,网站、sublimetext、ESLint、JSLint等。当然,小程序不是HMTL5,而是变种的HTML5,整体框架相同,但是在各种标签和语法上添加了wx-。

    根据源代码开发小程序后端的工具:根据你的后端计划使用什么样的技术,如果是php的话,可以使用zendstudio等java的话,一般来说是eclipse。如果是.net的话,visual选择vistudio系列....

    在这里,牛刀云也支持源代码模式的小程序开发,包括前后端。后面说第三种模式的时候还会提到这个工具。

    第二种,套用模板简单编辑配置的模式,难度最小。基本上会用电脑软件、会上网的,稍微了解下,就都能做,无非就是改改图片、改改模板标题、栏目标题,勾选一下需要哪些模块、不需要哪些模块。

    这种模式的小程序开发工具代表:微盟、有赞,凡科也勉强可以归到这种模式里;其他还有很多,这里不都罗列了。采用这种模式的小程序开发工具(更准确地说,应该是小程序生成工具),一般来说。 具有较强的行业属性。譬如微盟、有赞,就是侧重于商家开店用的各种小程序模板。而凡科则侧重于营销场景的各种小程序模板。

    第三种,是基于模板做修改、定制的模式,难度适中。一般来说,有专门的小程序制作台,不需要复杂的代码开发。这种工具的代表有快速应用、公园应用、叮当和牛刀云等。以牛刀云为例,这种模式下,小程序开发过程主要由选择模板、使用模板、可视化拖拽修改模板、发布部署四步构成。其中,难度相对最大的就是修改制作这一步,但也就是模块拖拽、摆放以及做些属性编辑,如图所示,


    严格来说,人人秀小程序并不是为专业程序员准备的开发工具,但它绝对是一款功能非常强大的微信小程序制作工具。不懂技术不懂编程的人,一定会爱上人人秀小程序这款工具的。

    优点

    1.提供了大量各行各业的模板!

    2.在模板的基础上改变自由度高,拖动即可完成!

    3.即使不使用自己的小程序,也可以简单地在线小程序的交流营销!

    4.制作周期短,真正意义上的3分钟制作小程序!

    缺点

    1.有免费版、推广版、营销版、高级版,不同版本限制不同。



    、应用公园

    推荐指数:☆☆

    体验地址:http://www.apppark.cn/

    应用公园算是app制作里比较知名的,但是很多人不知道应用公园也推出了专属的小程序制作工具,名字为微墨小程序。从我的体验来看,界面不算友好,功能也不够完善。开始我甚至误会,平台必须要我先绑定小程序ID才能开始使用——出现这样的情况,固然和我的笨拙有关,但是产品设计不够清晰也难辞其咎。



    进入制作中心后,自动生成用户中心页面。他似乎和微联盟一样,准备以在线业者为主要用户,用户自己制作、构筑的馀地有限,几乎没有考虑到制作者和开发团队的使用需求。往好的方面想,这个产品还有很大的提升空间!


    此外,基础版提供的模板较少,必须购买高级服务才能打开更多的模板。


    不懂技术不懂编程的电脑工作人员,一定会爱上这个小程序开发工具。


    <????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

    、、、、、、、、、、、、、、、、、、、、、、、
    • © Copyright 2019 深圳市推谷互动网络科技有限公司
    • 粤ICP备15107897号-3
    微信客服
    微信第三方平台
    广力云

    专业微信营销顾问

    “Hi~ 感谢关注广力云

    如果您想要深入合作请联系客服!

    微信号:13332948893” 咨询电话:13332948893

    微信第三方平台""

    添加客服微信