解释代码formSubmit: function () { var that = this; //如果openid不存在,就重新请求接口获取openid var openid = app.globalData.openid; if (openid === null || openid === undefined) { app.getOpenid(); wx.showToast({ //这里提示失败原因 title: 'openid为空!', duration: 1500 }) return; } let username = that.data.username; let phone = that.data.phone; let zhuohao = that.data.zhuohao; let renshu = that.data.renshu; let first = that.data.first; if (username == '' || username == undefined) { wx.showToast({ title: '用户名不能为空', icon: 'none' }) return; } if (phone == '' || phone == undefined) { wx.showToast({ title: '手机号不能为空', icon: 'none' }) return; } wx.request({ url: app.globalData.baseUrl + '/user/save', method: "POST", header: { "Content-Type": "application/x-www-form-urlencoded" }, data: { openid: openid, username: username, phone: phone, zhuohao: zhuohao == undefined ? '' : zhuohao, renshu: renshu == undefined ? '' : renshu, money: first ? 1000 : 0 //第一次注册送1000积分 }, success(res) { if (res && res.data && res.data.data) { console.log("修改成功", res.data) wx.showToast({ title: '修改成功', }) let user = app.globalData.vipInfo Object.assign(user, res.data.data) app.globalData.vipInfo = user app._getMyUserInfo(); } // wx.navigateBack(); wx.switchTab({ url: '/pages/me/me' }) }, fail(res) { console.log("提交失败", res) } }) },
时间: 2023-12-02 10:06:40 浏览: 196
这是一个小程序的表单提交函数,主要的逻辑如下:
1. 首先获取全局变量中的openid,如果不存在则调用app.getOpenid()获取openid,并且弹出一个提示框。
2. 获取表单中的用户名、手机号、桌号、人数和第一次注册标志。
3. 对于用户名和手机号进行非空判断,如果为空则弹出一个提示框并且返回。
4. 使用wx.request()函数向后端发送一个POST请求,请求的URL是全局变量app.globalData.baseUrl + '/user/save',请求头中Content-Type是"application/x-www-form-urlencoded"。
5. 请求体中包含openid、用户名、手机号、桌号、人数和第一次注册送积分的标志。
6. 如果请求成功,则将返回的数据合并到全局变量app.globalData.vipInfo中,并且调用app._getMyUserInfo()函数更新用户信息,然后跳转到“我”的页面。
7. 如果请求失败,则在控制台打印“提交失败”。
相关问题
在微信公众平台上创建模版并获取模版 ID。 调用模版消息接口,发送模版消息。 代码如下:
好的,我会尽力帮你。
首先,要在微信公众平台上创建模板,你需要先登录你的微信公众平台账号,然后依次点击“消息推送”、“模板消息”、“添加模板”。这时,你就可以在弹出的页面上输入模板标题和内容,然后点击“提交”按钮。提交成功后,你就可以在列表中看到这个模板,并获得它的模板 ID。
获取模板 ID 的代码如下:
```
const templateId = "your_template_id";
```
要调用模板消息接口,发送模板消息,你需要使用微信公众平台的模板消息接口。这个接口需要你提供一些参数,包括:
- `access_token`:你的公众号调用接口凭证。
- `touser`:接收模板消息的用户的 OpenID。
- `template_id`:要发送的模板 ID。
- `form_id`:表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id。
- `data`:模板内容,包括参数和参数值。
调用接口的代码如下:
```
const sendTemplateMessage = async () => {
const url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send";
const params = {
access_token: "
https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send
这是一个微信小程序的模板消息发送接口,可以向用户发送模板消息。
请求方式:POST
请求地址:https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN
其中,`ACCESS_TOKEN` 需要使用有效的 access_token 替换。
请求参数:
| 参数名称 | 必选 | 类型 | 说明 |
| -------- | ---- | ---- | ---- |
| touser | 是 | string | 接收者(用户)的 openid |
| weapp_template_msg | 是 | object | 小程序模板消息相关的信息 |
| mp_template_msg | 否 | object | 公众号模板消息相关的信息 |
| miniprogram_state | 否 | string | 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 |
| lang | 否 | string | 模板内容字体的颜色,不填默认黑色。 |
其中,`weapp_template_msg` 和 `mp_template_msg` 二选一,分别对应小程序和公众号的模板消息:
| 参数名称 | 必选 | 类型 | 说明 |
| -------- | ---- | ---- | ---- |
| template_id | 是 | string | 模板 ID |
| page | 否 | string | 跳转页面 |
| form_id | 是 | string | 表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id |
| data | 是 | object | 模板内容,key 是模板占位符,value 是占位符对应的内容 |
完整示例:
```json
{
"touser": "openid",
"weapp_template_msg": {
"template_id": "template_id",
"page": "index",
"form_id": "form_id",
"data": {
"keyword1": {
"value": "value1",
"color": "#173177"
},
"keyword2": {
"value": "value2",
"color": "#173177"
},
"keyword3": {
"value": "value3",
"color": "#173177"
}
},
"emphasis_keyword": "keyword1.DATA"
},
"miniprogram_state": "developer",
"lang": "zh_CN"
}
```
响应参数:
| 参数名称 | 类型 | 说明 |
| -------- | ---- | ---- |
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| msgid | number | 消息id |
更多信息可以参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/template-message/templateMessage.send.html
阅读全文