数据分享 — 省市区街道社区 5 级联动数据 ---- 送演示 ---- 送服务端程序
很多项目都需要省市区的数据表,有些甚至要到县、镇、街道、社区之类的更细的数据(比如 O2O 服务)。因此自己弄了一份省市地街道社区的5级联动,放在表里。
一般省级是直接加载的,改动省级,向服务器查询市级,此时查一次数据库,选中市,查一次数据库确定区。
后来查得烦了,干脆把查到的数据做个缓存,直接存成 json
文件拉倒。 nginx
直接返回文件,前端直接加载。这下不经过 PHP
和 Mysql
,快了很多。而且可以做 CDN
。这种方式是典型的空间换时间,现在硬盘已经很便宜了。
于是在 github
上开了个项目。
想着还要个 nginx
来起服务,算了,干脆自己用 Golang
撸一个。
说干就干
package main
import (
"net/http"
"github.com/qufo/IniReader"
)
func main() {
config := IniReader.NewIniReader("./config.ini")
http.Handle("/", http.FileServer(http.Dir(config.Get("directory"))))
http.ListenAndServe(":"+config.Get("port"), nil)
}
写完了。
即然都写了,加个 readme
吧。
然后放 github
上了。
里面的 ID (code) 为短格式,比如省级只有2位,市级只有4位,需要更长的话,自己在后面补0即可。
有需要就去下吧。
地址在 https://github.com/qufo/cities
本作品采用《CC 协议》,转载必须注明作者和本文链接
我使用 http://element-cn.eleme.io/#/zh-CN/compone... ,后端with出来即可解决
@Hanccc 嗯,这个也不错,就算把省市地三级全写死在里面文件也不大。并且,省市地三级数据不会经常变更。