

{"id":254,"date":"2023-09-15T17:46:36","date_gmt":"2023-09-15T09:46:36","guid":{"rendered":"https:\/\/www.01j.top\/?p=254"},"modified":"2023-09-15T17:46:37","modified_gmt":"2023-09-15T09:46:37","slug":"%e5%be%ae%e4%bf%a1%e5%b0%8f%e7%a8%8b%e5%ba%8f%e6%96%87%e6%9c%ac%e5%86%85%e5%ae%b9%e5%ae%89%e5%85%a8%e6%a3%80%e6%b5%8b","status":"publish","type":"post","link":"https:\/\/www.01j.top\/?p=254","title":{"rendered":"\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6587\u672c\u5185\u5bb9\u5b89\u5168\u68c0\u6d4b"},"content":{"rendered":"\n<p>\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6587\u672c\u5185\u5bb9\u5b89\u5168\u68c0\u6d4b<br>\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5b98\u65b9\u5bf9\u4e8e\u90a3\u79cd\u53ef\u4ee5\u53d1\u5e03\u5185\u5bb9\u7684\u5c0f\u7a0b\u5e8f\uff0c\u7ba1\u63a7\u5f97\u6bd4\u8f83\u4e25\uff0c\u6240\u4ee5\u8981\u505a\u7c7b\u578b\u4ee5\u53d1\u5e16\u3001\u8bba\u575b\u7c7b\u7684\u5c0f\u7a0b\u5e8f\u90fd\u8981\u505a\u5185\u5bb9\u5b89\u5168\u68c0\u6d4b<\/p>\n\n\n\n<p>\u6240\u4ee5\u60f3\u8981\u53d1\u5e03\u4e0a\u7ebf\u5c31\u8981\u505a\u5185\u5bb9\u5b89\u5168\u68c0\u6d4b<\/p>\n\n\n\n<p>\u76f4\u63a5\u770b\u6b65\u9aa4<\/p>\n\n\n\n<p>\u9996\u5148\u8981\u5199\u4e00\u4e2a\u5185\u5bb9\u68c0\u6d4b\u7684\u4e91\u51fd\u6570<br>\u524d\u7aef\u5c06\u6570\u636e\u53d1\u9001\u5230\u540e\u7aef<br>\u5728\u540e\u7aef\u8c03\u7528\u5185\u5bb9\u68c0\u6d4b\u4e91\u51fd\u6570\uff0c\u5c06\u9700\u8981\u68c0\u67e5\u7684\u6587\u672c\u4f20\u8fc7\u53bb\u68c0\u6d4b<\/p>\n\n\n\n<h2 id=\"h2-0\">\u4e00\u3001\u5185\u5bb9\u68c0\u6d4b\u4e91\u51fd\u6570<\/h2>\n\n\n\n<p><br>\u6ce8\u610f\uff1aappid \u548c appsecret\u9700\u8981\u6539\u6210\u81ea\u5df1\u9879\u76ee\u7684\uff0c\u4e0d\u77e5\u9053\u600e\u4e48\u62ff appsecret \u53ef\u4ee5 <a rel=\"noreferrer noopener\" href=\"https:\/\/jingyan.baidu.com\/article\/9f7e7ec0a038d32e2915540a.html\" data-type=\"URL\" data-id=\"https:\/\/jingyan.baidu.com\/article\/9f7e7ec0a038d32e2915540a.html\" target=\"_blank\">\u70b9\u51fb\u8fd9\u91cc<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container\">\n<pre class=\"wp-block-code\"><code>\/\/ \u4e91\u51fd\u6570\u5165\u53e3\u6587\u4ef6\r\nconst cloud = require('wx-server-sdk')\r\nconst got = require('got')\r\ncloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) \/\/ \u4f7f\u7528\u5f53\u524d\u4e91\u73af\u5883\r\n\r\nconst appid = 'wx188726xxxxxxxxxx' \/\/ AppId\r\nconst appsecret = '2b8f007972abe6dd1a5502xxxxxxxxxx' \/\/ \u5c0f\u7a0b\u5e8f\u552f\u4e00\u51ed\u8bc1\u5bc6\u94a5\r\n\r\n\/\/ \u83b7\u53d6 access_token \u503c\r\nlet tokenUrl = 'https:\/\/api.weixin.qq.com\/cgi-bin\/token?grant_type=client_credential&amp;appid=' + appid + '&amp;secret=' + appsecret\r\n\/\/ \u6587\u672c\u5185\u5bb9\u68c0\u6d4b\u63a5\u53e3\r\nlet checkUrl = 'https:\/\/api.weixin.qq.com\/wxa\/msg_sec_check?access_token='\r\n\r\n\/\/ \u4e91\u51fd\u6570\u5165\u53e3\u51fd\u6570\r\nexports.main = async (event, context) => {\r\n  let tokenResponse = await got(tokenUrl) \/\/ \u901a\u8fc7 got \u8bf7\u6c42 api\r\n  let token = JSON.parse(tokenResponse.body).access_token \/\/ JSON.parse \u5c06\u6570\u636e\u8f6c\u6362\u6210\u5bf9\u8c61\u83b7\u53d6\u5230\u5177\u4f53 access_token \u503c\r\n  \/\/ \u6587\u672c\u5185\u5bb9\u68c0\u6d4b\u63a5\u53e3\u62fc\u63a5 access_token \u503c, JSON.stringIfy \u5c06\u503c\u8f6c\u6362\u6210 JSON \u5b57\u7b26\u4e32\r\n  let checkResponse = await got(checkUrl + token, {\r\n    method: 'POST',\r\n    headers: {\r\n      'Content-Type': 'application\/json',\r\n      'accept': 'json',\r\n      'accept-encoding': ''\r\n    },\r\n    body: JSON.stringify({ content: event.text })\r\n  })\r\n  return checkResponse.body\r\n}\r\n<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<h2 id=\"h2-1\">\u4e8c\u3001\u53d1\u5e03\u7684\u6587\u672c<\/h2>\n\n\n\n<p><br>\u6211\u8fd9\u91cc\u662f\u6a21\u62df\u4e00\u4e0b\u53d1\u9001\u8bf7\u6c42<\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>publish() {\r\nwx.cloud.callFunction({\r\nname: 'addPost',\r\ndata: { text: '\u6d4b\u8bd5\u6587\u672c\u5185\u5bb9\u5b89\u5168\u68c0\u6d4b' }\r\n}).then(res => {\r\n\/\/ \u5224\u65ad\u6587\u672c\u662f\u5426\u8fdd\u89c4\r\nif(res.result.code === 1) {\r\nconsole.log('\u6587\u672c\u8fdd\u89c4 \u53d1\u5e03\u5931\u8d25\uff01')\r\n} else {\r\nconsole.log('\u6587\u672c\u5b89\u5168 \u53d1\u5e03\u6210\u529f\uff01')\r\n}\r\n})<\/code><\/pre>\n\n\n\n<h2 id=\"h2-2\">\u4e09\u3001\u63a5\u53d7\u4f20\u8fc7\u6765\u7684\u6587\u672c<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u4e91\u51fd\u6570\u5165\u53e3\u6587\u4ef6\r\nconst cloud = require('wx-server-sdk')\r\ncloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) \/\/ \u4f7f\u7528\u5f53\u524d\u4e91\u73af\u5883\r\nconst db = cloud.database()\r\n\r\n\/\/ \u4e91\u51fd\u6570\u5165\u53e3\u51fd\u6570\r\nexports.main = async (event, context) => {\r\n  try {\r\n    \/\/ \u8c03\u7528\u6587\u672c\u5185\u5bb9\u68c0\u6d4b\u4e91\u51fd\u6570\r\n    const msgSecCheckRes = await cloud.callFunction({\r\n      name: 'msgSecCheck',\r\n      data: { text: event.text } \/\/ \u5c06\u9700\u8981\u68c0\u6d4b\u7684\u6587\u672c\u4f20\u8fdb\u53bb\uff0c\u5982\u679c\u6709\u591a\u4e2a\u503c\u53ef\u4ee5\u62fc\u63a5\u4e0a\u53bb\r\n    })\r\n\r\n    \/\/ \u6587\u672c\u8fdd\u89c4\u5219 retuen \u51fa\u53bb\r\n    if(msgSecCheckRes.result.errcode != 0) {\r\n      return {\r\n        code: 1,\r\n        error: '\u6587\u5b57\u5167\u5bb9\u8fdd\u89c4',\r\n        success: false\r\n      }\r\n    }\r\n\r\n    \/\/ \u6587\u672c\u5b89\u5168 \u5219\u6267\u884c\u540e\u7eed\u64cd\u4f5c\r\n    db.collection('Post').add({ data: event.text })\r\n \r\n    return {\r\n      code: 0,\r\n      success: true\r\n    }\r\n  }\r\n  catch(err) {\r\n    console.error('transaction error')\r\n    return {\r\n      code: 1,\r\n      success: false\r\n    }\r\n  }\r\n}\r\n<\/code><\/pre>\n\n\n\n<p>\u53c2\u8003\u6587\u6863<br><a href=\"https:\/\/developers.weixin.qq.com\/miniprogram\/dev\/OpenApiDoc\/sec-center\/sec-check\/msgSecCheck.html\" data-type=\"URL\" data-id=\"https:\/\/developers.weixin.qq.com\/miniprogram\/dev\/OpenApiDoc\/sec-center\/sec-check\/msgSecCheck.html\" target=\"_blank\" rel=\"noreferrer noopener\">\u6587\u672c\u5185\u5bb9\u5b89\u5168\u8bc6\u522b<\/a><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u6587\u672c\u5185\u5bb9\u5b89\u5168\u68c0\u6d4b\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u5b98\u65b9\u5bf9\u4e8e\u90a3\u79cd\u53ef\u4ee5\u53d1\u5e03\u5185\u5bb9\u7684\u5c0f\u7a0b\u5e8f\uff0c\u7ba1\u63a7\u5f97\u6bd4\u8f83\u4e25\uff0c\u6240\u4ee5\u8981\u505a\u7c7b\u578b\u4ee5\u53d1\u5e16\u3001\u8bba\u575b\u7c7b [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[36],"tags":[],"_links":{"self":[{"href":"https:\/\/www.01j.top\/index.php?rest_route=\/wp\/v2\/posts\/254"}],"collection":[{"href":"https:\/\/www.01j.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.01j.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.01j.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.01j.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=254"}],"version-history":[{"count":2,"href":"https:\/\/www.01j.top\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions"}],"predecessor-version":[{"id":256,"href":"https:\/\/www.01j.top\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions\/256"}],"wp:attachment":[{"href":"https:\/\/www.01j.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.01j.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.01j.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}