# web.wxmp.view 库模块帮助文档

<details>  <summary>说明</summary>  <p>

用户信息字段：
user_remark //备注
user_comment_cnt //留言数
user_selected_comment_cnt //精选留言数
user_reward_cnt //点赞数
user_reward_money //赞赏金额，以分为单位
user_openid //openid
user_name //用户名
user_msg_cnt //发消息数
user_city //所在城市
user_province //所在省份
user_country //所在国家
user_create_time //关注时间，取消关注后此值为 0
user_group_id //分组 ID
user_in_blacklist //是否在默名单
user_head_img //头像

</p></details>

## web.wxmp 成员列表 <a id="web.wxmp" href="#web.wxmp">&#x23;</a>

### web.wxmp.view <a id="web.wxmp.view" href="#web.wxmp.view">&#x23;</a>
创建微信公众号 REST 客户端。  
请求参数使用普通表单编码（application/x-www-form-urlencoded ）。  
请求参数中的参数值如何是表，则首先转换为 JSON 。  
如果请求参数值为函数，则每次请求调用该函数取值。  
所有参数值转换为字符串后并用 URLEncode 编码。  

返回数据如果为 JSON 格式或者表单编码则自动解析为对象  

UrlEncoded 解码 时会自动解析 JSON 字段值（必须是对象或数组）  

如果请求编码也是 JSON ，请改用 web.rest.jsonClient

