Requests Header列表

开发帮助宇天行 发表了文章 • 0 个评论 • 94 次浏览 • 2019-09-05 11:19 • 来自相关话题

Header 解释 示例Accept 指定客户端能够接收的内容类型 Accept:text/plain,text/htmlAccept-Charset 浏览器可以接受的字符编码集。 Accept-Charset:iso-8859-5Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding:compress,gzipAccept-Language 浏览器可接受的语言 Accept-Language:en,zhAccept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges:bytesAuthorization HTTP授权的授权证书 Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control:no-cacheConnection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection:close
Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie:$Version=1;Skin=new;Content-Length 请求的内容长度 Content-Length:348Content-Type 请求的与实体对应的MIME信息 Content-Type:application/x-www-form-urlencodedDate 请求发送的日期和时间 Date:Tue,15 Nov 2010 08:12:31 GMTExpect 请求的特定的服务器行为 Expect:100-continueFrom 发出请求的用户的Email From:user@email.comHost 指定请求的服务器的域名和端口号 Host:[url=http://www.zcmhi.com]www.zcmhi.com[/url] If-Match 只有请求内容与实体相匹配才有效 If-Match:“737060cd8c284d8af7ad3082f209582d”If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since:Sat,29 Oct 2010 19:43:31 GMTIf-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match:“737060cd8c284d8af7ad3082f209582d”
If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range:“737060cd8c284d8af7ad3082f209582d”
If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since:Sat,29 Oct 2010 19:43:31 GMTMax-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards:10Pragma 用来包含实现特定的指令 Pragma:no-cacheProxy-Authorization 连接到代理的授权证书 Proxy-Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==Range 只请求实体的一部分,指定范围 Range:bytes=500-999Referer 先前网页的地址,当前请求网页紧随其后,即来路 Referer:http:TE 客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息 TE:trailers,deflate;q=0.5Upgrade 向服务器指定某种传输协议以便服务器进行转换(如果支持) Upgrade:HTTP/2.0,SHTTP/1.3,IRC/6.9,RTA/x11User-Agent User-Agent的内容包含发出请求的用户信息 User-Agent:Mozilla/5.0(Linux;X11)Via 通知中间网关或代理服务器地址,通信协议 Via:1.0 fred,1.1 nowhere.com(Apache/1.1)Warning 关于消息实体的警告信息 Warn:199 Miscellaneous warning 查看全部
Header             解释             示例
Accept 指定客户端能够接收的内容类型 Accept:text/plain,text/html
Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset:iso-8859-5
Accept-Encoding 指定浏览器可以支持的web服务器返回内容压缩编码类型。 Accept-Encoding:compress,gzip
Accept-Language 浏览器可接受的语言 Accept-Language:en,zh
Accept-Ranges 可以请求网页实体的一个或者多个子范围字段 Accept-Ranges:bytes
Authorization HTTP授权的授权证书 Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定请求和响应遵循的缓存机制 Cache-Control:no-cache
Connection 表示是否需要持久连接。(HTTP 1.1默认进行持久连接) Connection:close

Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。 Cookie:$Version=1;Skin=new;
Content-Length 请求的内容长度 Content-Length:348
Content-Type 请求的与实体对应的MIME信息 Content-Type:application/x-www-form-urlencoded
Date 请求发送的日期和时间 Date:Tue,15 Nov 2010 08:12:31 GMT
Expect 请求的特定的服务器行为 Expect:100-continue
From 发出请求的用户的Email From:user@email.com
Host 指定请求的服务器的域名和端口号 Host:[url=http://www.zcmhi.com]www.zcmhi.com[/url] 
If-Match 只有请求内容与实体相匹配才有效 If-Match:“737060cd8c284d8af7ad3082f209582d”
If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码 If-Modified-Since:Sat,29 Oct 2010 19:43:31 GMT
If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变 If-None-Match:“737060cd8c284d8af7ad3082f209582d”

If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag If-Range:“737060cd8c284d8af7ad3082f209582d”

If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 If-Unmodified-Since:Sat,29 Oct 2010 19:43:31 GMT
Max-Forwards 限制信息通过代理和网关传送的时间 Max-Forwards:10
Pragma 用来包含实现特定的指令 Pragma:no-cache
Proxy-Authorization 连接到代理的授权证书 Proxy-Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 只请求实体的一部分,指定范围 Range:bytes=500-999
Referer 先前网页的地址,当前请求网页紧随其后,即来路 Referer:http:
TE 客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息 TE:trailers,deflate;q=0.5
Upgrade 向服务器指定某种传输协议以便服务器进行转换(如果支持) Upgrade:HTTP/2.0,SHTTP/1.3,IRC/6.9,RTA/x11
User-Agent User-Agent的内容包含发出请求的用户信息 User-Agent:Mozilla/5.0(Linux;X11)
Via 通知中间网关或代理服务器地址,通信协议 Via:1.0 fred,1.1 nowhere.com(Apache/1.1)
Warning 关于消息实体的警告信息 Warn:199 Miscellaneous warning

为什么创建机器人的性别修改不了?

开发帮助宇天行 回复了问题 • 2 人关注 • 1 个回复 • 53 次浏览 • 2019-08-16 21:28 • 来自相关话题

Web接口基础知识:http和https这两种协议的区别

开发帮助宇天行 发表了文章 • 0 个评论 • 140 次浏览 • 2019-08-12 17:41 • 来自相关话题

昨天的文章(Web接口基础知识:GET和POST两种请求方法的区别)介绍了调用接口时get和post这两种常见请求方式的区别,post方式能传递的数据量远比get方式大得多,而且相对get方式也比较隐蔽。





 
今天我们继续把互联网比喻为信息高速公路,用尽量简单的方式,带大家了解下加密超文本协议(https)的独到之处。

通过昨天的文章,我们了解到,get就像公路上的拖拉机,是敞开式车厢,车里运载的什么货物,公路两边的人一清二楚。post相当于一辆全封闭式车厢的卡车,除非是打开车厢门,否则谁也不知道里面装了什么货物。无论是GET(拖拉机)还是POST(卡车)都是HTTP请求的其中两种基本方法(公路上的两种运输车型)。





 
但即使是POST(卡车)的封闭性看起来比较好,也只能防君子不防小人。在互联网的信息高速公路上,经过一些服务区的时候,总有一些不良商贩,一趁你不注意,就直接打开车厢往里塞点小广告,带点私货。更糟心的是,这条路上,还有着数不清的觊觎车厢货物的车匪路霸,他们拦路抢劫,无恶不作。要么偷梁换柱以假乱真,要么就直接劫走货物占为己有,手段各式各样,无所不用其极。





 
在以前,运载的货物都是一些吃喝拉撒的日常用品,在车厢上加把防盗锁又麻烦又挺不经济的,也就睁只眼闭只眼骂骂咧咧一阵过去了。后来,数字经济时代来了,运载的货物就不再是白菜萝卜了,偶尔还干点运钞拉金条之类的活儿,这要是被偷梁换柱了或者直接劫走了,损失可就大了。

因此,这些运输公司聚在一块一合计,不行,车厢门还是必须得加把高强度的数字密码智能锁,密码只给收发双方才放心。但就算这样还是防不了人家直接把整个车劫走,因此又合计一下,还是得再修一条专用的443通道,和普通货车走的80通道彻底分开比较靠谱,从头到尾都要避免货物被劫持。

到这里,大家就明白了,HTTPS与HTTP的区别是,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版(443通道),在HTTP下加入SSL层(数字密码锁),HTTPS的安全基础是SSL(密文),因此想知道加密的详细内容(运载的货物)就必须要知道SSL才行。





 
而负责发放ssl证书的叫CA机构,主要有DigiCert、Symantec、GeoTrust等等。例如天行数据API接口域名的证书就是DigiCert颁发的。有效期为一年,差不多还有2个月就要到期了,到期后需要重新付费和部署。根据不同的证书机构和种类,价格从几百到几万/年都有。






前几年,以谷歌、苹果等为首的几大互联网巨头发起了一个倡议,建议所有的互联网服务提供商,网站管理员等,都应该逐渐过渡到https加密协议,以避免用户的敏感信息被窃取盗用或者被劫持网络注入广告等。

现在我们在浏览互联网时,可以看到很多网站的的网址前面都加上了绿色的https,表示你访问的这个网站是安全加密的,发送给这个网站的任何信息,都不会被第三方窃取。





 
天行数据的Web接口,同时支持http和https协议。但因为https协议存在一个加密解密的过程,所以速度相对要慢一点,对服务器的负载压力也更大一些。相对而言,天行数据的API接口没什么机密和隐私信息,如无特别需要,还是建议大家优先使用http协议。具体如何取舍,大家根据实际项目和平台要求而定。





 
关于https的具体实现过程同样建议大家网络搜索了解,篇幅有限,这里就不具体展开了。 查看全部
昨天的文章(Web接口基础知识:GET和POST两种请求方法的区别)介绍了调用接口时get和post这两种常见请求方式的区别,post方式能传递的数据量远比get方式大得多,而且相对get方式也比较隐蔽。

12230315-d52fc8de111348279b15c8c675b07fae.jpg

 
今天我们继续把互联网比喻为信息高速公路,用尽量简单的方式,带大家了解下加密超文本协议(https)的独到之处。

通过昨天的文章,我们了解到,get就像公路上的拖拉机,是敞开式车厢,车里运载的什么货物,公路两边的人一清二楚。post相当于一辆全封闭式车厢的卡车,除非是打开车厢门,否则谁也不知道里面装了什么货物。无论是GET(拖拉机)还是POST(卡车)都是HTTP请求的其中两种基本方法(公路上的两种运输车型)。

timg.jpg

 
但即使是POST(卡车)的封闭性看起来比较好,也只能防君子不防小人。在互联网的信息高速公路上,经过一些服务区的时候,总有一些不良商贩,一趁你不注意,就直接打开车厢往里塞点小广告,带点私货。更糟心的是,这条路上,还有着数不清的觊觎车厢货物的车匪路霸,他们拦路抢劫,无恶不作。要么偷梁换柱以假乱真,要么就直接劫走货物占为己有,手段各式各样,无所不用其极。

timg_(1).jpg

 
在以前,运载的货物都是一些吃喝拉撒的日常用品,在车厢上加把防盗锁又麻烦又挺不经济的,也就睁只眼闭只眼骂骂咧咧一阵过去了。后来,数字经济时代来了,运载的货物就不再是白菜萝卜了,偶尔还干点运钞拉金条之类的活儿,这要是被偷梁换柱了或者直接劫走了,损失可就大了。

因此,这些运输公司聚在一块一合计,不行,车厢门还是必须得加把高强度的数字密码智能锁,密码只给收发双方才放心。但就算这样还是防不了人家直接把整个车劫走,因此又合计一下,还是得再修一条专用的443通道,和普通货车走的80通道彻底分开比较靠谱,从头到尾都要避免货物被劫持。

到这里,大家就明白了,HTTPS与HTTP的区别是,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版(443通道),在HTTP下加入SSL层(数字密码锁),HTTPS的安全基础是SSL(密文),因此想知道加密的详细内容(运载的货物)就必须要知道SSL才行。

222.jpg

 
而负责发放ssl证书的叫CA机构,主要有DigiCert、Symantec、GeoTrust等等。例如天行数据API接口域名的证书就是DigiCert颁发的。有效期为一年,差不多还有2个月就要到期了,到期后需要重新付费和部署。根据不同的证书机构和种类,价格从几百到几万/年都有。

99.png


前几年,以谷歌、苹果等为首的几大互联网巨头发起了一个倡议,建议所有的互联网服务提供商,网站管理员等,都应该逐渐过渡到https加密协议,以避免用户的敏感信息被窃取盗用或者被劫持网络注入广告等。

现在我们在浏览互联网时,可以看到很多网站的的网址前面都加上了绿色的https,表示你访问的这个网站是安全加密的,发送给这个网站的任何信息,都不会被第三方窃取。

6.png

 
天行数据的Web接口,同时支持http和https协议。但因为https协议存在一个加密解密的过程,所以速度相对要慢一点,对服务器的负载压力也更大一些。相对而言,天行数据的API接口没什么机密和隐私信息,如无特别需要,还是建议大家优先使用http协议。具体如何取舍,大家根据实际项目和平台要求而定。

7.png

 
关于https的具体实现过程同样建议大家网络搜索了解,篇幅有限,这里就不具体展开了。

Web接口基础知识:GET和POST两种请求方法的区别

开发帮助宇天行 发表了文章 • 0 个评论 • 223 次浏览 • 2019-08-11 21:33 • 来自相关话题

这个问题,如果延展开来,可以写成几万字的Web开发科普文。GET和POST是HTTP请求的两种最常见最常用的基本方法,在我们以前上小学初中的时候,课本上把互联网比喻为信息高速公路。既然是高速公路,就得有交通规则对不对。不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是。因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点但好在过关卡的时候不用下车检查。大卡车运载的货物比较多还比较隐蔽,因此走post车道。

制定这个交通条例的是谁呢?就是我们访问所有网站前面都会加上的那个http(例如http://www.qq.com),它的中文名叫超文本传输协议。

而HTTP的底层又是基于TCP/IP(相当于互联网世界的交通法),中文名叫传输控制协议或者因特网互联协议。所以GET和POST的底层也是TCP/IP,都是TCP链接。GET和POST能做的事情也是一样的,都是公路上的运输工具。你非要给GET加上request body,给POST带上url参数,技术上稍微伪装下也是可以。但问题是,不同的浏览器和服务器都对GET规定了发送和接受上限,一般就是几K到几十K的字节,能传送的数据信息非常有限,只适合一些简单的信息传递。

我们来看两个具体的例子:

图1是一个get请求,他的参数是拼接在url(query string)里的。

如唐诗三百首的API:




它分为3个部分,蓝色部分是URI(注意URI不等于URL)、红色部分是参数、绿色部分是参数值。当你访问这个地址时,就等于告诉了服务器,我的“身份证号”是XXX,我需要你返回3条数据。当你发送访问请求时,浏览器会把http header和data(也就是参数和参数值)一并发送出去,服务器响应http 200 状态码和返回请求内容。





 
图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。post与get一个很重要的区别是,post请求时浏览器先发送header,服务器响应100 continue,浏览器再发送data(也就是参数和参数值),服务器响应 http 200 状态码和返回请求内容。

唐诗三百首:http://api.tianapi.com/txapi/poetries/{
"key": "XXX",
"num": "3"
}




 
所以对于像唐诗三百首这样的接口,数据传递非常简单,用get方式传递数据是比较合适的。但对于像图像垃圾分类接口,其中img参数,需要传递经base64编码后的数据,那就非常大了。一张图片1M大小的图片经过base64编码后,他的实际大小都会>1M,远远超过get方式能传递的数据大小,应该就必须用post的方式传递数据。

天行数据的接口绝大多数只支持get方式请求,在接口文档的请求方式和请求参数中都有标注说明,get的参数位置urlParam,post的参数位置body,对于只支持post方式请求的个别接口,会在文档中额外用红色文本提示。大家在调用接口时,一定要注意查看。当你调用接口时,返回码提示缺少240=>缺少key参数,或者280=>缺少必要的参数,都说明你当前请求方式不对。

另外,上面的举例都只说明了get和post对于传输数据量大小的区别,实际上他们的区别还有非常多,这块大家可以自行网络搜索了解。
  查看全部
这个问题,如果延展开来,可以写成几万字的Web开发科普文。GET和POST是HTTP请求的两种最常见最常用的基本方法,在我们以前上小学初中的时候,课本上把互联网比喻为信息高速公路。既然是高速公路,就得有交通规则对不对。不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是。因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点但好在过关卡的时候不用下车检查。大卡车运载的货物比较多还比较隐蔽,因此走post车道。

制定这个交通条例的是谁呢?就是我们访问所有网站前面都会加上的那个http(例如http://www.qq.com),它的中文名叫超文本传输协议。

而HTTP的底层又是基于TCP/IP(相当于互联网世界的交通法),中文名叫传输控制协议或者因特网互联协议。所以GET和POST的底层也是TCP/IP,都是TCP链接。GET和POST能做的事情也是一样的,都是公路上的运输工具。你非要给GET加上request body,给POST带上url参数,技术上稍微伪装下也是可以。但问题是,不同的浏览器和服务器都对GET规定了发送和接受上限,一般就是几K到几十K的字节,能传送的数据信息非常有限,只适合一些简单的信息传递。

我们来看两个具体的例子:

图1是一个get请求,他的参数是拼接在url(query string)里的。

如唐诗三百首的API:
3.png

它分为3个部分,蓝色部分是URI(注意URI不等于URL)、红色部分是参数、绿色部分是参数值。当你访问这个地址时,就等于告诉了服务器,我的“身份证号”是XXX,我需要你返回3条数据。当你发送访问请求时,浏览器会把http header和data(也就是参数和参数值)一并发送出去,服务器响应http 200 状态码和返回请求内容。

1.png

 
图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。post与get一个很重要的区别是,post请求时浏览器先发送header,服务器响应100 continue,浏览器再发送data(也就是参数和参数值),服务器响应 http 200 状态码和返回请求内容。

唐诗三百首:http://api.tianapi.com/txapi/poetries/
{
"key": "XXX",
"num": "3"
}

2.png

 
所以对于像唐诗三百首这样的接口,数据传递非常简单,用get方式传递数据是比较合适的。但对于像图像垃圾分类接口,其中img参数,需要传递经base64编码后的数据,那就非常大了。一张图片1M大小的图片经过base64编码后,他的实际大小都会>1M,远远超过get方式能传递的数据大小,应该就必须用post的方式传递数据。

天行数据的接口绝大多数只支持get方式请求,在接口文档的请求方式和请求参数中都有标注说明,get的参数位置urlParam,post的参数位置body,对于只支持post方式请求的个别接口,会在文档中额外用红色文本提示。大家在调用接口时,一定要注意查看。当你调用接口时,返回码提示缺少240=>缺少key参数,或者280=>缺少必要的参数,都说明你当前请求方式不对。

另外,上面的举例都只说明了get和post对于传输数据量大小的区别,实际上他们的区别还有非常多,这块大家可以自行网络搜索了解。
 

html调用api 有demo吗?

开发帮助宇天行 回复了问题 • 2 人关注 • 1 个回复 • 112 次浏览 • 2019-08-07 13:53 • 来自相关话题

名人名言类型typeid对应的类型名称

开发帮助宇天行 发表了文章 • 0 个评论 • 209 次浏览 • 2019-06-03 22:18 • 来自相关话题

typeid字段对应名称:
 
1——爱情
2——道德
3——青春
4——愿望
5——集体
6——理想
7——志向
8——人才
9——谦虚
10——人格
11——天才
12——青年
13——社会
14——国家
15——财富
16——智慧
17——修养
18——工作
19——妇女
20——儿童
21——思想
22——理智
23——学习
24——科学
25——信仰
26——诚信
27——读书
28——成败
29——奉献
30——劳动
31——节约
32——教育
33——企业
34——事业
35——时间
36——勤奋
37——民族
38——真理
39——友谊
40——自由
41——心理
42——心灵
43——人生
44——幸福
45——团结
  查看全部
typeid字段对应名称:
 
1——爱情
2——道德
3——青春
4——愿望
5——集体
6——理想
7——志向
8——人才
9——谦虚
10——人格
11——天才
12——青年
13——社会
14——国家
15——财富
16——智慧
17——修养
18——工作
19——妇女
20——儿童
21——思想
22——理智
23——学习
24——科学
25——信仰
26——诚信
27——读书
28——成败
29——奉献
30——劳动
31——节约
32——教育
33——企业
34——事业
35——时间
36——勤奋
37——民族
38——真理
39——友谊
40——自由
41——心理
42——心灵
43——人生
44——幸福
45——团结
 

星座配对/运势小程序分享

开发帮助宇天行 发表了文章 • 0 个评论 • 409 次浏览 • 2019-05-12 22:16 • 来自相关话题

上一次,分享土味情话的小程序的制作方法和完整的源代码。这次分享一个星座配对/运势小程序的源代码。具体的文件就不发了,跟上次差不多。直接贴代码,大家复制替换对应的文件即可。
 /** 位置:pages/star/star.js
作者:宇天行 */

var util = require('../../utils/util.js')

Page({
data: {
select_me: false,
select_he: false,
grade_name_me: '选择你的星座',
grade_name_he: '选择对方星座',
grades_me: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//我的下拉列表的数据
grades_he: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//对象下拉列表的数据
index: 0,//选择的下拉列表下标
},
/* 点击下拉框 */
bindShowMsg_me() {
this.setData({
select_me: !this.data.select
})
},
bindShowMsg_he() {
this.setData({
select_he: !this.data.select
})
},
/* 已选下拉框 */

mySelect_me(e) {
var name = e.currentTarget.dataset.name
this.setData({
grade_name_me: name,
select_me: false
})
wx.setStorage({
key: 'xingzuo_me',
data: name
})
},
mySelect_he(e) {
var name = e.currentTarget.dataset.name
var xingzuo_me = wx.getStorageSync('xingzuo_me');
this.setData({
grade_name_he: name,
select_he: false
})
this.onLoad(name, xingzuo_me);
},

onLoad: function (me,he) {
var that = this
//转发分享
wx.showShareMenu({
withShareTicket: true
}),
wx.request({
url: util.TXAPI_BASE_URL + '/txapi/xingzuo/',
data: {
key: util.TXAPI_KEY,
me: me,
he: he
},
success: function (res) {
if(res.data.code == 200){
that.setData({
grade:res.data.newslist[0].grade,
content: res.data.newslist[0].content
})
}
},
fail: function (err) {
console.log(err)
}
})
}
})

/** 位置:pages/star/star.wxml
作者:宇天行 */

<view class="container">
<!-- 你的星座选择 -->
<view class="xingzuo">
<view class='top-selected' bindtap='bindShowMsg_me'>
<text>{{grade_name_me}}</text>
</view>
<!-- 对方星座选择 -->
<view class='top-selected-he' bindtap='bindShowMsg_he'>
<text>{{grade_name_he}}</text>
</view>
</view>

<!-- 下拉框显示列表 -->
<view class="select_box" wx:if="{{select_me}}">
<view wx:for="{{grades_me}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_me" data-name="{{item}}">{{item}}</view>
</view>
</view>

<!-- 对象显示的列表 -->
<view class="select_box_he" wx:if="{{select_he}}">
<view wx:for="{{grades_he}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_he" data-name="{{item}}">{{item}}</view>
</view>
</view>

<view class="neir">
<view class="grade">{{grade}}</view>
<view class="content">{{content}}</view>
</view>
</view>

/** 位置:pages/star/star.wxss
/** 作者:宇天行 */

page{
background: rgb(252, 251, 251);
font-size: 16px;
background:url("背景图片地址") no-repeat 0 0;
background-size: 100% auto;
}
/* 下拉框 */
.top-selected,.top-selected-he{
float: left;
border: 1rpx solid #fff;
padding: 6rpx 20rpx;
margin: 20rpx 6px;
font-size: 30rpx;
border-radius: 4px;
}
.top-selected-he{
float: right;
}
//* 下拉框内容 */
.select_box,.select_box_he {
background-color: #fff;
padding: 0 20rpx;
width: 20%;
float: left;
position: relative;
right: 0;
z-index: 1;
overflow: hidden;
text-align: left;
font-size: 30rpx;
}
.select_box_he {
float: right;
}
.select_one {
padding-left: 10rpx;
width: 100%;
height: 60rpx;
position: relative;
line-height: 60rpx;
}

.xingzuo{
margin-bottom: 0rpx;
}
.neir{
margin-top: 50rpx;

font-size: 24rpx;
padding: 50rpx 30rpx;
}
.grade{
font-size: 28rpx;
padding-bottom: 50rpx;
}效果如下:
















 




 
星座配对API接口地址:https://www.tianapi.com/apiview/42
 
  查看全部
上一次,分享土味情话的小程序的制作方法和完整的源代码。这次分享一个星座配对/运势小程序的源代码。具体的文件就不发了,跟上次差不多。直接贴代码,大家复制替换对应的文件即可。
 
/** 位置:pages/star/star.js 
作者:宇天行 */

var util = require('../../utils/util.js')

Page({
data: {
select_me: false,
select_he: false,
grade_name_me: '选择你的星座',
grade_name_he: '选择对方星座',
grades_me: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//我的下拉列表的数据
grades_he: ['白羊', '金牛', '双子', '巨蟹', '狮子', '处女', '天秤', '天蝎', '射手', '魔羯', '水瓶', '双鱼'],//对象下拉列表的数据
index: 0,//选择的下拉列表下标
},
/* 点击下拉框 */
bindShowMsg_me() {
this.setData({
select_me: !this.data.select
})
},
bindShowMsg_he() {
this.setData({
select_he: !this.data.select
})
},
/* 已选下拉框 */

mySelect_me(e) {
var name = e.currentTarget.dataset.name
this.setData({
grade_name_me: name,
select_me: false
})
wx.setStorage({
key: 'xingzuo_me',
data: name
})
},
mySelect_he(e) {
var name = e.currentTarget.dataset.name
var xingzuo_me = wx.getStorageSync('xingzuo_me');
this.setData({
grade_name_he: name,
select_he: false
})
this.onLoad(name, xingzuo_me);
},

onLoad: function (me,he) {
var that = this
//转发分享
wx.showShareMenu({
withShareTicket: true
}),
wx.request({
url: util.TXAPI_BASE_URL + '/txapi/xingzuo/',
data: {
key: util.TXAPI_KEY,
me: me,
he: he
},
success: function (res) {
if(res.data.code == 200){
that.setData({
grade:res.data.newslist[0].grade,
content: res.data.newslist[0].content
})
}
},
fail: function (err) {
console.log(err)
}
})
}
})

/** 位置:pages/star/star.wxml
作者:宇天行 */

<view class="container">
<!-- 你的星座选择 -->
<view class="xingzuo">
<view class='top-selected' bindtap='bindShowMsg_me'>
<text>{{grade_name_me}}</text>
</view>
<!-- 对方星座选择 -->
<view class='top-selected-he' bindtap='bindShowMsg_he'>
<text>{{grade_name_he}}</text>
</view>
</view>

<!-- 下拉框显示列表 -->
<view class="select_box" wx:if="{{select_me}}">
<view wx:for="{{grades_me}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_me" data-name="{{item}}">{{item}}</view>
</view>
</view>

<!-- 对象显示的列表 -->
<view class="select_box_he" wx:if="{{select_he}}">
<view wx:for="{{grades_he}}" wx:key="unique">
<view class="select_one" bindtap="mySelect_he" data-name="{{item}}">{{item}}</view>
</view>
</view>

<view class="neir">
<view class="grade">{{grade}}</view>
<view class="content">{{content}}</view>
</view>
</view>

/** 位置:pages/star/star.wxss
/** 作者:宇天行 */

page{
background: rgb(252, 251, 251);
font-size: 16px;
background:url("背景图片地址") no-repeat 0 0;
background-size: 100% auto;
}
/* 下拉框 */
.top-selected,.top-selected-he{
float: left;
border: 1rpx solid #fff;
padding: 6rpx 20rpx;
margin: 20rpx 6px;
font-size: 30rpx;
border-radius: 4px;
}
.top-selected-he{
float: right;
}
//* 下拉框内容 */
.select_box,.select_box_he {
background-color: #fff;
padding: 0 20rpx;
width: 20%;
float: left;
position: relative;
right: 0;
z-index: 1;
overflow: hidden;
text-align: left;
font-size: 30rpx;
}
.select_box_he {
float: right;
}
.select_one {
padding-left: 10rpx;
width: 100%;
height: 60rpx;
position: relative;
line-height: 60rpx;
}

.xingzuo{
margin-bottom: 0rpx;
}
.neir{
margin-top: 50rpx;

font-size: 24rpx;
padding: 50rpx 30rpx;
}
.grade{
font-size: 28rpx;
padding-bottom: 50rpx;
}
效果如下:


微信图片_20190505192602.jpg


微信图片_20190505192557.jpg


微信图片_20190505192606.jpg

 
wxapp.jpg

 
星座配对API接口地址:https://www.tianapi.com/apiview/42
 
 

图片api使用时无法实现轮播形式

回复

开发帮助houlin 发起了问题 • 1 人关注 • 0 个回复 • 531 次浏览 • 2018-05-13 11:03 • 来自相关话题

使用天行数据开发的开源项目

开发帮助宇天行 发表了文章 • 0 个评论 • 2330 次浏览 • 2018-04-13 15:22 • 来自相关话题

 欢迎将天行数据接口用于开源项目美女图集和历史一句话微信小程序
https://wenda.tianapi.com/article/68
天行机器人小程序源码分享
https://wenda.tianapi.com/article/82
天行数据新闻头条微信小程序
https://wenda.tianapi.com/article/84
天行数据朋友圈H5智力游戏实例
https://wenda.tianapi.com/article/76
天行机器人相关示例代码分享
https://wenda.tianapi.com/article/62
开发一个同步微信公众号文章的H5页面和小程序
https://wenda.tianapi.com/article/85
开发一个“神回复”微信小程序
https://wenda.tianapi.com/article/86​​ 
甜到爆炸的土味情话小程序分享
https://wenda.tianapi.com/article/87 
星座配对/运势小程序分享
https://wenda.tianapi.com/article/88 
天行数据上线垃圾分类接口及示例小程序
https://wenda.tianapi.com/article/96 
作者:宇天行

  百度apistore开发实例(天行数据美女图片API)
http://tool.52miui.com/rjjc/wyzz/1432.html
作者:米尤

微信每日说,三步教你用Node做一个微信哄女友(基友)神器,小白可上手
https://github.com/gengchen528/wechatBot 
作者:Leo_chen

 一个基于 React Native 的 Android 企业级应用
http://blog.csdn.net/sinat_17775997/article/details/71973174​
作者:大灰狼的小绵羊哥哥

开源一个后台基于bmob云端的社交app
http://www.jianshu.com/p/2d76430617ae
作者:傻瓜爱笨蛋
 
Android 实践:做一款新闻 APP
http://blog.csdn.net/yiwei12/article/details/71249628
作者:Len_titude 
 
微信小程序---仿今日头条
http://blog.csdn.net/linfujian1999/article/details/54714708
作者:学生物的程序猿
 
网易新闻API接口的实现(Picasso类库的使用与HTTP协议的get请求,BitMap样例(未使用))
http://blog.csdn.net/ytfunnysite/article/details/62421034
作者:杨天福

一个小时打造新闻app
http://www.jianshu.com/p/c2e79cf83c32
作者:五谷观精分道长
 
为您的主题增加美女图片展示功能
http://liuronghuan.com/meinv.html
作者:刘荣焕

GeekNews
http://blog.csdn.net/u014608640/article/details/52571794
作者:Wei_Leng

调用api,下载图片
http://www.cnblogs.com/zg019/p/6051390.html
作者:zhgmyron
 
Python 调用百度API(apistore上天行数据)
http://www.tuicool.com/articles/77BfMbn
作者:城楼听雪

天行图文接口和数据接口的调用案例
http://www.cnblogs.com/warcraft/p/6030645.html
作者:姜小豆
 
用javascript请求百度API(天行数据格言接口)
https://segmentfault.com/q/1010000006062637
作者:风二中

MVP快速开发框架
http://www.jianshu.com/p/d98013e0cd03
作者:hpw123

ScanNews
一个 Android 版新闻客户端
https://github.com/bazhancong/ScanNews
作者:bazhancong
 
 Python-100-Days
实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,对于这个概念,维基百科上给出了很好的诠释,这里不再浪费笔墨。
https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/Day11/%E6%96%87%E4%BB%B6%E5%92%8C%E5%BC%82%E5%B8%B8.md
作者:jackfrued

 weixindemo
仿今日头条的小程序项目
https://github.com/linfujian/weixindemo
作者:linfujian
 
 yangkyz / domTemplate​
一个基于jquery/zepto 非侵入式、不会破坏原来静态页面结构、可被浏览器正确显示的、格式良好的前端HTML模板引擎。
https://gitee.com/xxyyyang/domTemplate
作者: Parky

Mongo
项目使用了天行的数据接口,主要就是一些自定义控件还有开源库的使用,后面有时间考虑重构一下代码,采用MVP+RxJava2+Retrofit2的模式。
https://github.com/AchesKkk/Mongo
作者:AchesKkk
 
Ency
Ency是一款简洁的新闻资讯类APP,主要包括微信精选、每日一文、干货热门、开眼视频、我的收藏五大模块。整体项目使用RxJava+Retrofit+MVP+Dagger2+Glide+GreenDao的设计方式。
https://github.com/xiarunhao123/Ency
作者:xiarunhao123
 
MyNews-我的新闻app
解析天行api制作的新闻软件
https://github.com/wenzhifeifeidetutu/MyNews
作者:wenzhifeifeidetutu
 
JudyNews 仿网易新闻应用
功能:查看新闻(部分栏目接口过期),笑话,观看斗鱼直播。新闻实现缓存,下拉刷新下拉加载更多以及自定义栏目。
https://github.com/Developerwhs/JudyNews
作者:ZhangYeSong
 
RNPolymerPo-一个基于 React Native 的 Android 企业级应用
RNPolymerPo 是一个基于 React Native 的生活类聚合实战项目,目前由于没有 MAC 设备,所以没有适配 iOS,感兴趣的可以自行适配 app 目录下相关 JS 代码即可。
https://github.com/yanbober/RNPolymerPo
作者:yanbober
 
NewsClient-基于MVP架构,采用Material Design风格的新闻App
一款 Material Design 风格的新闻App,采用 Mvp + RxJava + Retrofit + Dagger2 设计模式,整体风格为 NavigationView + Fragment 开发。
https://github.com/wz1509/NewsClient
作者:wz1509

Ganks
干货集中营的客户端,采用RxJava+Retrofit+Dagger2+MVP开发
https://github.com/hiliving/Ganks
作者:huangyong
 
NewsMD
MD 风格的新闻客户端
https://github.com/lentitude/NewsMD
  查看全部
 欢迎将天行数据接口用于开源项目
美女图集和历史一句话微信小程序
https://wenda.tianapi.com/article/68
天行机器人小程序源码分享
https://wenda.tianapi.com/article/82
天行数据新闻头条微信小程序
https://wenda.tianapi.com/article/84
天行数据朋友圈H5智力游戏实例
https://wenda.tianapi.com/article/76
天行机器人相关示例代码分享
https://wenda.tianapi.com/article/62
开发一个同步微信公众号文章的H5页面和小程序
https://wenda.tianapi.com/article/85
开发一个“神回复”微信小程序
https://wenda.tianapi.com/article/86​​ 
甜到爆炸的土味情话小程序分享
https://wenda.tianapi.com/article/87 
星座配对/运势小程序分享
https://wenda.tianapi.com/article/88 
天行数据上线垃圾分类接口及示例小程序
https://wenda.tianapi.com/article/96 
作者:宇天行

  百度apistore开发实例(天行数据美女图片API)
http://tool.52miui.com/rjjc/wyzz/1432.html
作者:米尤

微信每日说,三步教你用Node做一个微信哄女友(基友)神器,小白可上手
https://github.com/gengchen528/wechatBot 
作者:Leo_chen

 一个基于 React Native 的 Android 企业级应用
http://blog.csdn.net/sinat_17775997/article/details/71973174​
作者:大灰狼的小绵羊哥哥

开源一个后台基于bmob云端的社交app
http://www.jianshu.com/p/2d76430617ae
作者:傻瓜爱笨蛋
 
Android 实践:做一款新闻 APP
http://blog.csdn.net/yiwei12/article/details/71249628
作者:Len_titude 
 
微信小程序---仿今日头条
http://blog.csdn.net/linfujian1999/article/details/54714708
作者:学生物的程序猿
 
网易新闻API接口的实现(Picasso类库的使用与HTTP协议的get请求,BitMap样例(未使用))
http://blog.csdn.net/ytfunnysite/article/details/62421034
作者:杨天福

一个小时打造新闻app
http://www.jianshu.com/p/c2e79cf83c32
作者:五谷观精分道长
 
为您的主题增加美女图片展示功能
http://liuronghuan.com/meinv.html
作者:刘荣焕

GeekNews
http://blog.csdn.net/u014608640/article/details/52571794
作者:Wei_Leng

调用api,下载图片
http://www.cnblogs.com/zg019/p/6051390.html
作者:zhgmyron
 
Python 调用百度API(apistore上天行数据)
http://www.tuicool.com/articles/77BfMbn
作者:城楼听雪

天行图文接口和数据接口的调用案例
http://www.cnblogs.com/warcraft/p/6030645.html
作者:姜小豆
 
用javascript请求百度API(天行数据格言接口)
https://segmentfault.com/q/1010000006062637
作者:风二中

MVP快速开发框架
http://www.jianshu.com/p/d98013e0cd03
作者:hpw123

ScanNews
一个 Android 版新闻客户端
https://github.com/bazhancong/ScanNews
作者:bazhancong
 
 Python-100-Days
实际开发中,常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,对于这个概念,维基百科上给出了很好的诠释,这里不再浪费笔墨。
https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/Day11/%E6%96%87%E4%BB%B6%E5%92%8C%E5%BC%82%E5%B8%B8.md
作者:jackfrued

 weixindemo
仿今日头条的小程序项目
https://github.com/linfujian/weixindemo
作者:linfujian
 
 yangkyz / domTemplate​
一个基于jquery/zepto 非侵入式、不会破坏原来静态页面结构、可被浏览器正确显示的、格式良好的前端HTML模板引擎。
https://gitee.com/xxyyyang/domTemplate
作者: Parky

Mongo
项目使用了天行的数据接口,主要就是一些自定义控件还有开源库的使用,后面有时间考虑重构一下代码,采用MVP+RxJava2+Retrofit2的模式。
https://github.com/AchesKkk/Mongo
作者:AchesKkk
 
Ency
Ency是一款简洁的新闻资讯类APP,主要包括微信精选、每日一文、干货热门、开眼视频、我的收藏五大模块。整体项目使用RxJava+Retrofit+MVP+Dagger2+Glide+GreenDao的设计方式。
https://github.com/xiarunhao123/Ency
作者:xiarunhao123
 
MyNews-我的新闻app
解析天行api制作的新闻软件
https://github.com/wenzhifeifeidetutu/MyNews
作者:wenzhifeifeidetutu
 
JudyNews 仿网易新闻应用
功能:查看新闻(部分栏目接口过期),笑话,观看斗鱼直播。新闻实现缓存,下拉刷新下拉加载更多以及自定义栏目。
https://github.com/Developerwhs/JudyNews
作者:ZhangYeSong
 
RNPolymerPo-一个基于 React Native 的 Android 企业级应用
RNPolymerPo 是一个基于 React Native 的生活类聚合实战项目,目前由于没有 MAC 设备,所以没有适配 iOS,感兴趣的可以自行适配 app 目录下相关 JS 代码即可。
https://github.com/yanbober/RNPolymerPo
作者:yanbober
 
NewsClient-基于MVP架构,采用Material Design风格的新闻App
一款 Material Design 风格的新闻App,采用 Mvp + RxJava + Retrofit + Dagger2 设计模式,整体风格为 NavigationView + Fragment 开发。
https://github.com/wz1509/NewsClient
作者:wz1509

Ganks
干货集中营的客户端,采用RxJava+Retrofit+Dagger2+MVP开发
https://github.com/hiliving/Ganks
作者:huangyong
 

NewsMD
MD 风格的新闻客户端
https://github.com/lentitude/NewsMD
 

苹果App Store 上架 IOS 程序关于IPv6审核问题

开发帮助宇天行 发表了文章 • 0 个评论 • 3052 次浏览 • 2018-04-10 16:45 • 来自相关话题

纯ipv6环境下是否能访问到你的服务,与服务器本身支不支持ipv6有没有ipv6地址无关,最好的办法请保证你的App(程序代码)本身兼容IPv6。支持 ipv6 是说你的应用在 ipv6 环境下也可用,而不是需要你的服务器处于 ipv6 下。

苹果AppStore审核人员在美国的IPv6-Only环境下对APP进行访问,提交App后,如果AppServer支持IPv6,则可直接访问。如果AppServer不支持IPv6,则通过DNS64+NAT64进行访问。如下图所示。





 
由于大部分开发者的AppServer都是不支持IPv6直接访问的。所以,AppStore审核时,基本都是用NAT64+DNS64进行访问的。

DNS64+NAT64访问机制

DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示。





 
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示。





 
总结

由此可以看出,苹果AppStore在做IPv6审核的时候,并不需要DNS或者服务器支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果AppStore审核时的DNS64+NAT64转换为IPv6地址进行通信。
如果,APP在苹果进行IPv6审核时不通过,可能原因主要有两方面:

App本身不兼容IPv6。此时,最好的办法是让App本身兼容IPv6;
跨国网络问题导致苹果AppStore所在的网络在审核时连接不通国内的服务器。此时使用具有海外DNS BGP节点的域名解析服务器或海外线路的服务器即可。
 
据说,用电脑创建一个 ipv6 的热点, 手机连, 录屏,打开 app, 随便操作一会, 把视频发到 itunes 里面就过了。
 
注:天行数据(https://www.tianapi.com)的域名解析服务器是具有海外DNS BGP节点的
 
附:相关解决办法:
iOS 应用上架,必须支持 IPv6 线路访问,填坑之路亲测
解决App Store 上架 IOS 程序必须支持IPV6
APPStore上架应用支持IPV6的那些事
Ipv6_Only 简单的理解(已验证,项目已经上线)
AppStore IPv6-only审核被拒原因分析及解决方案-b
  查看全部
纯ipv6环境下是否能访问到你的服务,与服务器本身支不支持ipv6有没有ipv6地址无关,最好的办法请保证你的App(程序代码)本身兼容IPv6。支持 ipv6 是说你的应用在 ipv6 环境下也可用,而不是需要你的服务器处于 ipv6 下。

苹果AppStore审核人员在美国的IPv6-Only环境下对APP进行访问,提交App后,如果AppServer支持IPv6,则可直接访问。如果AppServer不支持IPv6,则通过DNS64+NAT64进行访问。如下图所示。

ipv4Andipv6NetworkWithDNS64NAT64_2x.png

 
由于大部分开发者的AppServer都是不支持IPv6直接访问的。所以,AppStore审核时,基本都是用NAT64+DNS64进行访问的。

DNS64+NAT64访问机制

DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示。

DNS64-ResolutionOfIPv4_2x.png

 
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示。

NAT64-Workflow_2x.png

 
总结

由此可以看出,苹果AppStore在做IPv6审核的时候,并不需要DNS或者服务器支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果AppStore审核时的DNS64+NAT64转换为IPv6地址进行通信。
如果,APP在苹果进行IPv6审核时不通过,可能原因主要有两方面:

App本身不兼容IPv6。此时,最好的办法是让App本身兼容IPv6;
跨国网络问题导致苹果AppStore所在的网络在审核时连接不通国内的服务器。此时使用具有海外DNS BGP节点的域名解析服务器或海外线路的服务器即可。
 
据说,用电脑创建一个 ipv6 的热点, 手机连, 录屏,打开 app, 随便操作一会, 把视频发到 itunes 里面就过了。
 
注:天行数据(https://www.tianapi.com)的域名解析服务器是具有海外DNS BGP节点的
 
附:相关解决办法:
iOS 应用上架,必须支持 IPv6 线路访问,填坑之路亲测
解决App Store 上架 IOS 程序必须支持IPV6
APPStore上架应用支持IPV6的那些事
Ipv6_Only 简单的理解(已验证,项目已经上线)
AppStore IPv6-only审核被拒原因分析及解决方案-b