-gMIS更新:多表名前缀兼容、Base62x文件名编码及返回登录前状态

中秋假期雾霾严重, 趁机更新 -gMIS ,名称比较长,大致三件事,另使用自然域名 -beijingair , -北京空气质量 查看北京实时空气质量。

1. 多表名前缀的兼容及判断
这个功能属于bugfix,之前的 -gMIS 版本中,就有对表名的兼容,主要cover的情景是有无表名,这次是继续cover多样的表名前缀。数据库设计时使用数据表的名称前缀是一种良好的习惯,为了兼容在gMIS配置文件中时有时无的表名前缀,我们设计了不同的判断模式。

这次在新的部署场景中,由于历史原因,无法统一同一个项目的表名前缀,就需要gMIS具有兼容不同表名前缀的能力,这次升级就是为了满足这种情况。实现后,gMIS既能够满足在配置文件、配置表中有无表名前缀的情况,也能够满足不同表名前缀的情况。

2. 使用 -Base62x 对附件名称编码
此前在gMIS中队所上传的附件,统一使用日期、随机数等重命名,待 -Base62x 被引入后,使用基于c语言实现的Base62x的外部命令行对附件名称进行编码,在 -PHP 中使用类似 exec 或者 system 等命令来实现。

随着 -Base62x 的PHP版本的实现,此次引入 -Base62x 的PHP实现,替换了c语言版本的外部命令行调入方式。此替换可望让程序执行的更流畅,无需再随着请求而单独触发新的进程。

在浏览时,附件文件名也使用 -Base62x 进行解码,还原附件的原始名称。

3. 返回登录前状态
通常情况下,gMIS使用PHP内置的Session进行会话管理,Session一般会有一个较长的有效期。在一些特殊的部署环境中,由于使用了较短Session有效期的情况,经常会触发被迫退出登录的情况。
当用户被迫退出登录时,会返回给用户一个登录界面,设计良好的系统应该能够在用户重新登录后返回到用户登录前的状态,这在很多系统都能够看到,如在一些电商系统,当我们以游客身份进行购物浏览时,一般情况下在进行结算前需要登录,此时如果用户进行注册、登录后,应该能够返回此前的会话状态(包括但不限于所处的页面、购物车状态等)。
gMIS也做了这样的优化,使用一个即时的Back Link(bkl)参数,在登录时携带,并在登录后返回到back link地址。

同样地,bkl使用了 -Base62x 进行编码、解码。

-gMIS (-吉密斯,-鸡觅食)是一套通用管理信息系统软件。

-Base62x 是一种改进的字符串编码方法,用来替代Base64编码或者URI/URL的编码方式。Base62x 也可以用来计数,用以替代Base16, Base32等。

base62x

This entry was posted in -gMIS, 计算机技术 and tagged , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注