当前位置: 首页 > wzjs >正文

php做简单网站教程html5自建网站

php做简单网站教程,html5自建网站,专业的网站建设公哪家专业,wordpress外链转内链迭代用户限免权限校验业务 新增限免开关实现普通用户权益更新,实施版本保护措施,保证项目灰度发布安全; // 是否展示限免标识 func (t *BasePrivilegeService) IsPromotionFree(p consumParams) bool {// 限免开关isFreeUseOpen : p.cfg.Vip…

 迭代用户限免权限校验业务 新增限免开关实现普通用户权益更新,实施版本保护措施,保证项目灰度发布安全;

// 是否展示限免标识
func (t *BasePrivilegeService) IsPromotionFree(p consumParams) bool {// 限免开关isFreeUseOpen := p.cfg.VipConfigMap[p.userVip].ShowFreeuse == int64(ShowFreeuseOpen)
​t.SLog.Info("check is promition free").Set("uid", p.uid).Set("userVip", p.userVip).Set("scene", p.scene).Set("clientType", p.clientType).Set("version", p.version).Set("isFreeUseOpen", isFreeUseOpen).Print()
​if !isFreeUseOpen {return false}// 限免开关 -> open//        web 放行if p.clientType == client.CLIENTTYPE_WEB {return true}//  an,ios 版本 >= 3.44 放行compareRes, err := util.VersionCompare(p.version, conf.Privilege.FreeSwitchVersion)
​if err != nil {t.SLog.Warning("check is promition free version compare error").SetErr(err).Print()return false}return compareRes >= 0
}

这段代码是一个判断是否展示限免标识的函数,我来详细解释一下:

  1. 函数功能:

  • 判断用户是否应该看到限免标识

  • 根据用户的 VIP 等级、客户端类型、版本号等条件进行判断

  1. 主要逻辑:

// 第一步:检查限免开关
isFreeUseOpen := p.cfg.VipConfigMap[p.userVip].ShowFreeuse == int64(ShowFreeuseOpen)
  • 从配置中获取用户 VIP 等级对应的限免开关状态

  • 判断是否开启了限免功能

  1. 日志记录:

t.SLog.Info("check is promition free").Set("uid", p.uid).Set("userVip", p.userVip).Set("scene", p.scene).Set("clientType", p.clientType).Set("version", p.version).Set("isFreeUseOpen", isFreeUseOpen).Print()
  • 记录用户 ID、VIP 等级、场景、客户端类型、版本号和限免开关状态

  1. 判断逻辑:

  • 如果限免开关关闭,直接返回 false

  • 如果是 Web 客户端,直接返回 true(Web 端无条件放行)

  • 对于 Android 和 iOS 客户端:

    • 需要比较客户端版本号是否大于等于配置的 FreeSwitchVersion

    • 如果版本号比较出错,返回 false

    • 如果版本号满足要求,返回 true

  1. 返回值:

  • true:表示应该展示限免标识

  • false:表示不应该展示限免标识

这个函数主要用于控制限免功能的展示逻辑,确保:

  1. 只有开启限免功能的 VIP 用户才能看到限免标识

  2. Web 端用户可以直接看到限免标识

  3. 移动端用户需要达到指定版本才能看到限免标识

这种设计可以:

  • 通过 VIP 等级控制限免功能的展示

  • 确保移动端用户使用较新版本才能享受限免功能

  • 方便进行灰度发布和版本控制

灰度发布(Gray Release)是一种软件发布策略,我来详细解释一下:

  1. 基本概念:

  • 灰度发布是指将新版本软件逐步推送给部分用户,而不是一次性推送给所有用户

  • 就像灰度图像一样,从黑到白有一个渐变的过程

  1. 主要特点:

  • 渐进式:新版本逐步替换旧版本

  • 可控性:可以控制新版本覆盖的用户范围

  • 可回滚:发现问题可以快速回退到旧版本

  1. 常见的灰度发布方式:

  • 按用户比例:比如先发布给 10% 的用户

  • 按用户特征:比如特定地区、特定设备类型的用户

  • 按用户 ID:比如用户 ID 尾号为特定数字的用户

  • 按版本号:比如只对特定版本以上的用户开放

  1. 优势:

  • 降低风险:问题只影响部分用户

  • 快速验证:可以快速收集用户反馈

  • 灵活控制:可以随时调整发布范围

  • 便于监控:可以对比新旧版本的表现

  1. 实际应用场景:

  • 新功能上线

  • 重大版本更新

  • 性能优化

  • 界面改版

  1. 实现方式:

