后端数据保存到本地存储LocalStorage中原创
金蝶云社区-陈来珍
陈来珍
9人赞赏了该文章 2,460次浏览 未经作者许可,禁止转载编辑于2021年07月27日 11:47:26
summary-icon摘要由AI智能服务提供

文本描述了在一个异构系统中,当需要从苍穹平台后端取数但WebAPI方式较为繁琐时,提出了一种将小量、低安全性要求的数据保存到本地存储LocalStorage中并由异构系统取数的方案。实现该方案需要前端扩展JS以写入LocalStorage,并通过苍穹平台的插件功能发送数据至前端,从而实现数据的本地存储和读取。过程中包括编写JS代码、压缩上传文件、验证加载情况及编写后台逻辑等步骤。

  • 需求背景:

异构系统需要在苍穹平台后端从数据库取数传过去,异构系统目前我们可以通过webAPI的方式来取数传数,但这种比较麻烦。对于一些数据量比较小,安全性要求不高的场景,可以考虑用本地存储的方式将后台数据保存到本地存储LocalStorage中,异构系统再从本地存储中取数,下面实现方案实现的场景是如何把后端数据保存到本地存储LocalStorage中

  • 实现方案:

1、  首先,前端要扩展JS。使用管理员登录苍穹,然后点击 系统管理 -> 登录页配置 -> 高级设置 -> 下载模板,解压后有两个文件 index.js 和 index_m.js。index.js 用于扩展web端的页面;index_m.js 用于扩展移动端页面。下面我们以pc端后端为例讲解。

js扩展.png

2、在index.js文件,编写自定义js写本地存储逻辑。

(function () {

alert("扩展js");

    /**二开扩展 pc端js

     * 注意:扩展的js默认是在平台的js前运行,如需扩展的js在平台的js后运行,需要在写在window.afterLoaded中,如下

     * window.afterLoaded = function (){

     *    //  your code

     * }

     *

    */

    window.KDPluginExtend = {

        setLocalStorage: function (data = {}, callback) {

            var key = data.key;

            var value = data.value;

            if(typeof value === 'object') {

                value = JSON.stringify(value);

            }

            window.localStorage.setItem(key, value);

            /**

             * 调用callback,会发送customEvent请求给后台

             * 注意callback的参数格式(如下)

             * success是固定参数,data的值可以自定义

             */

            // callback({

            //     success: true,

            //     data: data

            // })

        }

    }

})();

(1)上面index.Js逻辑写完之后,把index.js 和 index_m.js(可以不用写逻辑,直接用上面下载下来的模板)两个文件压缩,压缩包仅支持zip, index.js和index_m.js 两个文件必须包含在压缩包根目录中

上传js.png

(2)在苍穹页面打开的时候,查看js文件是否加载成功,如下,index.js,右键复制链接到浏览器打开,看看打开的是否成功加载了上传的js文件

js是否上传成功.png

浏览器验证.png

如果在打开的js文件没有加载上你上传的js文件,请检查系统管理 -> 登录页配置 -> 高级设置页面是否成功保存了你上传的文件,如果确定保存了,但是通过浏览器打开的不是自己的js文件,可以通过手动复制js文件到

苍穹安装路径\static-file-service\webapp\isv\kded\globalfiles”

手动更改.png

2、  上面js文件加载成功之后,在苍穹插件中写后台逻辑,把需要保存到本地存储的数据发送给前端

image.png

  • 实现效果:

image.png


图标赞 9
9人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0