API 利用之一,前后端完全分离和无刷新瀑布流
wellcms 前台的所有页面,均内置了 API,支持异步 GET 和 POST,可以做到完全的前后端分离。通过 API 可制作小程序和APP,现在的APP、小程序多是无刷新瀑布流,那么 wellcms 也是可以做到。
根据个人习惯,自行挑选前端框架制作小程序和APP。
1.开启 API,conf/conf.php
'api_on' => 1,
2.内置 js 获取数据
<script> /* * 通过 API 获取数据,格式为 Object 无需再JSON转换,直接使用 * 获取路径http://www.x.com/list-1.html * 格式化链接 xn.url('list-1') * 列表翻页加载 xn.url('list-1-2') 最后一个 2 为翻页码,1为第1页,2为第2页,3为第3页 * Object 返回数据中 * "page": 1, 为当前页码 * "num": "2", 为当前版块主题数量,根据此数量计算分页数量 * list 为列表页 * 1为fid * 其他页面同样如此,再浏览器看到的链接都可以直接使用 * * 链接有携带其他参数 * 如http://www.x.com/list-1.html?default=1&orderby=lastpid * 格式化链接 * xn.url('list-1', {'default':'1', 'orderby':'lastpid'}) * code = 0 返回正常数据, message 为返回的数据 * code > 0 数据错误,message 为错误提示 * code < 0 数据不存在,message 为错误提示 * code 返回非数字错误,表单提交的错误参数,message 为错误提示 * 不需要显示错误,可删除 * 学会使用 console.log(message); 打印查看数据 * JS 代码请勿使用双斜杠 // 注释 * */ $.xget(xn.url('list-1'), function (code, message) { /*console.log(code);*/ if (0 == code) { /* 返回的数据,直接JS for遍历 或 JQ 渲染页面 $.each 遍历,复制列表最后一个元素,进行替换即可,wellcms 非前端渲染可达到 0.00x秒打开页面,前端渲染只会更出色。 console.log(message); */ } else if (1 == code) { } else { /* 弹窗提示错误,根据需要可删除此处或修改message.htm */ $.alert(message); } });</script>
API GET 返回 Object 格式数据:
{ "forum": { "fid": "1", "fup": "0", "son": "0", "type": "1", "model": "0", "category": "0", "name": "新闻", "rank": "0", "threads": "2", "tops": "7", "todayposts": "0", "todaythreads": "1", "accesson": "0", "orderby": "0", "icon": "0", "display": "1", "nav_display": "1", "index_new": "10", "channel_new": "10", "comment": "2", "pagesize": "20", "publish": "0", "flags": "1", "create_date": "1616507053", "flagstr": "1", "thumbnail": { "width": 170, "height": 113 }, "moduids": "", "seo_title": "", "seo_keywords": "", "brief": "", "announcement": "", "well_publish": "0", "create_date_fmt": "2021-3-23", "icon_url": "view/img/forum.png", "accesslist": [], "modlist": [], "flagstr_fmt": { "1": { "flagid": "1", "name": "节点", "fid": "1", "rank": "0", "number": "10", "count": "0", "icon": "0", "display": "1", "create_date": "1612705005", "i": 1, "forum_name": "新闻", "display_fmt": "是", "forum_url": "list-1.html", "url": "flag-1.html", "create_date_fmt": "2021-02-07", "icon_fmt": "view/img/nopic.png" } }, "url": "list-1.html" }, "page": 1, "num": "2", "arrlist": { "threadlist": { "9": { "tid": "9", "fid": "1", "type": "0", "sticky": "0", "uid": "1", "icon": "0", "create_date": "1616642455", "views": "0", "posts": "0", "images": "0", "files": "0", "mods": "0", "status": "0", "closed": "0", "lastuid": 0, "last_date": "1616642455", "attach_on": "0", "flags": "0", "subject": "书中自有黄金屋,书中自有颜如玉", "tag": "", "brief": "", "keyword": "", "description": "", "image_url": "", "well_topicid": "0", "well_last_time": "0", "well_downloads": "0", "i": 1, "create_date_fmt": "8分钟前", "last_date_fmt": "", "create_date_fmt_ymd": "2021-03-25", "last_date_fmt_ymd": "2021-03-25", "username": "admin", "user_avatar_url": "view/img/avatar.png", "user": { "uid": "1", "gid": "1", "username": "admin", "articles": "1", "comments": "48", "avatar": "0", "well_comment_likes": "0", "well_publishs": "0", "well_publish_latest": "0", "well_comments": "0", "well_comment_latest": "0", "well_verify_threads": "0", "well_verify_comments": "0", "well_publish_rejects": "0", "well_topics": "0", "well_topic_manages": "0", "well_topic_subscribes": "0", "well_topic_joins": "0", "well_softwares": "0", "well_downloads": "0", "groupname": "管理员组", "avatar_url": "view/img/avatar.png", "online_status": 1 }, "forum_name": "新闻", "forum_url": "list-1.html", "lastusername": "", "url": "read-9.html", "user_url": "user-1.html", "sticky_class": "", "icon_fmt": "view/img/nopic.png", "pages": 0, "tag_fmt": "", "allowupdate": true, "allowdelete": true, "allowtop": true, "topic_title": "", "topic_url": "" } }, "flaglist": { "1": { "flagid": "1", "name": "节点", "fid": "1", "rank": "0", "number": "10", "count": "0", "icon": "0", "display": "1", "create_date": "1612705005", "i": 1, "forum_name": "新闻", "display_fmt": "是", "forum_url": "list-1.html", "url": "flag-1.html", "create_date_fmt": "2021-02-07", "icon_fmt": "view/img/nopic.png" } } }, "extra": { "fid": 1 }, "header": { "title": "新闻-Website", "mobile_title": "", "mobile_link": "list-1.html", "keywords": "新闻", "description": "", "navs": [] }, "active": "default" }
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。
未经允许不得转载:Str Tom工作室 » Wellcms瀑布流调用