What the platform gives
业务系统都要的底层,由平台做一次。
身份、权限、审计、多端和助手,每个业务系统都要,也最难做好。Raise 把它们做成平台能力,开发者在上面只写自己的业务。
01 · Foundation
登录、组织、审批、消息、支付都由平台提供
开发者用 Go 与 TypeScript SDK、k3 命令行和应用模板接入。
- 身份与组织。身份与单点登录、组织架构、审批、消息中心。
- 数据与收款。文件与搜索、收款、对象引擎。
- 连接与品牌。企业微信 / 飞书 / 钉钉连接器、品牌与域名。
- 多端。Web、桌面、iOS、Android。
package main
import (
"context"
"fmt"
"log"
"os"
"github.com/21stware/raise-go"
)
func main() {
c := raise.New(os.Getenv("CLIENT_ID"), os.Getenv("CLIENT_SECRET"),
raise.WithTenant(os.Getenv("TENANT")),
raise.WithBaseURL("https://api."+os.Getenv("DOMAIN")+"/open/v1"),
)
me, err := c.Platform.Whoami(context.Background())
if err != nil {
log.Fatal(err) // *raise.Error:err.Code、err.RequestID
}
fmt.Println(me.Tenant, me.App, me.Scopes)
}
import { Raise } from '@21stware/raise-sdk'
const raise = new Raise({
clientId: process.env.CLIENT_ID!,
clientSecret: process.env.CLIENT_SECRET!,
tenant: process.env.TENANT,
baseUrl: `https://api.${process.env.DOMAIN}/open/v1`,
})
const me = await raise.platform.whoami()
console.log(me.tenant, me.app, me.scopes)
curl -sS -X POST "https://api.${DOMAIN}/open/v1/oauth/token" \
-u "${CLIENT_ID}:${CLIENT_SECRET}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&tenant=${TENANT}"
curl -sS -X GET "https://api.${DOMAIN}/open/v1/whoami" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
SDK 自动换取并刷新令牌5 分钟第一次调用 →
02 · Permissions
应用声明权限点,平台统一执行
应用在清单里声明对象、操作和权限点;组织自己定制角色。
- 平台判定。部门、角色、数据范围到字段的判定由平台完成。
- 批量鉴权。应用经平台鉴权,一次最多问 100 个权限点。
03 · AI native
声明了数据和操作的应用,助手就能读取和起草
助手以成员本人的身份工作,不另做 AI 集成,也不模拟点击。写入之前有平台的闸门:
- 草稿绑定修订号。
- 动作出确认卡。
- 每一步进只追加的审计链。
把张伟的负责人改成陈静
修改客户
- 对象
- 张伟
- 负责人
- 陈静周明
执行后将会
- 客户「张伟」的负责人改为陈静
等你确认后才会执行
取消确认:修改客户
04 · Licensing
开发出来的系统可以作为自己的产品售卖
许可证由平台签发、离线验签(Ed25519)。
- 按需授权。按模块、功能、应用、套件、席位、期限授权。
- 品牌替换。可以替换品牌与域名。
- 两种交付。同一套产品云上开通,或装进客户机房。
From code to delivery
从开发到交付是一条线。
开发者在本机写应用,接到平台的测试企业里调试;契约测试证明助手能用到哪一级;签好许可证之后,交付到云上或客户机房。
开发k3 命令行生成 Go 服务端、React 页面和清单;本机进程以测试企业里的应用身份调用平台。
契约测试接入等级 L0–L3 不由开发者自报,审核人员用 k3 contract 实测后记录。
授权许可证写明模块、功能、应用、套件、席位和期限,改动任何字段即验签失败。
云或私有化交付云上开通;或在客户机房用 Compose、Helm 或离线安装包安装。
Reference suites
20 个参考应用分八个套件,开箱即用。
参考应用和第三方应用走同一条路:清单、目录发布、组织安装、工作台挂载。它们可以直接使用,也是在 Raise 上开发的范例。
- 独立可用。每个应用离开助手也是一套完整的业务系统。
- 独立仓库。其中 6 个应用已经在各自的仓库里开发,用 k3 publish 发布,由平台运行。
- 卸载不删数据。重新安装后,数据、名称与模块开关都在。
20
一方应用8
套件6
应用在独立仓库开发增长造物康复财务人事行政知识与文件数据分析
Case · Rehab chain
康复连锁方案是一个在 Raise 上建成的业务系统。
会员、办卡、预约、治疗、随访、续卡,在一个独立的仓库里开发。它只经开放接口、应用接口和签名合约接回平台,登录、权限、审计、收款和助手都用平台的。
- 独立仓库,独立发布。有自己的镜像和发布节奏,平台的运行时起进程。
- 平台能力直接用。收款、退款审批、敏感记录的访问申请,都经应用接口调用平台。
Deployment
同一套产品,云上开通,或装进客户机房。
两种形态用同一个安装包。数据归组织所有,放在哪里由组织决定。
云上开通开通即用,用组织子域名或经 DNS 验证的自有域名访问。
私有化一台 Linux 主机用 Compose 起步,Kubernetes 用 Helm chart,也有签名的离线安装包;按许可证运行,不回传用量。