数据保存更新

通过工作流将写入数据库中的字段进行加密保存。

需求场景

用户注册时,填入密码(身份证,手机号),不得用明文保存,需要加密保存。

配置思路

保存密码时,用DB触发器,获取到密码明文,用脚本加密后更新保存。

配置过程

  1. 使用文本控件填写密码,配置必填、格式等密码字段的属性。 img

  2. 配置工作流,创建DB触发器。 img

  3. 节点1,创建DB触发器,触发事件为新增。 img

  4. 节点2,使用运算节点,获取用户输入的,未经加密的明文。 img img

  5. 节点3,通过脚本节点,引入js脚本对明文进行加密,参数名:encryptStr,对应于加密js脚本中的变量名。 img

  6. 节点4,用加密处理后的数据更新密码字段,保存。 img

  7. 附:加密js代码

    点击展开/折叠
     const crypto = require('crypto');
     const func = async (app, params) => {
     /**
     * 请在main()函数中添加代码,其他代码不要随意改动
     */
     class EvalTemplate {
         constructor(app, params) {
         this.params = params;
         this.app = app;
         }
    
         //示例代码
         async main() {
             const pass =
                 typeof this.params[0].value !== 'string' ? JSON.stringify(this.params[0].value) : this.params[0].value;
             return { encryptStr: crypto.createHash('md5').update(pass).digest('hex') };
         }
    
         /**
         * 入口函数
         *
         * @return {}
         */
    
         static init(app, params) {
         return new EvalTemplate(app, params);
         }
     }
    
     return await EvalTemplate.init(app, params).main();
     };
     func(app, params);
    

    %/accordion%

results matching ""

    No results matching ""