
一、在开发微信小程序地图的过程中,有这样一个需求,用户发表祝福语,然后存入数据库,可以在地图上显示用户头像并且点击用户头像时显示祝福语。
二、自己在开发时遇到的问题:
1微信头像是网络,而地图的markers中的iconPath只能使用本地
2将网络缓存到本地,但是因为小程序的异步执行导致不能显示
三、解决办法:
1解决微信头像是网络的问题,可以使用wxdownloadFile({})方法来将头像缓存到本地,然后再将本地路径赋给iconPath即可,第一个不能使用网络的问题解决。
2异步请求导致本地缓存的不能在地图上显示,我的解决办法是,先通过request请求获取到祝福语后,用for循环赋值给markers,iconPath路径填写一个本地路径,同时调用一个方法,获取当前用户头像的本地缓存路径,获取成功后赋值给markers中每个对象的iconPath,所以一般来说,地图上的会有切换,首先显示的是本地的统一的,经过一段时间的请求后,一个个变为用户头像。
四、相关 *** 作代码
getBlessing: function(){
var that = this;
var getUserPic = function (pic_url,i) {
let cachePath;
if(pic_url==null || pic_url=='') return;
wxdownloadFile({
url: pic_url,
success: (pathInfo) => {
// pathInfopath 这是下载成的缓存链接,模拟器marker有时不支持>
1、用户在浏览器中输入要访问的web站点地址或在已打开的站点点击超链接。
2、由DNS进行域名解析,找到服务器的IP地址,向该地址指向的web服务器发出请求。
3、web服务器根据请求将URL地址转换为页面所在的服务器上的文件全名,查找相应的文件。
4、若URL指向静态文件,则服务器将文件通过>
如果web服务器所运行程序包含对数据库的访问,服务器会将查询指令发送给数据库服务器,对数据库执行查询 *** 作,查询结果由数据库返回给web服务器,再由web服务器将结果潜入页面,并以html格式发送给浏览器。
5、浏览器解释html文档,在客户端屏幕上展示结果。
扩展资料
web的特点
1、图形化
Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。
2、与平台无关
无论用户的系统平台是什么,你都可以通过Internet访问>
3、分布式的
大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上,只需要在浏览器中指明这个站点就可以了。
4、动态的
由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的、经常更新的,这一点是由信息的提供者保证的。
5、交互的
Web的交互性首先表现在它的超链接上,用户的浏览顺序和所到站点完全由他自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。
通过FiddlerScript实现根据条件重发请求
Fiddler是个强大的Web调试工具,具体的功能不在此多述,可以参考后面的链接以及Fiddler官网的手册。本文主要介绍Fiddler的重发请求功能,并通过自定义脚本实现根据条件来重发请求。 在进行Web调试时,经常会遇到浏览器请求正常但是程序请求异常的情况,这时我们常常需要使用Fiddler对比这两个请求的异同,然后将一个请求改变参数或>
Reissue Requests: 直接重发选定请求
Reissue and Edit: 重发选定请求,并在请求之前断点,可以对请求进行修改
Reissue from Composer: 将选定请求送到Composer窗口,和将请求拖拽到Composer效果是一样的,在Composer窗口中可以对请求有更精确的控制
只简单的重发指定请求,或在指定请求上进行编辑往往是不够的,在项目中我们偶尔会遇到这样的情形:先发送请求A,然后根据请求A结果中的某个值来发送请求B,譬如有这样的两个接口:get_random_serverphp接口通过接收的数据随机返回一个服务器ID,get_dataphp接口则根据刚刚的服务器ID来获取数据。下面是一个示例:
localhost/get_random_serverphpdata=Hello -> 返回JSON结果:{ success: true, sid: 2 }
localhost/get_dataphpsid=2
这个时候Fiddler的可扩展性就能大显神威了,可以通过两种方式实现Fiddler的扩展:FiddlerScript和插件机制,这里使用FiddlerScript就足够应付了。在Fiddler的菜单项Rules中选择Customize Rules就可以打开Fiddler的自定义脚本文件CustomRulesjs,该脚本一般保存在\Documents\Fiddler2\Scripts目录下。我推荐使用Fidder ScriptEditor进行脚本的编辑,Fidder ScriptEditor具有语法高亮和语法检查的功能,并在右侧面板提供了Fiddler内置的函数列表。 通过展开浏览右侧的函数列表,就基本上可以大概的了解到几个可能会用到的函数了:
FiddlerApplicationoProxySendRequest
FiddlerApplicationoProxySendRequestAndWait
FiddlerObjectutilIssueRequest
我们先通过下面的代码来练练手,将下面的代码拷贝到CustomRulesjs中并保存,Fidder ScriptEditor会自动检查语法错误,并重新加载脚本,无需重启Fiddler脚本即可生效。CustomRulesjs使用的是JScriptNet语法,对于Javascipt或C#程序员应该可以很快上手。这时在Fiddler中随便选择一条请求,点击右键,会发现最上面多了一个选择项Test Send Request,选择该项可以达到和Reissue Requests同样的功能,重发指定请求。
12345678910111213 public static ContextAction("Test Send Request")function SendRequest(oSessions: Session[]) { if (oSessionsLength == 0) return; FiddlerApplicationLogLogString("Sending"); var selected: Session = oSessions[0]; var oSD = new SystemCollectionsSpecializedStringDictionary(); var res = FiddlerApplicationoProxySendRequestAndWait(selectedoRequestheaders, selectedRequestBody, oSD, null); FiddlerApplicationLogLogString("Request has been Send"); FiddlerApplicationLogLogString(resGetResponseBodyAsString());}SendRequest/SendRequestAndWait函数有一个不方便之处,他的两个参数oHeaders和arrRequestBodyBytes分别是>1234567891011121314151617181920212223242526272829303132 public static ContextAction("Probe this!")function ProbeSession(oSessions: Session[]) { if (oSessionsLength == 0) return; FiddlerApplicationLogLogString("Probing"); var selected: Session = oSessions[0]; var raw = ""; // methods var method:String = selectedRequestMethod; var url:String = selectedfullUrl; var protocol = "");}
>1234567891011 POST
后面的工作就水到渠成了,通过SendRequestAndWait获取请求A的结果,解析请求A结果获取sid参数,然后拼接>
方法1 新建一个类。然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。例如:
//先定义一个类
//实例化,调用
方法2新建一个类,将该类中需要被调用的方法设置为静态(static),加了static后,就可以用类名直接调用。然后在调用类中直接通过类名进行访问。调用格式为:类名方法名(参数表)。例如:
他那个文件是在当前目录下, 所以不需要写绝对路径
你只需要把第二行的files改成如下就好:
files = {'file': open('/c/1/2jpg', 'rb')}public static bool >
img标签的请求体并不存在,因为img标签不需要请求体。img标签是用来在HTML页面中插入的标签,它的src属性指定了的URL地址,浏览器会向该URL地址发送GET请求来获取。在发送GET请求时,浏览器不会像POST请求一样在请求体中携带参数,而是将参数以查询字符串的形式附加在URL后面,例如:`<img src=">
以上就是关于小程序可以在地图加上商家图标吗全部的内容,包括:小程序可以在地图加上商家图标吗、web的工作原理、如何在Fiddler script中捕获请求结果并针对返回内容发起一个新请求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)