微信小程序开发实战

冷不防 2022-05-28 02:24 490阅读 0赞

自从小程序对个人开发者开放以来,就一直想着做一个自己的小程序,再关联到自己的公众号。

小程序截图

这里写图片描述 这里写图片描述
———————————————————分隔线—————————————————————————
这里写图片描述 这里写图片描述

小程序简介

名称:随你记
功能介绍:相当于备忘录,跟手机自带的记事本功能差不多,只是更简洁高效,依托于微信,更方便
技术要点:使用了bmob第三方后台来存储数据到数据库

细节问题记录

以下简单记录下开发过程中遇到的一些小坑,贴出一些关键代码以供参考,当然这些代码有些是从网上东拼西凑复制过来的,感谢各位大神的无私分享。

1、页面背景色
页面的css中添加如下代码即可

  1. page{ background-color: whitesmoke; }

2、客服消息按钮
主要是open-type属性设置为contact,其他样式自己发挥

  1. <button class="listitem" open-type="contact">
  2. <view class="line"></view>
  3. <view class="leftitem">
  4. <view style="margin:5px;color:black;font-size:12px">联系客服</view>
  5. </view>
  6. <image class="widgetarrow" src="../../images/list_right_arrow.png" mode="aspectFill">
  7. </image>
  8. <view class="line">
  9. </view>
  10. </button>

3、页面返回刷新

  1. /** * 生命周期函数--监听页面显示 */
  2. onShow: function () {
  3. this.onLoad();
  4. },

4、列表传参

  1. itemclick: function (e) {
  2. var id = e.currentTarget.dataset.id;//记录的唯一id
  3. console.log(id);
  4. wx.navigateTo({
  5. url: '../detail/detail?id=' + id
  6. })
  7. },

接收参数

  1. /** * 生命周期函数--监听页面加载 */
  2. onLoad: function (options) {
  3. console.log(options.id);
  4. });

5、确认对话框

  1. <modal title="删除记录" hidden="{ { modalHidden}}" confirm-text="确定" cancel-text="取消" bindconfirm="modalBindaconfirm" bindcancel="modalBindcancel">确定删除该条记录吗?</modal>

js中实现方法

  1. showModal: function () {
  2. this.setData({
  3. modalHidden: !this.data.modalHidden
  4. })
  5. },

6、加载列表及刷新

  1. <view class="listitem" bindtap="itemclick" wx:for="{ { items}}" wx:for-item="item" wx:key="key" data-id="{ { item.objectId}}" data-title="{ { item.title}}"> <view class="leftitem"> <view style="margin:5px;color:black;font-size:16px"> { { item.title}}</view> <view style="margin:5px;color:grey;font-size:12px"> { { item.createdAt}}</view> </view> <image class="widgetarrow" src="../../images/list_right_arrow.png" mode="aspectFill"> </image> </view>

刷新

  1. onPullDownRefresh: function () {
  2. wx.stopPullDownRefresh();
  3. var that = this;
  4. loadList(that);
  5. },

7、底部菜单tabbar及页面

  1. "tabBar": {
  2. "color": "#a9b7b7",
  3. "selectedColor": "#d81e06",
  4. "borderStyle": "white",
  5. "list": [
  6. {
  7. "selectedIconPath": "images/bottom_index_selected.png",
  8. "iconPath": "images/bottom_index.png",
  9. "pagePath": "pages/index/index",
  10. "text": "首页"
  11. },
  12. {
  13. "selectedIconPath": "images/bottom_add_selected.png",
  14. "iconPath": "images/bottom_add.png",
  15. "pagePath": "pages/add/addNote",
  16. "text": "添加"
  17. },
  18. {
  19. "selectedIconPath": "images/bottom_help_selected.png",
  20. "iconPath": "images/bottom_help.png",
  21. "pagePath": "pages/help/help",
  22. "text": "帮助"
  23. }
  24. ]
  25. },"pages":[
  26. "pages/index/index",
  27. "pages/add/addNote",
  28. "pages/logs/logs",
  29. "pages/help/help",
  30. "pages/helpDoc/helpDoc",
  31. "pages/detail/detail"
  32. ],

