# 获取源码、构建和发布

# PC 端

# 概述

PC端源码包,可用于开发者进行二次开发,PC 二次开发依赖 node 环境,请提前部署好 node 环境,以下为 PC 端源码包下载及使用进行说明。

# 前提条件

  • 在使用 Discuz! Q 小程序之前,请先安装好您的 Discuz! Q。
  • 已下载 PC 端源码包至本地并解压缩到一个目录中。下载 最新PC端代码 (opens new window)

# 操作指南

# 步骤一:开发配置

  1. 修改项目中 api/request.js 中第9行、nuxt.config.js 第10行、package.jsonxxx.com 替换为自己服务域名。

开发过程代理配置静态 nginx 配置。如下所示:

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name _;
        root /usr/share/nginx/dist;
        index index.html;

        location /api/ {
         proxy_pass https://xxx.com;
         client_max_body_size 200M;
        }
}

# 步骤二:开发

基于 PC 端源码包进行二次开发。

# 步骤三:开发完成打包前配置

开发完成后不同版本的打包后目录不同。请根据实际需求进行选择:

# v2.3.210202 版本
  1. 修改根目录下面的 config.js 文件,DEV_API_URLSSR_API_URL两个字段值替换为自己的服务域名,并在项目目录下运行方式一下的命令,当方式一命令运行失败时推荐采用方式二的命令:

方式一:

npm install

方式二:

npm install -g yarn
yarn config set registry https://registry.npm.taobao.org
yarn config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
yarn install

TIP

不包含ssr 的静态化蓝版部署请使用命令:npm run build:spa

  1. 生成 dist 目录,将以下生成的文件上传至 Discuz! Q 服务器上的 piblicpublic_1 目录下:
dist
   index.html    修改为 pc.html          复制到discuz项目public、public_1目录下
   200.html                             复制到discuz项目public、public_1目录下
   _nuxt                                复制到discuz项目public、public_1目录下
   invite                               复制到discuz项目public、public_1目录下
   manage                               复制到discuz项目public、public_1目录下
   modify                               复制到discuz项目public、public_1目录下
   my                                   复制到discuz项目public、public_1目录下
   site                                 复制到discuz项目public、public_1目录下
   thread                               复制到discuz项目public、public_1目录下
   topic                                复制到discuz项目public、public_1目录下
   user                                 复制到discuz项目public、public_1目录下

TIP

以上执行若有同名则选择覆盖原文件,如果没有 public_1 目录则在与 public 同级的目录下新建一个。

TIP

不包含ssr 的静态化红版部署请使用命令:npm run build:pay-spa

  1. 生成 dist 目录,将以下生成的文件上传至 Discuz! Q 服务器上的 public_2 目录下:
dist
   index.html    修改为 pc.html          复制到discuz项目public_2目录下
   200.html                             复制到discuz项目public_2目录下
   _nuxt                                复制到discuz项目public_2目录下
   invite                               复制到discuz项目public_2目录下
   manage                               复制到discuz项目public_2目录下
   modify                               复制到discuz项目public_2目录下
   my                                   复制到discuz项目public_2目录下
   site                                 复制到discuz项目public_2目录下
   thread                               复制到discuz项目public_2目录下
   topic                                复制到discuz项目public_2目录下
   user                                 复制到discuz项目public_2目录下

TIP

以上执行若有同名则选择覆盖原文件,如果没有 public_2 目录则在与 public 同级的目录下新建一个。

# v2.1.201117 版本
  1. 修改根目录下面的 config.js 文件,DEV_API_URLSSR_API_URL两个字段值替换为自己的服务域名,并在项目目录下运行以下命令:
npm install

TIP

不包含ssr 的静态化部署请使用命令:npm run build:spa

  1. 生成 dist 目录,将以下生成的文件上传至 Discuz! Q 服务器上:
dist
   index.html    修改为 pc.html          复制到discuz项目public目录下
   200.html                             复制到discuz项目public目录下
   _nuxt                                复制到discuz项目public目录下
   invite                               复制到discuz项目public目录下
   manage                               复制到discuz项目public目录下
   modify                               复制到discuz项目public目录下
   my                                   复制到discuz项目public目录下
   site                                 复制到discuz项目public目录下
   thread                               复制到discuz项目public目录下
   topic                                复制到discuz项目public目录下
   user                                 复制到discuz项目public目录下

TIP

以上执行若有同名则选择覆盖原文件。

# v2.1.201113 版本
  1. 修改根目录下面的 package.json 文件,把打包命令 buildstart 里面的 VUE_APP_CONFIG_API_URL修改成自己服务的域名地址。如接口地址是 https://xxx.com:
  "build": "VUE_APP_CONFIG_API_URL=https://xxx.com nuxt build",
  "start": "VUE_APP_CONFIG_API_URL=https://xxx.com nuxt start",
  1. 在项目目录下运行以下命令安装依赖:
npm install

TIP

不包含 ssr 的静态化部署请使用命令:npm run generate

3.生成 dist 目录,将以下生成的文件上传至 Discuz! Q 服务器上:

dist
   index.html   修改为 pc.html           复制到discuz项目public目录下
   200.html                             复制到discuz项目public目录下
   _nuxt                                复制到discuz项目public目录下
   pages         修改为pc-pages          复制到discuz项目public目录下
   topic         修改为pc-topic          复制到discuz项目public目录下

TIP

以上执行若有同名则选择覆盖原文件。

# H5与小程序端

# 概述

# Discuz! Q 的小程序与 H5 前端,基于 uni-app 开发框架,现支持发行为微信小程序和H5。 前提条件

# 操作指南

# 步骤一:开发环境配置

您可以根据以下两种方式安装部署 H5 与小程序端的构建环境。

# 步骤二:开发

基于 小程序与H5前端源码 (opens new window) 进行二次开发。

# 步骤三:调试

TIP

本地调试小程序或H5,目前只支持 npm 方式构建。

在开发过程中您可以对您的二次源码进行本地调试,具体可参考:小程序调试

# 步骤三:发布

开发完成后,您可以将您的源码发布在微信小程序小程序。具体可参考:微信小程序发布

TIP

发布前请确保已按照微信小程序基本配置说明已配置服务器域名,否则将导致小程序无法与 Discuz! Q 进行数据通讯。