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

武昌网站建设价格多少如何选择宣传片制作

武昌网站建设价格多少,如何选择宣传片制作,wordpress添加微信扫码支付,邯郸市属于哪个省目录 云对象 创建云对象 客户端调用 二、Schema#xff08;表结构#xff09; 什么是Schema#xff1f; 如何编写DB Schema Schema的一级节点 客户端直连数据库 字段属性 字段类型bsonType 默认值defaultValue/forceDefaultValue 云对象 创建云对象 云对象#…目录 云对象 创建云对象 客户端调用 二、Schema表结构 什么是Schema 如何编写DB Schema Schema的一级节点 客户端直连数据库 字段属性 字段类型bsonType 默认值defaultValue/forceDefaultValue 云对象 创建云对象 云对象其实是对云函数的封装。和创建云函数一样在uniCloud/cloudfunctions目录右键新建云函数选择云对象类型输入云对象名称创建云对象此处以云对象todo为例创建的云对象包含一个index.obj.js。 默认云对象模板是不包含任何方法的我们为此对象添加一个add方法作为示例。  // cloudfunctions/todo/index.obj.js 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(todo) try {const res await todo.add(title demo, content demo) //导入云对象后就可以直接调用该对象的方法了注意使用异步awaitconsole.log(res) } catch (e) {console.log(e.errCode)console.log(e.errMsg) } 二、Schema表结构 什么是Schema Schema也称架构是限制数据库的一些权限。如果直接在页面调用数据库是需要校验的。直接就能操作数据库是一件很危险的事。 DB Schema是基于 JSON 格式定义的数据结构的规范。 每张表/集合都有一个表名.schema.json的文件来描述表的信息、字段的信息。 一个表的简单schema.json示例如下 {bsonType: object, // 固定节点description: 该表的描述,required: [], // 必填字段列表properties: { // 该表的字段清单_id: { // 字段名称每个表都会带有_id字段description: ID系统自动生成// 这里还有很多字段属性可以设置},field2: { // 字段2每个表都会带有_id字段description: // 这里还有很多字段属性可以设置}} }如何编写DB Schema 方式1在HBuilderX中编写schema推荐 在HBuilderX中编写schema有良好的语法提示和语法校验还可以本地调试是更为推荐的schema编写方案。 创建schema 在uniCloud项目右键选择创建database目录如已有目录则忽略在 database 目录右键选择新建数据集合schema ​ HBuilderX内创建的schema新建和保存时不会自动上传 上传schema 在单个schema文件右键可以只上传当前选中的schema。快捷键是【Ctrlu】。Ctrlu是HBuilderX的通用快捷键不管是发布App还是上传云函数、schema都是Ctrlu在database目录右键可以上传全部schema 下载schema database目录右键可以下载所有schema及扩展校验函数 HBuilderX中运行前端项目在控制台选择连接本地云函数或者本地云函数/云对象直接运行此时本地编写的schema可直接生效无需上传。方便编写调试。 方式2在web控制台编写schema 登录 uniCloud控制台选中一个数据表点击表右侧页签 “表结构”点击 “编辑” 按钮在编辑区域编写 Schema编写完毕后点保存按钮即可生效。 web控制台上编辑DB Schema保存后是实时在现网生效的请注意对现网商用项目的影响。 Schema的一级节点 {bsonType: object, // 固定节点description: 表的描述,required: [], // 必填字段permission: {read: false, // 前端非admin的读取记录权限控制。默认值是false即可以不写。可以简单的true/false也可以写表达式create: false, // 前端非admin的新增记录权限控制。默认值是false即可以不写。可以简单的true/false也可以写表达式update: false, // 前端非admin的更新记录权限控制。默认值是false即可以不写。可以简单的true/false也可以写表达式delete: false, // 前端非admin的删除记录权限控制。默认值是false即可以不写。可以简单的true/false也可以写表达式count: false // 前端非admin的求数权限控制。默认值是true即可以不写。可以简单的true/false也可以写表达式},properties: { // 表的字段清单_id: { // 字段名称每个表都会带有_id字段description: ID系统自动生成// 这里还有很多字段属性可以设置}},fieldRules:[// 字段之间的约束关系。比如字段开始时间小于字段结束时间。也可以只校验一个字段。支持表达式] }注意 对数据进行数量统计时包括count方法、及groupField内的count操作均会同时触发表级的count权限及read权限 客户端直连数据库 从云端下载对应的Schema 点击database再选择下载所有DB Schema 这个选项。 .开权限 只是下载下来Schema是没办法使用的因为没有开权限。修改对应的Schema表里的permission里的对应权限的操作最简单的就是把false修改为true。 新建表 不需要在云端数据库直接建表可以在HBuilder X里新建SChema表之后再上传到云端就可以同步了。 客户端直连 scriptconst db uniCloud.database()export default {data() {return {}},onLoad() {db.collection(article).get().then(res {console.log(res);})},methods: {}} /script 字段属性 基本bsonTypeany字段类型如json object、字符串、数字、bool值、日期、时间戳具体见下表bsonType可用类型基本arrayTypeString数组项类型bsonTypearray 时有效HBuilderX 3.1.0 支持具体见下表arrayType可用类型基本titlestring标题开发者维护时自用。在schema2code生成前端表单代码时默认用于表单项前面的label基本descriptionstring描述开发者维护时自用。在生成前端表单代码时如果字段未设置componentForEdit且字段被渲染为input那么input的placehold将默认为本描述基本defaultValuestring|Object默认值 则resume.schema.json按如下编写。 {bsonType: object,required: [name, birth_year, tel, email],permission: {read: true,create: true,update: true,delete: true},properties: {_id: {description: ID系统自动生成},name: {bsonType: string,title: 姓名,trim: both,minLength: 2,maxLength: 17},birth_year: {bsonType: int,title: 出生年份,minimum: 1950,maximum: 2020},tel: {bsonType: string,title: 手机号码,pattern: ^\\?[0-9-]{3,20}$,trim: both},email: {bsonType: string,title: email,format: email,trim: both},address: {bsonType: object,title: 地址,required: [city],properties: {city: {bsonType: string,title: 城市},street: {bsonType: string,title: 街道,trim: both}}},intro:{bsonType: string,title: 简介,trim: both}} } 意 把permission改成所有人可操作是为了测试方便真实业务时需按照业务需求调整需学习uni-id后方可掌握真实业务不推荐address下设city和street拉平层级更好。另外city应该通过enum关联另一个城市表在候选城市列表中选择后续在enum文档中举例 schema保存后可以通过代码测试。注意在uniCloud web控制台修改数据不受schema限制只有通过JQL操作数据时schema才生效。 我们在前端测试工程里新加一个按钮“添加数据” templateview classcontentbutton clickaddresume()添加数据/button/view /templatescriptconst db uniCloud.database();export default {data() {return {}},methods: {addresume() {db.collection(resume).add({name: 1,birth_year: 1949,tel: 1,email: 1}).then((res) {// res 为数据库查询结果console.log(res)}).catch((err) {console.log(err.message)});}} /script可以看到不符合规则的数据无法通过JQL操作入库。可以依次把各个字段的测试值修正为合法格式测试直到可以正常入库。 成功后res会返回新增记录的id也可以在web控制台看到新增的数据。 失败的提示语也可以通过errorMessage自定义。 成功后再次点击“添加数据”按钮会发现重复数据插入。避免这种情况需要设置索引比如将tel字段设为唯一索引。详见 官方推出了openDB开源数据库规范包括用户表、文章表、商品表等很多模板表这些模板表均已经内置DB Schema可学习参考。详见 schema 国际化方案 详见 字段类型bsonType bool布尔值true|falsestring字符串password一种特殊的string。这类字段不会通过clientDB传递给前端所有用户都不能通过clientDB读写即使是admin管理员。uni-id-user表有示例int整数double精度数。由于浮点精度问题慎用objectjson对象。地理位置也属于objectfile一种特殊的object固定格式存放云存储文件的信息。不直接存储文件而是一个json object包括云存储文件的名称、路径、文件体积等信息。HBuilderX 3.1.0 array数组timestamp时间戳date日期 复杂格式说明 timestamp是一串数字的时间戳一般通过如下js获取var timestamp new Date().getTime()。它的好处是屏蔽了时区差异。阿里云和腾讯云的云端时区是0但在HBuilderX本地运行云函数时如果是中国的电脑时区则会变成8导致显示错乱。所以推荐使用时间戳。但时间戳是一串记录毫秒的数字不合适直接渲染到前端界面上。推荐的做法是在前端渲染时使用uni-dateformat组件。日期和地理位置在web控制台的数据库管理界面上无法直接在引号里录入值需参考文档double类型慎重由于js不能精准处理浮点运算0.10.20.30000000000000004。所以涉及金额时建议使用int而不是double以分为单位而不是以元为单位存储。比如微信支付默认就是以分为单位。如果使用uniPay处理支付的话它的默认单位也是分。file的json object格式存储文件的基本信息和路径如下 默认值defaultValue/forceDefaultValue defaultValue和forceDefaultValue都是默认值即新增一行数据记录时如果字段内容未提供则按默认值填充该字段内容。但2者也有区别如下 defaultValue没有强制力是普通的默认值如果客户端上传一个其他值则按客户端传的值为准。forceDefaultValue则是schema强制约定的值不管客户端传什么都无法修改。只要数据库新增一条记录字段的值就会是forceDefaultValue。 在实际开发中forceDefaultValue常用于设置为当前服务器时间、当前登录用户id、客户端ip等。 这些数据都不能通过前端上传不安全。过去只能在云端写云函数操作。在schema配置后则可以不用写云函数。使用JQL新增数据记录时会自动补齐这些数据。 defaultValue/forceDefaultValue内可以使用固定值还可以使用预置变量$env形式如下 forceDefaultValue: {$env: now }预置变量$env可取值如下 变量说明now当前服务器时间戳clientIP当前客户端IPuid当前用户Id基于uni-id。如果当前用户未登录或登录状态无效会报错 示例 // 指定默认值为true defaultValue: true// 指定强制默认值为当前服务器时间戳 forceDefaultValue: {$env: now }// 指定强制默认值为当前客户端IP forceDefaultValue: {$env: clientIP }// 指定强制默认值为当前客户id forceDefaultValue: {$env: uid }以resume表为例新增一个字段create_time表示记录的创建时间。 该字段的defaultValue指定为服务器时间。新增记录时若前端不传该字段则默认为当前服务器时间。若前端传一个指定的值则以传的值为准。 {bsonType: object,required: [],properties: {create_time: {bsonType: timestamp,title: 创建时间,defaultValue: {$env: now}}} }
http://www.pierceye.com/news/356784/

