概述

搭搭云是非常灵活的一站式企业管理超级平台,在应对各种业务场景中都提供了对应的决解方案。

在使用搭搭云平台做后端管理进行微信公众号或网站开发时,平台是多租户系统,存在多个平台应用,分别面对多个前端项目。那么前端调用搭搭云平台的API就要面对两个问题:

  • 一是网页代码无法放在平台服务器上,而是放在用户自己的服务器上,域名不同,这就会产生跨域问题,导致在后续请求时传统的 cookie 身份验证方式失效;

  • 二是如果使用其它方式进行后续请求的身份验证,鉴权方式需要传入账号密码等信息,而我们知道基于H5的前端页面是代码明文的,所以不能由前端页面直接调用身份鉴权的API。搭搭云平台对外公开的 RESTful API 是使用 token 的方式实现的,获取 token 需要通过搭搭云平台提供的 appIdappSecret 获取,两者不能直接以明文的方式暴露在前端代码中。

我们用用户自己的后台服务器作为中间件用来解决上述问题(即小后台),后台服务与前端页面共同在一个域下构成一个传统网站,接受前端请求,并转发至搭搭云平台,这样通过服务器间的调用,既解决了跨域问题,也保护了 appIdappSecret等敏感信息;搭搭云平台提供了一个标准开发套件帮助用户构建这个后台服务,也就是后面说的小后台 dada-server SDK,它不只是一个开发套件,还是一个完整的开源后台项目,用户完全可以直接部署在服务器上进行使用,也可以部署在本机进行开发调试。

这个开发套件封装了向平台 openAPI 服务转发请求、将返回信息及认证 cookie 转发回前端的功能,以及短信验证码、使用微信openId登录系统等常用接口。前端网页向小后台请求时,接口 url 中增加 "/bpm/" ,按照以下格式即可实现转发:

用户域名/bpm/平台接口url

例如:

http://www.abc.com/bpm/v1/date

当然,如果你是开发小程序,或者原生安卓、原生IOS应用,就可以不用考虑这个问题,可以直接通过调用平台 RESTful API 进行开发而不需要小后台。如果需要使用安卓或者 IOS 的 sdk,可以参阅RESTful API文档进行查看。

前端调用平台API图例 avatar

简言而之, dada-server 是一个网站服务,其主要决解了安全验证请求数据ajax 跨域请求的问题。同时,搭搭云平台封装了与小后台进行请求交互的前端请求组件 dada-request.js,以便开发者更简便的上手开发。

dada-server 框架的基础上,在本文档中,搭搭云官方实现了一个带有数据查询与数据提交的示例方案以供开发者参考学习。如果该决解方案还不能满足业务需求,可以仿照本决解方案,按自身业务进行拓展。

dada-server 使用 node.js 作为服务后端开发语言,核心依赖插件 koa,如果需要使用 Express 或者有自己的业务需要可以参考该项目的思路进行扩展。node.js 版本要求在 10.x.x 版本或者以上版本。

开发一套完整的自定义网站需要通过平台应用配置小后台开发前端页面开发三个步骤。其中:

  • 平台应用配置主要是在搭搭云平台应用中完成了后台建库建表、后台业务数据的管理、用户及相关权限的管理等。这一部分基本省去了传统开发里后台工程师的工作;

  • 小后台作为前端与搭搭云进行数据交互的中间件,主要提供了请求转发与短信验证、注册、登录等相关接口;

  • 前端页面开发只需要按自身业务需求开发页面即可,在与搭搭云平台进行数据交互时,引入 dada-request.js 可更方便地实现向后端请求。

开发的基础流程为:平台应用配置 -> 小后台开发 -> 前端页面开发 -> 发布。本文将会按该流程一一说明。

注意:如果未注册搭搭云帐号和创建应用,可以先到搭搭云官网进行账户注册与应用创建,如有问题可以咨询客服。

术语解析

术语 描述
小后台 用于对接搭搭云平台的中间件,其实质是一个网站后端服务
应用 代指在搭搭云平台上的单个应用,包含了管理后台与用户环境
内部用户 应用中组织架构内创建的用户,在系统中有属于用户自身的岗位,可以在搭搭云平台直接登录使用内部系统
外部用户 应用的组织架构外的不特定用户(C端用户,或者说是外部散户),不能直接登录平台使用内部系统,只能通过网站或微信公众号使用网页上的功能。所有外部用户在应用中统一映射至一个指定组织架构内的内部用户,模拟该内部用户的身份访问应用的数据。也就是说,通过控制该内部用户的权限,即可以控制所有外部用户的权限,这个内部用户相当于外部用户的一个角色

results matching ""

    No results matching ""