国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于微信小程序校內(nèi)論壇系統(tǒng)

這篇具有很好參考價值的文章主要介紹了基于微信小程序校內(nèi)論壇系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

開發(fā)工具:IDEA、微信小程序

服務(wù)器:Tomcat9.0, jdk1.8

項目構(gòu)建:maven

數(shù)據(jù)庫:mysql5.7

前端技術(shù):vue、uniapp

服務(wù)端技術(shù):springboot+mybatis-plus

本系統(tǒng)分微信小程序和管理后臺兩部分,項目采用前后端分離

系統(tǒng)主要分為兩個角色:管理員和普通用戶。

1.普通用戶(小程序):登錄、注冊、首頁、論壇信息(查詢、發(fā)布、回復、收藏)、我的(修改信息、我的發(fā)布、我的收藏、退出登錄)。

2.管理員(后臺):登錄、首頁、公告管理、新聞管理、論壇管理、用戶管理、個人中心(收藏管理)、系統(tǒng)管理(管理員管理、角色管理、菜單管理、系統(tǒng)日志)、退出登錄、修改密碼等功能的管理

基于微信小程序校內(nèi)論壇系統(tǒng)

文檔截圖:

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

?

基于微信小程序校內(nèi)論壇系統(tǒng)

微信小程序截圖:?

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

后臺截圖:

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)

基于微信小程序校內(nèi)論壇系統(tǒng)文章來源地址http://www.zghlxwxcb.cn/news/detail-457785.html

package io.renren.modules.renren.controller;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Map;

import io.renren.modules.renren.file.FileUploadController;
import io.renren.modules.util.FileUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

import io.renren.modules.renren.entity.NewImgEntity;
import io.renren.modules.renren.service.NewImgService;
import io.renren.common.utils.PageUtils;
import io.renren.common.utils.R;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;

@RestController
@RequestMapping("renren/newimg")
public class NewImgController {
    @Autowired
    private NewImgService newImgService;

    @Value("${renren.uploadUrl}")
    private String uploadUrl;

    @Resource
    private FileUploadController fileUploadController;


    /**
     * 保存MultipartFile files
     */
    @PostMapping("/save")
    public R save(@RequestParam("files") MultipartFile files, String newsTitle,
                   String newsContetn
    ) throws Exception {
        String fileUrl;
        if (!files.isEmpty() && files != null) {
            fileUrl= fileUploadController.upload(files);
            NewImgEntity newImgEntity = new NewImgEntity();
            newImgEntity.setNewsTitle(newsTitle);
            newImgEntity.setNewsContetn(newsContetn);

            newImgEntity.setImgSrc(fileUrl);

            newImgService.save(newImgEntity);
            return R.ok();
        } else {
            return R.error();
        }
    }

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params) {
        PageUtils page = newImgService.queryPage(params);

        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Integer id) {
        NewImgEntity newImg = newImgService.getById(id);
        newImg.setImgSrc(uploadUrl+newImg.getImgSrc());
        return R.ok().put("newImg", newImg);
    }

    /**
     * 修改
     */
    @RequestMapping("/update2")
    public R update(Integer id, String newsTitle, String newsContetn) throws Exception {
        NewImgEntity newImgEntity = new NewImgEntity();
        newImgEntity.setId(id);
        newImgEntity.setNewsTitle(newsTitle);
        newImgEntity.setNewsContetn(newsContetn);
        newImgService.updateById(newImgEntity);
        return R.ok();
    }

    @PostMapping("/update")
    public R update(@RequestParam("files") MultipartFile files,Integer id, String newsTitle, String newsContetn) throws Exception {
        String fileUrl;
        if (!files.isEmpty() && files != null) {
            fileUrl= fileUploadController.upload(files);
            NewImgEntity newImgEntity = new NewImgEntity();
            newImgEntity.setId(id);
            newImgEntity.setNewsTitle(newsTitle);
            newImgEntity.setNewsContetn(newsContetn);

            newImgEntity.setImgSrc(fileUrl);

            newImgService.updateById(newImgEntity);
            return R.ok();
        } else {
            return R.error();
        }
    }

    /**
     * 刪除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids) {
        newImgService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
<template>
 <view class="">
  <view class="">
   <swiper style="height: 370upx;" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000">
    <swiper-item v-for="item3 in banner">
     <view class="swiper-item">
      <image :src="item3.src" style="width: 100%;"></image>
     </view>
    </swiper-item>
   </swiper>
  </view>
  <view
   style="display: flex;flex-direction: row;font-size: 27upx;margin: 27upx;border-bottom: 1upx dashed #999999;padding: 10upx;">
   <view class="">
    公告:
   </view>
   <view class="" v-if="noteMsg.newsTitle" @click="noteBtn(noteMsg.id)">
    {{noteMsg.newsTitle.substring(0,23)}}
   </view>
  </view>
  <view style="display: flex;flex-direction: column;margin: 20upx;">
   <view style="border-bottom: 1upx solid #999999;padding: 10upx;font-size: 32;font-weight: 600;">
    校園新聞
   </view>
   <view class="news" v-for="items in newsList" @click="newsBtn(items.id)">
    <text>{{items.newsTitle}}</text>
    <text>{{items.createDate.substring(0,10)}}</text>
   </view>

  </view>
  <view
   style="margin-left: 20upx;border-bottom: 1upx solid #999999;padding: 10upx;font-size: 32;font-weight: 600;">
   圖片新聞
  </view>
  <view style="font-size: 27upx;display: flex;flex-direction: row;margin: 16upx;justify-content: flex-start;flex-wrap: wrap;">
   <view @click="imgBtn(items.id)" style="display: flex;flex-direction: column;" v-for="items in imgList">
    <view class="">
     <image :src="items.imgSrc" class="newsImg"></image>
    </view>
    <view class="">
     {{items.newsTitle}}
    </view>
   </view>

  </view>
 </view>
</template>

<script>
 export default {
  data() {
   return {
    noteTxt: '',
    newsList: [],
    imgList: [],
    noteMsg:{},
    banner: [{
      src: "../../static/images/xiaoyuan.png"
     },
     {
      src: "../../static/images/xiaoyua2.png"
     }
    ]
   }
  },
  onLoad() {
   this.initNews()
   this.initImg()
   this.initNote()
  },
  methods: {
   newsBtn(id){
    uni.navigateTo({
     url:'./newmsg?id='+id
    })
   },
   noteBtn(id){
    uni.navigateTo({
     url:'./notemsg?id='+id
    })
   },
   imgBtn(id){
    uni.navigateTo({
     url:'./imgmsg?id='+id
    })
   },
   initNews() {
    var _this = this
    uni.request({
     url: _this.serverUrl + 'renren/newmsg/list',
     success(res) {
      if (res.data.code == 0) {
       _this.newsList = res.data.page.list
      }
     }
    })
   },
   initImg() {
    var _this = this
    uni.request({
     url: _this.serverUrl + 'renren/newimg/list',
     success(res) {

      if (res.data.code == 0) {
       /* debugger */
       _this.imgList = res.data.page.list
      }
     }
    })
   },
   initNote(){
    var _this = this
    uni.request({
     url: _this.serverUrl + 'renren/notemsg/list2',
     success(res) {
      if (res.data.code == 0) {
       _this.noteMsg = res.data.NoteMsg
      }
     }
    })
   }

  }
 }