相关文章:

  • 锡山建设局网站白云做网站的公
  • 上海网站制作软件wordpress 访问控制
  • 西部数码助手网站后台管理优秀的包装设计案例
  • 建站教学做门户网站怎么赚钱
  • 怎么自己编程做网站成都住建平台
  • 林州二建集团建设有限公司网站免费做链接的app有哪些
  • 建设企业网站企业网上银行登录官网宁波网站建设公司名单推荐
  • 网站直播用php怎么做的书城网站开发的参考文献
  • 广州免费自助建站平台韩国出线了吗
  • asp.net网站开发实训爆款采集推广引流软件
  • 怎么把自己做的网站挂到外网上中文 网站模板
  • 篮球运动装备网站模板昆明网站seo多少钱
  • 建筑网站起名wordpress评论折叠
  • 东莞seo网站推广建设抖音开放平台注册
  • 怎么做淘宝客采集网站建设局考试通知文件网站
  • 百度云网站建设视频教程超市网站设计
  • 主机屋 建网站教程wordpress收费会员插件
  • 天津网站建设的公司哪家好shopify和wordpress
  • 网站设计风格评价天元建设集团有限公司 伊永成
  • 望都网站建设山东的互联网公司都有什么
  • 开发一个网站需要多少人邢台网站建设服务商
  • 钦州建设局网站seo网站关键词优化机构
  • 北京工程信息网站网站建设及管理使用情况汇报
  • 网页网站原型图占位符怎么做公司宣传策划方案
  • 企业网站颜色选择wordpress自然志下载
  • 介绍几个网站重庆网站建设微信开发
  • wordpress小工具跟随最新外贸seo
  • 网站域名的密码电子商务网站策划书3500字
  • 2008 iis 添加 网站 权限设置权限网站开发工程师题
  • 公司域名查询网站网页设计工具软件有哪些