### web.wxmp.view() <a id="web.wxmp.view" href="#web.wxmp.view">&#x23;</a>
[返回对象:webWxmpViewObject](#webWxmpViewObject)

### web.wxmp.view(/*指定 web.view 对象*/) <a id="web.wxmp.view" href="#web.wxmp.view">&#x23;</a>
创建 REST 客户端。  
请求参数使用普通表单编码（application/x-www-form-urlencoded ）。  
请求参数中的参数值如何是表，则首先转换为 JSON。  
如果请求参数值为函数，则每次请求调用该函数取值。  
所有参数值转换为字符串后并用 URLEncode 编码。  

返回数据如果为 JSON 格式或者表单编码则自动解析为对象  

UrlEncoded 解码 时会自动解析 JSON 字段值（必须是对象或数组）

## webWxmpViewObject 成员列表 <a id="webWxmpViewObject" href="#webWxmpViewObject">&#x23;</a>

### webWxmpViewObject.* <a id="webWxmpViewObject.any" href="#webWxmpViewObject.any">&#x23;</a>
web.rest.client 或继承自 web.rest.client 的对象的其他成员函数或属性。  
请查看相关库函数文档或源码

### webWxmpViewObject._http <a id="webWxmpViewObject._http" href="#webWxmpViewObject._http">&#x23;</a>
inet.http客户端，用于执行http请求  

[返回对象:inetHttpObject](https://www.aardio.com/zh-cn/doc/library-reference/inet/http.html#inetHttpObject)

### webWxmpViewObject.addMark <a id="webWxmpViewObject.addMark" href="#webWxmpViewObject.addMark">&#x23;</a>
添加备注。

### webWxmpViewObject.addMark(openId,mark) <a id="webWxmpViewObject.addMark" href="#webWxmpViewObject.addMark">&#x23;</a>
添加备注。  
参数 @1 指定用户 openid，可选用参数 @2 指定添加到备注的字符串 。

### webWxmpViewObject.api <a id="webWxmpViewObject.api" href="#webWxmpViewObject.api">&#x23;</a>
定义API对象，使用成员操作符或下标获取API对象的成员时将会自动转换为新的API对象

### webWxmpViewObject.api("网址模板","HTTP动词","模式串") <a id="webWxmpViewObject.api" href="#webWxmpViewObject.api">&#x23;</a>
网址模板可使用 {name}、{/name}、或 {...} 指定模板参数,  
大括号内的参数名可使用英文字符或数字,  
模板参数名首字符为斜杠（例如{/name}）表示使用实参替换后保留斜杠，  
 {...} 表示不定个数的模板参数,如使用多个实参替换则自动使用斜杠拼接，  
默认在网址模板尾部自动添加 {...}  

返回API对象使用下标指定模板实参，  
如果下标是字符串，按下标出现的前后顺序替换模板参数，  
如果下标是表对象，则表中的键值对用于替换与键同名的模板参数,  

可选用参数@2指定HTTP动词,默认值为"POST"  

参数@3如果为模式串，则使用模式匹配转换响应数据并返回。  
参数@3如果为函数，则调用该函数转换转换响应数据并返回。  
参数@3如果为数组，则作为string.map的模式参数@2转换响应数据并返回

### webWxmpViewObject.api("网址模板","HTTP动词","模式串",HTTP选项) <a id="webWxmpViewObject.api" href="#webWxmpViewObject.api">&#x23;</a>
可选在参数@4用 _INTERNET_FLAG_ 前缀常量自定义http请求选项  
其他参数用法同上

### webWxmpViewObject.api() <a id="webWxmpViewObject.api" href="#webWxmpViewObject.api">&#x23;</a>
[返回对象:webRestApiObject](https://www.aardio.com/zh-cn/doc/library-reference/web/rest/client.html#webRestApiObject)

### webWxmpViewObject.cancleBlack(openId) <a id="webWxmpViewObject.cancleBlack" href="#webWxmpViewObject.cancleBlack">&#x23;</a>
取消黑名单。  
参数 @openId 指定微信用户 OpenID

### webWxmpViewObject.eachArticleList(pageSize) <a id="webWxmpViewObject.eachArticleList" href="#webWxmpViewObject.eachArticleList">&#x23;</a>

```aardio
for list in wxmp.eachArticleList(10) {   
	/*遍历所有已发表文章的迭代器。  
参数 @pageSize 指定分页数。  
迭代变量 list 的值与 getArticleList 的返回值相同*/  
	for i,article in list{  
		print(article.title, article.readNum);  
	}  
}
```

```aardio
for list in wxmp.eachArticleList(10) {   
	/*遍历所有已发表文章的迭代器。  
参数 @pageSize 指定分页数。  
迭代变量 list 的值与 getArticleList 的返回值相同*/  
	for i,article in list{  
		print(article.title, article.readNum);  
	}  
}
```

### webWxmpViewObject.eachBlackList(分页用户数,分组ID) <a id="webWxmpViewObject.eachBlackList" href="#webWxmpViewObject.eachBlackList">&#x23;</a>

```aardio
for userList in eachUserList(20){  
	/*遍历获取名单用用户列表，参数 @1 指定每次返回的用户数。*/  
}
```

### webWxmpViewObject.eachUserList(分页用户数,分组ID) <a id="webWxmpViewObject.eachUserList" href="#webWxmpViewObject.eachUserList">&#x23;</a>

```aardio
for userList in eachUserList(20){  
	/*遍历获取用户列表，参数 @1 指定每次返回的用户数。*/  
}
```

### webWxmpViewObject.getAlbumList(option) <a id="webWxmpViewObject.getAlbumList" href="#webWxmpViewObject.getAlbumList">&#x23;</a>
返回合集列表。  
option 参数表（可省略）可选指定以下字段：  
- "begin": 起始索引，默认 0  
- "count": 获取数量，默认 10

### webWxmpViewObject.getArticleList(option) <a id="webWxmpViewObject.getArticleList" href="#webWxmpViewObject.getArticleList">&#x23;</a>
返回已发布文章列表。  
option 参数表（可省略）可选指定以下字段：  
- "begin": 起始索引，默认 0  
- "count": 获取数量，默认 10

### webWxmpViewObject.getBlackList(选项) <a id="webWxmpViewObject.getBlackList" href="#webWxmpViewObject.getBlackList">&#x23;</a>

```aardio
webWxmpViewObject.getUserList(  
	offset = 0;/*获取黑名单用户列表，可用选项请参考此函数源码。*/  
)
```

### webWxmpViewObject.getUserInfo <a id="webWxmpViewObject.getUserInfo" href="#webWxmpViewObject.getUserInfo">&#x23;</a>
获取用户信息

### webWxmpViewObject.getUserInfo(openId) <a id="webWxmpViewObject.getUserInfo" href="#webWxmpViewObject.getUserInfo">&#x23;</a>
获取并返回用户信息。  
参数 @openId 指定微信用户 OpenID 。

### webWxmpViewObject.getUserList(选项) <a id="webWxmpViewObject.getUserList" href="#webWxmpViewObject.getUserList">&#x23;</a>

```aardio
webWxmpViewObject.getUserList(  
	begin_create_time = 1;/*获取用户列表，可用选项请参考此函数源码。*/  
)
```

### webWxmpViewObject.lastRequestInfo <a id="webWxmpViewObject.lastRequestInfo" href="#webWxmpViewObject.lastRequestInfo">&#x23;</a>
最后一次请示使用的所有参数信息

### webWxmpViewObject.lastRequestMethod <a id="webWxmpViewObject.lastRequestMethod" href="#webWxmpViewObject.lastRequestMethod">&#x23;</a>
最后一次请示使用的HTTP方法

### webWxmpViewObject.lastRequestUrl <a id="webWxmpViewObject.lastRequestUrl" href="#webWxmpViewObject.lastRequestUrl">&#x23;</a>
获取最后一次请求的URL

### webWxmpViewObject.lastResponse() <a id="webWxmpViewObject.lastResponse" href="#webWxmpViewObject.lastResponse">&#x23;</a>
获取最后一次服务器返回的数据,  
如果控制台已打开或在开发环境中导入 console 库则在控制台输出数据  
下载文件时该值为空

### webWxmpViewObject.lastResponseContentType <a id="webWxmpViewObject.lastResponseContentType" href="#webWxmpViewObject.lastResponseContentType">&#x23;</a>
服务器响应头 Content-Type 的值

### webWxmpViewObject.lastResponseError() <a id="webWxmpViewObject.lastResponseError" href="#webWxmpViewObject.lastResponseError">&#x23;</a>
返回服务器最后一次返回的错误响应，并转换为错误对象。  
与调用 API 时转换响应数据一样，支持相同的服务器响应格式 。  
如果错误来自本地（lastStatusCode 属性为 null）则此函数返回 null 。  
如果最后一次发生请求成功，则此函数返回 null 。  

如果在参数 @1 中指定返回字段，且错误对象包含该字段则使用直接下标获取并返回字段值。  
获取字段失败返回 null 而非抛出异常

### webWxmpViewObject.lastResponseHeaders <a id="webWxmpViewObject.lastResponseHeaders" href="#webWxmpViewObject.lastResponseHeaders">&#x23;</a>
获取返回的 HTTP 响应头

### webWxmpViewObject.lastResponseHeaders("Content-Length:") <a id="webWxmpViewObject.lastResponseHeaders" href="#webWxmpViewObject.lastResponseHeaders">&#x23;</a>
获取单个指定的 HTTP 服务器响应头，返回字符串。  
参数指定HTTP头名字或部分名字，忽略大小写，忽略冒号以后部分。  
如果调用 head, headGet, headPost 等函数。  
或调用 或 API 对象的 head.get,head.post 等函数，  
则在请求成功后可调用此函数读取 HTTP 头

### webWxmpViewObject.lastResponseHeaders() <a id="webWxmpViewObject.lastResponseHeaders" href="#webWxmpViewObject.lastResponseHeaders">&#x23;</a>
获取返回的 HTTP 响应头。  
如果调用 head, headGet, headPost 等函数。  
或调用 或 API 对象的 head.get,head.post 等函数，  
则在请求成功后可调用此函数读取 HTTP 头

### webWxmpViewObject.lastResponseString() <a id="webWxmpViewObject.lastResponseString" href="#webWxmpViewObject.lastResponseString">&#x23;</a>
获取最后一次服务器返回的原始数据，  
请求失败，或者下载文件时此属性值为空

### webWxmpViewObject.lastStatusCode <a id="webWxmpViewObject.lastStatusCode" href="#webWxmpViewObject.lastStatusCode">&#x23;</a>
获取最近一次请求返回的HTTP状态码  
100 ~ 101 为信息提示  
200 ~ 206 表示请求成功  
300 ~ 305 表示重定向  
400 ~ 415 表求客户端请求出错  
500 ~ 505 表示服务端错误

### webWxmpViewObject.lastStatusMessage() <a id="webWxmpViewObject.lastStatusMessage" href="#webWxmpViewObject.lastStatusMessage">&#x23;</a>
获取最近返回的HTTP状态码文本描述  
第二个返回值为状态码

### webWxmpViewObject.messageOnly() <a id="webWxmpViewObject.messageOnly" href="#webWxmpViewObject.messageOnly">&#x23;</a>
转换为仅处理消息的隐藏窗口，不支持发送消息。

### webWxmpViewObject.ok() <a id="webWxmpViewObject.ok" href="#webWxmpViewObject.ok">&#x23;</a>
最后一次请求是否成功  
服务器应答并且状态码为2XX该函数返回真

### webWxmpViewObject.readHeaderList("字符串参数") <a id="webWxmpViewObject.readHeaderList" href="#webWxmpViewObject.readHeaderList">&#x23;</a>
获取所有指定字符串作为开始段的 HTTP 头。  
忽略大小写，不忽略冒号以后部分。  
不指定参数则读取全部响应头。  
返回键值对组成的表对象，键名转为小写，每个值都是一个数组。  
如果调用 head, headGet, headPost 等函数。  
或调用 或 API 对象的 head.get,head.post 等函数，  
则在请求成功后可调用此函数读取 HTTP 头

### webWxmpViewObject.searchComment(key,option) <a id="webWxmpViewObject.searchComment" href="#webWxmpViewObject.searchComment">&#x23;</a>
搜索公众号留言。  
@key 参数指定要搜索的关键字或用户名。  
option 指定接口选项，可省略。  
具体用法请查看函数源码。

### webWxmpViewObject.sendMessage() <a id="webWxmpViewObject.sendMessage" href="#webWxmpViewObject.sendMessage">&#x23;</a>
自动发送消息。  
参数 @1 指定用户 openid，可选用参数 @2 指定要发送的字符串 。

### webWxmpViewObject.show() <a id="webWxmpViewObject.show" href="#webWxmpViewObject.show">&#x23;</a>
显示窗口，参数为 false 隐藏窗口

### webWxmpViewObject.strictParsing <a id="webWxmpViewObject.strictParsing" href="#webWxmpViewObject.strictParsing">&#x23;</a>
对于 JSON 客户端，如果此属性设为 true：  
且服务器响应头未声明 JSON 类型，返回数据第一个字符不是 { 也不是 [，  
则直接返回包含服务器响应数据的字符串。  

此属性值默认为 null

### webWxmpViewObject.userApi <a id="webWxmpViewObject.userApi" href="#webWxmpViewObject.userApi">&#x23;</a>
微信用户信息接口。  

[返回对象:webRestApiObject](https://www.aardio.com/zh-cn/doc/library-reference/web/rest/client.html#webRestApiObject)
