💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
#### 功能介绍 ##### 定义应用后台功能 以**doWeb入口标识**为方法名,设计模块时,需要先在**管理中心菜单**中注册。当然,如果一些ajax地址或是你不想显示在左侧菜单上,也可以不在设计模块时注册这些菜单,只要按照访问路由方法,一样是可以调用到。可以查看[URL路由的相关说明及函数](http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=161 "URL路由的相关说明及函数") ##### 定义手机端页面 以**doMobile入口标识**为方法名,供手机端接口或是页面使用。此方法不一定要在设计模块时注册,只要按照访问路由方法,一样是可以调用到。只是如果此页面是不验证登录的,需要在设计模块时,设置此标识**无需要登录访问**。可以查看[manifest文件](http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=2645 "manifest") #### 具体功能实现 此例中,将实现一个查看所有活动列表的功能。代码如下: 开发应用使用了命名空间,具体可以查看**[命名空间](http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=391 "命名空间")** 文件中有三个方法,别表是活动列表,删除活动,编辑活动,其中只有 活动列表,在设计模块的时候注册了,因为这个菜单要显示到模块左侧,其它菜单是由自己在HTML页面中加入的,所以可以不事先注册。 调用**site.php**中的其它方法,可以在页面中使用下面的方法,具体可以查看**[生成模块内链接地址](http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=164 "生成模块内链接地址")** 1. `<td>` 2. `<div class="li<x>nk-group">` 3. `<a href="http://s.w7.cc" rel="external nofollow" rel="external nofollow" rel="external nofollow" >编辑</a>` 4. `<a href="http://s.w7.cc" rel="external nofollow" rel="external nofollow" rel="external nofollow" on<x>click="return confirm('是否确认删除?');" class="del">删除</a>` 5. `</div>` 6. `</td>` 完整的代码示例如下: 1. `_php` 2. `namespace rcdonkey;` 3. `/**` 4. `* 接龙报名模块微站定义` 5. `*` 6. `* @author 米粥` 7. `* @url` 8. `*/` 9. `defined('IN_IA') or exit('Access Denied');` 11. `class Rcdonkey_signupModuleSite extends \WeModuleSite {` 12. `public function doWebActivity() {` 13. `global $_W, $_GPC;` 15. `$pageindex = max(1, intval($_GPC['page']));` 16. `$pagesize = 15;` 18. `$status = array(` 19. `'1' => '进行中',` 20. `'2' => '进行中',` 21. `'3' => '已结束',` 22. `);` 24. `$activity_list = pdo_getslice('rcdonkey_activity', array(), array($pageindex, $pagesize), $total, array(), 'id', 'id desc');` 25. `if (!empty($activity_list)) {` 26. `foreach ($activity_list as &$activity) {` 27. `$activity['createtime'] = date('Y-m-d H:i', $activity['createtime']);` 28. `$activity['join_deadline'] = date('Y-m-d', $activity['join_deadline']);` 29. `$activity['code'] = tomedia($activity['code']);` 30. `}` 31. `unset($activity);` 32. `}` 33. `$pager = pagination($total, $pageindex, $pagesize);` 34. `include $this->template('activity-list');` 35. `}` 37. `public function doWebDeleteActivity() {` 38. `global $_GPC;` 39. `$id = intval($_GPC['id']);` 41. `$activity = pdo_get('rcdonkey_activity', array('id' => $id));` 42. `if (empty($activity)) {` 43. `message('删除的活动不存在或是已经被删除');` 44. `}` 45. `if (pdo_delete('rcdonkey_activity', array('id' => $id))) {` 46. `message('活动删除成功', referer(), 'success');` 47. `} else {` 48. `message('活动删除失败,请重试');` 49. `}` 50. `}` 52. `public function doWebEditActivity() {` 53. `global $_GPC;` 54. `$id = intval($_GPC['id']);` 56. `$activity = pdo_get('rcdonkey_activity', array('id' => $id));` 57. `if (empty($activity)) {` 58. `message('删除的活动不存在或是已经被删除');` 59. `}` 61. `if (checksubmit('submit')) {` 62. `if (empty($_GPC['title']) || empty($_GPC['join_deadline'])) {` 63. `message('请输入活动的标题和截止日期');` 64. `}` 65. `$data = array(` 66. `'title' => $_GPC['title'],` 67. `'desc<x>ription' => $_GPC['desc<x>ription'],` 68. `'join_total' => intval($_GPC['join_total']),` 69. `'join_deadline' => strtotime($_GPC['join_deadline']),` 70. `'status' => intval($_GPC['status']),` 71. `);` 73. `pdo_update('rcdonkey_activity', $data, array('id' => $id));` 74. `message('更新成功', referer(), 'success');` 75. `}` 76. `include $this->template('activity-detail');` 77. `}` 78. `}`