因项目的首界面类似淘宝界面,需要展示大量数据并且都是带有时效性的数据,所以首界面的数据包括UI全都是根据后台配置来进行显示的。这样做的好处就是灵活,方便不同的节日,活动等进行相应的配置。那么问题来了,可能一般时候点击某个按钮事件是跳转到一个native界面,有时候是跳转到h5界面,或者有时候触发分享,触发支付等一系列可变的事件。但是假如你的程序写死了,是不能做到这样灵活配置的。这里,我给大家分享一个好的方法:自定义协议。学过计算机的都知道,http协议的组成部分是scheme+域名+path+param组成,而我们自定义协议就是仿http协议来进行动态处理事件。
ios开发中,用户可以在自己的info.plist里配置自己的URL Schemes,例如wechat。自己服务器的域名可以作为协议的域名。这里最关键的就是path部分的定义。我们现在定义如果点击是跳转到native界面 ,path为/native;跳转到h5是/jump;触发分享是/share;触发支付是/pay。这样我们协议的最基本组成部分就出现了:wechat://www.baidu.com/native。后台只需给每个数据都带上这个协议,前台开发中封装一套针对这个协议进行处理的类,即可进行动态处理点击事件。如果我们需要更多的数据,包括动态对界面的UI(比如导航的显示与否)控制,都可以在服务端的协议里进行配置。这样,你的app就是一个灵活性很强的app.