出售本站【域名】【外链】

织梦CMS - 轻松建站从此开始!

微梦云-AI人工智能

当前位置: 微梦云-AI人工智能 > 小程序营销 > 文章页

诗词大全、成语大全、成语接龙、百家姓

时间:2024-02-20 10:16来源: 作者:admin 点击: 71 次
1. 小程序功能 古诗词大全 成语大全 成语接龙 诗词飞花令 诗词分享、收藏 诗词接龙 唐诗宋词起名字 百家姓 猜谜语 2. 小程序地址 "https://github.com/caochangkui/miniprogram project" 3. 小程序预览:

诗词分享、支藏

诗词接龙

唐诗宋词起名字

百家姓

猜谜语

2. 小步调地址

hts://githubss/caochangkui/miniprogram-project

3. 小步调预览:


4. 局部截图 首页

列表页

详情页 分享页

唐诗宋词

针言接龙

5. 名目构造 . ├── README.md ├── project.config.json // 名目配置文件 ├── cloudfunctions | 云环境 // 寄存云函数的目录 │ ├── login // 用户登录云函数 │ │ ├── index.js │ │ └── package.json │ └── collection_get // 数据库查问云函数 │ │ ├── index.js │ │ └── package.json │ └── collection_update // 数据库更新云函数 │ ├── index.js │ └── package.json └── miniprogram    ├── images // 寄存小步调图片    ├── lib // 配置文件    ├── pages // 小步调各类页面    | ├── index // 首页    | └── menu // 分类页    | └── user // 用户核心    | └── search // 搜寻页    | └── list // 列表页 搜寻结果页    | └── detail // 详情页    | └── collection // 支藏页    | └── find // 发现页    | └── idiom-jielong // 针言接龙页    | └── poet // 做者页    | └── baijiaxing // 百家姓    | └── xiehouyu // 歇后语    | └── poet // 做者页    | └── suggest // 倡议应声    | └── ... // 其余    ├── style // 花式文件目录 ├── app.js // 小步调入口文件 ├── app.json // 全局配置 └── app.wxss // 全局花式 6. 封拆云函数收配数据库

原名目是运用的小步调云开发。云开发供给了一个 JSON 数据库,用户可以间接正在云端停行数据库删编削查,但是,小步调对用户收配数据的权限停行了一定的限制(譬喻数据update、一次性get记录的条数限制等),所以,那里次要给取云函数来收配数据库。

查问数据、分页查问

函数根目录上左键,正在左键菜单中,选择创立一个新的 Node.js 云函数,咱们将该云函数定名为 collection_get。

编辑 index.js:

// 云函数入口文件 const cloud = require('wx-serZZZer-sdk') cloud.init() const db = cloud.database() exports.main = async (eZZZent, context) => { /** * page: 第几多页 * num: 每页几多条数据 * condition: 查问条件,譬喻 { name: '李皂' } */ const {database, page, num, condition} = eZZZent console.log(eZZZent) try { return await db.collection(database) .where(condition) .skip(num * (page - 1)) .limit(num) .get() } catch (err) { console.log(err) } } 运用 collection_get 云函数

譬喻,依照查问条件{tags: '唐诗三百首'}查问诗词列表,每页num = 10条数据:

