Template.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <?php
  2. namespace app\controller\admin;
  3. use laytp\controller\Backend;
  4. use think\facade\Config;
  5. use laytp\library\CommonFun;
  6. use laytp\library\Tree;
  7. /**
  8. * 示例文本
  9. */
  10. class Template extends Backend
  11. {
  12. /**
  13. * member模型对象
  14. * @var \app\model\Template
  15. */
  16. protected $model;
  17. protected $hasSoftDel=1;//是否拥有软删除功能
  18. protected $noNeedLogin = []; // 无需登录即可请求的方法
  19. protected $noNeedAuth = ['index']; // 无需鉴权即可请求的方法
  20. public function _initialize()
  21. {
  22. $this->model = new \app\model\Template();
  23. }
  24. //查看和搜索列表
  25. public function index(){
  26. global $_W;
  27. $where = $this->buildSearchParams();
  28. $where[] = ['uniacid','=',$_W['uniacid']];
  29. $order = $this->buildOrder();
  30. $order = ['sort'=>'desc','id' => 'desc'];
  31. $sourceData = $this->model->where($where)->order($order);
  32. $isTree = $this->request->param('is_tree');
  33. if($isTree){
  34. $menuTreeObj = Tree::instance();
  35. $menuTreeObj->init($sourceData->select()->toArray());
  36. $data = $menuTreeObj->getRootTrees();
  37. }else{
  38. $paging = $this->request->param('paging', false);
  39. if ($paging) {
  40. $limit = $this->request->param('limit', Config::get('paginate.limit'));
  41. $data = $$sourceData->paginate($limit)->toArray();
  42. $data['data'] = $this->getSelectedData($data['data']);
  43. } else {
  44. $data = $$sourceData->select()->toArray();
  45. }
  46. }
  47. return $this->success('数据获取成功', $data);
  48. }
  49. //删除
  50. public function del()
  51. {
  52. $ids = $this->request->post('ids');
  53. if (!$ids) {
  54. return $this->error('参数ids不能为空');
  55. }
  56. $sourceData = $this->model->select()->toArray();
  57. $treeLib = Tree::instance();
  58. $treeLib->init($sourceData);
  59. $childIds = $treeLib->getChildIds($ids);
  60. if ($this->model->destroy($childIds)) {
  61. return $this->success('数据删除成功');
  62. } else {
  63. return $this->error('数据删除失败');
  64. }
  65. }
  66. //初始化
  67. public function init(){
  68. global $_W;
  69. $where = ['uniacid' => $_W['uniacid']];
  70. try{
  71. if ($this->model->destroy($where)) {
  72. $fileId0 =$this->model->insertGetId([
  73. 'pid' => 0,
  74. 'title' => '效率工具',
  75. 'uniacid' =>$_W['uniacid'],
  76. 'create_time' => date('Y-m-d H:i:s'),
  77. 'update_time' => date('Y-m-d H:i:s')
  78. ]);
  79. $list0 = [
  80. ['uniacid' => $_W['uniacid'],'guide'=>'写一份报告','title'=>'周报年报生成器','sub_title'=>'输入工作内容,帮你快速完成周报月报年报。','pid'=>$fileId0,'code'=>'weekly'],
  81. ['uniacid' => $_W['uniacid'],'guide'=>'用客套话生成一封邮件','title'=>'邮件小助手','sub_title'=>'描述场景和需求,帮你生成客套话。','pid'=>$fileId0],
  82. ['uniacid' => $_W['uniacid'],'guide'=>'你是阅读小助手,帮用户解释下这段文字','title'=>'阅读小助手','sub_title'=>'输入不懂的文字段落并让小助手解释。','pid'=>$fileId0],
  83. ['uniacid' => $_W['uniacid'],'guide'=>'用SWOT分析法,生成一份SWOT分析报告','title'=>'SWOT分析法','sub_title'=>'请详细描述目前事件的情势,小助手会帮你生成一份SWOT分析报告。','pid'=>$fileId0],
  84. ['uniacid' => $_W['uniacid'],'guide'=>'帮用户生成完整的OKR规划','title'=>'OKR生成器','sub_title'=>'请输入你要完成的目标,小助手为你生成完整的OKR规划','pid'=>$fileId0],
  85. ['uniacid' => $_W['uniacid'],'guide'=>'学术论文生成,帮助用户进行研究、分析、组织思路并编写出符合学术标准的论文。','title'=>'学术论文','sub_title'=>'写各种类型的学术论文,包括科技论文、文学论文、社科论文等。它可以帮助你进行研究、分析、组织思路并编写出符合学术标准的论文。','pid'=>$fileId0]
  86. ];
  87. $this->model->saveAll($list0);
  88. $fileId1 =$this->model->insertGetId([
  89. 'pid' => 0,
  90. 'title' => '生活',
  91. 'uniacid' =>$_W['uniacid'],
  92. 'create_time' => date('Y-m-d H:i:s'),
  93. 'update_time' => date('Y-m-d H:i:s')
  94. ]);
  95. $list1 = [
  96. ['uniacid' => $_W['uniacid'],'guide'=>'你是餐厅点评小助手,请帮用户点评下','title'=>'餐厅点评小助手','sub_title'=>'输入关键词,小助手帮你生成餐厅点评','pid'=>$fileId1],
  97. ['uniacid' => $_W['uniacid'],'guide'=>'你是商品点评小助手,请帮用户点评下','title'=>'商品点评小助手','sub_title'=>'输入商品名和相关信息,小助手帮你生成商品评价','pid'=>$fileId1],
  98. ['uniacid' => $_W['uniacid'],'guide'=>'你是塔罗牌预测小助手','title'=>'塔罗牌预测小助手','sub_title'=>'输入想预测的占卜内容,帮你预测运势','pid'=>$fileId1],
  99. ['uniacid' => $_W['uniacid'],'guide'=>'请帮用户生成小红书风格的文章','title'=>'小红书风格模拟器','sub_title'=>'输入你想发布的内容,帮你生成小红书的风格。','pid'=>$fileId1,'code'=>'xiaohongshu'],
  100. ['uniacid' => $_W['uniacid'],'guide'=>'你是解梦小助手','title'=>'解梦小助手','sub_title'=>'请描述你的梦境,小助手将为你作出简单解析。','pid'=>$fileId1],
  101. ['uniacid' => $_W['uniacid'],'guide'=>'帮用户写一封节日祝福','title'=>'节日祝福','sub_title'=>'输入节日名称和关键词,帮你写一封节日祝福','pid'=>$fileId1],
  102. ['uniacid' => $_W['uniacid'],'guide'=>'帮用户解决职场问题','title'=>'职场开解小树洞','sub_title'=>'请输入遇到的职场问题,让小树洞为你排忧解难。','pid'=>$fileId1],
  103. ['uniacid' => $_W['uniacid'],'guide'=>'你是知识小百科,帮用户科普百科知识','title'=>'知识小百科','sub_title'=>'请输入不懂的问题或概念,小助手为你科普','pid'=>$fileId1],
  104. ];
  105. $this->model->saveAll($list1);
  106. $fileId2 =$this->model->insertGetId([
  107. 'pid' => 0,
  108. 'title' => '娱乐',
  109. 'uniacid' =>$_W['uniacid'],
  110. 'create_time' => date('Y-m-d H:i:s'),
  111. 'update_time' => date('Y-m-d H:i:s')
  112. ]);
  113. $list2 = [
  114. ['uniacid' => $_W['uniacid'],'guide'=>'你是夸夸小助手','title'=>'夸夸小助手','sub_title'=>'请描述你想夸的人和想夸的点,小助手帮你夸夸','pid'=>$fileId2],
  115. ['uniacid' => $_W['uniacid'],'guide'=>'生成知乎风格的文章','title'=>'知乎风格问答器','sub_title'=>'生成知乎风格的文章','pid'=>$fileId2],
  116. ['uniacid' => $_W['uniacid'],'guide'=>'你是emoji翻译小助手','title'=>'emoji翻译小助手','sub_title'=>'请输入一段文字,小助手为你翻译成Emoji','pid'=>$fileId2],
  117. ['uniacid' => $_W['uniacid'],'guide'=>'你是甩锅小助手,为用户生成一段甩锅的话','title'=>'甩锅小助手','sub_title'=>'请输入想要甩锅的事件,小助手会为你生成一段甩锅的话。','pid'=>$fileId2],
  118. ['uniacid' => $_W['uniacid'],'guide'=>'哄女友小助手,生成一段道歉的话','title'=>'哄女友小助手','sub_title'=>'请输入女朋友生气的原因,小助手为你生成一段道歉的话。','pid'=>$fileId2],
  119. ['uniacid' => $_W['uniacid'],'guide'=>'恋爱话术小助手,教用户土味情话','title'=>'恋爱话术小助手','sub_title'=>'让小助手教你土味情话','pid'=>$fileId2],
  120. ];
  121. $this->model->saveAll($list2);
  122. $fileId3 =$this->model->insertGetId([
  123. 'pid' => 0,
  124. 'title' => '功能',
  125. 'uniacid' =>$_W['uniacid'],
  126. 'create_time' => date('Y-m-d H:i:s'),
  127. 'update_time' => date('Y-m-d H:i:s')
  128. ]);
  129. $list3 = [
  130. ['uniacid' => $_W['uniacid'],'guide'=>'解释名词','title'=>'名词解释','sub_title'=>'查询并解释任何只是概念','pid'=>$fileId3],
  131. ['uniacid' => $_W['uniacid'],'guide'=>'制定学习计划','title'=>'制定学习计划','sub_title'=>'制定各种学习计划','pid'=>$fileId3],
  132. ['uniacid' => $_W['uniacid'],'guide'=>'你是答题助手','title'=>'答题助手','sub_title'=>'回答各种领域的作业难题','pid'=>$fileId3],
  133. ['uniacid' => $_W['uniacid'],'guide'=>'推荐几首用户可能喜欢的歌','title'=>'歌曲推荐','sub_title'=>'推荐几首你可能喜欢的歌','pid'=>$fileId3],
  134. ];
  135. $this->model->saveAll($list3);
  136. $fileId4 =$this->model->insertGetId([
  137. 'pid' => 0,
  138. 'title' => '创作型助手',
  139. 'uniacid' =>$_W['uniacid'],
  140. 'create_time' => date('Y-m-d H:i:s'),
  141. 'update_time' => date('Y-m-d H:i:s')
  142. ]);
  143. $list4 = [
  144. ['uniacid' => $_W['uniacid'],'guide'=>'评论电影、书籍或音乐','title'=>'电影评论','sub_title'=>'评论电影、书籍或音乐','pid'=>$fileId4],
  145. ['uniacid' => $_W['uniacid'],'guide'=>'生成一条文艺朋友圈','title'=>'朋友圈文案','sub_title'=>'生成一条文艺朋友圈','pid'=>$fileId4],
  146. ['uniacid' => $_W['uniacid'],'guide'=>'讲一个睡前故事','title'=>'睡前故事','sub_title'=>'讲一个睡前故事','pid'=>$fileId4],
  147. ['uniacid' => $_W['uniacid'],'guide'=>'你是文案专家','title'=>'写文案','sub_title'=>'为任何产品撰写介绍文案','pid'=>$fileId4],
  148. ['uniacid' => $_W['uniacid'],'guide'=>'写份工作报告','title'=>'写报告','sub_title'=>'定制生成各领域的报告','pid'=>$fileId4,'code'=>'baogao'],
  149. ['uniacid' => $_W['uniacid'],'guide'=>'你是一名专业的翻译助手','title'=>'翻译','sub_title'=>'对各种语言进行翻译','pid'=>$fileId4,'code'=>'fanyi'],
  150. ];
  151. $this->model->saveAll($list4);
  152. return $this->success('初始化成功');
  153. } else {
  154. return $this->error('数据删除失败');
  155. }
  156. }catch (\Exception $e){
  157. return $this->exceptionError($e);
  158. }
  159. // return $this->success('获取成功', $_W);
  160. }
  161. //设置积分
  162. public function setStatus()
  163. {
  164. $id = $this->request->post('id');
  165. $fieldVal = $this->request->post('field_val');
  166. $isRecycle = $this->request->post('is_recycle');
  167. $update['status'] = $fieldVal;
  168. try {
  169. if($isRecycle) {
  170. $updateRes = $this->model->onlyTrashed()->where('id', '=', $id)->update($update);
  171. } else {
  172. $updateRes = $this->model->where('id', '=', $id)->update($update);
  173. }
  174. if ($updateRes) {
  175. return $this->success('操作成功');
  176. } else if ($updateRes === 0) {
  177. return $this->success('未作修改');
  178. } else {
  179. return $this->error('操作失败');
  180. }
  181. } catch (\Exception $e) {
  182. return $this->error('数据库异常,操作失败');
  183. }
  184. }
  185. //设置排序
  186. public function setSort()
  187. {
  188. $id = $this->request->post('id');
  189. $fieldVal = $this->request->post('field_val');
  190. $isRecycle = $this->request->post('is_recycle');
  191. $update['sort'] = $fieldVal;
  192. try {
  193. if($isRecycle) {
  194. $updateRes = $this->model->onlyTrashed()->where('id', '=', $id)->update($update);
  195. } else {
  196. $updateRes = $this->model->where('id', '=', $id)->update($update);
  197. }
  198. if ($updateRes) {
  199. return $this->success('操作成功');
  200. } else if ($updateRes === 0) {
  201. return $this->success('未作修改');
  202. } else {
  203. return $this->error('操作失败');
  204. }
  205. } catch (\Exception $e) {
  206. return $this->error('数据库异常,操作失败');
  207. }
  208. }
  209. }