最近很多人购买织梦插件之后,安装小程序插件之后,不知道下一步要干啥,所以专门针对这种情况写一个详细的教程。(一下教程的账号配置以百度小程序为主,微信方法类似)
织梦小程序插件传送门《织梦百度小程序及微信小程序万能API接口插件》
一、先注册百度(微信)小程序账号
(1)登录百度小程序官网https://smartprogram.baidu.com注册小程序账号,申请过程不再赘述
(2)申请过后登陆你的小程序账号,进入“开发管理”----“设置”----切换到“开发设置”如图,保存自己的appid、appkey以及appsecret,特别是appsecret只出现一次,一定要保存好
然后在“开发设置”向下有个“服务器域名”,全部填写自己要对接的网站的域名,另外下边的webview可以根据自己实际情况考虑要不要配置。
二、小程序端配置
1、app.js和app.json配置
(1)下载百度小程序开发者工具,安装工具,下载地址:https://smartprogram.baidu.com/docs/develop/devtools/history/
(2)打开开发者工具,导入我的demo
(3)进入小程序之后,点击右上角“项目信息”--->修改appid为您的小程序appid
(3)打开app.json、app.js把我的信息都改成你们的,aid对应网站后台的小程序编号。
注意:app.js中的aid是您的网站后台创建小程序的编号aid,不是百度提供appid,不要弄混了,aid仅仅是为了区分多个小程序的情况,比如你后续创建了aid为2的微信小程序等等
配置好这些之后,一定要先清除缓存重新编译一下,修改app.js都必须要重新编译才生效
(4)【重点】小程序首页的配置,打开/pages/index/index.js
配置index.js之前,先说一下小程序页面的执行顺序:onLoad--->onReady--->onShow--->onHide--->onUnload等等,其实平时页面最常用的就两个:onLoad和onShow。
index.js中的onLoad里边不需要做任何修改,只需要找到get_case和get_news及get_about方法即可,这是请求获取首页新闻和案例的
配置好index.js,保存这时候首页就会出现你的网站内容了。
(5)配置列表页
service、list、case是三个列表页,其实这三个页面代码是完全一样的,由于小程序的tabbar页面互相之间跳转是不支持传递参数的,所以只能给tabbar配置一个独立页面。什么是tabbar页面?
这四个就是tabbar页面,互相之间切换是无法传递参数的,所以在四个页面需要先默认一个typeid,具体在每个页面的对应js里边。
如果想修改tabbar页面的链接和文字,打开app.json找到“tabBar”就可以自己设置和修改:
(6)配置单页面
pages/page/page是个单页面,对应网站后台设置的封面栏目,一般用作关于我们、联系我们之类的页面(注意:必须是后台设置了封面的栏目)
同时为了兼容有些网站单页面和列表页混合的情况,page页面既支持单页面,也支持列表页,但是建议以单页面为主。
(7)其他页面配置
search搜索页面,feedback评论页面,map地图页面,header公共头部,footer公共底部,show内容展示页。
list和show是公共列表和公共内容页面不允许设置tababr(因为设置了tabbar就不允许传参了),如果需要新增页面,可以复制对应的页面,改个名字即可,另外别忘了在app.json最上面加一下你刚才创建的页面,然后重新编译即可
三、常用参数和方法解释
常用参数和函数
typeid:网站栏目
listtype:列表类型,内置5种,可以去template/list.swan里边添加
swan.getStorageSync('system')调用网站配置缓存,
swan.getStorageSync('categorys')调用全站栏目缓存
utils/common.js内置常用函数解释:
common.js调用方式为在每个页面最上面引入:
var common = require('../../utils/common.js');
然后每个函数调用方式为:common.函数名,例如:common.get_catlist(),common.callphone()
common.get_menu(typeid) 调用typeid的子栏目,typied为0时调用全部栏目
common.callphone() 拨打电话
common.get_catlist(typeid):调用typeid的兄弟栏目或者子栏目(自动判断)
common.get_curtypeid(typeid,typeid):判断typeid或子栏目高亮
common.get_childid(typeid,1)获取typeid的子栏目,1表示是否包含自己
common.get_brotherid(typeid,1)获取typeid的兄弟栏目,1表示是否包含自己
common.backhome():全局通用返回首页代码
utils/util.js内置常用函数解释:
util.js调用方式为在每个页面最上面引入:
var util = require('../../utils/util.js');
util.formatTime():格式化时间戳,如:util.formatTime()util.formatTime(news[i].pubdate, 'Y-M-D')
util.escape2Html(str):转换html危险字符
util.removeHTML(str):去掉html标签
util.checkPhone(phone,isempty = 1),判断电话号码是否正确,后边的1表示不能为空,0表示允许为空
util.checkEmail(email,0) 判断邮箱格式是否正确,后边的01表示可以为空,1表示不能为空
util.isEmpty(str) 判断是否为空
util.request.js是对api请求的封装,没有基础不建议使用修改
app.js内置的二个promise方法:
app.get_cat().then() promise方式调用栏目缓存
app.get_sys().then() promise方式调用设置缓存
(1)如何修改链接所跳转的页面
打开对应的swan页面,每个点击事件都是通过bindtap触发的,所以想修改对应事件,首页去swan找到对应的bindtap事件,比如查看新闻的 bindtap='show_detail'
意思就是:点击触发show_detail方法,然后去对应的js找到show_detail方法:
如果想让show_detail打开其他页面 只需要修改里边的swan.navigateTo里边的对应路径即可,不过最好是复制一份show_detail改成show_detail2,然后在2里边修改对应的路径,然后前端的bindtap改成bindtap="show_detail2"即可。
PS:还可以这样跳转:(强烈推荐)
<navigator class='service_li' target="self" open-type="navigate" url="/pages/list/list?typeid=4&list_type=3">
<image src='../../images/yewu_pic1.jpg' mode='widthFix'></image>
<view class='service_li_text'>拓展培训</view>
</navigator>
<navigator class='service_li' target="self" open-type="navigate" url="/pages/list/list?typeid=2&list_type=3">
<image src='../../images/yewu_pic2.jpg' mode='widthFix'></image>
<view class='service_li_text'>真人CS</view>
</navigator>
如果要更多模板,可以复制/pages/list/list这个页面的,不要复制其他页面的,复制后要在app.json里添加页面,然后重新编译后生效
(2)列表页为啥出现了其他栏目的内容
list case service page这四个页面,读取当前栏目信息的时候,会自动判断当前栏目是否有兄弟栏目或者子栏目,会优先展示兄弟栏目的,这就是为啥出现其他栏目的情况,
修改方法,找到对应onLoad或onShow里边的代码:
var catlist = common.get_catlist(typeid);//获取子栏目或者兄弟栏目列表
如果改成调用子栏目:
var catlist = common.get_childid(typeid,1);//获取子栏目,后边的1表示是否调用本身
改成是否调用兄弟栏目:
var catlist = common.get_bortherid(typeid);//获取兄弟栏目
改成调用全部单页面:
var catlist = common.get_pagelest(typeid);//获取所有单页面
(3)如何设置web化标题
默认自动给你们设置好了,只需要通过web户预览然后嗯:F12或者右键点击审查元素,在代码head里边可以查看效果。
默认栏目seo为:
title:自定义栏目标题+小程序名称/栏目名称+小程序名称
keywords:后台配置通用关键词/自定义栏目关键词
description:后台配置通用描述/自定义栏目描述
releaseDate: 后台设置时间
image: 默认调用banner
内容页默认SEO:
title:文章名称+栏目名称+小程序名称
keywords:文章关键词
description:文章描述
releaseDate: 后台设置时间
image: 默认调用banner,可以改成调用文章缩略图images:[content.litpic]
articleTitle文章标题
(4)小程序如何url适配
url适配就是为了让小程序的页面和H5页面一一对应起来
以我的网站为例:
首页:https://www.lol9.cn/$ => pages/index/index
服务项目:https://www.lol9.cn/fuwuxiangmu/$ => pages/service/service
案例:https://www.lol9.cn/kehuanli/$ => pages/case/case
普通列表:https://www.lol9.cn/xinwenzixun/xingyezixun/list_21_2.html => pages/list/list?typeid=21
适配写法:https://www.lol9.cn/xinwenzixun/xingyezixun/list_([^\.]+)_([^\.]+).html => pages/list/list?typeid=${1}&page=${2}
内容页:https://www.lol9.cn/xinwenzixun/xingyezixun/20190707/74.html =>pages/show/show?id=74
适配写法:https://www.lol9.cn/xinwenzixun/xingyezixun/([^\.]+)/([^\.]+).html =>pages/show/show?id=${1}
(注意:我这个内容页静态化路径中有个时间,如果你们自己定义了,可以不按照这个,比如下边)
https://www.lol9.cn/news/74.html =>pages/show/show?id=74
适配写法:https://www.lol9.cn/news/([^\.]+).html =>pages/show/show?id=${1}
单页面:https://www.lol9.cn/aboutus/$ =>pages/page/page?typeid=7
如果没用到正则,即完全适配的时候需要加$符号,${1}表示对应前面第一个()小括号里边的内容,同理${2}对应第二个
更多常见问题整理中.....
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦百度小程序和微信小程序新手小白配置安装教程