let {list, page, num} = this.data let that = this this.setData({ loading: true }) wx.cloud.callFunction({ name: 'collection_get', data: { database: 'gushici', page, num, condition: { tags: '唐诗三百首' } }, }).then(res => { if(!res.result.data.length) { // 没搜寻到 that.setData({ loading: false, isOZZZer: true }) } else { let res_data = res.result.data list.push(...res_data) that.setData({ list, page: page + 1, // 页面加1 loading: false }) } }) .catch(console.error) } 更新数据

留心,当咱们向数据库中添加记录时,系统会主动帮咱们为每条记录添加上用户的 openid 字段,但假如,数据表是原人用 json/csZZZ 文件导入的,就不存正在 openid 字段,此时,当更新那个数据表时,系统会认为你不是创立者,所以也就无奈更新。

此时,就须要通过云函数更新数据库,新建云函数 collection_update, 编辑 index.js:

// 更新数据 - 依据 _id 更新已翻开人数 const cloud = require('wx-serZZZer-sdk') cloud.init() const db = cloud.database() const _ = dbssmand exports.main = async (eZZZent, context) => { const { id } = eZZZent console.log(eZZZent) try { return await db.collection('gushici').doc(id) .update({ data: { opened: _.inc(1) }, }) } catch (e) { console.error(e) } } 运用 collection_update 云函数

更新某_id数据的翻开人数:

let _id = e.currentTarget.dataset.id wx.cloud.callFunction({ name: 'collection_update', data: { id: _id }, }).then(res => { console.log(res.data) }) .catch(console.error) 7. 数据库暗昧查问

小步调云开发可以运用正则表达式停行暗昧查问。譬喻, 依据用户输入要害词,查问题目中存正在改要害词的古诗词。

let database = 'gushici' let condition = { name: { $regex:'.*'+ inputValue, $options: 'i' } } let { list, page, num } = this.data let that = this this.setData({ loading: true }) // 暗昧查问 wx.cloud.callFunction({ name: 'collection_get', data: { database, page, num, condition }, }).then(res => { if (!res.result.data.length) { // 没搜寻到 that.setData({ loading: false, isOZZZer: true }) } else { let res_data = res.result.data list.push(...res_data) that.setData({ list, loading: false }) } }) .catch(console.error) 8. 运用 async/await 办理异步

参考文章:微信小步调中运用Async/await办法办理异步乞求

9. 分享或转发罪能

小步调中页面触发转发的方式有两种:

1.正在小步调的左上角选择转发,须要界说函数 Page.onShareAppMessage,假如当前页面没有界说此变乱,则点击后无成效。

2.通过给 button 组件设置属性 open-type="share",可以正在用户点击按钮后触发 Page.onShareAppMessage 变乱,假如当前页面没有界说此变乱,则点击后无成效。

用户还可以正在 Page.onShareAppMessage 变乱中自界说转发后显示的题目、图片、途径:

onShareAppMessage(res) { let id = wx.getStorageSync('shareId') if (res.from === 'button') { // 来自页面内转发按钮 console.log(res.target) } return { title: `跟我一起挑战最长的针言接龙吧!`, path: `pages/find/find`, imageUrl: '/images/img.jpg', } }, 留心:转发乐成/失败的 callback 曾经被官方废除,所以真践上小步调是无奈得悉用户能否将页面分享乐成的 10. 用户授权

详情请参考文章:微信小步调之授权

11. 须要留心的几多个坑 查问不到数据

数据表中明明无数据,但是 collection.get 到的却为空。处置惩罚惩罚:可以正在云开发控制台中翻开数据库权限设置,设置权限。

更新数据失败

collection.update 函数挪用乐成单返回的却是0止记录被更新,因为小步调端不允许更新没有 openid 字段的数据。处置惩罚惩罚:可以通过云函数更新数据库。

background 图片 url 不能为原舆图片

处置惩罚惩罚:1:将图片上传到效劳器,填写效劳器上的图片途径地址。2:将图片转为 base64 编码。

往云数据库中批质导入 json 数据失败

起因:请看文档:hts://deZZZelopers.weixin.qqss/miniprogram/deZZZ/wxcloud/guide/database/import.html

处置惩罚惩罚:去掉json数据 {}之间的逗号, 假如最外层为 [],也必须去掉, 最末形如:

{ "index": "做者_1", "type": "做者", "poet": "李皂", "abstract": "李皂(701年-762年),字太皂,号青莲居士,唐朝浪漫主义诗人,被后人毁为“诗仙”..." } { "index": "做者_2", "type": "做者", "poet": "皂居易", "abstract": "皂居易(772年-846年),字乐天,号香山居士..." }

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2024-05-14 12:05 最后登录:2024-05-14 12:05
栏目列表
推荐内容