</script>

<style>
 .newsImg {
  width: 230upx;
  height: 150upx;
 }

 .news {
  margin-top: 10upx;
  display: flex;
  flex-direction: row;
  font-size: 29upx;
  justify-content: space-between
 }

 .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
 }

 .logo {
  height: 200rpx;
  width: 200rpx;
  margin-top: 200rpx;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50rpx;
 }

 .text-area {
  display: flex;
  justify-content: center;
 }

 .title {
  font-size: 36rpx;
  color: #8f8f94;
 }
</style>

到了這里,關(guān)于基于微信小程序校內(nèi)論壇系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于微信小程序小型論壇交流系統(tǒng) (后臺java+Springboot框架)答辯常規(guī)問題和如何回答(答辯指導)

    ?博主介紹 :黃菊華老師《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設(shè)計教育和輔導。 所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,學習后應對畢業(yè)設(shè)計答辯。 項目配有對應開發(fā)文檔、

    2024年03月22日
    瀏覽(22)
  • JAVA微信小程序論壇系統(tǒng)畢業(yè)設(shè)計 開題報告

    JAVA微信小程序論壇系統(tǒng)畢業(yè)設(shè)計 開題報告

    本文給出的java微信小程序系統(tǒng)畢業(yè)設(shè)計開題報告,僅供參考!(具體模板和要求按照自己學校給的要求修改) 目的 :本課題主要目標是設(shè)計并能夠?qū)崿F(xiàn)一個基于微信小程序論壇交流系統(tǒng),前臺用戶使用小程序,后臺管理使用Java+Mysql開發(fā),后臺使用了springboot框架;通過后臺

    2024年02月06日
    瀏覽(32)
  • 微信小程序畢業(yè)設(shè)計作品成品(72)微信小程序在線交流論壇BBS系統(tǒng)設(shè)計與實現(xiàn)

    微信小程序畢業(yè)設(shè)計作品成品(72)微信小程序在線交流論壇BBS系統(tǒng)設(shè)計與實現(xiàn)

    博主介紹: 《Vue.js入門與商城開發(fā)實戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學生畢業(yè)設(shè)計教育和輔導。 所有項目都配有從入門到精通的基礎(chǔ)知識視頻課程,免費 項目配有對應開發(fā)文檔、開題報告、任務(wù)書、PPT、論文模版

    2024年02月08日
    瀏覽(22)
  • 快速上手微信小程序(純原生)基于微信開發(fā)者工具+云開發(fā)

    快速上手微信小程序(純原生)基于微信開發(fā)者工具+云開發(fā)

    最近開發(fā)一個小程序。因為體量實在不大,兩張表,幾個接口。便打算寫原生的代碼。沒有使用uniapp等框架。記錄一下一個小程序從搭建到審核發(fā)布的那些坑和經(jīng)驗做為學習筆記。 幾個網(wǎng)站請收藏 你的小程序需要開發(fā)工具: 保姆級傳送門 你的小程序需要一個身份證: 微信公

    2024年02月10日
    瀏覽(163)
  • 基于微信小程序的考研論壇設(shè)計的設(shè)計與開發(fā)(源碼+lw+部署文檔+講解等)

    基于微信小程序的考研論壇設(shè)計的設(shè)計與開發(fā)(源碼+lw+部署文檔+講解等)

    ?? 博主介紹 :?新人博主,工作經(jīng)驗兩年+、專注于Java、小程序技術(shù)領(lǐng)域和畢業(yè)項目實戰(zhàn)??? ??文末獲取源碼+數(shù)據(jù)庫?? 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項目以及論文編寫等相關(guān)問題都可以給我留言咨詢,希望幫助更多的人 在當前社會背景下,基于微信小

    2024年01月16日
    瀏覽(26)
  • 基于微信小程序的高考論壇BBS的設(shè)計與實現(xiàn)(源碼+論文)_v_194

    基于微信小程序的高考論壇BBS的設(shè)計與實現(xiàn)(源碼+論文)_v_194

    微信端: ? tabBar: 首頁 圈子 我的 用戶: 首頁:登錄和未登錄用戶皆可查看 (1)搜索框:點擊搜索跳轉(zhuǎn)到搜索頁面,輸入大學名稱或者地區(qū)能夠搜索對應的學校目錄,點擊學校能夠進入對應的詳情頁面,輸入地區(qū)比如云南,搜索框下可以顯示云南的全部大學列表 一行列表(

    2024年02月05日
    瀏覽(23)
  • 微信小程序用什么工具開發(fā)(微信小程序開發(fā)工具介紹)

    微信小程序用什么工具開發(fā)(微信小程序開發(fā)工具介紹)

    有很多人在開發(fā)小程序之前都會去了解微信小程序開發(fā)工具,想知道微信小程序用什么工具開發(fā)。時至今日,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,現(xiàn)在開發(fā)微信小程序也能使用多種不同的工具,讓我們來了解一下吧。 一、微信開發(fā)者工具 這是微信官方提供的微信小程序開發(fā)工具,可以

    2024年02月11日
    瀏覽(95)
  • 微信小程序開發(fā)工具的目錄結(jié)構(gòu)

    微信小程序開發(fā)工具的目錄結(jié)構(gòu)

    1? .js文件:頁面腳本文件,存放頁面數(shù)據(jù)、事件處理函數(shù)等?!幚碛脩舨僮??app.js文件:整個項目的入口文件,通過調(diào)用App()函數(shù)啟動項目。 ?頁面.js文件:頁面入口文件,調(diào)用Page()函數(shù),創(chuàng)建并運行頁面。 普通.js文件:普通功能模塊文件,用來封裝公共的函數(shù)或

    2024年02月05日
    瀏覽(113)
  • 微信小程序開發(fā)者工具下載

    微信小程序開發(fā)者工具下載

    微信開發(fā)者工具下載地址與更新日志 | 微信開放文檔 (qq.com) 下載安裝好后,軟件圖標如下圖所示。 運行軟件如下圖所示,這時候就需要使用你的管理員賬號掃碼登錄。 登陸后的界面,如下圖所示??梢皂椖糠譃閮深悾?小程序項目、公眾號網(wǎng)頁項目 。其中,小程序項目又細

    2024年04月23日
    瀏覽(503)
  • [微信小程序開發(fā)者工具] × #initialize

    [微信小程序開發(fā)者工具] × #initialize

    [微信小程序開發(fā)者工具] × #initialize-error: [error] 工具的服務(wù)端口已關(guān)閉。要使用命令行調(diào)用工具,請在下方輸入 y 以確認開啟,或手動打開工具 - 設(shè)置 - 安全設(shè)置,將服務(wù)端口開啟。 從HBuilder運行到微信小程序的時候報錯 解決辦法: 打開微信開發(fā)者工具,選擇設(shè)置–通用設(shè)

    2024年02月11日
    瀏覽(100)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包