Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
С³ÌÐòµÄȫջ¿ª·¢ÐÂʱ´ú
 
  1720  次浏览      31
 2018-10-11
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚ²®ÀÖÔÚÏß,±¾ÎÄͨ¹ý½éÉÜʲôÊÇС³ÌÐò¡¤ÔÆ¿ª·¢ÒÔ¼°ÈçºÎʹÓÃÔÆº¯Êý£¬Ú¹ÊÍÁËС³ÌÐò¿ª·¢µÄÐÂʱ´ú¡£

ʲôÊÇС³ÌÐò¡¤ÔÆ¿ª·¢

С³ÌÐò¡¤ÔÆ¿ª·¢ÊÇ΢ÐÅÍŶӺÍÌÚÑ¶ÔÆÍŶӹ²Í¬Ñз¢µÄÒ»Ì×С³ÌÐò»ù´¡ÄÜÁ¦£¬¼òÑÔÖ®¾ÍÊÇ£ºÔÆÄÜÁ¦½«»á³ÉΪС³ÌÐòµÄ»ù´¡ÄÜÁ¦¡£ÕûÌ×¹¦ÄÜÊÇ»ùÓÚÌÚÑ¶ÔÆÈ«ÐÂÍÆ³öµÄÔÆ¿ª·¢(Tencent Cloud Base)ËùÑз¢³öÀ´µÄÒ»Ì×Í걸µÄС³ÌÐòºǫ́¿ª·¢·½°¸¡£

С³ÌÐò¡¤ÔÆ¿ª·¢Îª¿ª·¢ÕßÌṩÍêÕûµÄÔÆ¶ËÁ÷³Ì£¬¼ò»¯ºó¶Ë¿ª·¢ºÍÔËά¸ÅÄÎÞÐè´î½¨·þÎñÆ÷£¬Ê¹ÓÃÆ½Ì¨ÌṩµÄ API ½øÐкËÐÄÒµÎñ¿ª·¢£¬¼´¿ÉʵÏÖ¿ìËÙÉÏÏߺ͵ü´ú¡£

¸Ã½â¾ö·½°¸Ä¿Ç°ÌṩÈý´ó»ù´¡ÄÜÁ¦Ö§³Ö£º

´æ´¢£ºÔÚС³ÌÐòǰ¶ËÖ±½ÓÉÏ´«/ÏÂÔØÔÆ¶ËÎļþ£¬ÔÚС³ÌÐòÔÆ¿ØÖÆÌ¨¿ÉÊÓ»¯¹ÜÀí

Êý¾Ý¿â£ºÒ»¸ö¼È¿ÉÔÚС³ÌÐòǰ¶Ë²Ù×÷£¬Ò²ÄÜÔÚÔÆº¯ÊýÖжÁдµÄÎĵµÐÍÊý¾Ý¿â

ÔÆº¯Êý£ºÔÚÔÆ¶ËÔËÐеĴúÂ룬΢ÐÅ˽ÓÐЭÒéÌìÈ»¼øÈ¨£¬¿ª·¢ÕßÖ»Ðè±àдҵÎñÂß¼­´úÂë

δÀ´£¬ÎÒÃÇ»¹»á¼¯³É¸ü¶àµÄ·þÎñÄÜÁ¦£¬ÎªÐ¡³ÌÐòÌṩ¸üÇ¿ÓÐÁ¦µÄÔÆ¶ËÖ§³Ö¡£

ÈçºÎʹÓÃС³ÌÐò¡¤ÔÆ¿ª·¢

ÉÏÃæ¾ÍÊÇС³ÌÐò¡¤ÔÆ¿ª·¢¼òµ¥µÄʹÓÃͼÆ×£ºÔÚС³ÌÐò¶Ë£¬Ö±½ÓÓùٷ½ÌṩµÄ½Ó¿Ú£¬ÔÚÔÆº¯Êý¶Ë£¬Ö±½ÓÓùٷ½ÌṩµÄ Node SDK£¬¾Í¿ÉÒÔ²Ù×÷ÄãÔÆµÄ×ÊÔ´¡£ÒÔǰ¿ª·¢Ð¡³ÌÐòËùµ£ÓǵÄÊý¾Ý¿â´î½¨¡¢Îļþϵͳ²¿Êð£¬Í¨Í¨Ã»ÓС£

