123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- // index.js
- Page({
- data: {
- showTip: false,
- powerList: [
- {
- title: '云函数',
- tip: '安全、免鉴权运行业务代码',
- showItem: false,
- item: [
- {
- type: 'getOpenId',
- title: '获取OpenId',
- },
- {
- type: 'getMiniProgramCode',
- title: '生成小程序码',
- },
- ],
- },
- {
- title: '数据库',
- tip: '安全稳定的文档型数据库',
- showItem: false,
- item: [
- {
- type: 'createCollection',
- title: '创建集合',
- },
- {
- type: 'selectRecord',
- title: '查询记录',
- },
- {
- title: '更新记录',
- page: 'updateRecord',
- },
- {
- title: '聚合操作',
- page: 'sumRecord',
- },
- ],
- },
- {
- title: '云存储',
- tip: '自带CDN加速文件存储',
- showItem: false,
- item: [
- {
- type: 'uploadFile',
- title: '上传文件',
- },
- ],
- },
- {
- type: 'singleTemplate',
- title: '云模板',
- tip: '基于页面模板,快速配置、搭建小程序页面',
- tag: 'new',
- },
- {
- type: 'cloudBackend',
- title: '云后台',
- tip: '开箱即用的小程序后台管理系统',
- },
- {
- title: '云托管',
- tip: '不限语言的全托管容器服务',
- link: 'https://cloud.weixin.qq.com/cloudrun',
- },
- ],
- haveCreateCollection: false,
- title: "",
- content: ""
- },
- onClickPowerInfo(e) {
- const index = e.currentTarget.dataset.index;
- const powerList = this.data.powerList;
- const selectedItem = powerList[index];
- if (selectedItem.link) {
- wx.navigateTo({
- url: `../web/index?url=${selectedItem.link}&title=${selectedItem.title}`,
- });
- } else if (selectedItem.type) {
- wx.navigateTo({
- url: `/pages/exampleDetail/index?envId=${this.data.selectedEnv?.envId}&type=${selectedItem.type}`,
- });
- } else if (selectedItem.page) {
- wx.navigateTo({
- url: `/pages/${selectedItem.page}/index`,
- });
- } else if (
- selectedItem.title === '数据库' &&
- !this.data.haveCreateCollection
- ) {
- this.onClickDatabase(powerList,selectedItem);
- } else {
- selectedItem.showItem = !selectedItem.showItem;
- this.setData({
- powerList,
- });
- }
- },
- jumpPage(e) {
- const { type, page } = e.currentTarget.dataset;
- if (type) {
- wx.navigateTo({
- url: `/pages/exampleDetail/index?envId=${this.data.selectedEnv?.envId}&type=${type}`,
- });
- } else {
- wx.navigateTo({
- url: `/pages/${page}/index?envId=${this.data.selectedEnv?.envId}`,
- });
- }
- },
- onClickDatabase(powerList,selectedItem) {
- wx.showLoading({
- title: '',
- });
- wx.cloud
- .callFunction({
- name: 'quickstartFunctions',
- data: {
- type: 'createCollection',
- },
- })
- .then((resp) => {
- if (resp.result.success) {
- this.setData({
- haveCreateCollection: true,
- });
- }
- selectedItem.showItem = !selectedItem.showItem;
- this.setData({
- powerList,
- });
- wx.hideLoading();
- })
- .catch((e) => {
- wx.hideLoading();
- const { errCode, errMsg } = e
- if (errMsg.includes('Environment not found')) {
- this.setData({
- showTip: true,
- title: "云开发环境未找到",
- content: "如果已经开通云开发,请检查环境ID与 `miniprogram/app.js` 中的 `env` 参数是否一致。"
- });
- return
- }
- if (errMsg.includes('FunctionName parameter could not be found')) {
- this.setData({
- showTip: true,
- title: "请上传云函数",
- content: "在'cloudfunctions/quickstartFunctions'目录右键,选择【上传并部署-云端安装依赖】,等待云函数上传完成后重试。"
- });
- return
- }
- });
- },
- });
|