小程序管理后台的基本操作

2,625 阅读5分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

引言

  1. 公众号和小程序打通
  2. 版本管理
  3. 成员管理

管理员(1人),是注册账号的微信用户。

项目成员(15人),可以登录小程序管理后台,开发者必须是项目成员。

体验成员(15人),只有体验的权限,没有开发的权限。

  1. 开发管理: 服务器域名配置

Request 地址,就是api 的 baseURL,本地开发时可以关闭https验证,上线时一定要小程序管理后台中添加上这个地址,并且要求https协议的。

I 公众号和小程序打通

公众号菜单跳转小程序

  1. 先在公众号后台的小程序管理关联对应的小程序
  2. 在自定义菜单的时候,选择跳转小程序,并输入对应路径。比如首页路径:pages/index/index

小程序关联公众号:开启关注公众号组件

公众号关注组件。当用户扫小程序码打开小程序时,开发者可在小程序内配置公众号关注组件,方便用户快捷关注公众号,可嵌套在原生组件内。

相关的开发文档

developers.weixin.qq.com/miniprogram…

II 基础管理

2.1 版本管理

小程序认证:填写基本信息、注意选择行业类目、备案付费300元。 小程序有三个版本:开发版、审核版、线上版(默认代码体积不能超过2M)。 小程序项目中用到的静态资源,可以放到CDN或者腾讯云上,以减小代码体积。

2.2 代码仓库存储

创建git账户 在这里插入图片描述

git.weixin.qq.com/users/autho…

免密码进行SSH连接

blog.csdn.net/z929118967/…

添加SSH密钥到远程git仓库

➜  .ssh  pbcopy < ~/.ssh/qctmac_id_rsa.pub

2.3 配置服务器信息

每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信。

  1. 普通 HTTPS 请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile)
  2. WebSocket 通信(wx.connectSocket)。

服务器域名请在 「小程序后台-开发-开发设置-服务器域名」 中进行配置,配置时需要注意:

  1. 域名只支持 https (wx.request、wx.uploadFile、wx.downloadFile) 和 wss (wx.connectSocket) 协议;

  2. 域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost;

  3. 可以配置端口,如 myserver.com:8080,但是配置后只能向 myserver.com:8080 发起请求。如果向 myserver.com、https://myserver.c… 等 URL 请求则会失败。

  4. 如果不配置端口。如 myserver.com,那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以。如果向 myserver.com:443 请求则会失败。

  5. 域名必须经过 ICP 备案;

  6. 出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关API也不能在小程序内调用。 开发者应将 AppSecret 保存到后台服务器中,通过服务器使用 getAccessToken 接口获取 access_token,并调用相关 API;

  7. 不支持配置父域名,使用子域名。 developers.weixin.qq.com/miniprogram…

添加你的网站地址到request、uploadFile、downloadFile合法域名和业务域名中 downloadFile域名还需要添加头像域名:wx.qlogo.cnthirdwx.qlogo.cn

你也可以在开发工具本地设置中勾选不校验合法域名 在这里插入图片描述

III 云开发

使用官方推出的 微信云开发或微信云托管,无需服务器及域名配置即可上线小程序。

cloud.weixin.qq.com/cloudbase

云开发弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,在这里插入图片描述

使用微信云开发的优点

  1. 开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。

  2. 开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。

  3. 免费版本支持1000的用户访问

云开发的能力:

在这里插入图片描述

  1. 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库

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

  3. 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码

云函数的运行环境是 Node.js,可以在云函数中使用 Nodejs 内置模块以及使用 npm 安装第三方依赖来帮助我们更快的开发。借助于一些优秀的开源项目,避免了我们重复造轮子。 developers.weixin.qq.com/community/b…

  1. 云调用是云开发提供的基于云函数使用小程序开发接口的能力,例如发送消息模版及获取小程序码

用户鉴权: 获取OpenID、appID、unionID

  1. 打通微信生态:

a. 微信支付: 免鉴权、免签名计算、免 access_token,在云函数内原生调用微信支付接口。

b. 环境共享: 跨账号资源和能力复用,可授权云开发资源给其他小程序/公众号使用。

项目里使用创建的环境,在app.js文件配置

//app.js
App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明:
        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境(第一个创建的环境)
        // env: 'my-env-id',
        traceUser: true,
      })
    }

    this.globalData = {}
  }
})

cloudfunctions目录新建Node.js云函数,查询数据

const cloud = require('wx-server-sdk')//引入sdk

cloud.init({//使用设置的云函数环境
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()//初始化db
const $ = db.command.aggregate

// 聚合记录云函数入口函数
exports.main = async (event, context) => {
  // 返回数据库聚合结果
  return db.collection('sales').aggregate()
    .group({
      _id: '$region',
      sum: $.sum('$sales')
    })
    .end()
}

调用云函数例子:安全检测

wx.cloud.callFunction({
                                            name: "contentCheck",
                                            data: {
                                                value: o.data
                                            },
                                            success: function(o) {
                                                console.log("checkContent result", o), 87014 == o.result.errCode ? (e.showModal({
                                                    title: "请勿使用违法违规内容",
                                                    content: "图片含有违法违规内容",
                                                    showCancel: !1,
                                                    confirmText: "知道了"
                                                }), console.log("内容安全检查不通过")) : (console.log("内容安全检查通过"), t(a));
                                            },
                                            fail: function(e) {
                                                console.log("内容安全检查失败"), console.log(e), t(a);
                                            },
                                            complete: function() {
                                                e.hideLoading();
                                            }
                                        });

创建云告警群 在这里插入图片描述

see also

小程序开发起步

更多内容请关注#小程序:iOS逆向,只为你呈现有价值的信息,专注于移动端技术研究领域。