ÄãÖ»ÐèÒªÓÐÔÚС³ÌÐò¿ª·¢ IDE ÀïÃæµÄ ÔÆ¿ª·¢£¬¿ªÍ¨Ò»Ï£¬Ìîд»·¾³ ID£¬±ã¿ÉÒÔÓµÓÐС³ÌÐòµÄÔÆÄÜÁ¦£¡

µ±È»£¬ÆäʵÓÃÔÆ¿ª·¢£¬²¢²»ÅųâÔ­Óеĺǫ́¼Ü¹¹£¬Í¨¹ýÏÂÃæµÄ¼Ü¹¹£¬ÄãÒ²¿ÉÒÔÎÞ·ìÓëÔ­Óеĺǫ́·þÎñ¼æÈÝ£¬Ò²¼ò»¯ÁËһЩС³ÌÐò¼øÈ¨µÄÂß¼­£º

½ÓÏÂÀ´£¬ÎÒ»á·Ö±ð´ÓС³ÌÐò¶Ë¡¢·þÎñ¶Ë½²ÊöÈçºÎʹÓÃÕâÐ©ÔÆ×ÊÔ´¡£

ʹÓÃÔÆÄÜÁ¦

С³ÌÐò¶Ë

¿Í»§¶Ë£¬ÕâÀïÊÇÖ¸ÔÚС³ÌÐò¶ËÖС£Èç¹ûҪʹÓÃÔÆ¿ª·¢ÄÜÁ¦£¬Çë×öÒÔÏÂÅäÖãº

1.ÔÚ app.json / game.json ÖУ¬ ÖÐÔö¼Ó×Ö¶Î "cloud": true

2.project.config.json ÖÐÔö¼ÓÁË×Ö¶Î cloudfunctionRoot ÓÃÓÚÖ¸¶¨´æ·ÅÔÆº¯ÊýµÄĿ¼

3.³õʼ»¯ÔÆ¿ª·¢ÄÜÁ¦£º

//app.js
App({
onLaunch: function () {
wx.cloud.init({
traceUser: true // Óû§ÐÅÏ¢»áÏÔʾÔÚÔÆ¿ª·¢¿ØÖÆÌ¨µÄÓû§Ãæ°åÖÐ
});
}
});

С³ÌÐò¶Ë³õʼ»¯ÄÜÁ¦Îĵµ

ÔÚÓû§¹ÜÀíÖлáÏÔʾʹÓÃÔÆÄÜÁ¦µÄС³ÌÐòµÄ·ÃÎÊÓû§ÁÐ±í£¬Ä¬ÈÏÒÔ·ÃÎÊʱ¼äµ¹ÐðÅÅÁУ¬·ÃÎÊʱ¼äµÄ´¥·¢µãÊÇÔÚС³ÌÐò¶Ëµ÷Óà wx.cloud.init ·½·¨£¬ÇÒÆäÖÐµÄ traceUser ²ÎÊý´«ÖµÎª true¡£

·þÎñ¶Ë

Èç¹ûÄãÏëÔÚÔÆº¯ÊýÖУ¬²Ù×÷Îļþ¡¢Êý¾Ý¿âºÍÔÆº¯Êý×ÊÔ´£¬Äã¿ÉÒÔʹÓÃÎÒÃÇÌṩµÄ·þÎñ¶Ë SDK ½øÐвÙ×÷¡£Ê×ÏÈ£¬½øÈëµ½ÄãµÄij¸öÔÆº¯ÊýÖУ¬°²×°ÒÔÏÂÒÀÀµ°ü£º

npm i --save tcb-admin-node

ÔÚÔÆº¯ÊýÖгõʼ»¯

// ³õʼ»¯Ê¾Àý
const app = require('tcb-admin-node');
// ³õʼ»¯×ÊÔ´
// ÔÆº¯Êýϲ»ÐèÒªsecretIdºÍsecretKey¡£
// envÈç¹û²»Ö¸¶¨½«Ê¹ÓÃĬÈÏ»·¾³
app.init({
secretId: 'xxxxx',
secretKey: 'xxxx',
env: 'xxx'
});
//ÔÆº¯ÊýÏÂʹÓÃĬÈÏ»·¾³
app.init()

//ÔÆº¯ÊýÏÂÖ¸¶¨»·¾³
app.init({
env: 'xxx'
});

·þÎñ¶Ë³õʼ»¯Îĵµ

´æ´¢

