微信小程序开发探索和思考

小程序

Posted by WS on January 15, 2021

1.背景

其实很早就想尝试做一个微信小程序玩玩, 懒惰的一直没动, 最近程序员的贩卖焦虑又多了起了, 有人说小程序广告能赚钱….

那我也试试吧, 看了腾讯官方小程序的开发教程大概, 准备直接上手开整, 光看不炼假把式

2. github开源脚手架

疫情当下, 最开始找了一个给头像加口罩的项目, 挺简单的, 然后又继续找, 发现一个图像处理相关的, 本身个人对图像处理也比较感兴趣, 平常还自己拍拍照, 随使用这个架子来组建自己的小程序

原作者地址: https://gitee.com/xshuai/weixinxiaochengxu.git

个人项目暂未开源, 因为原作者项目是有单独后端api提供小程序调用的, 但是我对作者原项目的后端没有依赖, 所以修改依赖api都从小程序函数调用, 有很多平台上的个人账号密钥信息, 所以暂不公开, 等后期脱敏后开源

3.框架结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  ```
      ├── cloudfunctions                           //云函数模块
             └── loginModel                       //登录换取id逻辑
             └── cryptoCloud                      //加解密方法
             └── tengxunNLP                       //腾讯AI机器人调用
      ├── miniprogram                              //小程序页面项目模块
             └──colorui                           //ColorUI相关文件
             └── imgaes                           //所需要的图片
             └── pages                               
                   └── about                      //关于小程序页面  
                   └── aiindex                    //小程序首页涉及的各个模块的页面
                   └── ailife                     //AI生活主页面
                   └── aimetaphysics              //AI玄学主页面      
                   └── bizz                       //具体功能模块页面
                   └── funplay                    //AI趣玩主页面  
                   └── index                      //小程序首页  
                   └── logs                       //暂时没用  
                   └── mine                       //我的页面
             └── utils                                
                   └── baiduAiFace.js             //百度人脸url以及封装的接口调用方法
                   └── baiduAiImage.js            //百度图像处理url以及封装的接口调用方法
                   └── tengxunAiFace.js           //腾讯人脸url以及封装的接口调用方法    
                   └── tengxunAiNLP.js            //腾讯AI闲聊机器人接口封装
                   └── weather.js                 //天气查询接口封装 
                   └── util.js                    //公用工具方法
             └── app.js                           //全局js配置文件
             └── app.json                         //全局配置json文件
             └── app.wxss                         //全局wxss文件
             └── project.config.json              //工具配置(个性化配置)
  ```

说明:

images: 是小程序端展示的一些图标icon等静态图片, 但是微信小程序包是有大小限制的, 所以我个人的一些尺寸比较大的图片, 压缩后 图片质量下降厉害, 所以单独存储在腾讯云存储中, 唯一的缺点就是图片下载调用量比较大, 总是超出免费额度,不过还在可控范围;

pages: 小程序的一个个页面, 文件目录结构一样, 都是有四个文件组成, 包括json, js, wxml, wxss, js负责page逻辑函数部分, wxml页面展示, wxss页面样式

utils: 主要是第三方接口的封装, 人脸识别, 美容换装, 图片处理等, 因为不同厂商开源的功能不尽相同, 目前用到的就是百度开放api, 腾讯云开放api, 优图api, 以及和风天气开放api

app.js: 小程序打开初始化加载需要调用的逻辑方法

app.json: 小程序全局页面定义配置

cloudfunctions: 云函数部分, 腾讯提供一定额度的免费调用额度

4.项目展示

项目开发全貌:

javascript

小程序监控:

javascript

登录用户数据库存储:

javascript

云开发云函数部署:

javascript

微信开发者代码平台:

javascript

小程序扫码体验:

javascript

5.一点感想

很多人都想靠小程序这个来赚钱, 然而实际开发了以后发现, 小程序只是一个媒介平台, 想要获取得到正真用户的流量, 首先可能得思考一个产品的商业价值, 也就是在方法论层面上, 逻辑论证首先得通, 盲目的冲到实际开发中, 可能往往是虎头蛇尾, 这也是开发人员普遍忽视的地方吧;

开发技术是服务于产品价值的, 在公司也是, 了解开发首先得了解公司的产品, 多开阔开阔视野.


%