代码拉取完成,页面将自动刷新
package update_version
import (
"net/http"
rpc "gitee.com/prestonTao/libp2parea/sdk/jsonrpc2"
"gitee.com/prestonTao/libp2parea/sdk/jsonrpc2/model"
"gitee.com/prestonTao/libp2parea/sdk/web/routers"
)
const (
NameError = 4005
)
var updateVersion *UpdateVersion
func Start(uv *UpdateVersion) {
updateVersion = uv
RegisterRPC()
routers.RegisterRpc()
}
func RegisterRPC() {
model.RegisterErrcode(NameError, "name error")
rpc.RegisterRPC("checklatestversion", CheckLatestVersion) //检查最新版本
rpc.RegisterRPC("getversionfile", GetVersionFile) //获取版本文件
rpc.RegisterRPC("getplatform", GetPlatform) //获取平台
rpc.RegisterRPC("setplatform", SetPlatform) //设置平台
rpc.RegisterRPC("getrootnetaddr", GetRootNetAddr) //获取版本库远程主机
rpc.RegisterRPC("setrootnetaddr", SetRootNetAddr) //设置版本库远程主机
rpc.RegisterRPC("locallatestversion", LocalLatestVersion) //获取本机最新版本
rpc.RegisterRPC("originversionlibrary", OriginVersionLibrary) //获取远端版本文件列表
}
func CheckLatestVersion(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
ok, _, ver, _, code, err := updateVersion.CheckLatestVersion()
if err != nil {
res, err = model.Errcode(model.Nomarl, err.Error())
} else {
res, err = model.Tojson(map[string]interface{}{"latest": ok, "latestName": ver, "version_code": code})
}
return
}
func GetVersionFile(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
fileName, ok := rj.Get("fileName")
if !ok {
res, err = model.Errcode(model.NoField, "fileName")
return
}
err = updateVersion.GetVersionFile(fileName.(string))
if err == nil {
res, err = model.Tojson("success")
} else {
res, err = model.Errcode(model.Nomarl, err.Error())
}
return
}
func GetPlatform(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
platform := updateVersion.GetPlatform()
res, err = model.Tojson(platform)
return
}
func SetPlatform(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
platform, ok := rj.Get("platform")
if !ok {
res, err = model.Errcode(model.NoField, "platform")
return
}
updateVersion.SetPlatform(platform.(string))
res, err = model.Tojson("success")
return
}
func GetRootNetAddr(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
platform := updateVersion.GetRootNetAddr()
res, err = model.Tojson(platform)
return
}
func SetRootNetAddr(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
addr, ok := rj.Get("addr")
if !ok {
res, err = model.Errcode(model.NoField, "addr")
return
}
updateVersion.SetRootNetAddr(addr.(string))
res, err = model.Tojson("success")
return
}
func LocalLatestVersion(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
fn, code, _, err := updateVersion.LocalLatestVersion()
if err == nil {
res, err = model.Tojson(map[string]interface{}{"latestName": fn, "version_code": code})
} else {
res, err = model.Errcode(model.Nomarl, err.Error())
}
return
}
func OriginVersionLibrary(rj *model.RpcJson, w http.ResponseWriter, r *http.Request) (res []byte, err error) {
list, err := updateVersion.OriginVersionLibrary()
if err == nil {
res, err = model.Tojson(list)
} else {
res, err = model.Errcode(model.Nomarl, err.Error())
}
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。