ÔÆ¿ª·¢Ìṩ´æ´¢¿Õ¼ä¡¢ÉÏ´«Îļþ¡¢ÏÂÔØÎļþ¡¢CDN¼ÓËÙÎļþ·ÃÎʵÈÄÜÁ¦,¿ª·¢Õß¿ÉÒÔÔÚС³ÌÐò¶ËÓë·þÎñ¶Ëͨ¹ý API ʹÓÃÕâЩÄÜÁ¦¡£

С³ÌÐò¶Ë


// Ñ¡ÔñͼƬ
wx.chooseImage({
success: dRes => {
// ÉÏ´«Í¼Æ¬
const uploadTask = wx.cloud.uploadFile({
cloudPath: `${Date.now()}-${Math.floor(Math.random(0, 1) * 10000000)}.png`, // Ëæ»úͼƬÃû
filePath: dRes.tempFilePaths[0], // ±¾µØµÄͼƬ·¾¶
success: console.log,
fail: console.error
});
},
fail: console.error,
});

С³ÌÐò¶Ë´æ´¢Îĵµ

·þÎñ¶Ë

const app = require('tcb-admin-node');
app.init();
app.uploadFile({
cloudPath: "cover.png",
fileContent: fs.createReadStream(`${__dirname}/cover.png`)
}).then((res) => {
console.log(res);
}).catch((err) => {
console.error(err);
});

¿ØÖÆÌ¨

ÉÏ´«ºÃµÄÎļþ£¬¾Í»á³öÏÖÔÚ¿ØÖÆÌ¨ÖУ¬ÈçÏÂͼ¡£Äã¿ÉÒÔÔÚ¿ØÖÆÌ¨Àïɾ³ý¡¢ÏÂÔØ»òÕ߲鿴ͼƬµÄÏêÇé¡£

Ä㻹¿ÉÒÔ¿ØÎļþÕûÌåµÄȨÏÞ£¬ÕâÀﻹÓÐһЩ¾ßÌåµÄ½éÉÜ¡£

·þÎñ¶Ë´æ´¢Îĵµ

Êý¾Ý¿â

С³ÌÐòÔÆÌṩÎĵµÐÍÊý¾Ý¿â ( document-oriented database )£¬Êý¾Ý¿â°üº¬¶à¸ö¼¯ºÏ£¨Ï൱ÓÚ¹ØÏµÐÍÊý¾ÝÖÐµÄ±í£©£¬¼¯ºÏ½üËÆÓÚÒ»¸ö JSON Êý×飬Êý×éÖеÄÿ¸ö¶ÔÏó¾ÍÊÇÒ»Ìõ¼Ç¼£¬¼Ç¼µÄ¸ñʽÊÇ JSON Îĵµ¡£

ÿÌõ¼Ç¼¶¼ÓÐÒ»¸ö _id ×Ö¶ÎÓÃÒÔΨһ±êÖ¾ÕâÌõ¼Ç¼¡¢Ò»¸ö _openid ×Ö¶ÎÓÃÒÔ±êÖ¾¼Ç¼µÄ´´½¨Õߣ¬¼´Ð¡³ÌÐòµÄÓû§¡£¿ª·¢Õß¿ÉÒÔ×Ô¶¨Òå _id£¬µ«²»¿ÉÔÚС³ÌÐò¶Ë×Ô¶¨Ò壨ÔÚ·þÎñ¶Ë¿ÉÒÔ£© _openid ¡£_openid ÊÇÔÚÎĵµ´´½¨Ê±ÓÉϵͳ¸ù¾ÝС³ÌÐòÓû§Ä¬ÈÏ´´½¨µÄ£¬¿ª·¢Õß¿ÉʹÓÃÆäÀ´±êʶºÍ¶¨Î»Îĵµ¡£

Êý¾Ý¿â API ·ÖΪС³ÌÐò¶ËºÍ·þÎñ¶ËÁ½²¿·Ö£¬Ð¡³ÌÐò¶Ë API ÓµÓÐÑϸñµÄµ÷ÓÃȨÏÞ¿ØÖÆ£¬¿ª·¢Õß¿ÉÔÚС³ÌÐòÄÚÖ±½Óµ÷Óà API ½øÐзÇÃô¸ÐÊý¾ÝµÄ²Ù×÷¡£¶ÔÓÚÓиü¸ß°²È«ÒªÇóµÄÊý¾Ý£¬¿ÉÔÚÔÆº¯ÊýÄÚͨ¹ý·þÎñ¶Ë API ½øÐвÙ×÷¡£Ôƺ¯ÊýµÄ»·¾³ÊÇÓë¿Í»§¶ËÍêÈ«¸ôÀëµÄ£¬ÔÚÔÆº¯ÊýÉÏ¿ÉÒÔ˽ÃÜÇÒ°²È«µÄ²Ù×÷Êý¾Ý¿â¡£

