1.Token简介
- token是门户获取数值的一种方式,可以使用简单表达式获取想要的数据
- token表达式:
[ ]
- 可以在token [ ]里使用的标识符:
$.g.变量名 // 获取后台定义的全局变量
$.v.变量名 // 获取api配置本身的变量值
2.Token 列表
2.1 API token
支持开发人员自定义services,可以通过
[api:svc:*] //调用
[api:svc:服务器名称::方法(参数1,参数2)] //格式
[api:svc:pm.parser::getApiResponseData(5,access_token)] //例子 获取接口id等于5的响应数据,然后从响应数据里获取字段为access_token的数据
1. 从某个接口里的响应数据里获取特定字段的值
[api:response:5,access_token] //获取接口id等于5的响应数据,然后从响应数据里获取字段为access_token的数据
2. 获取前端通过get传入的参数数据值
[api:url_args:user_id] // ?id=1&user_id =5 ,返回5
3. 获取API配置中的数据
前面md5str的值,这是就可以整个token获取
[api:settings:new_settings.host{0}] // 一下是api配置数据集合,获取其中host的数据
settings:
api:
etl_config:
source:
host: 172.18.0.4
port: '1433'
database: users
user: root
pass: '12344'
character_set: UTF-8
fields:
- name: INFO
label: Info name
selector: INFO
- name: [api:settings:new_settings.host.{0}] //就获取host的值
label: seq label
selector: SEQ
ids:
INFO:
type: string
sql_query: SELECT top 6 INFO,SEQ FROM HELP
plugin: sqlsrv
api_id: '18'
process:
name:
- plugin: get
source: name
mydata:
- plugin: get
source: data
destination:
plugin: api_response_data
id: api_id_18
label: mssql连接示例
migration_group: API
id: '18'
type: sqlsrv
status: 1
title: mssql连接示例
url_alias: "/portal/api/v2/mssql/demo"
access_roles:
- authenticated
new_settings:
-
host: 172.18.0.4
-
database: test
5. 生成 RSA 加密
- data: 要加密的数据,可以同获取全局变量 $.g.vars_name,或者其自己api配置变量 $.v.new_settings.var_name{0}
- $private_key: 可以在后台定义全局变量,使用$.g.vars_name获取
- $algo: 加密方式: RS256 等
- callable: 默认 bin2hex ,可以是其他形式转换比如 base64_encode
[api:openssl_sign:data,private_key,algo,callable] //
6.调用php基本函数或者自定义函数
- $value 支持 $.v.new_settings 和 $.g.vars_name 获取
- $callable 具体的函数名称 比如 md5、strtotime等
[api:callback:md5,100022] // md5 加密
[api:callback:strtotime, +30 days] // 时间戳 当前时间加上30天
7. 获取全局变量
- key 要获取具体变量的值
[api:global_vars:key] //
- 如何在token里就获取全局变量等值 使用 $.g.变量名
[api:callback:md5,$.g.变量名称] //
8. 获取数据库config的值
- name : config定义的名称
- key: 需要获取的变量名称
[api:config:portal_api_id,title] // 例:从数据库获取portal_api_id里等title值
9. jwt格式加密
- header: 默认值: $.g.yfy_header 通过全局变量获取header,header在后台全局变量里配置
- playload: 默认值: $.g.yfy_playload 在后台全局变量里配置
- sercet: 默认值: $.g.yfy_sercet 在后台全局变量里配置
- algo: RS256等
[api:jwt_signature:header,playload,sercet,algo] //格式
[api:jwt_signature:$.g.yfy_header,$.g.yfy_playload,$.g.yfy_sercet ,RS256] //例子
2.1. 当前时间
HTML 周 [current-date:html_week] 一个格式是 'html_week' 的日期。 (2020-W33)
HTML 年份 [current-date:html_year] 一个格式是 'html_year' 的日期。 (2020)
HTML 无年份日期 [current-date:html_yearless_date] 一个格式是 'html_yearless_date' 的日期。 (08-14)
HTML 日期 [current-date:html_date] 一个格式是 'html_date' 的日期。 (2020-08-14)
HTML 日期与时间 [current-date:html_datetime] 一个格式是 'html_datetime' 的日期。 (2020-08-14T20:03:56+0800)
HTML 时间 [current-date:html_time] 一个格式是 'html_time' 的日期。 (20:03:56)
HTML 月份 [current-date:html_month] 一个格式是 'html_month' 的日期。 (2020-08)
中格式 [current-date:medium] '中'格式的日期。(周五, 08/14/2020 - 20:03)
原始时间戳 [current-date:raw] UNIX时间戳格式日期(1597406636)
回滚日期格式 [current-date:fallback] 一个格式是 'fallback' 的日期。 (周五, 08/14/2020 - 20:03)
开始时间 [current-date:since] '开始' 格式日期。(6 分钟)
短格式 [current-date:short] '短'格式的日期。(08/14/2020 - 20:03)
自定义格式 [current-date:custom:?] 定制格式的日期。请参阅 PHP 文档以获取详细信息。
长格式 [current-date:long] 长格式的日期。(星期五, 八月 14, 2020 - 20:03)
2.2 当前用户
Department [current-user:field_department] 实体引用 字段。
Full Name [current-user:field_full_name] 纯文本 字段。
IP地址 [current-user:ip-address] The IP address of the current user.
用户名 [current-user:name] 改为使用帐户名称或显示名称。
头像 [current-user:user_picture] 图像 字段。
已建立 [current-user:created] 此用户账户创建的日期。
显示名称 [current-user:display-name] 用户账号的显示名
最后登录 [current-user:last-login] 用户最近登录到此站点的日期。
源 用户 [current-user:original] The original 用户 data if the 用户 is being updated or saved.
用户 ID [current-user:uid] 用户账户的唯一ID。
电子邮件 [current-user:mail] 用户账户的电子邮件地址。
编辑网址 [current-user:edit-url] 帐户编辑页面的URL链接。
网址 [current-user:url] 账户资料页面的URL。
角色 [current-user:roles] 与用户账号相关联的的用户角色。
账户名称 [current-user:account-name]
2.3 随机数
哈希 [random:hash:?] 一个随机的哈希。可能的算法为: md2, md4, md5, sha1, sha224, sha256, sha384, sha512/224, sha512/256, sha512, sha3-224, sha3-256, sha3-384, sha3-512, ripemd128, ripemd160, ripemd256, ripemd320, whirlpool, tiger128,3, tiger160,3, tiger192,3, tiger128,4, tiger160,4, tiger192,4, snefru, snefru256, gost, gost-crypto, adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat, haval128,3, haval160,3, haval192,3, haval224,3, haval256,3, haval128,4, haval160,4, haval192,4, haval224,4, haval256,4, haval128,5, haval160,5, haval192,5, haval224,5, haval256,5。
数字 [random:number] 一个从 0 到 2147483647 的随机数。
2.4 站点信息
Login page [site:login-url] 网站登录页网址。
URL(简短) [site:url-brief] 未使用协议的站点首页的链接地址。
名称 [site:name] 网站的名称。
电子邮件 [site:mail] 该网站管理员的电子邮件地址。
站点口号 [site:slogan] 网站的口号。
网址 [site:url] 网站的首页网址。