小程序
小游戏
企业微信
微信支付
扫描小程序码分享
目前是每个页面的js都加了const db = wx.cloud.database(),上线时修改数据库需要改动多个文件,有什么方法吗
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
// 数据库配置 //utils/dbConfig.js module.exports = { env: '环境ID', //... }
1、db挂载到App上 , 页面里可以使用getApp().db,或者 看第2个方法
App({ onLaunch: function () { // 可以在这里读取数据公共配置,如envId等等 // var config = require('./utils/dbConfig.js') wx.cloud.init( //{ env: config.env } ) this.db = wx.cloud.database( //{ env: config.env } ) } }) Page({ onLoad: function (options) { console.log(getApp().db) } }
2、重写page,在app.js引入utils/page.js,在page页面设置useDB为true
Page = require('./utils/page.js') App({ onLaunch: function () { } })
// utils/page.js const myPage = Page module.exports = function (e) { let { useDB, onLoad } = e e.onLoad = ((useDB, onLoad) => { return function (res) { if(useDB == true){ // 可以在这里读取数据公共配置,如envId等等 // var config = require('./dbConfig.js') wx.cloud.init( //{ env: config.env } ) this.db = wx.cloud.database( //{ env: config.env } ) } onLoad && onLoad.call(this, res) } })(useDB, onLoad) return myPage.call(this, e) }
在page页面设置useDB为true,就可以直接使用 this.db了
// pages/index/index.js Page({ useDB: true, onLoad: function (options) { console.log(this.db) } }
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
谢谢
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
// 数据库配置 //utils/dbConfig.js module.exports = { env: '环境ID', //... }
1、db挂载到App上 , 页面里可以使用getApp().db,或者 看第2个方法
App({ onLaunch: function () { // 可以在这里读取数据公共配置,如envId等等 // var config = require('./utils/dbConfig.js') wx.cloud.init( //{ env: config.env } ) this.db = wx.cloud.database( //{ env: config.env } ) } }) Page({ onLoad: function (options) { console.log(getApp().db) } }
2、重写page,在app.js引入utils/page.js,在page页面设置useDB为true
Page = require('./utils/page.js') App({ onLaunch: function () { } })
// utils/page.js const myPage = Page module.exports = function (e) { let { useDB, onLoad } = e e.onLoad = ((useDB, onLoad) => { return function (res) { if(useDB == true){ // 可以在这里读取数据公共配置,如envId等等 // var config = require('./dbConfig.js') wx.cloud.init( //{ env: config.env } ) this.db = wx.cloud.database( //{ env: config.env } ) } onLoad && onLoad.call(this, res) } })(useDB, onLoad) return myPage.call(this, e) }
在page页面设置useDB为true,就可以直接使用 this.db了
// pages/index/index.js Page({ useDB: true, onLoad: function (options) { console.log(this.db) } }
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
谢谢