
1 hallDrawnel Sep 8, 2020 这应该是他们的环境通过配置不同的域名、名字、ip:port 来做,而不是改你的实现吧。 |
2 miv Sep 8, 2020 via iPhone 读取环境变量,做区分就好,就像 win 系统里面那些环境变量。启动 SDK 前,需要读取预设的环境变量进行判断 |
3 itechify PRO 根据环境,请求地址不同,路由到对应的环境网关 |
4 b0644170fc OP @hallDrawnel 现在就是想在我的 sdk 上来区分,而不需要用户自己手动设置 |
5 supermoonie Sep 9, 2020 via iPhone 楼主真是操碎了心 |
6 nutting Sep 9, 2020 你做你就是背锅啊,出问题说不清。肯定是要对方来区分。 |
7 nutting Sep 9, 2020 换个说法,如果对方那边很清晰,他改一下不是很容易吗。如果很复杂,需要你根据 ip 判断什么的,那就很容易出差错。 |
8 foam Sep 9, 2020 via Android 过度封装警告。 某个参数是否要暴露给业务,要看业务是否需要关心该参数。对于 sdk 环境,业务明显需要关心。1,业务可以在他的测试环境调用你的生产环境,用于测试。2,业务只需要关注他传入的参数,就可以明确知道此时 SDK 身处哪个环境。而不用担心改了哪些因变量,导致环境发生了变化。 ps. 更好的做法应该是不区分环境,让他们都调用到你们的生产环境去。当然,如果涉及到金钱等敏感资产的业务,让业务端传参,让他知道是否身处沙箱不是很正常吗。 |
9 chocotan Sep 9, 2020 我们接口地址是让调用方自己传的,接口文档中写清楚多个环境的接口地址。 |
10 Oktfolio Sep 9, 2020 SDK,创建对象的时候就指定个环境啊。或者 autoconfiguration,在 application.properties/application.yaml 配置。这有什么问题? |
11 securityCoding Sep 9, 2020 你关心环境干嘛....没见过这样的 sdk 哦 |
12 zhady009 Sep 9, 2020 根据自己分发的 clientId 来区分,在 api 网关转发 |
13 wysnylc Sep 9, 2020 sdk 封装业务那就不叫 sdk |
14 dogfeet Sep 9, 2020 接过大量 SDK,也开发过一些。建议所谓测试模式正式模式,都做到生成环境中去。 正规一点的 SDK 常见的做法是:为客户分配参数,然后客户的应用默认是 Test mode. 客户正常接入(接入过程中会有很多垃圾数据脏数据),等到正式接入完成,你们再后台验收,查看关键接口调用与数据是否正常,验收正常,将 Test mode 修改为正式模式。 容易出错的地方,不要吝啬,多打日志,客户多了,什么样的程序员你都会见到的。 |
15 liudaolunhuibl Sep 14, 2020 1 、使用者在 application 文件里自己配置,你们读配置文件 2 、配置参数在启动参数里你们读取启动参数啊 |