|
|
// index.js
|
|
|
Page({
|
|
|
data: {
|
|
|
showTip: false,
|
|
|
powerList: [
|
|
|
{
|
|
|
title: '云托管',
|
|
|
tip: '不限语言的全托管容器服务',
|
|
|
showItem: false,
|
|
|
item: [
|
|
|
{
|
|
|
type: 'cloudbaserun',
|
|
|
title: '云托管调用',
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
{
|
|
|
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: 'sumRecord',
|
|
|
// },
|
|
|
],
|
|
|
},
|
|
|
{
|
|
|
title: '云存储',
|
|
|
tip: '自带CDN加速文件存储',
|
|
|
showItem: false,
|
|
|
item: [
|
|
|
{
|
|
|
type: 'uploadFile',
|
|
|
title: '上传文件',
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
// {
|
|
|
// type: 'singleTemplate',
|
|
|
// title: '云模板',
|
|
|
// tip: '基于页面模板,快速配置、搭建小程序页面',
|
|
|
// tag: 'new',
|
|
|
// },
|
|
|
// {
|
|
|
// type: 'cloudBackend',
|
|
|
// title: '云后台',
|
|
|
// tip: '开箱即用的小程序后台管理系统',
|
|
|
// },
|
|
|
{
|
|
|
title: '拓展能力-AI',
|
|
|
tip: '云开发 AI 拓展能力',
|
|
|
showItem: false,
|
|
|
item: [
|
|
|
{
|
|
|
type: 'model-guide',
|
|
|
title: '大模型对话指引'
|
|
|
},
|
|
|
],
|
|
|
},
|
|
|
],
|
|
|
haveCreateCollection: false,
|
|
|
title: "",
|
|
|
content: ""
|
|
|
},
|
|
|
onClickPowerInfo(e) {
|
|
|
const app = getApp()
|
|
|
if(!app.globalData.env) {
|
|
|
wx.showModal({
|
|
|
title: '提示',
|
|
|
content: '请在 `miniprogram/app.js` 中正确配置 `env` 参数'
|
|
|
})
|
|
|
return
|
|
|
}
|
|
|
console.log("click e", e)
|
|
|
const index = e.currentTarget.dataset.index;
|
|
|
const powerList = this.data.powerList;
|
|
|
const selectedItem = powerList[index];
|
|
|
console.log("selectedItem", selectedItem)
|
|
|
if (selectedItem.link) {
|
|
|
wx.navigateTo({
|
|
|
url: `../web/index?url=${selectedItem.link}&title=${selectedItem.title}`,
|
|
|
});
|
|
|
} else if (selectedItem.type) {
|
|
|
console.log("selectedItem", selectedItem)
|
|
|
wx.navigateTo({
|
|
|
url: `/pages/example/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;
|
|
|
console.log("jump page", type, page)
|
|
|
if (type) {
|
|
|
wx.navigateTo({
|
|
|
url: `/pages/example/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
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
});
|