Êý¾Ý¿â API °üº¬Ôöɾ¸Ä²éµÄÄÜÁ¦£¬Ê¹Óà API ²Ù×÷Êý¾Ý¿âÖ»ÐèÈý²½£º»ñÈ¡Êý¾Ý¿âÒýÓᢹ¹Ôì²éѯ/¸üÐÂÌõ¼þ¡¢·¢³öÇëÇó¡£Çмǣ¬ÔÚ²Ù×÷Êý¾Ý¿âǰ£¬ÇëÏÈÔÚ¿ØÖÆÌ¨Öд´½¨ collection¡£

С³ÌÐò¶Ë

const db = wx.cloud.database();
// ²åÈëÊý¾Ý
db.collection('photo').add({
data: {
photo: 'cloud://tcb-xxx/05ca1d38f86f90d66d4751a730379dfa6584dde05ab4-Ma9vMN_fw658.jpg',
title: '·ç¾°'
}
});
// ÌáÈ¡Êý¾Ý
db.collection('photo').get().then((res) => {
let data = res.data;
console.log(data);
});
// Êä³ö
// ÔÚС³ÌÐò¶Ë£¬ _openid »á×Ô¶¯²åÈëµ½Êý¾Ý¿âÖÐ
{
photo: 'cloud://tcb-xxx/05ca1d38f86f90d66d4751a730379dfa6584dde05ab4-Ma9vMN_fw658.jpg',
title: '·ç¾°',
_openid: 'oLlMr5FICCQJV-QgVLVzKu1212341'
}

С³ÌÐò¶ËÊý¾Ý¿âÎĵµ

·þÎñ¶Ë

const app = require('tcb-admin-node');
app.init();
const db = app.database();
db.collection('photo').limit(10).get().then((res) => {
console.log(res);
}).catch((err) => {
console.error(err);
});
// Êä³ö
// ÒòΪÊÇÔÚ·þÎñ¶Ë£¬ÆäËüÓû§µÄÒ²¿ÉÒÔÌáÈ¡³öÀ´
{
photo: 'cloud://tcb-xxx/05ca1d38f86f90d66d4751a730379dfa6584dde05ab4-Ma9vMN_fw658.jpg',
title: '·ç¾°',
_openid: 'oLlMr5FICCQJV-QgVLVzKu1342121'
}
{
photo: 'cloud://tcb-xxx/0dc3e66fd6b53641e328e091ccb3b9c4e53874232e6bf-ZxSfee_fw658.jpg',
title: 'ÃÀÅ®',
_openid: 'DFDFEX343xxdf-QgVLVzKu12452121'
}
{
photo: 'cloud://tcb-xxx/104b27e339bdc93c0da15a47aa546b6e9c0e3359c315-L8Px2Y_fw658.jpg',
title: '¶¯Îï',
_openid: 'DFDFEX343xxdf-QgVLVzKu1342121'
}

·þÎñ¶ËÊý¾Ý¿âÎĵµ

¿ØÖÆÌ¨

¿ÉÒÔÔÚ¿ØÖÆÌ¨À¿´µ½Óû§²Ù×÷µÄÊý¾Ý£¬ÄãÒ²¿ÉÒÔ×Ô¼ºÔÚ¿ØÖÆÌ¨ÉÏÌí¼Ó¡¢¸üлòɾ³ýÊý¾Ý¡£

Èç¹ûÊý¾ÝÁ¿ÅӴ󣬿ÉÒÔÉèÖÃË÷ÒýÌṩ²éѯµÄЧÂÊ¡£

Êý¾Ý¿âÒ²¿ÉÒÔͨ¹ýÉèÖÃȨÏÞ£¬¹Ü¿ØÃ¿¸ö collection¡£

ÔÆº¯Êý

ÔÆº¯ÊýÊÇÒ»¶ÎÔËÐÐÔÚÔÆ¶ËµÄ´úÂ룬ÎÞÐè¹ÜÀí·þÎñÆ÷£¬ÔÚ¿ª·¢¹¤¾ßÄÚÒ»¼üÉÏ´«²¿Êð¼´¿ÉÔËÐкó¶Ë´úÂë¡£

