美文网首页
9.“简阅”——写文章功能(2)

9.“简阅”——写文章功能(2)

作者: 1只念旧的兔子 | 来源:发表于2019-04-17 14:39 被阅读0次

前端

注意:在首页点击“写文章”按钮,要判定登录状态,如果没登录,跳转到登录页面;如果已经登录,跳转到写文章页面

  • write.vue文件的HTML部分
<template>
    <view class="container">
        <!-- 文章标题输入框,和title变量绑定 -->
        <input type="text" v-model="title" placeholder="请输入标题" />
        <!-- 选择图片的按钮,点击触发chooseImg方法 -->
        <button class="add-btn" @tap="chooseImg">+图片</button>
        <!-- 文章内容输入的多行文本域,绑定content变量 -->
        <textarea placeholder="输入内容" v-model="content" class="content" />
        <text>预览</text>
        <!-- 使用graceUI的富文本解析功能,来预览文章内容 -->
        <view class="grace-text">、
                <rich-text :nodes="content" bindtap="tap"></rich-text>
        </view>
        <button class="green-btn" @tap="postArticle">发布文章</button>
    </view>
</template>
js部分
data区
      return {
            title: '',
            content: '',
            userId: uni.getStorageSync('login_key').userId,
            imgs: []
        };
methods区
选择图片上传方法

    chooseImg: function() {
            var _this = this;
            uni.chooseImage({
                count: 1,
                sizeType: ['original', 'compressed'],
                sourceType: ['album'],
                success: function(res) {
                    console.log(JSON.stringify(res.tempFilePaths));
                    uni.uploadFile({
                        url: _this.apiServer + '/upload',
                        filePath: res.tempFilePaths[0],
                        name: 'file',
                        success: uploadFileRes => {
                            //图片上传成功,回显图片地址
                            console.log(uploadFileRes.data);
                            //将图片地址加入imgs数组
                            _this.imgs.push(uploadFileRes.data);
                            //将图片地址拼接HTML标签,加入文章内容
                            _this.content += '<img src="' + uploadFileRes.data + '" width = "100%"/>';
                        }
                    });
                }
            });
        }
  • 发布文章方法
postArticle: function() {
            var _this = this;
            uni.request({
                url: this.apiServer + '/article/add',
                method: 'POST',
                header: { 'content-type': 'application/x-www-form-urlencoded' },
                data: {
                    uId: this.userId,
                    title: this.title,
                    content: '<div>' + this.content + '</div>'
                },
                success: res => {
                    if (res.data.code === 0) {
                        //获得发布文章成功返回的文章id
                        var aId = res.data.data;
                        console.log(aId);
                        uni.showToast({
                            title: '发布成功'
                        });
                        //将文章id和文章对应的图片地址数组传到后台,存入数据库
                        uni.request({
                            url: this.apiServer + '/img/add',
                            method: 'POST',
                            header: { 'content-type': 'application/x-www-form-urlencoded' },
                            data: {
                                aId: aId,
                                imgs: JSON.stringify(_this.imgs)  //序列化imgs数组
                            },
                            success: res => {
                                if (res.data.code === 0) {
                                    console.log('文章图片地址已写入数据库');
                                }
                            }
                        });
                        uni.switchTab({
                            url: '../index/index'
                        });
                    }
                }
            });
        }
  • css部分
    自己弄喜欢的样式

相关文章

  • 9.“简阅”——写文章功能(2)

    前端 注意:在首页点击“写文章”按钮,要判定登录状态,如果没登录,跳转到登录页面;如果已经登录,跳转到写文章页面 ...

  • 简阅1.6写文章功能

    1、pom.xml依赖,增加fastjson依赖 2、数据库表和entity已完成3、mapperArticleM...

  • 9 简阅项目 写文章功能

    验证码过期点击验证码60码的按钮的禁用问题?下一个按钮注册成功后,页面跳转问题新用户跳转文章的三种内容没有图,一到...

  • 8.“简阅”——写文章功能(1)

    1. pom.xml依赖,增加fastjson依赖 com.alib...

  • 2.简阅注册功能

    1.下载redis准备 运行redis-server:redis-server.exe redis.windows...

  • 2.“简阅”——用户登录功能(2)

    2.登录功能前端实现 2.1在HBuilderX中创建uni-app类型的项目,选择默认模板即可然后建目录结构,如...

  • 简阅登录注册功能

    1、后端代码 1.user类 2.userservice 3.userMapper 4.userserviceIm...

  • 简书使用Markdown写文章

    最近开始在简书上写文章,但是简书自带的编辑器功能太少,只有一个插入图片的功能。 于是学习markdown语法写文章...

  • 简书手机客户端何必推出“写文章”功能?

    简书手机客户端“写文章”这个功能,已经被很多人提到过了。 很多人期待简书手机客户端推出“写文章”的功能。可是,简书...

  • 关于点赞

    在《简书》写文章纯粹是为了爱好。文后收到简友的点赞也是非常欣喜。因为那是对我所写文章的肯定。 我也在《简书》中,阅...

网友评论

      本文标题:9.“简阅”——写文章功能(2)

      本文链接:https://www.haomeiwen.com/subject/fghnwqtx.html