保定微信公众号开发【保定网络推广】保定建站、保定网站维护、保定网页制作、保定微信小程序代运营公司-网站制作-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

保定微信公众号开发【保定网络推广】保定建站、保定网站维护、保定网页制作、保定微信小程序代运营公司

发表日期: 2021-04-10 10:29:49 浏览次数:249

保定微信公众号开发【保定网络推广】保定建站、保定网站维护、保定网页制作、保定微信小程序代运营公司

保定,古称上谷、保州、保府,因城池似靴,又名靴城,位于河北省中心地带、太行山东麓,是京津冀地区中心城市,中国(河北)自由贸易试验区组成部分。

保定与北京相伴而生,保定之名取自“保卫大都,安定天下”,历来为京畿重地和“首都南大门”;有“北控三关,南达九省,畿辅重地,都南屏翰”之称。清代,保定为直隶省省会,是直隶总督驻地,自1669年至1968年三百年间,为河北政治、经济、文化、军事中心以及中国区域性政治中心,新中国成立后也两度为河北省省会。

保定是传说中尧帝的故乡,有着三千多年的历史,保定地区为燕国、中山国、后燕立都之地;诞生了荆轲、刘备、赵匡胤、祖冲之、郦道元等一批历史名人;市内文物古迹众多,如古莲花池、大慈阁、直隶总督署、清西陵等。

保定是国家历史文化名城、中国优秀旅游城市、国家园林城市,是中国首个创新驱动发展示范市、WWF低碳试点城市、全国双拥模范城,也是戏曲之乡、游泳之乡、“长寿之城”,因体育冠军辈出,又称“冠军之城”。2017年,保定市入选“2017年度中国最具投资潜力城市50强”。 [1-10] 

截至2020年9月,保定市辖5区、4市、15县,常住人口1186万人,总面积22135平方公里,另设1个国家级高新区、1个副地级白沟新城。 [11]  拥有河北大学、华北电力大学、河北农业大学、中央司法警官学院等17所高校。2019年全年,全市生产总值完成3772亿元。 [12-15] 

2017年4月,中共中央、国务院决定设立河北雄安新区,涉及保定市雄县、容城、安新3县及周边部分区域。


图 22-5 TinyDB.GetValue块

{%}

图 22-6 TinyWebDB.GetValue块

TinyDB.GetValue块立即得到返回值,因此该块的左侧有一个插头以便可以将返回值保存到一个变量或属性中;而TinyWebDB.GetValue块不能立即得到返回值,因此左侧没有插头。

对TinyWebDB而言,当web数据库实现了请求并将数据返回给设备时,将触发TinyWebDB.GotValue事件。因此整个提取数据过程分为两步,首先在一个地方调用TinyWebDB.GetValue,然后再编写TinyWebDB.GotValue事件处理程序,来处理实际接收到的数据。像TinyWebDB.GotValue这样的程序有时被称作回调过程,因为实际上是某些外部实体(这里是web数据库)在处理完你的请求之后,反过来调用你的程序。就像在一家繁忙的咖啡店点餐一样:你点餐,然后等待咖啡师喊你的名字,你才能真正拿到你的饮料。在同一时间,咖啡师会按顺序从每个人手里收取点餐单(而且所有人都在等待自己的名字被喊到)。

GetValue-GotValue连动

在我们的例子中,需要保存并提取一个投票者的列表,并最终显示所有人的投票结果。

最简单的方案是在应用启动时,在Screen.Initialize事件中发出请求来提取列表数据。如图22-7所示(在本例中,用“voterlist”为标签向数据库发出请求。)

{%}

图 22-7 在Screen.Initialize事件中请求数据

当应用从数据库收到投票者列表的数据时,TinyWebDB.GotValue事件被触发,图22-8显示了处理这个返回列表的块。

{%}

图 22-8 使用TinyWebDB.GotValue事件处理程序处理返回的列表

程序GotValue附带了参数valueFromWebDB,其中保存着向数据库请求的数据。像valueFromWebDB这样的事件附带的参数,只在该事件处理程序范围内有效(隶属于该事件处理程序),因此无法在其他事件处理程序中引用该参数。

这一点看似有些费解,但一旦你熟悉了这些保存局部数据的参数,你自然会联想到那些适用范围更大的数据(在整个应用中随处可用):变量。理解了这一点,也就理解了GotValue中的关键一步:将返回的数据valueFromWebDB转移到一个变量中。这里是将数据转移到变量voterList中,之后可以在其他的事件处理程序中使用该变量。

通常会在GotValue中同时使用if块,原因是,如果数据库中不存在被请求的数据,则返回值为空文本(“”),通常这种情况发生在第一次启动应用时。通过检查valueFromWebDB是否为列表,可以确定是否真的有数据返回。如果valueFromWebDB为空(if的测试结果为假),就不必将其写入变量voterList。

无论是TinyDB还是TinyWebDB,都是以相同的方式来获取数据、检查数据及设置数据(到变量中),不同的是,这里预期会收到一个列表,因此测试环节上略有差别。

更为复杂的GetValue/GotValue举例

在相对简单的应用中,图22-8中所示的代码是一种不错的提取数据的方式,但在投票的例子中,我们需要更为复杂的逻辑。说明如下:

图22-9显示了向数据库请求数据的更为复杂的方案。

{%}

图 22-9 在这个更为复杂的方案里,在获得用户的email之后调用GetValue

在应用启动时(Screen1.Initialize),Notifier组件提示用户输入他的email地址;用户输入后(Notifier.AfterTextInput),输入的信息保存到变量中,同时用label显示出来,然后调用GetValue来获得投票人列表。需要注意,这里没有在Screen1.Initialize中直接调用GetValue,因为需要首先设置用户的Email地址。

因此当应用初始化完成后,用这些块来提示用户的Email地址,然后以“voterlist”为标签调用GetValue。当从web上返回列表时,GotValue被触发,以下是后续功能的描述:

图22-10中显示了这一功能所需的块。

{%}

图 22-10 使用GotValue块处理数据库返回的数据,根据不同的返回结果确定要执行的操作

在这些块中,第一个if通过调用“is a list?”来检测从数据库返回的值,判断其是否不为空。如果不为空,返回的数据放入变量voterList中。切记,voterList中只有每个使用过该应用的用户的Email地址,但我们不确定当前用户是否也在此列表中,因此需要检查一下:如果此用户不在列表中,则用“add item to list”块将其添加至列表,并将更新后的列表保存到web数据库。

保定微信公众号开发保定网络推广保定建站、保定网站维护、保定网页制作、保定微信小程序代运营公司

上一条:保定网站制作【保定网站优化】保定建网站、保定微信公众号运营、保定网页设计、保定微信小程序商城
下一条:保定网站推广【保定办理400电话】保定SEO优化、保定微信公众号APP客户端小程序开发、保定网站托管、保定APP开发
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约