¿ª·¢Õß¿ÉÒÔÔÚÔÆº¯ÊýÄÚ»ñÈ¡µ½Ã¿´Îµ÷ÓõÄÉÏÏÂÎÄ£¨appid¡¢openid µÈ£©£¬ÎÞÐèά»¤¸´ÔӵļøÈ¨»úÖÆ£¬¼´¿É»ñÈ¡ÌìÈ»¿ÉÐÅÈεÄÓû§µÇ¼̬£¨openid£©¡£

С³ÌÐò¶Ë

wx.cloud.callFunction({
name: 'addblog', // ÔÆº¯ÊýÃû³Æ
data: { // ´«µ½Ôƺ¯Êý´¦ÀíµÄ²ÎÊý
title: 'ÔÆ¿ª·¢ TCB',
content: '´æ´¢¡¢Êý¾Ý¿â´æ¡¢Ôƺ¯Êý'
}
}).then(res => {
console.log(res)
}).catch((err) => {
console.error(err);
});

·þÎñ¶Ë

const app = require("tcb-admin-node");
app.init();
app.callFunction({
name: 'addblog', // ÔÆº¯ÊýÃû³Æ
data: { // ´«µ½Ôƺ¯Êý´¦ÀíµÄ²ÎÊý
title: 'ÔÆ¿ª·¢ TCB',
content: '´æ´¢¡¢Êý¾Ý¿â´æ¡¢Ôƺ¯Êý'
}
}).then((res) => {
console.log(res);
}).catch((err) => {
console.error(err);
});

·þÎñ¶ËÔÆº¯ÊýÎĵµ

¿ØÖÆÌ¨

ÉÏ´«ºÃÖ®ºóµÄÔÆº¯Êý£¬¶¼»áÔÚÕâÀïÂÞÁгöÀ´¡£

ÿ´Îµ÷ÓÃÔÆº¯Êý£¬¶¼¿ÉÒÔÔÚÕâÀï¿´µ½ÈÕÖ¾£¬»¹¿ÉÒÔ¹¹Ôì²âÊԵIJÎÊý£¬ÓÃÓÚµ÷ÊÔ¡£

Óï·¨ÌÇ

´ó²¿·ÝµÄ½Ó¿Ú£¬Ä¿Ç°¶¼Ö§³ÖÁ½ÖÖд·¨£¬·Ö±ðÊÇPromise ºÍ Async/Await£¬±¾½ÚÒÔ callFunction ×÷ΪÀý×Ó£¬ÔÚÔÆº¯ÊýÖнéÉÜÕâÁ½ÖÖд·¨¡£ Async/Await ±¾ÖÊÉÏÊÇ»ùÓÚ Promise µÄÒ»ÖÖÓï·¨ÌÇ£¬ËüÖ»ÊÇ°Ñ Promise ת»»³Éͬ²½µÄд·¨¶øÒÑ¡£

Promise

const app = require("tcb-admin-node");
app.init();
exports.main = (event, context, callback) => {
app.callFunction({
name: 'addblog', // ÔÆº¯ÊýÃû³Æ
data: { // ´«µ½Ôƺ¯Êý´¦ÀíµÄ²ÎÊý
title: 'ÔÆ¿ª·¢ TCB',
content: '´æ´¢¡¢Êý¾Ý¿â´æ¡¢Ôƺ¯Êý'
}
}).then((res) => {
console.log(res);
callback(null, res.data);
}).catch((err) => {
callback(err);
});
};

Async/Await

const app = require("tcb-admin-node");
app.init();
exports.main = async (event, context) => {
let result = null;
try {
result = await app.callFunction({
name: 'addblog', // ÔÆº¯ÊýÃû³Æ
data: { // ´«µ½Ôƺ¯Êý´¦ÀíµÄ²ÎÊý
title: 'ÔÆ¿ª·¢ TCB',
content: '´æ´¢¡¢Êý¾Ý¿â´æ¡¢Ôƺ¯Êý'
}
});
}
catch (e) {
return e;
}
return result;
};

ÔÚÔÆº¯ÊýÀïʹÓã¬ÓÉÓÚÊÇ Node 8.9 »òÒÔÉϵĻ·¾³£¬Òò´ËÌìȻ֧³Ö Async/Await Úµ·¨£¬µ«ÔÚС³Ì¶ËҪʹÓõϰ£¬ÐèÒª¶îÍâÒýÈë Polyfill£¬±ÈÈçÕâ¸ö¿ªÔ´µÄÏîÄ¿£ºregenerator

 

   
1720 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì