了解最新公司动态及行业资讯
小程序配置流程,首先需要你有小程序账号,然后才能获取小程序的appid和appsecret,以百度小程序为例:
(1)登录小程序官网https://developer.open-douyin.com/注册小程序账号,申请过程不再赘述
(2)申请过后登陆你的小程序账号,进入“开发”----“设置”----切换到“开发设置”如图,保存自己的appid、appkey以及appsecret,特别是appsecret只出现一次,一定要保存好
然后在“开发设置”向下有个“服务器域名”,全部填写自己要对接的网站的域名,另外下边的webview可以根据自己实际情况考虑要不要配置。

必须先安装过小程序插件之后才可以配置demo
1、app.js和app.json配置
(1)下载小程序开发者工具,安装工具,
(2)打开开发者工具,导入我的demo
(3)进入小程序之后,点击右上角“项目信息”--->修改appid为您的小程序appid

(2)打开app.json、app.js把我的信息都改成你们的,特别是app.js中的safecode(暂时填写appsecret),aid暂时默认,为后期准备
(3)设置首页的toplist
toplist为批量请求接口,一般首页只需要配置这一项即可正常预览小程序,配置方法打开/pages/index/index.js
配置好这些之后,一定要先清除缓存重新编译一下,一般首页就会出现内容了
(4)小程序前端调用简介
/pages/下的每个文件夹代表一个独立的页面,其中swan是写div的,css是写css的,js是读取接口的,js中读取的接口必须用setData赋值一下,前端才可以调用,以上面的toplist获取的news为例:
前端调用代码:
code腾石建站
<block s-for="{{ news }}" s-for-index="n">
<view>{{item.title}}--{{item.id}}</view>
</block>
s-for="{{ 你要循环的参数 }}",s-for-index="名字随便"类似于索引,所有的循环都是默认的{{item.对应字段}}的方式调用,必须:{{item.title}} {{item.scode}} {{item.keywords}}
code腾石建站
<navigator url='/pages/show/show?id={{item.id}}'>
{{item.title}}
</navigato>
navigator和html的a标签功能一样,代表超链接,url="/pages/show/show?id={{item.id}}"表示链接指向为show/show页面即内容页,需要传递的参数是id,同理 列表页为:/pages/list/list?scode={{item.scode}}
(5)小程序菜单导航设置
小程序对接好之后,所有的栏目都是默认文章列表页的,但是我们实际可能会出现频道页或者图片列表页,产品列表页的。打开utils/common.js找到最上面的getmenu方法。顾名思义,getmenu表示获取一级栏目菜单
单页面是/pages/page/page,列表页是/pages/list/list,listtype是表示列表类型,默认6种,1:文字列表,2:两图列表,3:左图右文,4:三图列表,5:标题+摘要,6:标题+三图
右上角的菜单导航默认读取所有顶级栏目(每个页面的onload里边都有这个代码):
code腾石建站
var menulist = common.getmenu(0);//获取所有一级栏目 0表示读取顶级栏目,可以改成你的typeid,表示调用对应typeid下的子栏目
默认的getmenu方法是自动读取顶级栏目的,如果感觉不太方便可以使用第二种getmenu方法:
code腾石建站
function getmenu0() {
var menulist = [
{'name': '品牌介绍','scode': '1','url': '/pages/page/page','listtype': 5},
{'name': '课程介绍','scode': '3','url': '/pages/list/list','listtype': 5},
{'name': '风采展示','scode': '2','url': '/pages/list/list','listtype': 4},
{'name': '新闻中心','scode': '5','url': '/pages/list/list','listtype': 3},
{'name': '联系我们','scode': '7','url': '/pages/page/page','listtype': 3},
];
return menulist;
}
第二种getmenu方法,直接把导航和url固定死,更容易理解,根据自己需要调整。
(6)列表页配置
/pages/list/list是列表页,全站通用页面,需要传递scode和listtype两个参数
listtype默认有6个样式(具体参考:template/list.swan)
list_1:文章列表
list_2:图片列表(两图)
list_3:图文列表(左图右文)
list_4:图片列表(三图)
list_5:文章列表(标题+描述,默认的就是这个)
list_6:多图列表(标题+三图,适合文章中有多个图片的)
list_*...你可以根据自己情况任意添加或者修改
(首页的2图或者3图列表是直接用div写的,需要调整的话直接去修改css即可)
(8)配置单页面
pages/page/page是个单页面,对应网站后台设置的封面栏目,一般用作关于我们、联系我们之类的页面(注意:必须是后台设置了封面的栏目)
同时为了兼容有些网站单页面和列表页混合的情况,page页面既支持单页面,也支持列表页,但是建议以单页面为主。
(9)其他页面配置
search搜索页面,map地图页面(目前暂无),header公共头部,footer公共底部,show内容展示页。
list和show是公共列表和公共内容页面不允许设置tababr(因为设置了tabbar就不允许传参了,只针对有tabbar的),如果需要新增页面,可以复制对应的页面,改个名字即可,另外别忘了在app.json最上面加一下你刚才创建的页面,然后重新编译即可
(10)自定义表单设置
formguide/formguide页面,对应前端的调整:
对应js端的调
如果点击还是没有反应,那么打开开发者工具最上面的调试器---network---XHR,刷新或者重新提交一下,然后找到form请求url,点击进入,然后切换到preview,看看提示什么,然后根据提示再做处理
常用参数和函数
scode:网站栏目ID
listtype:列表类型,内置5种,可以去template/list.swan里边添加
swan.getStorageSync('system')调用网站配置缓存,
swan.getStorageSync('categorys')调用全站栏目缓存
oswan.getStorageSync('siteinfo')调用站点信息
调用幻灯片:
code腾石建站
app.get_slide(1,10).then(function(data){ //1为幻灯片id,num为数量
var banner = data.data;
that.setData({
banner: banner //赋值给banner,前端循环banner即可
})
});
utils/common.js内置常用函数解释:
common.js调用方式为在每个页面最上面引入:
code腾石建站
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调用方式为在每个页面最上面引入:
code腾石建站
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方式调用设置缓存
app.get_siteinfo.then() promise方式调用站点信息
app.get_list().then() promise方式快速某个栏目列表(一般不用这个)
app.get_slide().then() promise方式获取幻灯片
promise方式的好处就是,把接口的异步请求变成同步,也就是接口不返回信息,不往下执行,可以有效避免下边调用这个接口信息可能出现的错误,减少白评率
如何修改链接所跳转的页面
打开对应的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"即可。
(2)如何设置web化标题即SEO配置
默认自动给你们设置好了,只需要通过web户预览然后嗯:F12或者右键点击审查元素,在代码head里边可以查看效果。
默认栏目seo为:
title:自定义栏目标题+小程序名称
keywords:后台配置通用关键词/自定义栏目关键词
description:后台配置通用描述/自定义栏目描述
releaseDate: 后台设置时间
image: 默认调用banner
内容页默认SEO:
title:文章名称+栏目名称+小程序名称
keywords:文章关键词
description:文章描述
releaseDate: 后台设置时间
image: 默认调用banner,可以改成调用文章缩略图images:[content.litpic]
articleTitle文章标题
更多常见问题整理中.....
下一篇:没有了!