【声明】关于六久阁私自出售我公司dedecms小程序插件声明
发布时间:2019-07-03 16:05:19查看:0基础配置 
打开小程序开发者工具,创建小程序项目,或者是直接打开我的demo项目,找到小程序的配置文件,百度是:project.swan.json,微信是:project.config.json,把里边的基本信息appid改成你自己的appid


1、打开app.js,找到代码:
旧版demo截图:

新版demo截图:

需要修改的地方:
(1)aid:即小程序id,和你网站后台添加的小程序id保持一致
(2)appsecret:和对应小程序的appsecret保持一致
(2)appsecret改成了safecode,和后台安全码保持一致
(3)host:改成你自己的网址,记住带https
(4)如果你的api文件夹名字变了,请修改第17行代码(默认的话不需要修改)
  1. var api = that.globalData.host + "你的文件夹/index.php?" 

2、首页部分栏目typid的修改
小程序的执行顺序是:onload--->onshow....,所以所有的方法必须都在onload和onshow里边调用。
  1. onLoad:function(){ 
  2.    ... 
  3.   that.toplist(); //可以调用所有的方法方式:that.方法名 
  4.   ... 

为了优化首页打开速度,首页使用了toplist集成接口,就是一次可批量调用多个栏目的信息:
  1. toplist() { 
  2.         var that = this
  3.         var params = [ 
  4.             { 'name''case''typeid': 18, 'num': 9, 'flag''p''more': 1, 'order''id desc' }, //改成你的typeid,赋值给了case
  5.             { 'name''news''typeid': 20, 'num': 6, 'flag''''more': 1, 'order''id desc' }, //改成你的typeid,赋值给了news
  6.             { 'name''about''typeid': 7 },//此栏目为单页面,别弄成列表页的typeid 
  7.         ]; 
  8.         swan.request({ 
  9.             url: app.globalData.api + "action=toplist"
  10.             data: { 
  11.                 params: JSON.stringify(params), 
  12.                 aid: 1 
  13.             }, 
  14.             method: 'POST'
  15.             header: { 
  16.                 'content-type''application/x-www-form-urlencoded'// 默认值  
  17.                 'x-safecode': app.globalData.safecode 
  18.             }, 
  19.             success: function (res) { 
  20.                 //console.log(res) 
  21.                 if (res.data.status == 200) { 
  22.                     var data = res.data.data 
  23.                     //对news处理一下时间戳 
  24.                     var news = data.news; 
  25.                     if (!util.isEmpty(news)) { 
  26.                         for (var i in news) { 
  27.                             news[i].pubdate = util.formatTime(news[i].pubdate, 'Y-M-D'); 
  28.                         } 
  29.                     } 
  30.                     //对cases处理一下懒加载 
  31.                     var cases = data.case
  32.                     if (!util.isEmpty(cases)) { 
  33.                         for (var j in cases) { 
  34.                             cases[j].tempthumb = '../../images/nopic.jpg'
  35.                             cases[j].loaded = false
  36.                         } 
  37.                     } 
  38.                     //对about处理 
  39.                     var about = data.about; 
  40.                     if(!util.isEmpty(about)){ 
  41.                         about = util.removeHTML(about.content); 
  42.                         about = about.substr(0, 120) 
  43.                     } 
  44.                     that.setData({ 
  45.                         cases: cases, 
  46.                         news: news, 
  47.                         about: about 
  48.                     }) 
  49.                 } 
  50.             }, 
  51.             fail: function () { 
  52.                 console.log('请求失败' + errMsg); 
  53.             }, 
  54.             complete: function () { 
  55.             } 
  56.         }) 
  57.     }, 
只需要上面一个接口既可以调用多个栏目,但是如果你不想使用这个,需要单独调用则可以模仿get_new()或者get_case的方法
  1. /*获取新闻 */ 
  2.     get_news(e) { 
  3.         var that = this
  4.         swan.request({ 
  5.             url: app.globalData.api + "action=list"
  6.             data: { 
  7.                 typeid: '20'
  8.                 num: '10'
  9.                 order: 'id desc'
  10.                 aid: app.globalData.aid 
  11.             }, 
  12.             method: 'POST'
  13.             header: { 
  14.                 'content-type''application/x-www-form-urlencoded'
  15.                 'x-safecode': app.globalData.safecode 
  16.             }, 
  17.             success: function (res) { 
  18.                 var data = res.data; 
  19.                 if (data.status == 200) { 
  20.                     var list = data.data; 
  21.                     for (var i in list) { 
  22.                         list[i].pubdate = util.formatTime(list[i].pubdate, 'Y-M-D'); 
  23.                     } 
  24.                     that.setData({ 
  25.                         list: list 
  26.                     }) 
  27.                 } 
  28.             }, 
  29.             fail: function () { 
  30.                 console.log('请求失败'); 
  31.             } 
  32.         }) 
  33.     }, 
重点:每次请求之后的结果必须通过setData方式赋值一下,只有赋值之后,前端才可以调用,比如
  1. that.setData({  
  2.                         cases: cases,  
  3.                         news: news,  
  4.                         about: about  
  5.                     })  
然后在swan页面或者wxml页面就可以直接调用cases、news和about的了

(3)pages文件夹下的每个页面其实都需要指定一个默认typeid,特别是case、service和page必须制定一个typeid,需要根据自己网站全部改成你自己的,比如list/list.js中:
  1. list: [], 
  2. typeid: 7,//默认栏目id 
  3. host: app.globalData.host, 
  4. copyright: ''
  5. listtype: 5, //列表类型可以通过template/list.swan查看类型名称
  6.  catlist: ''
(4)tabbar页面
demo下边的四个悬浮的导航就是四个tabbar页面,需要去app.json里边去配置相关文字 路径等信息,四个tabbar之间是互相不能传参的(很坑爹的),所以list、show页面不能设置为tabbar,想新增tabbar可以赋值一份list页面设置为tabbar即可


(5)template/list.swan里边设置了六种列表方式,比如文字模式、图文模式等等,根据自己需要传递不同的listtype即可

(6)跳转页面,跳转分普通方式和bindtap绑定方式(由于区分tabbar和非tabbar页面所以跳转也分不同情况)
1、超链接方式:
tabbar页面:<navigator url='../case/case?typeid=18' openType='switchTab'>案例</navigator>
普通页面:<navigator url='../list/list?typeid=18'>新闻</navigator>

2、通过bindtap="方法"的方式触发(bindtap意思绑定一个方法)
  1. <view class='service_li' bindtap='show_service' data-typeid='11' data-listtype='3'> <!-- bindtap='show_service' --->
  2.         <image src='../../images/s01.png' mode='widthFix'></image> 
  3.         <view class='service_li_text'>网站建设</view> 
  4.     </view> 
 bindtap='show_service' 即表示触发show_service方法 去对应页面的js种找到这个方法,就可以修改对应url,如果你想跳转其他页面 就改成 bindtap='show_service2',然后去js复制一份这个方法 也改成show_service即可。

其他注意事项

(1)每一个request请求项目的data里边必须传递一个参数aid,即小程序id,否则报错,例:
  1. data: { 
  2.       typeid: '18'
  3.       num: '9'
  4.       aid: app.globalData.aid 
  5.  }, 
(2)每一个request请求项目的header里必须包含参数: 'x-safecode': app.globalData.safecode,否则报错(原先appsecret不再支持)
(3)request请求默认POST(大写),也可以使用get方式,但是header里边的 'content-type'需要做对应调整,具体参考每个小程序的开发文档
  1. method: 'POST'
  2. header: { 
  3.        'content-type''application/x-www-form-urlencoded'
  4.        'x-safecode': app.globalData.safecode 
  5. }, 
【注意】最近网上有人公开出售我的源码,特做此声明:
(1)本站是dedecms小程序插件唯一教程官网,购买插件请联系QQ:2863868475;
(2)只有在本站购买的小程序插件会提供升级、维护和技术支持;
(3)在第三方网站购买的源码出现任何不可预测的情况与本站无关。
(4)作者未授权六久阁网出售该小程序,大家注意不要上当



版权声明:本文为原创文章,未经允许不得转载。https://doc.tengcee.com/dedecms/pezhis/58.html
上一篇:第一页
下一篇:其他配置

服务热线

15137100750

我知道你不会打


但是我还是要写


你懂得!

微信二维码

QQ群二维码