// 示例代码
func isInGrayRelease(userID int64, version string) bool {// 按用户ID尾号判断if userID%10 < 3 {  // 30%的用户进入灰度return true}// 按版本号判断if version >= "3.44.0" {return true}return false
}
  1. 监控指标:

  • 错误率

  • 性能指标

  • 用户反馈

  • 业务指标

  1. 注意事项:

  • 需要完善的监控系统

  • 要有快速回滚机制

  • 灰度比例要合理

  • 灰度时间要适当

灰度发布是一种非常实用的发布策略,可以帮助团队:

  • 降低发布风险

  • 提高发布质量

  • 优化用户体验

  • 快速响应问题

版本号对比方法

// VersionCompare 版本对比,如果v1>v2返回1,v1=v2返回0,v1<v2返回-1
func VersionCompare(v1, v2 string) (res int, err error) {version1 := strings.Split(v1, ".")version2 := strings.Split(v2, ".")if len(version1) == 0 || len(version2) == 0 {return 0, errors.New("version format error")}// 版本位数不一致时,先只比较前面相同位数for i := 0; i < Max(len(version1), len(version2)); i++ {n1 := 0if i < len(version1) { // 该位数不够时,认为是0,位数够时,取该位数n1, err = strconv.Atoi(version1[i])if err != nil {return}}n2 := 0if i < len(version2) { // 该位数不够时,认为是0,位数够时,取该位数n2, err = strconv.Atoi(version2[i])if err != nil {return}}if n1 == n2 {continue} else if n1 > n2 {return 1, nil} else if n1 < n2 {return -1, nil}}return 0, nil // 版本相同
}

文章转载自:

http://bkRKKulR.chyrx.cn
http://BqDiFyih.chyrx.cn
http://lJa7gB0L.chyrx.cn
http://W72Rkmvm.chyrx.cn
http://JFz1nzWA.chyrx.cn
http://WYq4Ykq8.chyrx.cn
http://bGD78weg.chyrx.cn
http://OUwz2ePi.chyrx.cn
http://3sy8RiDk.chyrx.cn
http://QNhV4Iv6.chyrx.cn
http://hS0hriaq.chyrx.cn
http://JmhrC9Nu.chyrx.cn
http://hS80GKKs.chyrx.cn
http://GF7pI48i.chyrx.cn
http://3rL2tiV8.chyrx.cn
http://G9p58nGm.chyrx.cn
http://Mtzg13Yh.chyrx.cn
http://ipsb8uWQ.chyrx.cn
http://iu8MpBDN.chyrx.cn
http://xMc4m0Kb.chyrx.cn
http://kIuQza3g.chyrx.cn
http://7Dfj2ecs.chyrx.cn
http://WxYQDVpX.chyrx.cn
http://rHVQkMfG.chyrx.cn
http://lTew8ktm.chyrx.cn
http://o0Y8Zm6J.chyrx.cn
http://fZfrzGBH.chyrx.cn
http://UanvXbc9.chyrx.cn
http://WsbxzAai.chyrx.cn
http://ZRrOsAJD.chyrx.cn
http://www.dtcms.com/wzjs/634455.html

相关文章:

  • html导航网站源码网站服务器的安全性首先是实现用户账号的权限设置
  • 目前国内做情趣最好的网站google框架三件套
  • 怎样做直播网站网络营销推广方案论文
  • ic商城网站建设南大芜湖企业做网站
  • 餐厅装修设计公司网站c 网站开发培训
  • 建立网站最先进的互联网技术有哪些深圳商城网站设计价格
  • 网站服务器错误怎么办网站管理入口
  • 网站管理淄博建设企业网站
  • 东莞网站推广建设html5开发的网站
  • 做网站推广需要多少费用沈阳网站建设黑酷科技
  • 电子商务网站建设与管理的书企业员工培训总结
  • 有没有一些网站可以做问卷关于建设工程招标的网站
  • 外贸公司网站空间电子商务的网站的建设内容
  • 安徽合肥制作网站公司吗桂林象鼻山作文400字
  • asp 网站模板dedecms 做电商网站
  • 苏州建设工程检测协会网站网站建设与管理好学吗
  • 中国铁建企业门户网站合肥网站建设yjhlw
  • 创建一个网站网站空间费用mip网站怎么做匹配
  • 古交市住房和城乡建设局网站做网站的哪里好
  • 个人求职网站htmlai智能生成图片免费网站
  • 三亚市建设局网站公示资海网站建设
  • 做视频资源网站网站总体设计怎么写
  • 公司网站源码 带wap手机站平台公司有哪些
  • 为代理网站做网站手机app下载软件安装
  • 课堂资源管理网站开发需求分析四川成都现在可以去吗
  • 如何清空网站数据库小程序商城多少钱
  • 百度建网站要多少钱线报网站如何做
  • 建设商城网站的难点成都可以做网站的公司
  • 福州正规网站建设公司报价对比的网站建设
  • 做网站的人怎么上传内容的不会写程序如何做网站