【仅供内部供应商使用,不提供对外解答和培训】
当开发者开发的插件想要用户付费购买的时候,需要在插件中加入付费API,以便在试用期到期后会提供用户购买插件。
在接入点接口的实现类中,加上付费说明的注解(Annotation),注解的内容如下:
Code Block | ||||
---|---|---|---|---|
| ||||
package com.fr.stable.fun; import com.fr.stable.StringUtils; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface Authorize { /** * 开发者根据插件id申请得到的验证码 * * @return 验证码 */ String callSignKey() default StringUtils.EMPTY; /** * 验证码可以写在代码中,也可以写在文件中 * * @return 存验证码的文件的路径 */ String callSignKeyPath() default StringUtils.EMPTY; } |
我们以主题插件开发为示例:注解Authorize用来描述这是一个付费的插件,而代码
...
上述示例中,callSignKey的值就是插件的ID,是需要和plugin.xml中的id字段一致的,如果插件试用期已过,那么就会返回空的路径,导致这个插件的并不会起作用了,当然,也可以使用其他更多的方式进行购买提醒。
报表注册 | 插件lic | 试用期内 | 设计器*1 | 设计器中的服务器环境*2 | 服务器环境*3 |
---|---|---|---|---|---|
未注册 | 无/有 | 无限试用期 | 正常 | 正常 | 正常 |
注册 | 无 | 是 | 正常 | 正常 | 正常 |
注册 | 无 | 否 | 过期 | 过期 | 过期 |
注册 | 有 | 无 | 已授权 | 已授权 | 已授权 |
*1:设计器是指包含有为设计器部分做的插件,比如设计器的菜单,对话框等;
*2:指的是包含有为服务器部分做的插件,在设计器中包含有的jetty服务器环境的运行情况;
*3:指的是包含有为服务器部分做的插件,在tomcat等其他独立java web容器中的运行情况;
10.0.2(stable-12.27以后)中添加了插件包的概念(即客户可以购买一个集合的插件)
...