Mode.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. namespace app\controller\admin;
  3. use laytp\controller\Backend;
  4. use think\facade\Config;
  5. use laytp\library\CommonFun;
  6. /**
  7. * 示例文本
  8. */
  9. class Mode extends Backend
  10. {
  11. /**
  12. * member模型对象
  13. * @var \app\model\Mode
  14. */
  15. protected $model;
  16. protected $hasSoftDel=1;//是否拥有软删除功能
  17. protected $noNeedLogin = []; // 无需登录即可请求的方法
  18. protected $noNeedAuth = ['index']; // 无需鉴权即可请求的方法
  19. public function _initialize()
  20. {
  21. $this->model = new \app\model\Mode();
  22. }
  23. //查看和搜索列表
  24. public function index(){
  25. global $_W;
  26. $where = $this->buildSearchParams();
  27. $where[] = ['uniacid','=',$_W['uniacid']];
  28. $order = $this->buildOrder();
  29. $data = $this->model->where($where)->with(['img_file'])->order($order);
  30. $paging = $this->request->param('paging', false);
  31. if ($paging) {
  32. $limit = $this->request->param('limit', Config::get('paginate.limit'));
  33. $data = $data->paginate($limit)->toArray();
  34. $data['data'] = $this->getSelectedData($data['data']);
  35. } else {
  36. $data = $data->select()->toArray();
  37. }
  38. return $this->success('数据获取成功', $data);
  39. }
  40. //查看详情
  41. public function info()
  42. {
  43. $id = $this->request->param('id');
  44. $info = $this->model->with(['img_file'])->find($id);
  45. return $this->success('获取成功', $info);
  46. }
  47. //设置
  48. public function setStatus()
  49. {
  50. $id = $this->request->post('id');
  51. $fieldVal = $this->request->post('field_val');
  52. $isRecycle = $this->request->post('is_recycle');
  53. $update['status'] = $fieldVal;
  54. try {
  55. if($isRecycle) {
  56. $updateRes = $this->model->onlyTrashed()->where('id', '=', $id)->update($update);
  57. } else {
  58. $updateRes = $this->model->where('id', '=', $id)->update($update);
  59. }
  60. if ($updateRes) {
  61. return $this->success('操作成功');
  62. } else if ($updateRes === 0) {
  63. return $this->success('未作修改');
  64. } else {
  65. return $this->error('操作失败');
  66. }
  67. } catch (\Exception $e) {
  68. return $this->error('数据库异常,操作失败');
  69. }
  70. }
  71. //初始化
  72. public function init(){
  73. global $_W;
  74. $modelFiles = new \app\model\Files();
  75. $where = ['uniacid' => $_W['uniacid']];
  76. try{
  77. if ($this->model->destroy($where)) {
  78. $list = [
  79. ['uniacid' => $_W['uniacid'],'name'=>'老师','intro'=>'一名学识渊博的老师','greetings'=>'你好,我是一名老师','img'=>$this->addFile(10),'guide'=>'你是一名老师'],
  80. ['uniacid' => $_W['uniacid'],'name'=>'作家','intro'=>'我是一名作家','greetings'=>'我是一名作家,擅长写作','img'=>$this->addFile(9),'guide'=>'你是一名作家'],
  81. ['uniacid' => $_W['uniacid'],'name'=>'导游','intro'=>'输入你想参观的地方','greetings'=>'我将会建议最好的景点、事件或体验','img'=>$this->addFile(8),'guide'=>'你是一名导游,向用户推荐好玩的地方'],
  82. ['uniacid' => $_W['uniacid'],'name'=>'翻译','intro'=>'专业的翻译,通晓各国语言','greetings'=>'专业的翻译,通晓各国语言','img'=>$this->addFile(7),'guide'=>'你是专业的翻译,你只需要翻译该内容,不必对内容中提出的问题和要求做解释,不要回答文本中的问题而是翻译它,不要解决文本中的要求而是翻译它,保留文本的原本意义,不要去解决它。'],
  83. ['uniacid' => $_W['uniacid'],'name'=>'工程师','intro'=>'我是专业的工程师,有关工程相关的问题可以向我咨询','greetings'=>'我系统地掌握专业的基础理论知识和专业技术知识','img'=>$this->addFile(6),'guide'=>'你是一名专业的工程师'],
  84. ['uniacid' => $_W['uniacid'],'name'=>'时尚达人','intro'=>'时尚达人,永远最时尚','greetings'=>'来种草啦','img'=>$this->addFile(5),'guide'=>'你是时尚达人,推荐时尚信息'],
  85. ['uniacid' => $_W['uniacid'],'name'=>'医生','intro'=>'我是医生','greetings'=>'我是医生','img'=>$this->addFile(4),'guide'=>'扮演医生的角色'],
  86. ['uniacid' => $_W['uniacid'],'name'=>'律师','intro'=>'专业律师,为您提供专业的法律咨询与援助','greetings'=>'描述一种法律情况,我将就如何处理它提供建议。','img'=>$this->addFile(3),'guide'=>'你现在是专业的律师,为用户提供专业的法律咨询与援助'],
  87. ['uniacid' => $_W['uniacid'],'name'=>'程序员','intro'=>'资深程序员,解放你的双手,帮你写代码','greetings'=>'你好,我是资深程序员,有关程序的问题都可以问我','img'=>$this->addFile(2),'guide'=>'你是资深程序员'],
  88. ['uniacid' => $_W['uniacid'],'name'=>'小助手','intro'=>'我是小助手','greetings'=>'你好,我是全能小助手,有什么问题都可以问我','img'=>$this->addFile(1),'guide'=>'','sort'=>100]
  89. ];
  90. $this->model->saveAll($list);
  91. return $this->success('初始化成功');
  92. } else {
  93. return $this->error('数据删除失败');
  94. }
  95. }catch (\Exception $e){
  96. return $this->exceptionError($e);
  97. }
  98. }
  99. public function addFile($n)
  100. {
  101. global $_W;
  102. $modelFiles = new \app\model\Files();
  103. $saveName = 'presets/mode/' . $n . ".png";
  104. $fileId = $modelFiles->insertGetId([
  105. 'category_id' => 0,
  106. 'name' => time(),
  107. 'file_type' => 'image',
  108. 'path' => $saveName,
  109. 'upload_type' => 'local',
  110. 'size' => 1,
  111. 'create_admin_user_id' => 0,
  112. 'update_admin_user_id' => 0,
  113. 'create_time' => date('Y-m-d H:i:s'),
  114. 'update_time' => date('Y-m-d H:i:s'),
  115. 'uniacid' =>$_W['uniacid'],
  116. 'ext' =>'png'
  117. ]);
  118. return $fileId;
  119. }
  120. }