8、js修改style控制控件的显示
通过setData

  1. that.setData({ items: results, nodata: 'block'//显示 });
  2. <text style="margin:100px;display:{ { nodata}}">暂无数据</text>

8、结合bmob注册用户及唯一键约束
在bmob注册用户时,要注意一个唯一键的设置,本人被这个坑了大半天时间,类似下图,具体注册代码是直接复制的bmob文档里的
这里写图片描述
9、获取小程序唯一标识openid
参考这里 http://www.henkuai.com/forum.php?mod=viewthread&tid=29872&highlight=%E5%94%AF%E4%B8%80

  1. onLoad: function () {
  2. var that = this
  3. wx.login({
  4. success: function (res) {
  5. console.log("res.code====="+res.code);
  6. if (res.code) {
  7. //发起网络请求
  8. wx.request({
  9. url: 'https://api.weixin.qq.com/sns/jscode2session?appid=wxaasdf22we1sdffe3&secret=83ebdsdfsdfa7sdfsdf3448ff3f71&js_code=' + res.code + '&grant_type=authorization_code',
  10. method: "POST",
  11. success: function (res) {
  12. that.setData({
  13. openid: res.data.openid
  14. })
  15. }
  16. })
  17. } else {
  18. console.log('获取用户登录态失败!' + res.errMsg)
  19. }
  20. }
  21. });
  22. }

10、设置全局变量
参考这里 http://www.dulei.net/?p=288
text标签文字垂直居中

  1. /* wxml */
  2. <view class="diy">
  3. <text>开发实战</text>
  4. </view>
  5. /* wxss */
  6. .diy{
  7. display: flex;
  8. align-items: center;
  9. //justify-content: center;
  10. }

审核进展

2017-06-05 晚提交审核
2017-06-08 中午审核被拒,提示原因::小程序服务内容涉及备忘录,属未开放类目;去后台修改类目,发现并没有提供备忘录选项,而印象笔记的小程序显示的确实备忘录服务类目,让我无法理解,小程序的社区问答中心也是充斥了关于审核慢的问题,然后我添加了一个办公类目,继续提交审核,等待结果。
2017-06-12 晚上通知再审被拒,理由与之前一样。

个人服务类目

以下是从小程序后台中摘录出来的个人开发者的可选服务类目列表,共9大分类:

  • 教育:

    在线教育,教育信息服务,婴幼儿教育,特殊人群教育,教育装备

  • 生活服务:

    生活缴费,综合生活服务平台,票务,家政,外送,摄影/扩印,婚庆服务,环保回收/废品回收

  • 工具:

    办公,效率,字典,图片/音频/视频,计算类,报价/比价,信息查询,健康管理,企业管理,记账,日历,天气,预约/报名

  • 商业服务:

    法律服务,农林牧渔,广告/设计,公关/推广/市场调查,会展服务,一般财务服务

  • 快递业与邮政:

    邮政,装卸搬运,快递、物流

  • 出行与交通:

    代驾

  • 餐饮:

    点评与推荐,菜谱,餐厅排队,点餐,外卖

  • 旅游:

    出境WiFi,旅游攻略

  • 体育:

    体育培训,在线健身

发表评论

表情:
评论列表 (有 0 条评论,490人围观)

还没有评论,来说两句吧...

相关阅读

    相关 程序实战

    今天给大家分享的是微信小程序实战,不作讲解,直接上图给大家看看实战功能效果图,在图下提供当前项目功能的实现,需要大家提前去看哪些内容。 ![format_png][]

    相关 程序实战

    一、引言       在做完ssm+vue的简单项目之后,很想再来尝试小程序,于是今天便开启了小程序的开发。今日学习计划大概:早上大致看一下文档,了解一下组件的使用以及文件结

    相关 程序开发

    微信小程序是最近比较火的一个话题。那么什么是小程序?小程序是一种不需要下载安装即可使用的应用,它实现了应用「触手可及」的梦想,用户扫一扫或搜一下即可打开应用。也体现了「用完即走

    相关 程序开发实战

    自从小程序对个人开发者开放以来,就一直想着做一个自己的小程序,再关联到自己的公众号。 小程序截图 ![这里写图片描述][20170613090925118]  ![这里