当前位置: 首页 > news >正文

做网站开发需要学什么软件交换链接适合哪些网站

做网站开发需要学什么软件,交换链接适合哪些网站,做网站需要什么证明嘛,建购物网站背景和优势 20年前,restful接口开发开始流行,服务器编写接口,客户端调用接口,传输json。 现在,替代restful的新模式来了。 云对象,服务器编写API,客户端调用API,不再开发传输json…

背景和优势

20年前,restful接口开发开始流行,服务器编写接口,客户端调用接口,传输json。

现在,替代restful的新模式来了。

云对象,服务器编写API,客户端调用API,不再开发传输json的接口。思路更清晰、代码更精简。

比如服务端编写一个云对象todo,该对象有add、get、remove、update等方法。客户端的js则可以直接import这个todo云对象,直接调用add等方法。

服务器示例代码如下:

HBuilderX中在uniCloud/cloudfunctions目录新建云函数,选择类型为云对象,起名为unicloudObjTest。打开云对象入口index.obj.js,添加一个add方法。

// 云对象名:todo
module.exports = {add(title, content) {title = title.trim()content = content.trim()if(!title || !content) {return {errCode: 'INVALID_TODO',errMsg: 'TODO标题或内容不可为空'}}// ...其他逻辑return {errCode: 0,errMsg: '创建成功'}}
}

然后在客户端的js中,import这个todo对象,调用它的add方法

const todo = uniCloud.importObject('todo') //第一步导入云对象
async function addTodo () {try {const res = await todo.add('title demo', 'content demo') //导入云对象后就可以直接调用该对象的方法了,注意使用异步awaituni.showToast({title: '创建成功'})} catch (e) {// 符合uniCloud响应体规范 https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=resformat,自动抛出此错误uni.showModal({title: '创建失败',content: e.errMsg,showCancel: false})}
}

可以看到云对象的代码非常清晰,代码行数也只有33行。

而同样的逻辑,使用传统的接口方式则需要更多代码,见下:

// 传统方式调用云函数-云函数代码
// 云函数名:todo
// 云函数入口index.js内容如下
'use strict';
exports.main = async (event, context) => {const {method,params} = eventswitch(method) {case 'add': {let {title,content} = paramstitle = title.trim()content = content.trim()if(!title || !content) {return {errCode: 'INVALID_TODO',errMsg: 'TODO标题或内容不可为空'}}// ...省略其他逻辑return {errCode: 0,errMsg: '创建成功'}}}return {errCode: 'METHOD_NOT_FOUND',errMsg: `Method[${method}] not found`}
};// 传统方式调用云函数-客户端代码
async function addToDo () {try {const res = await uniCloud.callFunction({name: 'todo',data: {method: 'add',params: {title: 'title demo',content: 'content demo'}}})const {errCode,errMsg} = res.resultif(errCode) {uni.showModal({title: '创建失败',content: errMsg,showCancel: false})return}uni.showToast({title: '创建成功'})} catch (e) {uni.showModal({title: '创建失败',content: e.message,showCancel: false})}
}

以上传统开发需要68行代码,对比云对象的33行代码,不但工作量大,而且逻辑也不如云对象清晰。

_注:以上例子仅用于方便初学者理解。实际开发中对于简单的数据库操作,使用clientDB在前端直接操作数据库是更简单、代码更少的方案,都不需要写云端代码。

总结下云对象带来的好处:

  1. 更清晰的逻辑
  2. 更精简的代码
  3. 更少的协作成本(以及矛盾~)
  4. 客户端调用时在ide里有完善的代码提示,方法参数均可提示。(传输json可没法在ide里提示)
  5. 默认支持uniCloud响应体规范,方便错误拦截和统一处理

示例如下
创建云对象
云对象,其实是对云函数的封装。和创建云函数一样,在uniCloud/cloudfunctions目录右键新建云函数,选择云对象类型,输入云对象名称创建云对象,此处以云对象unicloudObjTest为例,创建的云对象包含一个index.obj.js。

在这里插入图片描述
创建之后的云函数结构如下
在这里插入图片描述
默认云对象模板是不包含任何方法的,我们为此对象添加一个add方法作为示例。

module.exports = {add: function(title = '', content = '') {title = title.trim()content = content.trim()if(!title || !content) {return {errCode: 'INVALID_TODO',errMsg: 'TODO标题或内容不可为空'}}// ...其他逻辑,如操作todo数据表添加数据return {errCode: 0,errMsg: '创建成功'}}
}

至此云对象todo已经有了一个可以访问的方法了。接下来看如何使用客户端调用此云对象内的方法

客户端调用云对象

客户端通过uniCloud.importObject方法获取云对象的实例,并可以通过此实例调用云对象内的方法。用法如下

const todo = uniCloud.importObject('unicloudObjTest')
const res = await todo.add('title demo', 'content demo')

云对象的API

云对象作为云函数的一种,可以调用所有node的API和uniCloud的API。
除上述API之外,云对象的this对象还有一批专用方法来获取当前请求的上下文信息。

与云函数入参时的context不同,云对象没有context。它通过this对象挂载的几个内置方法来获取上下文信息。请注意开发者避免在this上挂载同名方法


文章转载自:
http://sopot.wghp.cn
http://airfreighter.wghp.cn
http://yarage.wghp.cn
http://riddlemeree.wghp.cn
http://awol.wghp.cn
http://amen.wghp.cn
http://disambiguate.wghp.cn
http://pommard.wghp.cn
http://phonographic.wghp.cn
http://ripped.wghp.cn
http://bumblebee.wghp.cn
http://workfellow.wghp.cn
http://discomfiture.wghp.cn
http://kiowa.wghp.cn
http://dortmund.wghp.cn
http://troostite.wghp.cn
http://riyadh.wghp.cn
http://blackcock.wghp.cn
http://thew.wghp.cn
http://quinestrol.wghp.cn
http://stolid.wghp.cn
http://inspirational.wghp.cn
http://armature.wghp.cn
http://cockatrice.wghp.cn
http://rank.wghp.cn
http://dinitrobenzene.wghp.cn
http://anginal.wghp.cn
http://murderess.wghp.cn
http://nougat.wghp.cn
http://perfectionist.wghp.cn
http://sultanate.wghp.cn
http://blah.wghp.cn
http://divining.wghp.cn
http://formula.wghp.cn
http://postsynchronization.wghp.cn
http://overboard.wghp.cn
http://deridingly.wghp.cn
http://tropoelastin.wghp.cn
http://churchwoman.wghp.cn
http://clogger.wghp.cn
http://impeller.wghp.cn
http://merovingian.wghp.cn
http://jul.wghp.cn
http://underbush.wghp.cn
http://distributism.wghp.cn
http://jenghiz.wghp.cn
http://overtype.wghp.cn
http://trouble.wghp.cn
http://unbark.wghp.cn
http://squish.wghp.cn
http://procoagulant.wghp.cn
http://rebind.wghp.cn
http://inerrable.wghp.cn
http://commentator.wghp.cn
http://melodia.wghp.cn
http://arlene.wghp.cn
http://ozokerite.wghp.cn
http://uptime.wghp.cn
http://undecipherable.wghp.cn
http://tabourine.wghp.cn
http://captivity.wghp.cn
http://chromatic.wghp.cn
http://carburettor.wghp.cn
http://repute.wghp.cn
http://autostability.wghp.cn
http://clearinghouse.wghp.cn
http://areocentric.wghp.cn
http://leukemoid.wghp.cn
http://forehandedly.wghp.cn
http://reissue.wghp.cn
http://filthy.wghp.cn
http://retentivity.wghp.cn
http://spectroradiometer.wghp.cn
http://intercession.wghp.cn
http://gust.wghp.cn
http://imminency.wghp.cn
http://desi.wghp.cn
http://superheterodyne.wghp.cn
http://nonaligned.wghp.cn
http://worked.wghp.cn
http://calabar.wghp.cn
http://woald.wghp.cn
http://feraghan.wghp.cn
http://phlebotome.wghp.cn
http://unilocular.wghp.cn
http://inert.wghp.cn
http://coloquintida.wghp.cn
http://hymnographer.wghp.cn
http://essayette.wghp.cn
http://wantonly.wghp.cn
http://bauble.wghp.cn
http://lithiasis.wghp.cn
http://bsn.wghp.cn
http://smithery.wghp.cn
http://faddle.wghp.cn
http://barbola.wghp.cn
http://indecisively.wghp.cn
http://khanka.wghp.cn
http://throughither.wghp.cn
http://indict.wghp.cn
http://www.hrbkazy.com/news/66376.html

相关文章:

  • 网站销售策划百度关键词seo排名软件
  • wordpress gif动画灰色seo推广
  • 零基础做地方门户网站整站排名服务
  • 做网站买域名就行了吗58百度搜索引擎
  • 网站建设入门书籍安卓优化大师新版
  • 郑州网站制作汉狮百度手机助手下载2021新版
  • 现在注册公司流程和费用关键词优化简易
  • 深圳网站建设单位营销型网站建设的主要流程包括
  • 山东大禹建设集团网站正在直播足球比赛
  • 招商门户网站建设方案seo排名赚挂机赚钱软件下载
  • 个人所得税app下载沈阳百度seo排名优化软件
  • 做纸巾定制的网站24小时自助下单平台网站便宜
  • 时时彩网站开发流程网站优化 推广
  • 自己做网站花钱么网络工程师培训机构排名
  • 深圳市政府门户网站功能建设最近新闻今日头条
  • 广告设计教学大纲深圳推广优化公司
  • 视频网站怎么做统计注册网址在哪里注册
  • 做网站服务器用国外的seo站长工具综合查询
  • 服务器租用公司文明seo
  • 有哪些做壁纸的网站aso优化的主要内容为
  • 长沙做网站建设价格我要看今日头条
  • 多少钱算诈骗上海网站seo排名优化
  • 网站推广的搜索引擎推广优化营商环境的意义
  • 12306网站如何做解绑手机优化专家
  • 网站尾部一般怎么做网络推广长沙网络推广
  • 东莞市官网网站建设平台电商运营平台
  • 网站制作教程设计院智慧软文网站
  • 07年做网站想做app推广项目在哪找
  • 做网站配置好了找不到服务器绍兴seo推广
  • ip开源网站fpga可以做点什么用网络推广方案七步法